fpizlo@apple.com [Tue, 24 May 2016 19:04:24 +0000 (19:04 +0000)]
Unreviwed, add a comment to describe the test's failure mode. Suggested by mlam.
* tests/stress/override-map-constructor.js:
(Map):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201342
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Tue, 24 May 2016 19:03:42 +0000 (19:03 +0000)]
Use lambda capture with initializer instead of StringCapture
https://bugs.webkit.org/show_bug.cgi?id=158010
Reviewed by Antti Koivisto.
Source/WebCore:
Use lambda capture with initializer instead of StringCapture now that
we support C++14.
* fileapi/AsyncFileStream.cpp:
(WebCore::AsyncFileStream::getSize):
(WebCore::AsyncFileStream::openForRead):
(WebCore::AsyncFileStream::openForWrite):
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::installContentFilterUnblockHandler):
* loader/WorkerThreadableLoader.cpp:
(WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
* platform/ios/WebVideoFullscreenControllerAVKit.mm:
(WebVideoFullscreenControllerContext::setExternalPlayback):
* platform/network/curl/CurlDownload.cpp:
(WebCore::CurlDownload::didReceiveHeader):
* workers/WorkerMessagingProxy.cpp:
(WebCore::WorkerMessagingProxy::postExceptionToWorkerObject):
(WebCore::WorkerMessagingProxy::postConsoleMessageToWorkerObject):
Source/WebKit2:
Use lambda capture with initializer instead of StringCapture now that
we support C++14.
* NetworkProcess/cache/NetworkCache.cpp:
(WebKit::NetworkCache::Cache::deleteDumpFile):
* NetworkProcess/cache/NetworkCacheStatistics.cpp:
(WebKit::NetworkCache::Statistics::initialize):
(WebKit::NetworkCache::Statistics::shrinkIfNeeded):
* NetworkProcess/cache/NetworkCacheStorage.cpp:
(WebKit::NetworkCache::Storage::updateFileModificationTime):
(WebKit::NetworkCache::Storage::clear):
* UIProcess/API/APIUserContentExtensionStore.cpp:
(API::UserContentExtensionStore::lookupContentExtension):
(API::UserContentExtensionStore::compileContentExtension):
(API::UserContentExtensionStore::removeContentExtension):
* UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::fetchData):
(WebKit::WebsiteDataStore::removeData):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201341
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Tue, 24 May 2016 19:01:35 +0000 (19:01 +0000)]
Map should not be in JSGlobalObject's static hashtable because it's initialized eagerly via FOR_EACH_SIMPLE_BUILTIN_TYPE_WITH_CONSTRUCTOR
https://bugs.webkit.org/show_bug.cgi?id=158031
rdar://problem/
26353661
Reviewed by Geoffrey Garen.
We were listing Map as being a lazy class structure. It's not. m_mapStructure is a WriteBarrier<>
not a LazyClassStructure<> and there is nothing lazy about it.
* runtime/JSGlobalObject.cpp: The fix is to remove Map here.
* runtime/Lookup.cpp: Add some dumping on the assert path.
(JSC::setUpStaticFunctionSlot):
* tests/stress/override-map-constructor.js: Added. This test used to crash.
(Map):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201340
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
keith_miller@apple.com [Tue, 24 May 2016 19:00:51 +0000 (19:00 +0000)]
We should have JSBench in PerformanceTests
https://bugs.webkit.org/show_bug.cgi?id=157952
Rubber-stamped by Saam Barati.
PerformanceTests:
There are some slight changes to the layout of the test directory
to make it work nicely with run-jsc-benchmarks. Before JSBench
had each of the browser specific sub-tests in a sub-directory.
These have been flattened e.g. amazon/safari/ has become
amazon-safari/.
* JSBench/amazon-chrome-win/urem.html: Added.
* JSBench/amazon-chrome-win/urem.js: Added.
* JSBench/amazon-chrome/urem.html: Added.
* JSBench/amazon-chrome/urem.js: Added.
* JSBench/amazon-firefox-win/urm.html: Added.
* JSBench/amazon-firefox-win/urm.js: Added.
* JSBench/amazon-firefox/urm.html: Added.
* JSBench/amazon-firefox/urm.js: Added.
* JSBench/amazon-safari/urem.html: Added.
* JSBench/amazon-safari/urem.js: Added.
* JSBench/browsercheck.js: Added.
* JSBench/facebook-chrome-win/urem.html: Added.
* JSBench/facebook-chrome-win/urem.js: Added.
* JSBench/facebook-chrome/urem.html: Added.
* JSBench/facebook-chrome/urem.js: Added.
* JSBench/facebook-firefox-win/urem.html: Added.
* JSBench/facebook-firefox-win/urem.js: Added.
* JSBench/facebook-firefox/urem.html: Added.
* JSBench/facebook-firefox/urem.js: Added.
* JSBench/facebook-safari/urem.html: Added.
* JSBench/facebook-safari/urem.js: Added.
* JSBench/google-chrome-win/urem.html: Added.
* JSBench/google-chrome-win/urem.js: Added.
* JSBench/google-chrome/urem.html: Added.
* JSBench/google-chrome/urem.js: Added.
* JSBench/google-firefox-win/urem.html: Added.
* JSBench/google-firefox-win/urem.js: Added.
* JSBench/google-firefox/uem.html: Added.
* JSBench/google-firefox/uem.js: Added.
* JSBench/google-safari/urem.html: Added.
* JSBench/google-safari/urem.js: Added.
* JSBench/harness.html: Added.
* JSBench/harness.js: Added.
* JSBench/harness.py: Added.
* JSBench/index.html: Added.
* JSBench/reload.html: Added.
* JSBench/twitter-chrome-win/rem.html: Added.
* JSBench/twitter-chrome-win/rem.js: Added.
* JSBench/twitter-chrome/urem.html: Added.
* JSBench/twitter-chrome/urem.js: Added.
* JSBench/twitter-firefox-win/urem.html: Added.
* JSBench/twitter-firefox-win/urem.js: Added.
* JSBench/twitter-firefox/urem.html: Added.
* JSBench/twitter-firefox/urem.js: Added.
* JSBench/twitter-safari/urem.html: Added.
* JSBench/twitter-safari/urem.js: Added.
* JSBench/yahoo-chrome-win/urem.html: Added.
* JSBench/yahoo-chrome-win/urem.js: Added.
* JSBench/yahoo-chrome/urem.html: Added.
* JSBench/yahoo-chrome/urem.js: Added.
* JSBench/yahoo-firefox-win/urem.html: Added.
* JSBench/yahoo-firefox-win/urem.js: Added.
* JSBench/yahoo-firefox/urem.html: Added.
* JSBench/yahoo-firefox/urem.js: Added.
* JSBench/yahoo-safari/urem.html: Added.
* JSBench/yahoo-safari/urem.js: Added.
Tools:
This changes the runner to use the layout of the newest version of JSBench.
* Scripts/run-jsc-benchmarks:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201339
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
achristensen@apple.com [Tue, 24 May 2016 18:45:21 +0000 (18:45 +0000)]
Unskip passing test after r201336
https://bugs.webkit.org/show_bug.cgi?id=156812
* platform/ios-simulator/TestExpectations:
compositing/webgl/webgl-reflection.html passes now.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201338
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Tue, 24 May 2016 18:04:03 +0000 (18:04 +0000)]
Another build fix after r201307.
* public/v3/pages/page-router.js:
(PageRouter.prototype._deserializeHashQueryValue):
(PageRouter.prototype._countOccurrences): Moved from _deserializeHashQueryValue.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201337
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
achristensen@apple.com [Tue, 24 May 2016 17:36:05 +0000 (17:36 +0000)]
Fix iOS WebGL after r199738
https://bugs.webkit.org/show_bug.cgi?id=158024
rdar://problem/
26446679
Reviewed by Myles Maxfield.
* ANGLE.xcodeproj/project.pbxproj:
iOS needs the ESSL translator.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201336
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Tue, 24 May 2016 17:08:45 +0000 (17:08 +0000)]
LLInt64 should have typed array fast paths for get_by_val
https://bugs.webkit.org/show_bug.cgi?id=157931
Reviewed by Keith Miller.
Source/JavaScriptCore:
I think that the LLInt should be able to access typed arrays more quickly than it does now.
Ideally we would have fast paths for every major typed array operation and we would use
inline cache optimizations. I don't want to do this all in one go, so my plan is to
incrementally add support for this as time allows.
This change just adds the easy typed array fast paths for get_by_val in the 64-bit version
of LLInt.
Another bug, https://bugs.webkit.org/show_bug.cgi?id=157922, tracks the overall task of
adding all typed array fast paths to both versions of the LLInt.
This is a 30% speed-up on typed array benchmarks in LLInt. This is not a speed-up when the
JITs are enabled.
* llint/LLIntData.cpp:
(JSC::LLInt::Data::performAssertions):
* llint/LLIntOffsetsExtractor.cpp:
* llint/LowLevelInterpreter.asm:
* llint/LowLevelInterpreter64.asm:
* offlineasm/backends.rb:
* runtime/JSArrayBufferView.h:
* runtime/JSType.h:
LayoutTests:
* js/regress/get_by_val-Int32Array-expected.txt: Added.
* js/regress/get_by_val-Int32Array.html: Added.
* js/regress/script-tests/get_by_val-Int32Array.js: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201335
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 24 May 2016 16:59:13 +0000 (16:59 +0000)]
In accelerated drawing mode, ImageBuffer::putByteArray() should copy the bytes directly to the IOSurface backing store
https://bugs.webkit.org/show_bug.cgi?id=157966
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2016-05-24
Reviewed by Dean Jackson.
Roll out the the change of r106836 in ImageBuffer::putByteArray(). r106836
was using CG to draw the image data as a native image in the accelerated
drawing mode just to force invalidating the IOSurface cached image. Instead
of doing that, we can use a light-weight fix, for now, to force recreating
the IOSurface image if it is requested through CGIOSurfaceContextCreateImage().
* platform/graphics/cg/ImageBufferCG.cpp:
(WebCore::ImageBuffer::putByteArray):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201334
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Tue, 24 May 2016 16:50:26 +0000 (16:50 +0000)]
Use auto for some of our lambda function parameters
https://bugs.webkit.org/show_bug.cgi?id=158001
Reviewed by Darin Adler.
Use auto for some of our lambda function parameters now that we build with c++14.
Source/WebCore:
* Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::buffered):
(WebCore::MediaSource::monitorSourceBuffers):
(WebCore::MediaSource::endOfStream):
* Modules/mediasource/SampleMap.cpp:
(WebCore::PresentationOrderSampleMap::findSamplesWithinPresentationRangeFromEnd):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::ariaSelectedRows):
* bindings/js/SerializedScriptValue.cpp:
(WebCore::SerializedScriptValue::writeBlobsToDiskForIndexedDB):
* css/CSSValueList.cpp:
(WebCore::CSSValueList::removeAll):
* css/MediaList.cpp:
(WebCore::MediaQuerySet::remove):
* css/MediaQuery.cpp:
(WebCore::MediaQuery::MediaQuery):
* css/MediaQueryMatcher.cpp:
(WebCore::MediaQueryMatcher::removeListener):
* dom/Document.cpp:
(WebCore::Document::validateAutoSizingNodes):
* dom/Element.cpp:
(WebCore::Element::detachAttrNodeFromElementWithValue):
* dom/MutationObserver.cpp:
(WebCore::MutationObserver::deliverAllMutations):
* dom/Node.cpp:
(WebCore::Node::unregisterMutationObserver):
* html/LinkIconCollector.cpp:
* inspector/InspectorIndexedDBAgent.cpp:
(WebCore::InspectorIndexedDBAgent::requestDatabaseNames):
* loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::loadDataURL):
* page/CaptionUserPreferences.cpp:
(WebCore::CaptionUserPreferences::sortedTrackListForMenu):
* page/CaptionUserPreferencesMediaAF.cpp:
(WebCore::CaptionUserPreferencesMediaAF::sortedTrackListForMenu):
* page/animation/AnimationController.cpp:
(WebCore::AnimationControllerPrivate::clear):
* platform/graphics/FontCascade.cpp:
(WebCore::pruneUnreferencedEntriesFromFontCascadeCache):
* platform/graphics/FontCascadeFonts.cpp:
(WebCore::FontCascadeFonts::pruneSystemFallbacks):
* platform/graphics/PathUtilities.cpp:
(WebCore::addIntersectionPoints):
* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::updateTracks):
* platform/graphics/texmap/TextureMapperGL.cpp:
(WebCore::TextureMapperGLData::SharedGLData::~SharedGLData):
* platform/mac/HIDGamepad.cpp:
(WebCore::HIDGamepad::initElements):
* svg/SVGToOTFFontConversion.cpp:
(WebCore::SVGToOTFFontConverter::appendLigatureSubtable):
(WebCore::SVGToOTFFontConverter::finishAppendingKERNSubtable):
Source/WebKit2:
* DatabaseProcess/IndexedDB/WebIDBConnectionToClient.cpp:
(WebKit::WebIDBConnectionToClient::didGetRecord):
* NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::writeBlobsToTemporaryFiles):
* NetworkProcess/NetworkProcess.cpp:
(WebKit::fetchDiskCacheEntries):
(WebKit::NetworkProcess::fetchWebsiteData):
(WebKit::clearDiskCacheEntries):
* NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::retrieveCacheEntry):
(WebKit::NetworkResourceLoader::tryStoreAsCacheEntry):
* NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp:
(WebKit::NetworkCache::SpeculativeLoad::didFinishLoading):
* NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp:
(WebKit::NetworkCache::SpeculativeLoadManager::registerLoad):
(WebKit::NetworkCache::SpeculativeLoadManager::retrieveEntryFromStorage):
(WebKit::NetworkCache::SpeculativeLoadManager::revalidateEntry):
(WebKit::NetworkCache::SpeculativeLoadManager::preloadEntry):
(WebKit::NetworkCache::SpeculativeLoadManager::retrieveSubresourcesEntry):
* NetworkProcess/cache/NetworkCacheStorage.cpp:
(WebKit::NetworkCache::Storage::removeFromPendingWriteOperations):
* NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(-[WKNetworkSessionDelegate URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:]):
(-[WKNetworkSessionDelegate URLSession:task:_schemeUpgraded:completionHandler:]):
* Shared/API/Cocoa/_WKRemoteObjectInterface.mm:
(-[_WKRemoteObjectInterface debugDescription]):
* UIProcess/API/C/WKApplicationCacheManager.cpp:
(WKApplicationCacheManagerGetApplicationCacheOrigins):
* UIProcess/API/C/WKKeyValueStorageManager.cpp:
(WKKeyValueStorageManagerGetKeyValueStorageOrigins):
(WKKeyValueStorageManagerGetStorageDetailsByOrigin):
* UIProcess/API/C/WKResourceCacheManager.cpp:
(WKResourceCacheManagerGetCacheOrigins):
* UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
(-[WKWebsiteDataStore _fetchDataRecordsOfTypes:withOptions:completionHandler:]):
* UIProcess/UserContent/WebUserContentControllerProxy.cpp:
(WebKit::WebUserContentControllerProxy::removeAllUserScripts):
(WebKit::WebUserContentControllerProxy::removeAllUserStyleSheets):
(WebKit::WebUserContentControllerProxy::removeAllUserMessageHandlers):
* WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
(WebKit::PlatformCALayerRemote::removeAnimationForKey):
Source/WTF:
* wtf/BubbleSort.h:
(WTF::bubbleSort):
Tools:
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::willDestroyPage):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201333
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
antti@apple.com [Tue, 24 May 2016 16:46:44 +0000 (16:46 +0000)]
REGRESSION (r196629): Safari can get into a state where switching Reader theme doesn't apply to the webpage
https://bugs.webkit.org/show_bug.cgi?id=158018
<rdar://problem/
24732776>
Reviewed by Darin Adler.
When a tab goes to background we clear the style resolver. It is recreated lazily when the tab is again active.
However style invalidation code tests if the style resolver exists and skips the invalidation if it doesn't.
With sufficiently simple document (like in Reader) we may never create one for other reasons and so style
invalidation doesn't work.
No test, don't know how to make one.
* dom/Element.cpp:
(WebCore::Element::needsStyleInvalidation):
Remove styleResolverIfExists() check and do the invalidation normally.
Instead check for forced style recalc. If there is one pending we don't need to bother with invalidation.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201332
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
utatane.tea@gmail.com [Tue, 24 May 2016 14:33:53 +0000 (14:33 +0000)]
Unreviewed, updating binding test results
https://bugs.webkit.org/show_bug.cgi?id=157080
* bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
(WebCore::jsTestActiveDOMObjectExcitingAttr):
(WebCore::jsTestActiveDOMObjectConstructor):
* bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp:
(WebCore::jsTestClassWithJSBuiltinConstructorConstructor):
* bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp:
(WebCore::jsTestCustomConstructorWithNoInterfaceObjectConstructor):
* bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
(WebCore::jsTestCustomNamedGetterConstructor):
* bindings/scripts/test/JS/JSTestEventConstructor.cpp:
(WebCore::jsTestEventConstructorAttr1):
(WebCore::jsTestEventConstructorAttr2):
(WebCore::jsTestEventConstructorAttr3):
(WebCore::jsTestEventConstructorConstructor):
* bindings/scripts/test/JS/JSTestEventTarget.cpp:
(WebCore::jsTestEventTargetConstructor):
* bindings/scripts/test/JS/JSTestException.cpp:
(WebCore::jsTestExceptionName):
(WebCore::jsTestExceptionConstructor):
* bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
(WebCore::jsTestGenerateIsReachableConstructor):
* bindings/scripts/test/JS/JSTestGlobalObject.cpp:
(WebCore::jsTestGlobalObjectRegularAttribute):
(WebCore::jsTestGlobalObjectEnabledAtRuntimeAttribute):
(WebCore::jsTestGlobalObjectConstructor):
* bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::jsTestInterfaceConstructorImplementsStaticReadOnlyAttr):
(WebCore::jsTestInterfaceConstructorImplementsStaticAttr):
(WebCore::jsTestInterfaceImplementsStr1):
(WebCore::jsTestInterfaceImplementsStr2):
(WebCore::jsTestInterfaceImplementsStr3):
(WebCore::jsTestInterfaceImplementsNode):
(WebCore::jsTestInterfaceConstructorSupplementalStaticReadOnlyAttr):
(WebCore::jsTestInterfaceConstructorSupplementalStaticAttr):
(WebCore::jsTestInterfaceSupplementalStr1):
(WebCore::jsTestInterfaceSupplementalStr2):
(WebCore::jsTestInterfaceSupplementalStr3):
(WebCore::jsTestInterfaceSupplementalNode):
(WebCore::jsTestInterfaceConstructor):
* bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp:
(WebCore::jsTestJSBuiltinConstructorTestAttributeCustom):
(WebCore::jsTestJSBuiltinConstructorTestAttributeRWCustom):
(WebCore::jsTestJSBuiltinConstructorConstructor):
* bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
(WebCore::jsTestMediaQueryListListenerConstructor):
* bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
(WebCore::jsTestNamedConstructorConstructor):
* bindings/scripts/test/JS/JSTestNode.cpp:
(WebCore::jsTestNodeName):
(WebCore::jsTestNodeConstructor):
* bindings/scripts/test/JS/JSTestNondeterministic.cpp:
(WebCore::jsTestNondeterministicNondeterministicReadonlyAttr):
(WebCore::jsTestNondeterministicNondeterministicWriteableAttr):
(WebCore::jsTestNondeterministicNondeterministicExceptionAttr):
(WebCore::jsTestNondeterministicNondeterministicGetterExceptionAttr):
(WebCore::jsTestNondeterministicNondeterministicSetterExceptionAttr):
(WebCore::jsTestNondeterministicConstructor):
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjReadOnlyLongAttr):
(WebCore::jsTestObjReadOnlyStringAttr):
(WebCore::jsTestObjReadOnlyTestObjAttr):
(WebCore::jsTestObjConstructorStaticReadOnlyLongAttr):
(WebCore::jsTestObjConstructorStaticStringAttr):
(WebCore::jsTestObjConstructorTestSubObj):
(WebCore::jsTestObjTestSubObjEnabledBySettingConstructor):
(WebCore::jsTestObjEnumAttr):
(WebCore::jsTestObjByteAttr):
(WebCore::jsTestObjOctetAttr):
(WebCore::jsTestObjShortAttr):
(WebCore::jsTestObjClampedShortAttr):
(WebCore::jsTestObjEnforceRangeShortAttr):
(WebCore::jsTestObjUnsignedShortAttr):
(WebCore::jsTestObjLongAttr):
(WebCore::jsTestObjLongLongAttr):
(WebCore::jsTestObjUnsignedLongLongAttr):
(WebCore::jsTestObjStringAttr):
(WebCore::jsTestObjTestObjAttr):
(WebCore::jsTestObjTestNullableObjAttr):
(WebCore::jsTestObjLenientTestObjAttr):
(WebCore::jsTestObjUnforgeableAttr):
(WebCore::jsTestObjStringAttrTreatingNullAsEmptyString):
(WebCore::jsTestObjXMLObjAttr):
(WebCore::jsTestObjCreate):
(WebCore::jsTestObjReflectedStringAttr):
(WebCore::jsTestObjReflectedIntegralAttr):
(WebCore::jsTestObjReflectedUnsignedIntegralAttr):
(WebCore::jsTestObjReflectedBooleanAttr):
(WebCore::jsTestObjReflectedURLAttr):
(WebCore::jsTestObjReflectedCustomIntegralAttr):
(WebCore::jsTestObjReflectedCustomBooleanAttr):
(WebCore::jsTestObjReflectedCustomURLAttr):
(WebCore::jsTestObjEnabledAtRuntimeAttribute):
(WebCore::jsTestObjTypedArrayAttr):
(WebCore::jsTestObjAttrWithGetterException):
(WebCore::jsTestObjAttrWithGetterExceptionWithMessage):
(WebCore::jsTestObjAttrWithSetterException):
(WebCore::jsTestObjAttrWithSetterExceptionWithMessage):
(WebCore::jsTestObjStringAttrWithGetterException):
(WebCore::jsTestObjStringAttrWithSetterException):
(WebCore::jsTestObjStrictTypeCheckingAttribute):
(WebCore::jsTestObjCustomAttr):
(WebCore::jsTestObjOnfoo):
(WebCore::jsTestObjOnwebkitfoo):
(WebCore::jsTestObjWithScriptStateAttribute):
(WebCore::jsTestObjWithCallWithAndSetterCallWithAttribute):
(WebCore::jsTestObjWithScriptExecutionContextAttribute):
(WebCore::jsTestObjWithScriptStateAttributeRaises):
(WebCore::jsTestObjWithScriptExecutionContextAttributeRaises):
(WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttribute):
(WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
(WebCore::jsTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
(WebCore::jsTestObjWithScriptArgumentsAndCallStackAttribute):
(WebCore::jsTestObjConditionalAttr1):
(WebCore::jsTestObjConditionalAttr2):
(WebCore::jsTestObjConditionalAttr3):
(WebCore::jsTestObjConditionalAttr4Constructor):
(WebCore::jsTestObjConditionalAttr5Constructor):
(WebCore::jsTestObjConditionalAttr6Constructor):
(WebCore::jsTestObjCachedAttribute1):
(WebCore::jsTestObjCachedAttribute2):
(WebCore::jsTestObjAnyAttribute):
(WebCore::jsTestObjContentDocument):
(WebCore::jsTestObjMutablePoint):
(WebCore::jsTestObjImmutablePoint):
(WebCore::jsTestObjStrawberry):
(WebCore::jsTestObjStrictFloat):
(WebCore::jsTestObjDescription):
(WebCore::jsTestObjId):
(WebCore::jsTestObjHash):
(WebCore::jsTestObjReplaceableAttribute):
(WebCore::jsTestObjNullableDoubleAttribute):
(WebCore::jsTestObjNullableLongAttribute):
(WebCore::jsTestObjNullableBooleanAttribute):
(WebCore::jsTestObjNullableStringAttribute):
(WebCore::jsTestObjNullableLongSettableAttribute):
(WebCore::jsTestObjNullableStringSettableAttribute):
(WebCore::jsTestObjNullableStringValue):
(WebCore::jsTestObjAttribute):
(WebCore::jsTestObjAttributeWithReservedEnumType):
(WebCore::jsTestObjPutForwardsAttribute):
(WebCore::jsTestObjPutForwardsNullableAttribute):
(WebCore::jsTestObjConstructor):
* bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
(WebCore::jsTestOverloadedConstructorsConstructor):
* bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp:
(WebCore::jsTestOverrideBuiltinsConstructor):
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
(WebCore::jsTestSerializedScriptValueInterfaceValue):
(WebCore::jsTestSerializedScriptValueInterfaceReadonlyValue):
(WebCore::jsTestSerializedScriptValueInterfaceCachedValue):
(WebCore::jsTestSerializedScriptValueInterfacePorts):
(WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValue):
(WebCore::jsTestSerializedScriptValueInterfaceConstructor):
* bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore::jsTestTypedefsUnsignedLongLongAttr):
(WebCore::jsTestTypedefsImmutableSerializedScriptValue):
(WebCore::jsTestTypedefsConstructorTestSubObj):
(WebCore::jsTestTypedefsAttrWithGetterException):
(WebCore::jsTestTypedefsAttrWithSetterException):
(WebCore::jsTestTypedefsStringAttrWithGetterException):
(WebCore::jsTestTypedefsStringAttrWithSetterException):
(WebCore::jsTestTypedefsConstructor):
* bindings/scripts/test/JS/JSattribute.cpp:
(WebCore::jsattributeReadonly):
(WebCore::jsattributeConstructor):
* bindings/scripts/test/JS/JSreadonly.cpp:
(WebCore::jsreadonlyConstructor):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201331
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Tue, 24 May 2016 13:12:47 +0000 (13:12 +0000)]
Unreviewed GTK+ gardening. Rebaseline several tests after r200116.
We are now correctly positioning RTL scrollbars.
* platform/gtk/fast/block/float/026-expected.png:
* platform/gtk/fast/block/float/026-expected.txt:
* platform/gtk/fast/block/float/028-expected.png:
* platform/gtk/fast/block/float/028-expected.txt:
* platform/gtk/fast/overflow/unreachable-overflow-rtl-bug-expected.png:
* platform/gtk/fast/overflow/unreachable-overflow-rtl-bug-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201330
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Tue, 24 May 2016 12:58:41 +0000 (12:58 +0000)]
Unreviewed GTK+ gardening. Fix wrong expectations of fast/harness/sample-fail-mismatch-reftest.html.
The test is flaky, but in this case Pass means it failed and ImageOnlyFailure that it passed.
* platform/gtk/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201329
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
utatane.tea@gmail.com [Tue, 24 May 2016 12:04:35 +0000 (12:04 +0000)]
ThisTDZMode is no longer needed
https://bugs.webkit.org/show_bug.cgi?id=157209
Reviewed by Saam Barati.
ThisTDZMode is no longer needed because we have ConstructorKind
and DerivedContextType. The value of ThisTDZMode is strictly less
expressive than the combination of those two values. We were
using those values anyways, and this patch just makes it official
by removing ThisTDZMode.
This patch also cleans up caching keys. We extract SourceCodeFlags
from SourceCodeKey and use it in EvalCodeCache. It correctly
contains needed cache attributes: EvalContextType, DerivedContextType,
etc. Here, we still use specialized keys for EvalCodeCache instead
of SourceCodeKey for performance; it does not include name String and
does not allocate SourceCode.
* bytecode/EvalCodeCache.h:
(JSC::EvalCodeCache::CacheKey::CacheKey):
(JSC::EvalCodeCache::CacheKey::operator==):
(JSC::EvalCodeCache::CacheKey::Hash::equal):
(JSC::EvalCodeCache::tryGet):
(JSC::EvalCodeCache::getSlow):
* bytecompiler/NodesCodegen.cpp:
(JSC::ThisNode::emitBytecode): Deleted.
* debugger/DebuggerCallFrame.cpp:
(JSC::DebuggerCallFrame::evaluateWithScopeExtension):
* interpreter/Interpreter.cpp:
(JSC::eval):
* parser/ASTBuilder.h:
(JSC::ASTBuilder::createThisExpr):
* parser/NodeConstructors.h:
(JSC::ThisNode::ThisNode):
* parser/Nodes.h:
* parser/Parser.cpp:
(JSC::Parser<LexerType>::Parser):
(JSC::Parser<LexerType>::parsePrimaryExpression):
* parser/Parser.h:
(JSC::parse):
* parser/ParserModes.h:
* parser/SourceCodeKey.h:
(JSC::SourceCodeFlags::SourceCodeFlags):
(JSC::SourceCodeFlags::operator==):
(JSC::SourceCodeKey::SourceCodeKey):
(JSC::SourceCodeKey::Hash::hash):
(JSC::SourceCodeKey::Hash::equal):
(JSC::SourceCodeKey::HashTraits::isEmptyValue):
(JSC::SourceCodeKeyHash::hash): Deleted.
(JSC::SourceCodeKeyHash::equal): Deleted.
(JSC::SourceCodeKeyHashTraits::isEmptyValue): Deleted.
* parser/SyntaxChecker.h:
(JSC::SyntaxChecker::createThisExpr):
* runtime/CodeCache.cpp:
(JSC::CodeCache::getGlobalCodeBlock):
(JSC::CodeCache::getProgramCodeBlock):
(JSC::CodeCache::getEvalCodeBlock):
(JSC::CodeCache::getModuleProgramCodeBlock):
(JSC::CodeCache::getFunctionExecutableFromGlobalCode):
* runtime/CodeCache.h:
* runtime/Executable.cpp:
(JSC::EvalExecutable::create):
* runtime/Executable.h:
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::createEvalCodeBlock):
* runtime/JSGlobalObject.h:
* runtime/JSGlobalObjectFunctions.cpp:
(JSC::globalFuncEval):
* tests/stress/code-cache-incorrect-caching.js: Added.
(shouldBe):
(hello):
(catch):
(shouldBe.test.hello):
(globalEval.ok):
(global.hello.hello):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201328
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rego@igalia.com [Tue, 24 May 2016 08:55:13 +0000 (08:55 +0000)]
[css-grid] Fix behavior of flexible track breadths
https://bugs.webkit.org/show_bug.cgi?id=157834
Reviewed by Sergio Villar Senin.
This patch is fixing 2 issues that are interrelated:
Source/WebCore:
1) Flex sizes are invalid as min track sizing function.
The syntax has been recently updated on the spec:
<track-size> =
<track-breadth> |
minmax( <inflexible-breadth> , <track-breadth> )
2) Flex sizes outside minmax() behave as auto minimum.
Flex sizes outside minmax() were previously behaving like
minimum and maximum (e.g. 1fr => minmax(1fr, 1fr)).
However the spec changed and now this would be invalid,
so they should behave like auto minimum (e.g. minmax(auto, 1fr)).
* css/CSSParser.cpp:
(WebCore::CSSParser::parseGridTrackSize): Call parseGridBreadth()
for min sizing function using "InflexibleSizeOnly" restriction
when needed.
(WebCore::CSSParser::parseGridBreadth): Add check for
"InflexibleSizeOnly" resctriction.
* css/CSSParser.h: Add new type of restriction "InflexibleSizeOnly".
* rendering/RenderGrid.cpp:
(WebCore::RenderGrid::gridTrackSize): Add new condition to make
|minTrackBreadth| auto if it was a flex size.
LayoutTests:
1) Flex sizes are invalid as min track sizing function.
2) Flex sizes outside minmax() behave as auto minimum.
The patch includes new test cases checking specifically these 2 issues.
In addition several tests results have been updated to reflect
the new behavior. Also, some cases that are now invalid and
were not testing anything new have been removed.
* fast/css-grid-layout/flex-and-content-sized-resolution-columns-expected.txt:
* fast/css-grid-layout/flex-and-content-sized-resolution-columns.html:
* fast/css-grid-layout/flex-content-resolution-columns-expected.txt:
* fast/css-grid-layout/flex-content-resolution-columns.html:
* fast/css-grid-layout/flex-content-resolution-rows-expected.txt:
* fast/css-grid-layout/flex-content-resolution-rows.html:
* fast/css-grid-layout/grid-columns-rows-get-set-expected.txt:
* fast/css-grid-layout/grid-gutters-and-flex-content-expected.txt:
* fast/css-grid-layout/grid-gutters-and-flex-content.html:
* fast/css-grid-layout/grid-preferred-logical-widths.html:
* fast/css-grid-layout/non-grid-columns-rows-get-set-expected.txt:
* fast/css-grid-layout/resources/grid-columns-rows-get-set.js:
* fast/css-grid-layout/resources/non-grid-columns-rows-get-set.js:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201325
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
youenn.fablet@crf.canon.fr [Tue, 24 May 2016 07:35:09 +0000 (07:35 +0000)]
[Fetch API] Implement Fetch redirect mode
https://bugs.webkit.org/show_bug.cgi?id=157837
Reviewed by Alex Christensen.
LayoutTests/imported/w3c:
* web-platform-tests/fetch/api/redirect/redirect-location-expected.txt:
* web-platform-tests/fetch/api/redirect/redirect-location.js:
* web-platform-tests/fetch/api/redirect/redirect-method.js:
* web-platform-tests/fetch/api/redirect/redirect-method-expected.txt:
* web-platform-tests/fetch/api/redirect/redirect-mode-expected.txt:
Source/WebCore:
Implementing step 5 of https://fetch.spec.whatwg.org/#http-fetch.
Making ResourceLoaderOptions include FetchOptions.
This allows SubresourceLoader to follow or not redirections based on that option.
CachedResource is made responsible to handle the type of the response (opaqueredirect, opaque, cors, basic...).
If redirection is not to be followed, either an error is returned or an empty response is returned.
Moved Response type and redirected flag from FetchResponse to ResourceResponse.
This allows CachedResource to easily communicate that information to FetchResponse.
Made some clean-up refactoring in ThreadableLoaderOptions.
http/tests/fetch/caching-with-different-options.html ensures that
caching at CachedResourceLoader will not have bad effects on fetch.
Covered by updated and rebased tests.
* Modules/fetch/FetchLoader.cpp:
(WebCore::FetchLoader::start):
* Modules/fetch/FetchResponse.cpp:
(WebCore::FetchResponse::error):
(WebCore::FetchResponse::redirect):
(WebCore::FetchResponse::FetchResponse):
(WebCore::FetchResponse::clone):
(WebCore::FetchResponse::startFetching):
* Modules/fetch/FetchResponse.h:
* WebCore.xcodeproj/project.pbxproj:
* loader/FetchOptions.h: Moved from Source/WebCore/Modules/fetch/FetchOptions.h.
* loader/ResourceLoaderOptions.h:
(WebCore::ResourceLoaderOptions::fetchOptions):
(WebCore::ResourceLoaderOptions::setFetchOptions):
* loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::willSendRequestInternal):
* loader/ThreadableLoader.cpp:
* loader/ThreadableLoader.h:
* loader/cache/CachedResource.cpp:
(WebCore::CachedResource::setResponse):
* loader/cache/CachedResource.h:
(WebCore::CachedResource::setOpaqueRedirect):
* platform/network/ResourceResponseBase.cpp:
(WebCore::ResourceResponseBase::adopt):
(WebCore::ResourceResponseBase::copyData):
* platform/network/ResourceResponseBase.h:
(WebCore::ResourceResponseBase::type):
(WebCore::ResourceResponseBase::setType):
(WebCore::ResourceResponseBase::encode):
(WebCore::ResourceResponseBase::decode):
LayoutTests:
* http/tests/fetch/caching-with-different-options-expected.txt: Added.
* http/tests/fetch/caching-with-different-options.html: Added.
* http/tests/fetch/resources/redirect-with-cache.php: Added.
* platform/gtk/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-location-expected.txt:
* platform/gtk/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-method-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201324
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
yoav@yoav.ws [Tue, 24 May 2016 06:29:58 +0000 (06:29 +0000)]
Add a few initiator tests to resource timing.
https://bugs.webkit.org/show_bug.cgi?id=157986
Reviewed by Darin Adler.
Adds tests that make sure that when a resource is requested multiple times by different
elements, its initiator type remain the first one that triggered the fetch.
* http/tests/performance/performance-resource-timing-initiator-css-expected.txt: Added.
* http/tests/performance/performance-resource-timing-initiator-css.html: Added.
* http/tests/performance/performance-resource-timing-initiator-no-override-expected.txt: Added.
* http/tests/performance/performance-resource-timing-initiator-no-override.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201323
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
utatane.tea@gmail.com [Tue, 24 May 2016 06:24:44 +0000 (06:24 +0000)]
Assertion failure for Reflect.get with Proxy and primitive value as explicit receiver
https://bugs.webkit.org/show_bug.cgi?id=157080
Reviewed by Saam Barati.
Source/JavaScriptCore:
In custom accessor getter, the argument "thisValue" can be altered by using `Reflect.get`.
In this patch, we add a new parameter, "slotBase". This represents the base value offering
this custom getter. And use it in ProxyObject's performGet custom accessor getter.
* API/JSCallbackObject.h:
* API/JSCallbackObjectFunctions.h:
(JSC::JSCallbackObject<Parent>::staticFunctionGetter):
(JSC::JSCallbackObject<Parent>::callbackGetter):
* bytecode/PolymorphicAccess.cpp:
(JSC::AccessCase::generateImpl):
In PolymorphicAccess case, the thisValue and the slotBase are always cells.
This is because IC is enabled in the case that the base value is a cell.
And slotBase is always on the prototype chain from this base value.
* jit/CCallHelpers.h:
(JSC::CCallHelpers::setupArgumentsWithExecState):
* jsc.cpp:
(WTF::CustomGetter::customGetter):
(WTF::RuntimeArray::lengthGetter):
* runtime/CustomGetterSetter.cpp:
(JSC::callCustomSetter):
* runtime/JSBoundSlotBaseFunction.cpp:
(JSC::boundSlotBaseFunctionCall):
* runtime/JSFunction.cpp:
(JSC::JSFunction::argumentsGetter):
(JSC::JSFunction::callerGetter):
* runtime/JSFunction.h:
* runtime/JSModuleNamespaceObject.cpp:
(JSC::callbackGetter):
* runtime/PropertySlot.cpp:
(JSC::PropertySlot::customGetter):
* runtime/PropertySlot.h:
* runtime/ProxyObject.cpp:
(JSC::performProxyGet):
* runtime/RegExpConstructor.cpp:
(JSC::regExpConstructorDollar):
(JSC::regExpConstructorInput):
(JSC::regExpConstructorMultiline):
(JSC::regExpConstructorLastMatch):
(JSC::regExpConstructorLastParen):
(JSC::regExpConstructorLeftContext):
(JSC::regExpConstructorRightContext):
(JSC::regExpConstructorDollar1): Deleted.
(JSC::regExpConstructorDollar2): Deleted.
(JSC::regExpConstructorDollar3): Deleted.
(JSC::regExpConstructorDollar4): Deleted.
(JSC::regExpConstructorDollar5): Deleted.
(JSC::regExpConstructorDollar6): Deleted.
(JSC::regExpConstructorDollar7): Deleted.
(JSC::regExpConstructorDollar8): Deleted.
(JSC::regExpConstructorDollar9): Deleted.
* tests/stress/proxy-get-with-primitive-receiver.js: Added.
(shouldBe):
Source/WebCore:
* bindings/js/JSDOMBinding.h:
(WebCore::nonCachingStaticFunctionGetter):
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::jsDOMWindowWebKit):
* bindings/js/JSPluginElementFunctions.cpp:
(WebCore::pluginElementPropertyGetter):
* bindings/js/JSPluginElementFunctions.h:
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
(GenerateImplementation):
* bridge/runtime_array.cpp:
(JSC::RuntimeArray::lengthGetter):
* bridge/runtime_array.h:
* bridge/runtime_method.cpp:
(JSC::RuntimeMethod::lengthGetter):
* bridge/runtime_method.h:
* bridge/runtime_object.cpp:
(JSC::Bindings::RuntimeObject::fallbackObjectGetter):
(JSC::Bindings::RuntimeObject::fieldGetter):
(JSC::Bindings::RuntimeObject::methodGetter):
* bridge/runtime_object.h:
Source/WebKit2:
* WebProcess/Plugins/Netscape/JSNPObject.cpp:
(WebKit::JSNPObject::propertyGetter):
(WebKit::JSNPObject::methodGetter):
* WebProcess/Plugins/Netscape/JSNPObject.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201322
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
achristensen@apple.com [Tue, 24 May 2016 05:34:49 +0000 (05:34 +0000)]
Modernize CSS code
https://bugs.webkit.org/show_bug.cgi?id=157875
Reviewed by Chris Dumez.
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
(GenerateParametersCheck):
* bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
(WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::JSTestObjConstructor::construct):
(WebCore::setJSTestObjPutForwardsNullableAttribute):
(WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackFunctionArg):
(WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackArg):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod5):
* bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore::JSTestTypedefsConstructor::construct):
* css/CSSBasicShapes.cpp:
(WebCore::serializePositionOffset):
(WebCore::buildSerializablePositionOffset):
(WebCore::CSSBasicShapeCircle::cssText):
(WebCore::CSSBasicShapeEllipse::cssText):
* css/CSSCalculationValue.cpp:
(WebCore::determineCategory):
(WebCore::CSSCalcExpressionNodeParser::parseValue):
* css/CSSMediaRule.cpp:
(WebCore::CSSMediaRule::media):
* css/CSSMediaRule.h:
* css/CSSOMUtils.h:
* css/CSSParser.cpp:
(WebCore::CSSParser::createImportRule):
(WebCore::CSSParser::createMediaRule):
* css/CSSReflectValue.h:
* css/CSSStyleSheet.cpp:
(WebCore::CSSStyleSheet::setDisabled):
(WebCore::CSSStyleSheet::setMediaQueries):
(WebCore::CSSStyleSheet::insertRule):
(WebCore::CSSStyleSheet::deleteRule):
(WebCore::CSSStyleSheet::isLoading):
(WebCore::CSSStyleSheet::media):
(WebCore::CSSStyleSheet::parentStyleSheet):
(WebCore::CSSStyleSheet::ownerDocument):
(WebCore::CSSStyleSheet::clearChildRuleCSSOMWrappers):
(WebCore::CSSStyleSheet::RuleMutationScope::RuleMutationScope):
* css/CSSStyleSheet.h:
* css/PropertySetCSSStyleDeclaration.cpp:
* css/StyleRule.cpp:
(WebCore::StyleRuleBase::createCSSOMWrapper):
(WebCore::StyleRuleBase::destroy):
(WebCore::StyleRuleGroup::wrapperRemoveRule):
(WebCore::StyleRuleMedia::StyleRuleMedia):
* css/StyleRule.h:
(WebCore::StyleRuleBase::deref):
(WebCore::StyleRuleBase::StyleRuleBase):
(WebCore::StyleRuleMedia::create):
(WebCore::StyleRuleMedia::mediaQueries):
(WebCore::StyleRuleMedia::copy):
(isType):
* css/StyleRuleImport.cpp:
(WebCore::StyleRuleImport::create):
(WebCore::StyleRuleImport::StyleRuleImport):
* css/StyleRuleImport.h:
* css/StyleSheetContents.cpp:
(WebCore::StyleSheetContents::isCacheable):
(WebCore::StyleSheetContents::parserAppendRule):
(WebCore::StyleSheetContents::ruleAt):
(WebCore::StyleSheetContents::parserSetEncodingFromCharsetRule):
(WebCore::StyleSheetContents::wrapperInsertRule):
* css/StyleSheetContents.h:
(WebCore::StyleSheetContents::hasSyntacticallyValidCSSHeader):
(WebCore::StyleSheetContents::parserSetUsesRemUnits):
(WebCore::StyleSheetContents::parserSetUsesStyleBasedEditability):
(WebCore::StyleSheetContents::copy):
* dom/InlineStyleSheetOwner.cpp:
(WebCore::InlineStyleSheetOwner::createSheet):
* inspector/InspectorStyleSheet.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201318
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zalan@apple.com [Tue, 24 May 2016 03:41:50 +0000 (03:41 +0000)]
Skip fast/table/neighboring-cells-when-collapsed-border-changes on WK1 for now.
Unreviewed.
* platform/mac-wk1/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201316
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren@apple.com [Tue, 24 May 2016 03:27:45 +0000 (03:27 +0000)]
REGRESSION (196374): deleting a global property is expensive
https://bugs.webkit.org/show_bug.cgi?id=158005
Reviewed by Chris Dumez.
* runtime/JSObject.cpp:
(JSC::JSObject::deleteProperty): We only need to reify static properties
if the name being deleted matches a static property. Otherwise, we can
be sure that delete won't observe any static properties.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201315
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Tue, 24 May 2016 02:10:16 +0000 (02:10 +0000)]
Speed up move of vectors of POD types that have an inline buffer
https://bugs.webkit.org/show_bug.cgi?id=158003
Reviewed by Benjamin Poulain.
When moving a vector of POD types that have an inline buffer, we would
call std::swap() on the inline buffers. This unnecessarily slow because:
1. It does not consider the vector size, and therefore may end up doing
more work than necessary when the inline buffer is not full.
2. In the "move" case, the destination buffer is completely empty so
we don't really want a swap. We merely want the move the content of
the source's inline buffer into the destination's one.
Instead of calling std::swap(), we now call swapInlineBuffers() which
was already used for non-POD types. swapInlineBuffers() will do just
what we want in the "move" case because swapBound is going to be 0.
As a result, we will only move the content of the source buffer into
the destination one. Also swapInlineBuffers() is aware of the source
vector's size so it will only move what's strictly needed.
This seems to be a 2% progression on Dromaeo DOM attributes test.
* wtf/Vector.h:
(WTF::VectorBuffer::swapInlineBuffer):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201314
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mcatanzaro@igalia.com [Tue, 24 May 2016 01:54:51 +0000 (01:54 +0000)]
woff2_dec.cc triggers -Wsign-compare, -Wunused-but-set-variable
https://bugs.webkit.org/show_bug.cgi?id=157732
Reviewed by Darin Adler.
* woff2/CMakeLists.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201313
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zalan@apple.com [Tue, 24 May 2016 01:53:17 +0000 (01:53 +0000)]
Changing border color and size simultaneously fails to repaint.
https://bugs.webkit.org/show_bug.cgi?id=157967
<rdar://problem/
26423918>
Reviewed by David Hyatt.
This patch ensures that the neighboring tables cells are dirtied when collapsed border change requires layout.
Source/WebCore:
Test: fast/table/neighboring-cells-when-collapsed-border-changes.html
* rendering/RenderTable.cpp:
(WebCore::markCellDirtyWhenCollapsedBorderChanges):
(WebCore::RenderTable::invalidateCollapsedBorders):
LayoutTests:
* fast/table/neighboring-cells-when-collapsed-border-changes-expected.html: Added.
* fast/table/neighboring-cells-when-collapsed-border-changes.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201312
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Tue, 24 May 2016 01:50:42 +0000 (01:50 +0000)]
Avoid unnecessary call to Document::completeURL() in HTMLLinkElement::process()
https://bugs.webkit.org/show_bug.cgi?id=157993
Reviewed by Ryosuke Niwa.
Avoid unnecessary call to Document::completeURL() in HTMLLinkElement::process().
The call to getNonEmptyURLAttribute() already calls Document::completeURL()
internally so we can just reuse the returned URL.
* html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::process):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201311
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jiewen_tan@apple.com [Tue, 24 May 2016 01:03:13 +0000 (01:03 +0000)]
Null popstate event fired when navigating back to a cached page with a stateless history entry
https://bugs.webkit.org/show_bug.cgi?id=157963
<rdar://problem/
23414840>
Source/WebCore:
Popstate events are not fired when WebKit navigates back to a history entry that doesn't
have a state object if the entry's page is not cached. However, we fire popstate events
unconditionally if the page is cached. This results in inconsistent behavior between
initial navigations and cached navigations. Align the behavior of initial and cached
navigations so that we produce consistent events.
Reviewed by Brent Fulgham.
Tests: fast/loader/stateobjects/no-popstate-when-back-to-stateless-entry-with-page-cache.html
fast/loader/stateobjects/no-popstate-when-back-to-stateless-entry.html
* history/CachedFrame.cpp:
(WebCore::CachedFrameBase::restore):
LayoutTests:
Reviewed by Brent Fulgham.
* fast/loader/stateobjects/no-popstate-when-back-to-stateless-entry-expected.txt: Added.
* fast/loader/stateobjects/no-popstate-when-back-to-stateless-entry-with-page-cache-expected.txt: Added.
* fast/loader/stateobjects/no-popstate-when-back-to-stateless-entry-with-page-cache.html: Added.
* fast/loader/stateobjects/no-popstate-when-back-to-stateless-entry.html: Added.
* fast/loader/stateobjects/resources/no-popstate-when-back-to-stateless-entry-1.html: Added.
* fast/loader/stateobjects/resources/no-popstate-when-back-to-stateless-entry-2.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201310
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Tue, 24 May 2016 00:50:32 +0000 (00:50 +0000)]
Build fix after r201307.
* public/v3/pages/chart-pane.js:
(ChartPane.prototype.serializeState):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201309
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryanhaddad@apple.com [Tue, 24 May 2016 00:35:43 +0000 (00:35 +0000)]
Marking inspector/console/console-time.html as a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=158006
Unreviewed test gardening.
* platform/mac/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201308
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Tue, 24 May 2016 00:24:57 +0000 (00:24 +0000)]
Some applications truncates the last closing parenthesis in perf dashboard URL
https://bugs.webkit.org/show_bug.cgi?id=157976
Reviewed by Tim Horton.
Unfortunately, different applications use different heuristics to determine the end of each URL. Two trailing
parentheses, for example, is just fine in Radar as well as Apple Mail if the URL is short enough. Using other
characters such as ] and } wouldn't work either because they would be %-escaped. At that point, we might as well
as %-escape everything.
Work around the bug by parsing the URL as if it had one extra ')' if the parsing had failed. Also shorten the charts
page's URL by avoid emitting "-null" for each pane when the pane doesn't have a currently selected point or selection.
This improves the odds of the entire URL being recognized by various applications.
We could, in theory, implement some sort of a URL shorter but that can wait until when we support real user accounts.
* public/v3/pages/chart-pane.js:
(ChartPane.prototype.serializeState): Don't serialize the selection or the current point if nothing is selected.
* public/v3/pages/page-router.js:
(PageRouter.prototype._deserializeHashQueryValue): Try parsing the value again with one extra ] at the end if
the JSON parsing had failed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201307
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryanhaddad@apple.com [Tue, 24 May 2016 00:22:53 +0000 (00:22 +0000)]
Marking mathml/wbr-in-mroot-crash.html as a timeout on mac release
https://bugs.webkit.org/show_bug.cgi?id=157990
Unreviewed test gardening.
* platform/mac/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201306
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Tue, 24 May 2016 00:17:04 +0000 (00:17 +0000)]
Generate bindings code for EventTarget.addEventListener() / removeEventListener()
https://bugs.webkit.org/show_bug.cgi?id=157882
Reviewed by Darin Adler.
Generate bindings code for EventTarget.addEventListener() / removeEventListener()
instead of hardcoding them in the bindings generator.
Source/WebCore:
No new tests, rebaselined existing test, no web-exposed behavior change.
* Modules/webaudio/AudioScheduledSourceNode.cpp:
(WebCore::AudioScheduledSourceNode::addEventListener):
(WebCore::AudioScheduledSourceNode::removeEventListener):
* Modules/webaudio/AudioScheduledSourceNode.h:
* Modules/webaudio/ScriptProcessorNode.cpp:
(WebCore::ScriptProcessorNode::addEventListener):
(WebCore::ScriptProcessorNode::removeEventListener):
* Modules/webaudio/ScriptProcessorNode.h:
* bindings/gobject/GObjectEventListener.cpp:
(WebCore::GObjectEventListener::operator==):
* bindings/gobject/GObjectEventListener.h:
* bindings/js/JSEventListener.cpp:
(WebCore::JSEventListener::operator==):
(WebCore::eventHandlerAttribute): Deleted.
* bindings/js/JSEventListener.h:
(WebCore::JSEventListener::create):
(WebCore::JSEventListener::cast): Deleted.
(WebCore::JSEventListener::jsFunction): Deleted.
* bindings/objc/ObjCEventListener.h:
* bindings/objc/ObjCEventListener.mm:
(WebCore::ObjCEventListener::operator==):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
(JSValueToNative):
(GetParentClassName): Deleted.
(GetCallbackClassName): Deleted.
(GetJSCallbackDataType): Deleted.
* dom/EventListener.h:
* dom/EventListenerMap.cpp:
(WebCore::addListenerToVector):
(WebCore::EventListenerMap::add):
(WebCore::removeListenerFromVector):
(WebCore::EventListenerMap::remove):
(WebCore::copyListenersNotCreatedFromMarkupToTarget):
* dom/EventListenerMap.h:
* dom/EventTarget.cpp:
(WebCore::EventTarget::addEventListener):
(WebCore::EventTarget::addEventListenerForBindings):
(WebCore::EventTarget::removeEventListenerForBindings):
(WebCore::EventTarget::removeEventListener):
(WebCore::EventTarget::setAttributeEventListener):
(WebCore::EventTarget::clearAttributeEventListener):
* dom/EventTarget.h:
* dom/EventTarget.idl:
* dom/MessagePort.cpp:
(WebCore::MessagePort::addEventListener):
* dom/MessagePort.h:
* dom/Node.cpp:
(WebCore::tryAddEventListener):
(WebCore::Node::addEventListener):
(WebCore::tryRemoveEventListener):
(WebCore::Node::removeEventListener):
* dom/Node.h:
* dom/RegisteredEventListener.h:
(WebCore::RegisteredEventListener::RegisteredEventListener):
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::addEventListener):
(WebCore::HTMLMediaElement::removeEventListener):
* html/HTMLMediaElement.h:
* html/ImageDocument.cpp:
(WebCore::ImageDocument::createDocumentStructure):
(WebCore::ImageEventListener::operator==):
* html/shadow/MediaControlsApple.cpp:
(WebCore::MediaControlsApple::showClosedCaptionTrackList):
(WebCore::MediaControlsApple::hideClosedCaptionTrackList):
(WebCore::MediaControlsAppleEventListener::operator==):
* html/shadow/MediaControlsApple.h:
* inspector/InspectorIndexedDBAgent.cpp:
* page/DOMWindow.cpp:
(WebCore::DOMWindow::addEventListener):
(WebCore::DOMWindow::removeEventListener):
* page/DOMWindow.h:
* platform/cocoa/WebPlaybackSessionModelMediaElement.h:
* platform/cocoa/WebVideoFullscreenModelVideoElement.h:
* svg/SVGElement.cpp:
(WebCore::SVGElement::addEventListener):
(WebCore::SVGElement::removeEventListener):
* svg/SVGElement.h:
* svg/SVGTRefElement.cpp:
(WebCore::SVGTRefTargetEventListener::attach):
(WebCore::SVGTRefTargetEventListener::detach):
(WebCore::SVGTRefTargetEventListener::operator==):
* svg/animation/SVGSMILElement.cpp:
(WebCore::ConditionEventListener::operator==):
(WebCore::SVGSMILElement::connectConditions):
(WebCore::SVGSMILElement::disconnectConditions):
Source/WebKit/win:
* DOMEventsClasses.cpp:
(WebEventListener::operator==):
* DOMEventsClasses.h:
Source/WebKit2:
* WebProcess/Plugins/PDF/PDFPluginAnnotation.h:
* WebProcess/Plugins/PDF/PDFPluginAnnotation.mm:
(WebKit::PDFPluginAnnotation::attach):
(WebKit::PDFPluginAnnotation::~PDFPluginAnnotation):
* WebProcess/Plugins/PDF/PDFPluginPasswordField.mm:
(WebKit::PDFPluginPasswordField::~PDFPluginPasswordField):
(WebKit::PDFPluginPasswordField::createAnnotationElement):
* WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm:
(WebKit::PDFPluginTextAnnotation::~PDFPluginTextAnnotation):
(WebKit::PDFPluginTextAnnotation::createAnnotationElement):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201305
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
nvasilyev@apple.com [Mon, 23 May 2016 23:33:13 +0000 (23:33 +0000)]
Web Inspector: Split console navigation bar doesn't wrap as expected
https://bugs.webkit.org/show_bug.cgi?id=157950
<rdar://problem/
26395573>
Reviewed by Timothy Hatcher.
* UserInterface/Views/Main.css:
(#split-content-browser > .navigation-bar .item):
Fix the split console and don't touch any other navigation bars.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201304
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Mon, 23 May 2016 23:19:23 +0000 (23:19 +0000)]
Fix undefined behavior introduced in r201290.
https://bugs.webkit.org/show_bug.cgi?id=157961
Reviewed by Alex Christensen.
The evaluation order of function arguments is undefined so it is unsafe to
copyRef() and WTFMove() the same parameter in a function call.
* css/CSSBasicShapes.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201303
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson@apple.com [Mon, 23 May 2016 23:14:33 +0000 (23:14 +0000)]
Speculative fix for:
Modern IDB: Some blob tests ASSERT sometimes on the bots.
https://bugs.webkit.org/show_bug.cgi?id=157525
Reviewed by Alex Christensen.
No new tests (Should fix existing flakiness, not reproducibly testable).
For all of the lambdas involved in this operation, explicitly WTFMove all of the arguments around.
Critically, this includes the RefPtr<TransactionOperation> protector as well as the
std::function<void ()> completionHandler(s).
By doing so, this removes the possibility of a race between the background thread and the main thread
tearing down the TransactionOperation, guaranteeing that it is torn down on its original thread.
* Modules/indexeddb/IDBTransaction.cpp:
(WebCore::IDBTransaction::putOrAddOnServer):
* bindings/js/SerializedScriptValue.cpp:
(WebCore::SerializedScriptValue::writeBlobsToDiskForIndexedDB):
* platform/network/BlobRegistryImpl.cpp:
(WebCore::BlobRegistryImpl::writeBlobsToTemporaryFiles):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201302
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sbarati@apple.com [Mon, 23 May 2016 22:46:41 +0000 (22:46 +0000)]
The baseline JIT crashes when compiling "(1,1)/1"
https://bugs.webkit.org/show_bug.cgi?id=157933
Reviewed by Benjamin Poulain.
op_div in the baseline JIT needed to better handle when both the lhs
and rhs are constants. It needs to make sure to load either the lhs or
the rhs into a register since the div generator can't handle both
the lhs and rhs being constants.
* jit/JITArithmetic.cpp:
(JSC::JIT::emit_op_div):
* tests/stress/jit-gracefully-handle-double-constants-in-math-operators.js: Added.
(assert):
(test):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201301
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryanhaddad@apple.com [Mon, 23 May 2016 22:37:52 +0000 (22:37 +0000)]
Unreviewed, rolling out r201296.
https://bugs.webkit.org/show_bug.cgi?id=158002
The LayoutTest added with this change is failing on mac-wk1
(Requested by ryanhaddad on #webkit).
Reverted changeset:
"Changing border color and size simultaneously fails to
repaint."
https://bugs.webkit.org/show_bug.cgi?id=157967
http://trac.webkit.org/changeset/201296
Patch by Commit Queue <commit-queue@webkit.org> on 2016-05-23
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201300
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dino@apple.com [Mon, 23 May 2016 22:07:25 +0000 (22:07 +0000)]
Missing/Incomplete timestamp for inline Audio player in ePub book
https://bugs.webkit.org/show_bug.cgi?id=157998
<rdar://problem/
25858437>
Reviewed by Jon Lee and Tim Horton.
On iOS it is rare to apply a text-zoom (Safari does not provide
UI for it). However, iBooks uses text-zoom to increase the font
size. This causes the time displays in the media controls to
overflow their containers and be clipped.
The solution is to simply reset the text zoom for the media controls,
which means the time displays will always be a constant size.
* Modules/mediacontrols/mediaControlsiOS.css:
(audio::-webkit-media-controls-time-remaining-display):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201299
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdakin@apple.com [Mon, 23 May 2016 22:06:57 +0000 (22:06 +0000)]
Need SPI for clients to require a user action to get an editing controls
manager
https://bugs.webkit.org/show_bug.cgi?id=157992
-and corresponding-
rdar://problem/
26379927
Reviewed by Tim Horton.
New SPI _setRequiresUserActionForEditingControlsManager. The SPI defaults to
False, which means that by default there is no user action requirement to
have an editing controls manager. The SPI is on WKViewPrivate and
WKWebViewConfigurationPrivate, and it’s implemented in WebViewImpl.
* UIProcess/API/Cocoa/WKViewPrivate.h:
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _initializeWithConfiguration:]):
* UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration init]):
(-[WKWebViewConfiguration copyWithZone:]):
(-[WKWebViewConfiguration _requiresUserActionForEditingControlsManager]):
(-[WKWebViewConfiguration _setRequiresUserActionForEditingControlsManager:]):
* UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
* UIProcess/API/mac/WKView.mm:
(-[WKView _requiresUserActionForEditingControlsManager]):
(-[WKView _setRequiresUserActionForEditingControlsManager:]):
* UIProcess/Cocoa/WebViewImpl.h:
(WebKit::WebViewImpl::setRequiresUserActionForEditingControlsManager):
(WebKit::WebViewImpl::requiresUserActionForEditingControlsManager):
New message allows the WebProcess to tell the UI process whether the current
web page has had any selection changes based on user interaction.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setHasHadSelectionChangesFromUserInteraction):
* UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::hasHadSelectionChangesFromUserInteraction):
* UIProcess/WebPageProxy.messages.in:
m_userIsInteracting m_hasFocusedDueToUserInteraction used to be iOS only, but
now we want to track them for Mac as well.
* WebProcess/WebPage/WebPage.cpp:
Handling mouse events and key events will toggle m_userIsInteracting.
(WebKit::WebPage::mouseEvent):
(WebKit::WebPage::keyEvent):
m_userIsInteracting is no longer iOS-only.
(WebKit::WebPage::setInitialFocus):
Send a message to the UI process on page transition to re-set
hasHadSelectionChangesFromUserInteraction to false.
(WebKit::WebPage::didStartPageTransition):
Send a message to the UI process if this is the first selection change to
happen as a result of a user action.
(WebKit::WebPage::didChangeSelection):
* WebProcess/WebPage/WebPage.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201298
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryanhaddad@apple.com [Mon, 23 May 2016 21:55:54 +0000 (21:55 +0000)]
Marking inspector/unit-tests/heap-snapshot-collection-event.html as a flaky timeout.
https://bugs.webkit.org/show_bug.cgi?id=157999
Unreviewed test gardening.
* platform/mac/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201297
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zalan@apple.com [Mon, 23 May 2016 21:04:35 +0000 (21:04 +0000)]
Changing border color and size simultaneously fails to repaint.
https://bugs.webkit.org/show_bug.cgi?id=157967
<rdar://problem/
26423918>
Reviewed by David Hyatt.
This patch ensures that the neighboring tables cells are dirtied when collapsed border change requires layout.
Source/WebCore:
Test: fast/table/neighboring-cells-when-collapsed-border-changes.html
* rendering/RenderTable.cpp:
(WebCore::markCellDirtyWhenCollapsedBorderChanges):
(WebCore::RenderTable::invalidateCollapsedBorders):
LayoutTests:
* fast/table/neighboring-cells-when-collapsed-border-changes-expected.html: Added.
* fast/table/neighboring-cells-when-collapsed-border-changes.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201296
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
achristensen@apple.com [Mon, 23 May 2016 20:54:01 +0000 (20:54 +0000)]
Add logging for NSURLSession calls
https://bugs.webkit.org/show_bug.cgi?id=157996
Reviewed by Brady Eidson.
* NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
(WebKit::NetworkDataTask::NetworkDataTask):
* NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(toNSURLSessionResponseDisposition):
(-[WKNetworkSessionDelegate URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:]):
(-[WKNetworkSessionDelegate URLSession:task:_schemeUpgraded:completionHandler:]):
(-[WKNetworkSessionDelegate URLSession:dataTask:willCacheResponse:completionHandler:]):
(-[WKNetworkSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]):
(-[WKNetworkSessionDelegate URLSession:task:didCompleteWithError:]):
(-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]):
(-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveData:]):
* Platform/Logging.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201295
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cfleizach@apple.com [Mon, 23 May 2016 20:44:06 +0000 (20:44 +0000)]
AX: iOS: when bringing focus to a text field we may zoom the page even if author wanted max scale = 1
https://bugs.webkit.org/show_bug.cgi?id=157771
Reviewed by Tim Horton.
Source/WebCore:
If the author requests scaling not to be enabled, we should not scale in when keyboard focus moves to a text field.
Scaling should only happen when the user performs a gesture to do so in this case.
Tests: fast/viewport/ios/user-scalable-does-not-scale-for-keyboard-focus-with-author-defined-scale.html
fast/viewport/ios/user-scalable-scales-for-keyboard-focus-with-no-author-defined-scale.html
* page/ViewportConfiguration.h:
(WebCore::ViewportConfiguration::maximumScale):
Source/WebKit2:
* Shared/AssistedNodeInformation.cpp:
(WebKit::AssistedNodeInformation::encode):
(WebKit::AssistedNodeInformation::decode):
* Shared/AssistedNodeInformation.h:
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _displayFormNodeInputView]):
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::getAssistedNodeInformation):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201294
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sbarati@apple.com [Mon, 23 May 2016 20:27:28 +0000 (20:27 +0000)]
String template don't handle let initialization properly inside eval
https://bugs.webkit.org/show_bug.cgi?id=157991
Reviewed by Oliver Hunt.
The fix is to make sure we emit TDZ checks.
* bytecompiler/NodesCodegen.cpp:
(JSC::TaggedTemplateNode::emitBytecode):
* tests/stress/tagged-template-tdz.js: Added.
(shouldThrowTDZ):
(test):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201293
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryanhaddad@apple.com [Mon, 23 May 2016 20:25:03 +0000 (20:25 +0000)]
Unreviewed, rolling out r200414.
This change appears to have broken the 'write a reply' field
on Nextdoor.com
Reverted changeset:
"Clicks inside button elements are sometimes discarded when
the mouse moves"
https://bugs.webkit.org/show_bug.cgi?id=39620
http://trac.webkit.org/changeset/200414
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201292
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jond@apple.com [Mon, 23 May 2016 20:14:45 +0000 (20:14 +0000)]
Add syntax highglighting for ES6 "let", "const" and "of" keywords.
https://bugs.webkit.org/show_bug.cgi?id=157994
Reviewed by Geoffrey Garen.
* wp-content/plugins/hyperlight/hyperlight/languages/javascript.php:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201291
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Mon, 23 May 2016 17:40:36 +0000 (17:40 +0000)]
Clean up / Modernize the CSS Parser
https://bugs.webkit.org/show_bug.cgi?id=157961
Reviewed by Alex Christensen.
Clean up / Modernize the CSS Parser.
* WebCore.xcodeproj/project.pbxproj:
* css/BasicShapeFunctions.cpp:
(WebCore::valueForBasicShape):
(WebCore::convertToLength):
(WebCore::convertToLengthSize):
(WebCore::basicShapeForValue):
* css/BasicShapeFunctions.h:
* css/CSSBasicShapes.cpp:
(WebCore::CSSBasicShapePolygon::cssText):
(WebCore::CSSBasicShapePolygon::equals):
* css/CSSBasicShapes.h:
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::valueForReflection):
(WebCore::ComputedStyleExtractor::valueForShadow):
(WebCore::specifiedValueForGridTrackSize):
* css/CSSCrossfadeValue.cpp:
(WebCore::subimageKnownToBeOpaque):
(WebCore::CSSCrossfadeValue::fixedSize):
(WebCore::CSSCrossfadeValue::isPending):
(WebCore::CSSCrossfadeValue::knownToBeOpaque):
(WebCore::CSSCrossfadeValue::loadSubimages):
(WebCore::CSSCrossfadeValue::image):
(WebCore::CSSCrossfadeValue::blend):
(WebCore::CSSCrossfadeValue::equals):
(WebCore::CSSCrossfadeValue::equalInputImages):
* css/CSSCrossfadeValue.h:
(WebCore::CSSCrossfadeValue::create):
(WebCore::CSSCrossfadeValue::CSSCrossfadeValue):
* css/CSSCustomPropertyValue.h:
(WebCore::CSSCustomPropertyValue::create):
(WebCore::CSSCustomPropertyValue::CSSCustomPropertyValue):
* css/CSSFilterImageValue.cpp:
(WebCore::CSSFilterImageValue::fixedSize):
(WebCore::CSSFilterImageValue::isPending):
(WebCore::CSSFilterImageValue::loadSubimages):
(WebCore::CSSFilterImageValue::image):
(WebCore::CSSFilterImageValue::createFilterOperations):
(WebCore::CSSFilterImageValue::equals):
(WebCore::CSSFilterImageValue::equalInputImages):
* css/CSSFilterImageValue.h:
(WebCore::CSSFilterImageValue::CSSFilterImageValue):
* css/CSSFontFaceSet.cpp:
(WebCore::CSSFontFaceSet::matchingFaces):
* css/CSSFunctionValue.cpp:
(WebCore::CSSFunctionValue::CSSFunctionValue):
* css/CSSFunctionValue.h:
(WebCore::CSSFunctionValue::create):
* css/CSSGradientValue.h:
(WebCore::CSSLinearGradientValue::setAngle):
* css/CSSGrammar.y.in:
* css/CSSImageGeneratorValue.cpp:
(WebCore::CSSImageGeneratorValue::subimageIsPending):
(WebCore::CSSImageGeneratorValue::cachedImageForCSSValue):
* css/CSSImageGeneratorValue.h:
* css/CSSImageValue.cpp:
(WebCore::CSSImageValue::cachedOrPendingImage):
* css/CSSImageValue.h:
* css/CSSKeyframesRule.cpp:
(WebCore::StyleRuleKeyframes::StyleRuleKeyframes):
(WebCore::StyleRuleKeyframes::parserAppendKeyframe):
(WebCore::StyleRuleKeyframes::wrapperAppendKeyframe):
(WebCore::CSSKeyframesRule::appendRule):
(WebCore::CSSKeyframesRule::findRule):
(WebCore::CSSKeyframesRule::item):
(WebCore::StyleRuleKeyframes::~StyleRuleKeyframes): Deleted.
* css/CSSKeyframesRule.h:
(WebCore::StyleRuleKeyframes::keyframes):
* css/CSSParser.cpp:
(WebCore::parseColorValue):
(WebCore::parseSimpleLengthValue):
(WebCore::parseKeywordValue):
(WebCore::parseTranslateTransformValue):
(WebCore::CSSParser::parseFontFaceValue):
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseCustomPropertyValue):
(WebCore::CSSParser::parseDeclaration):
(WebCore::CSSParser::SourceSize::SourceSize):
(WebCore::filterProperties):
(WebCore::CSSParser::clearProperties):
(WebCore::CSSParser::addExpandedPropertyForValue):
(WebCore::CSSParser::parseVariableDependentValue):
(WebCore::CSSParser::parseContentDistributionOverflowPosition):
(WebCore::CSSParser::parseItemPositionOverflowPosition):
(WebCore::CSSParser::parseNonElementSnapPoints):
(WebCore::CSSParser::parseScrollSnapDestination):
(WebCore::CSSParser::parseScrollSnapCoordinate):
(WebCore::CSSParser::parseFillShorthand):
(WebCore::CSSParser::addAnimationValue):
(WebCore::CSSParser::parseAnimationShorthand):
(WebCore::CSSParser::parseColumnWidth):
(WebCore::CSSParser::parseColumnCount):
(WebCore::CSSParser::parseColumnsShorthand):
(WebCore::CSSParser::parseTransitionShorthand):
(WebCore::CSSParser::parseSize):
(WebCore::CSSParser::parseQuotes):
(WebCore::CSSParser::parseAlt):
(WebCore::CSSParser::parseCustomPropertyDeclaration):
(WebCore::CSSParser::parseContent):
(WebCore::CSSParser::parseAttr):
(WebCore::CSSParser::parseBackgroundColor):
(WebCore::CSSParser::parseFillPositionComponent):
(WebCore::CSSParser::parse4ValuesFillPosition):
(WebCore::CSSParser::parse3ValuesFillPosition):
(WebCore::CSSParser::parseFillPosition):
(WebCore::CSSParser::parseFillSize):
(WebCore::CSSParser::parseFillProperty):
(WebCore::CSSParser::parseAnimationDelay):
(WebCore::CSSParser::parseAnimationDirection):
(WebCore::CSSParser::parseAnimationDuration):
(WebCore::CSSParser::parseAnimationFillMode):
(WebCore::CSSParser::parseAnimationIterationCount):
(WebCore::CSSParser::parseAnimationName):
(WebCore::CSSParser::parseAnimationPlayState):
(WebCore::CSSParser::parseAnimationTrigger):
(WebCore::CSSParser::parseAnimationProperty):
(WebCore::CSSParser::parseKeyframeSelector):
(WebCore::CSSParser::parseGridPosition):
(WebCore::gridMissingGridPositionValue):
(WebCore::CSSParser::parseGridItemPositionShorthand):
(WebCore::CSSParser::parseGridGapShorthand):
(WebCore::CSSParser::parseGridTemplateRowsAndAreasAndColumns):
(WebCore::CSSParser::parseGridTemplateShorthand):
(WebCore::CSSParser::parseGridShorthand):
(WebCore::CSSParser::parseGridAreaShorthand):
(WebCore::CSSParser::parseGridLineNames):
(WebCore::CSSParser::parseGridTrackList):
(WebCore::CSSParser::parseGridTrackRepeatFunction):
(WebCore::CSSParser::parseGridTrackSize):
(WebCore::CSSParser::parseGridAutoFlow):
(WebCore::skipCommaInDashboardRegion):
(WebCore::CSSParser::parseDashboardRegions):
(WebCore::parseGridTemplateAreasColumnNames):
(WebCore::CSSParser::parseCounterContent):
(WebCore::CSSParser::parseClipShape):
(WebCore::CSSParser::parseInsetRoundedCorners):
(WebCore::CSSParser::parseBasicShapeInset):
(WebCore::CSSParser::parseBasicShapeCircle):
(WebCore::CSSParser::parseBasicShapeEllipse):
(WebCore::CSSParser::parseBasicShapePolygon):
(WebCore::CSSParser::parseBasicShapePath):
(WebCore::CSSParser::parseBasicShapeAndOrBox):
(WebCore::CSSParser::parseFont):
(WebCore::CSSParser::parseFontFamily):
(WebCore::CSSParser::parseFontSynthesis):
(WebCore::CSSParser::parseFontFaceSrcURI):
(WebCore::CSSParser::parseFontFaceSrc):
(WebCore::CSSParser::parseFontFaceUnicodeRange):
(WebCore::parseAlphaValue):
(WebCore::ShadowParseContext::commitValue):
(WebCore::CSSParser::parseShadow):
(WebCore::CSSParser::parseReflect):
(WebCore::CSSParser::parseFlex):
(WebCore::BorderImageParseContext::commitImage):
(WebCore::BorderImageParseContext::commitImageSlice):
(WebCore::BorderImageParseContext::commitBorderWidth):
(WebCore::BorderImageParseContext::commitBorderOutset):
(WebCore::BorderImageParseContext::commitRepeat):
(WebCore::BorderImageParseContext::commitWebKitBorderImage):
(WebCore::BorderImageParseContext::commitBorderImageProperty):
(WebCore::CSSParser::parseBorderImage):
(WebCore::CSSParser::parseBorderImageRepeat):
(WebCore::BorderImageQuadParseContext::setTop):
(WebCore::CSSParser::parseCounter):
(WebCore::CSSParser::parseDeprecatedGradient):
(WebCore::CSSParser::parseDeprecatedLinearGradient):
(WebCore::CSSParser::parseDeprecatedRadialGradient):
(WebCore::CSSParser::parseLinearGradient):
(WebCore::CSSParser::parseRadialGradient):
(WebCore::CSSParser::parseFilterImage):
(WebCore::CSSParser::parseCrossfade):
(WebCore::CSSParser::parseImageResolution):
(WebCore::CSSParser::parseImageSet):
(WebCore::CSSParser::parseTransform):
(WebCore::CSSParser::parseTransformValue):
(WebCore::CSSParser::parseFilter):
(WebCore::CSSParser::parseTextDecoration):
(WebCore::CSSParser::parseTextEmphasisStyle):
(WebCore::CSSParser::parseTextEmphasisPosition):
(WebCore::CSSParser::parseTextIndent):
(WebCore::CSSParser::parseHangingPunctuation):
(WebCore::CSSParser::parseFontFeatureSettings):
(WebCore::CSSParser::parseWillChange):
(WebCore::CSSParser::createImportRule):
(WebCore::CSSParser::createMediaRule):
(WebCore::CSSParser::createEmptyMediaRule):
(WebCore::CSSParser::createSupportsRule):
(WebCore::CSSParser::markSupportsRuleHeaderStart):
(WebCore::CSSParser::popSupportsRuleData):
(WebCore::CSSParser::processAndAddNewRuleToSourceTreeIfNeeded):
(WebCore::CSSParser::addNewRuleToSourceTree):
(WebCore::CSSParser::popRuleData):
(WebCore::CSSParser::createKeyframesRule):
(WebCore::CSSParser::createStyleRule):
(WebCore::CSSParser::createFontFaceRule):
(WebCore::CSSParser::createPageRule):
(WebCore::CSSParser::createRegionRule):
(WebCore::CSSParser::endDeclarationsForMarginBox):
(WebCore::CSSParser::createKeyframe):
(WebCore::CSSParser::updateLastMediaLine):
(WebCore::fixUnparsedProperties):
(WebCore::CSSParser::fixUnparsedPropertyRanges):
(WebCore::CSSParser::parseViewportProperty):
(WebCore::cssPropertyNameIOSAliasing):
(WebCore::isAppleLegacyCssValueKeyword):
(WebCore::quoteCSSString):
(WebCore::AnimationParseContext::commitFirstAnimation): Deleted.
(WebCore::strictCSSParserContext): Deleted.
(WebCore::CSSParser::~CSSParser): Deleted.
(WebCore::convertToASCIILowercaseInPlace): Deleted.
(WebCore::CSSParserString::convertToASCIILowercaseInPlace): Deleted.
(WebCore::CSSParser::setupParser): Deleted.
(WebCore::isSimpleLengthPropertyID): Deleted.
(WebCore::isValidKeywordPropertyAndValue): Deleted.
(WebCore::parseTransformTranslateArguments): Deleted.
(WebCore::CSSParser::parseColor): Deleted.
(WebCore::CSSParser::parseMediaQuery): Deleted.
(WebCore::CSSParser::parseSizesAttribute): Deleted.
(WebCore::CSSParser::addProperty): Deleted.
(WebCore::CSSParser::validateCalculationUnit): Deleted.
(WebCore::isItemPositionKeyword): Deleted.
(WebCore::CSSParser::parseShorthand): Deleted.
(WebCore::CSSParser::parseSizeParameter): Deleted.
(WebCore::CSSParser::parseFillImage): Deleted.
(WebCore::CSSParser::parsePositionY): Deleted.
(WebCore::CSSParser::parse2ValuesFillPosition): Deleted.
(WebCore::CSSParser::parseTransformOriginShorthand): Deleted.
(WebCore::CSSParser::parseAnimationTimingFunction): Deleted.
(WebCore::CSSParser::parseGridTemplateColumns): Deleted.
(WebCore::CSSParser::parseSingleGridAreaLonghand): Deleted.
(WebCore::allTracksAreFixedSized): Deleted.
(WebCore::CSSParser::parseGridBreadth): Deleted.
(WebCore::CSSParser::parseGridTemplateAreasRow): Deleted.
(WebCore::completeBorderRadii): Deleted.
(WebCore::CSSParser::parseShapeRadius): Deleted.
(WebCore::isBoxValue): Deleted.
(WebCore::CSSParser::parseShapeProperty): Deleted.
(WebCore::CSSParser::parseClipPath): Deleted.
(WebCore::CSSParser::parseBasicShape): Deleted.
(WebCore::FontFamilyValueBuilder::commit): Deleted.
(WebCore::CSSParser::parseFontWeight): Deleted.
(WebCore::CSSParser::parseFontFaceSrcLocal): Deleted.
(WebCore::parseDouble): Deleted.
(WebCore::mightBeRGBA): Deleted.
(WebCore::mightBeRGB): Deleted.
(WebCore::ShadowParseContext::commitColor): Deleted.
(WebCore::BorderImageParseContext::BorderImageParseContext): Deleted.
(WebCore::BorderImageParseContext::commitForwardSlashOperator): Deleted.
(WebCore::BorderImageParseContext::commitBorderImage): Deleted.
(WebCore::isBorderImageRepeatKeyword): Deleted.
(WebCore::BorderImageSliceParseContext::commitBorderImageSlice): Deleted.
(WebCore::CSSParser::parseBorderImageQuad): Deleted.
(WebCore::parseDeprecatedGradientColorStop): Deleted.
(WebCore::valueFromSideKeyword): Deleted.
(WebCore::CSSParser::isGeneratedImageValue): Deleted.
(WebCore::CSSParser::parseCanvas): Deleted.
(WebCore::CSSParser::parseNamedImage): Deleted.
(WebCore::TransformOperationInfo::TransformOperationInfo): Deleted.
(WebCore::CSSParser::isBlendMode): Deleted.
(WebCore::filterInfoForName): Deleted.
(WebCore::CSSParser::parseFlowThread): Deleted.
(WebCore::CSSParser::parseRegionThread): Deleted.
(WebCore::CSSParser::parseLineBoxContain): Deleted.
(WebCore::CSSParser::parseFontFeatureTag): Deleted.
(WebCore::CSSParser::parseFontVariantLigatures): Deleted.
(WebCore::isCSSLetter): Deleted.
(WebCore::CSSParser::markSupportsRuleHeaderEnd): Deleted.
(WebCore::CSSParser::syntaxError): Deleted.
(WebCore::CSSParser::logError): Deleted.
(WebCore::CSSParser::rewriteSpecifiersWithElementName): Deleted.
(WebCore::CSSParser::rewriteSpecifiers): Deleted.
(WebCore::CSSParser::invalidBlockHit): Deleted.
(WebCore::CSSParser::markRuleHeaderStart): Deleted.
(WebCore::CSSParser::setRuleHeaderEnd): Deleted.
(WebCore::CSSParser::markRuleHeaderEnd): Deleted.
(WebCore::CSSParser::markRuleBodyStart): Deleted.
(WebCore::cssPropertyID): Deleted.
(WebCore::isCSSTokenizerIdentifier): Deleted.
* css/CSSParser.h:
(WebCore::CSSParser::ValueWithCalculation::setCalculation): Deleted.
* css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::cloneForCSSOM):
* css/CSSPrimitiveValue.h:
* css/CSSPropertySourceData.h:
* css/CSSReflectValue.cpp:
(WebCore::CSSReflectValue::equals):
* css/CSSReflectValue.h:
(WebCore::CSSReflectValue::create):
(WebCore::CSSReflectValue::direction):
(WebCore::CSSReflectValue::offset):
(WebCore::CSSReflectValue::CSSReflectValue):
* css/CSSShadowValue.cpp:
(WebCore::CSSShadowValue::CSSShadowValue):
(WebCore::CSSShadowValue::customCSSText): Deleted.
* css/CSSShadowValue.h:
(WebCore::CSSShadowValue::create):
* css/CSSValue.h:
(WebCore::compareCSSValueVector):
* css/CSSVariableDependentValue.cpp:
(WebCore::CSSVariableDependentValue::checkVariablesForCycles):
* css/CSSVariableDependentValue.h:
(WebCore::CSSVariableDependentValue::create):
(WebCore::CSSVariableDependentValue::customCSSText):
(WebCore::CSSVariableDependentValue::valueList):
(WebCore::CSSVariableDependentValue::CSSVariableDependentValue):
* css/CSSVariableValue.cpp:
(WebCore::CSSVariableValue::buildParserValueListSubstitutingVariables):
* css/Counter.h:
(WebCore::Counter::create):
(WebCore::Counter::identifier):
(WebCore::Counter::listStyle):
(WebCore::Counter::separator):
(WebCore::Counter::listStyleIdent):
(WebCore::Counter::setIdentifier):
(WebCore::Counter::setListStyle):
(WebCore::Counter::setSeparator):
(WebCore::Counter::cloneForCSSOM):
(WebCore::Counter::Counter):
* css/DOMCSSNamespace.cpp:
(WebCore::DOMCSSNamespace::supports):
* css/FontFace.cpp:
(WebCore::FontFace::parseString):
(WebCore::FontFace::setVariant):
* css/Rect.h:
(WebCore::RectBase::RectBase):
* css/SVGCSSParser.cpp:
(WebCore::CSSParser::parseSVGStrokeDasharray):
(WebCore::CSSParser::parseSVGPaint):
(WebCore::CSSParser::parseSVGColor):
(WebCore::CSSParser::parsePaintOrder):
* css/StyleBuilderConverter.h:
(WebCore::StyleBuilderConverter::convertReflection):
* css/StyleProperties.cpp:
(WebCore::MutableStyleProperties::setProperty):
(WebCore::MutableStyleProperties::setCustomProperty):
(WebCore::MutableStyleProperties::parseDeclaration):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::keyframeStylesForAnimation):
(WebCore::StyleResolver::cachedOrPendingFromValue):
* css/StyleResolver.h:
* css/WebKitCSSMatrix.cpp:
(WebCore::WebKitCSSMatrix::setMatrixValue):
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::setFont):
* inspector/InspectorStyleSheet.cpp:
(flattenSourceData):
(ParsedStyleSheet::setSourceData):
(ParsedStyleSheet::ruleSourceDataAt):
(WebCore::InspectorStyleSheetForInlineStyle::getStyleAttributeRanges):
* page/PageSerializer.cpp:
(WebCore::PageSerializer::retrieveResourcesForProperties):
* page/animation/CSSPropertyAnimation.cpp:
(WebCore::crossfadeBlend):
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::checkVariablesInCustomProperties):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201290
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryanhaddad@apple.com [Mon, 23 May 2016 16:59:36 +0000 (16:59 +0000)]
Marking fast/text-autosizing/ios/text-autosizing-after-back.html as a flaky timeout on Mac and iOS
https://bugs.webkit.org/show_bug.cgi?id=157589
Unreviewed test gardening.
* TestExpectations:
* platform/ios-simulator-wk1/TestExpectations:
* platform/ios-simulator-wk2/TestExpectations:
* platform/mac-wk1/TestExpectations:
* platform/mac-wk2/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201289
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson@apple.com [Mon, 23 May 2016 16:46:38 +0000 (16:46 +0000)]
check-webkit-style gets flags std::literals::chrono_literals as bad naming.
https://bugs.webkit.org/show_bug.cgi?id=157969
Reviewed by Alex Christensen.
* Scripts/webkitpy/style/checkers/cpp.py:
(check_identifier_name_in_declaration):
* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(WebKitStyleTest.test_names):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201288
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryanhaddad@apple.com [Mon, 23 May 2016 16:41:01 +0000 (16:41 +0000)]
Marking fast/frames/crash-during-iframe-load-stop.html as a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=157849
Unreviewed test gardening.
* TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201287
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Mon, 23 May 2016 12:26:34 +0000 (12:26 +0000)]
[ThreadedCompositor] Ensure that the BitmapTexture used by CoordinatedBackingStoreTile matches the opacity of the painted surface
https://bugs.webkit.org/show_bug.cgi?id=157942
Patch by Miguel Gomez <magomez@igalia.com> on 2016-05-23
Reviewed by Žan Doberšek.
* Shared/CoordinatedGraphics/CoordinatedBackingStore.cpp:
(WebKit::CoordinatedBackingStoreTile::swapBuffers):
Reset the BitmapTexture if it doesn't match the opacity required by the surface
that's being painted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201275
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Mon, 23 May 2016 07:21:28 +0000 (07:21 +0000)]
[GTK] Disk cache: enable speculative revalidation
https://bugs.webkit.org/show_bug.cgi?id=157125
Reviewed by Sergio Villar Senin.
* NetworkProcess/soup/NetworkProcessSoup.cpp:
(WebKit::NetworkProcess::platformInitializeNetworkProcess):
* UIProcess/API/gtk/WebKitWebContext.cpp:
(webkitWebContextConstructed):
* UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeNetworkProcess):
* UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::ensureNetworkProcess):
* config.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201267
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sbarati@apple.com [Mon, 23 May 2016 04:02:22 +0000 (04:02 +0000)]
Unreviewed. Fixed debug assertion failures from r201235.
* runtime/JSScope.cpp:
(JSC::abstractAccess):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201266
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Mon, 23 May 2016 01:35:57 +0000 (01:35 +0000)]
Added NSEventMaskMouseMoved to AppKitCompatibilityDeclarations.h.
Rubber-stamped by Anders Carlsson.
* wtf/mac/AppKitCompatibilityDeclarations.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201265
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Sun, 22 May 2016 22:55:23 +0000 (22:55 +0000)]
RELEASE_ASSERT(TestController::singleton().isCurrentInvocation(testInvocation)) is sometimes hit when running tests
https://bugs.webkit.org/show_bug.cgi?id=157977
rdar://problem/
20874156
Reviewed by David Kilzer.
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::invoke): Be more certain to launch a new process when there was
a timeout detected. If we don't, there is a chance that the process is not quite frozen,
and will still send a response that we no longer expect.
(WTR::TestInvocation::dumpWebProcessUnresponsiveness): Print timeout details to stderr
too, as stdout is not available, at least not in the case that I was observing.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201263
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Sun, 22 May 2016 22:36:16 +0000 (22:36 +0000)]
Another attempt to fix the GTK build after my previous changes.
* wtf/StdLibExtras.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201262
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Sun, 22 May 2016 22:31:26 +0000 (22:31 +0000)]
Tried to fix the GTK build after r201257.
* wtf/StdLibExtras.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201261
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Sun, 22 May 2016 22:22:38 +0000 (22:22 +0000)]
Additional fixes for non-C++14 Apple projects that use WTF.
* wtf/StdLibExtras.h:
(std::exchange):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201260
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson@apple.com [Sun, 22 May 2016 22:21:38 +0000 (22:21 +0000)]
Attempted Yosemite build fix after trac.webkit.org/changeset/201255
Suggested by and reviewed by Anders Carlsson.
* b3/B3CCallValue.h: Initialize the effects member more conventionally.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201259
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Sun, 22 May 2016 22:19:33 +0000 (22:19 +0000)]
Additional fixes for non-C++14 Apple projects that use WTF.
* wtf/StdLibExtras.h:
(std::make_unique):
(std::move):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201258
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Sun, 22 May 2016 22:04:10 +0000 (22:04 +0000)]
Correct the previous build fix attempt.
* wtf/StdLibExtras.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201257
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Sun, 22 May 2016 21:10:29 +0000 (21:10 +0000)]
Build fix for non-C++14 Apple projects that use WTF.
Rubber-stamped by Anders.
* wtf/StdLibExtras.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201256
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson@apple.com [Sun, 22 May 2016 20:09:57 +0000 (20:09 +0000)]
Move to C++14.
https://bugs.webkit.org/show_bug.cgi?id=157948
Reviewed by Michael Catanzaro.
.:
* Source/cmake/OptionsCommon.cmake:
Source/bmalloc:
* Configurations/Base.xcconfig:
Source/JavaScriptCore:
* Configurations/Base.xcconfig:
Source/ThirdParty:
* gtest/xcode/Config/General.xcconfig:
Source/ThirdParty/ANGLE:
* Configurations/Base.xcconfig:
Source/WebCore:
No new tests (No change in behavior).
* Configurations/Base.xcconfig:
Replace time literal suffixes that have underscores to the forms without
(e.g. 0_ms becomes 0ms):
* page/mac/ServicesOverlayController.mm:
(WebCore::ServicesOverlayController::remainingTimeUntilHighlightShouldBeShown):
* platform/graphics/cg/IOSurfacePool.cpp:
Source/WebInspectorUI:
* Configurations/Base.xcconfig:
Source/WebKit/mac:
* Configurations/Base.xcconfig:
Source/WebKit2:
* Configurations/Base.xcconfig:
Replace time literal suffixes that have underscores to the forms without
(e.g. 0_ms becomes 0ms):
* NetworkProcess/NetworkResourceLoadParameters.cpp:
(WebKit::NetworkResourceLoadParameters::NetworkResourceLoadParameters):
* NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::startNetworkLoad):
* NetworkProcess/cache/NetworkCache.cpp:
(WebKit::NetworkCache::responseHasExpired):
(WebKit::NetworkCache::responseNeedsRevalidation):
(WebKit::NetworkCache::makeStoreDecision):
* NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp:
(WebKit::NetworkCache::responseNeedsRevalidation):
* NetworkProcess/cache/NetworkCacheStorage.cpp:
(WebKit::NetworkCache::Storage::dispatchReadOperation):
(WebKit::NetworkCache::Storage::store):
(WebKit::NetworkCache::computeRecordWorth):
* Shared/mac/RemoteLayerBackingStoreCollection.mm:
* UIProcess/ViewGestureController.cpp:
* WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::maximumBufferingTime):
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::scheduleCompositingLayerFlushImmediately):
(WebKit::RemoteLayerTreeDrawingArea::scheduleCompositingLayerFlush):
Source/WTF:
* Configurations/Base.xcconfig:
Delete a lot of "stl additions until we can adopt C++14" code:
* wtf/StdLibExtras.h:
(std::make_unique): Deleted.
(std::index_sequence::size): Deleted.
(std::exchange): Deleted.
(std::literals::chrono_literals::operator _s): Deleted.
(std::literals::chrono_literals::operator _ms): Deleted.
Tools:
* DumpRenderTree/mac/Configurations/Base.xcconfig:
* MiniBrowser/Configurations/Base.xcconfig:
* TestWebKitAPI/Configurations/Base.xcconfig:
* WebKitTestRunner/Configurations/Base.xcconfig:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201255
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sbarati@apple.com [Sun, 22 May 2016 19:13:23 +0000 (19:13 +0000)]
REGRESSION(r199075): String.prototype.replace fails after being used many times with different replace values
https://bugs.webkit.org/show_bug.cgi?id=157968
<rdar://problem/
26404735>
Reviewed by Ryosuke Niwa and Filip Pizlo.
Source/JavaScriptCore:
There was a bug in the DFG where we were checking a condition
on the wrong variable.
* dfg/DFGStrengthReductionPhase.cpp:
(JSC::DFG::StrengthReductionPhase::handleNode):
LayoutTests:
* TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201254
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Sun, 22 May 2016 17:27:18 +0000 (17:27 +0000)]
Remove uses of PassRefPtr in JS bindings code
https://bugs.webkit.org/show_bug.cgi?id=157949
Reviewed by Andreas Kling.
Remove uses of PassRefPtr in JS bindings code.
Source/JavaScriptCore:
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::queueMicrotask):
* runtime/JSGlobalObject.h:
Source/WebCore:
* bindings/js/JSDOMBinding.cpp:
(WebCore::jsArray):
* bindings/js/JSDOMBinding.h:
* bindings/js/JSDOMGlobalObject.cpp:
(WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
* bindings/js/JSDOMGlobalObject.h:
* bindings/js/JSDOMGlobalObjectTask.cpp:
(WebCore::JSGlobalObjectTask::JSGlobalObjectTask):
* bindings/js/JSDOMGlobalObjectTask.h:
* bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::JSDOMWindowBase):
(WebCore::JSDOMWindowMicrotaskCallback::create):
(WebCore::JSDOMWindowMicrotaskCallback::call):
(WebCore::JSDOMWindowMicrotaskCallback::JSDOMWindowMicrotaskCallback):
(WebCore::JSDOMWindowBase::queueTaskToEventLoop):
* bindings/js/JSDOMWindowBase.h:
* bindings/js/JSDOMWindowShell.cpp:
(WebCore::JSDOMWindowShell::finishCreation):
(WebCore::JSDOMWindowShell::setWindow):
* bindings/js/JSDOMWindowShell.h:
(WebCore::JSDOMWindowShell::create):
* bindings/js/JSWorkerGlobalScopeBase.cpp:
(WebCore::JSWorkerGlobalScopeBase::JSWorkerGlobalScopeBase):
(WebCore::JSWorkerGlobalScopeBase::queueTaskToEventLoop):
* bindings/js/JSWorkerGlobalScopeBase.h:
* bindings/objc/DOMCustomXPathNSResolver.h:
* bindings/scripts/CodeGeneratorJS.pm:
(GetNativeTypeForCallbacks):
* bindings/scripts/test/JS/JSTestCallback.cpp:
(WebCore::JSTestCallback::callbackWithSerializedScriptValueParam):
(WebCore::JSTestCallback::callbackWithStringList):
* bindings/scripts/test/JS/JSTestCallback.h:
* bindings/scripts/test/JS/JSTestCallbackFunction.cpp:
(WebCore::JSTestCallbackFunction::callbackWithSerializedScriptValueParam):
(WebCore::JSTestCallbackFunction::callbackWithStringList):
* bindings/scripts/test/JS/JSTestCallbackFunction.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201253
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Sun, 22 May 2016 10:58:12 +0000 (10:58 +0000)]
Suppress -Wmissing-field-initializers warnings with GCC 4.9
https://bugs.webkit.org/show_bug.cgi?id=157888
Reviewed by Michael Catanzaro.
* Source/cmake/WebKitHelpers.cmake:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201247
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aestes@apple.com [Sat, 21 May 2016 23:52:37 +0000 (23:52 +0000)]
REGRESSION (r188642): All pages are blank when printing a webpage in iOS Safari
https://bugs.webkit.org/show_bug.cgi?id=157924
rdar://problem/
22524550
Reviewed by Sam Weinig.
When UIPrintInteractionController asks WKWebView to print a webpage, it does so in several phases. First we're
asked to compute the page count, followed later by a series of messages asking us to draw each page into a
provided CGContext.
When asked for the page count, we send a message to the Web process instructing it to compute and
return the page count synchronously and then immediately start drawing the page for printing. If the drawing has
finished by the time we're asked to print the first page, then we can do so without waiting. But if it hasn't
then we block by calling Connection::waitForMessage(), passing std::chromo::milliseconds::max() as the relative
timeout.
Prior to r188642, Connection::waitForMessage() called std::condition_variable::wait_for(), which takes a
relative timeout value. r188642 replaced this with WTF::Condition::waitUntil(), which takes an absolute timeout
instead. To convert from relative to absolute, this line was added to Connection::waitForMessage():
Condition::Clock::time_point absoluteTimeout = Condition::Clock::now() + timeout;
std::chrono will convert both operands to a common duration type before performing the addition. When timeout
equals something very large, like milliseconds::max(), this conversion results in signed integer overflow,
giving absoluteTimeout a value less than Clock::now() and making waitForMessage time out immediately.
To fix this, compute how many milliseconds remain on our clock, and add the smaller of that and the timeout
value to Clock::now() to arrive at an absolute timeout.
* Platform/IPC/Connection.cpp:
(IPC::Connection::waitForMessage):
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _printedDocument]): Removed an unnecessary nanoseconds-to-milliseconds conversion.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201246
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mattbaker@apple.com [Sat, 21 May 2016 19:21:35 +0000 (19:21 +0000)]
Web Inspector: Creating the CSSStyleDetailsSidebarPanel takes about 50ms (20%) of main load
https://bugs.webkit.org/show_bug.cgi?id=156707
<rdar://problem/
25780404>
Reviewed by Timothy Hatcher.
This patch adds new View concepts, `initialLayout` and `widthDidChange`,
making it possible for hidden views to postpone the creation of their
UI subtree until they are shown for the first time.
Sidebar panels get this performance improvement by virtue of SidebarPanel
and StyleDetailsPanel, which trigger a layout when shown. This can be
removed once <https://webkit.org/b/150741> is fixed, and this is done
automatically by View.
* UserInterface/Views/CSSStyleDeclarationTextEditor.js:
(WebInspector.CSSStyleDeclarationTextEditor):
Should subclass View.
(WebInspector.CSSStyleDeclarationTextEditor.prototype.layout):
(WebInspector.CSSStyleDeclarationTextEditor.prototype.get element): Deleted.
Handled in View base class.
(WebInspector.CSSStyleDeclarationTextEditor.prototype.updateLayout): Deleted.
Relocate to `layout` override, ignore unused parameter `force`.
* UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
(WebInspector.CSSStyleDetailsSidebarPanel):
Create the minimum required initial state and UI elements. Relocate
anything that can be lazy loaded to `initialLayout`.
(WebInspector.CSSStyleDetailsSidebarPanel.prototype.initialLayout):
(WebInspector.CSSStyleDetailsSidebarPanel.prototype.sizeDidChange):
(WebInspector.CSSStyleDetailsSidebarPanel.prototype.widthDidChange): Deleted.
* UserInterface/Views/ComputedStyleDetailsPanel.js:
(WebInspector.ComputedStyleDetailsPanel):
Relocate anything that can be lazy loaded to `initialLayout`.
(WebInspector.ComputedStyleDetailsPanel.prototype.initialLayout):
(WebInspector.ComputedStyleDetailsPanel.prototype.shown): Deleted.
(WebInspector.ComputedStyleDetailsPanel.prototype.widthDidChange): Deleted.
Handled in View base class.
* UserInterface/Views/DataGrid.js:
(WebInspector.DataGrid.prototype.layout):
Resize logic can be safely moved to `sizeDidChange`, since columns are
always initialized when the width changes.
(WebInspector.DataGrid.prototype.sizeDidChange):
Reposition headers, scrollbars.
(WebInspector.DataGrid.prototype._updateHeaderAndScrollbar):
Broke out header repositioning, which needs to be called whenever
column widths are initialized or the view size changes.
* UserInterface/Views/NavigationBar.js:
(WebInspector.NavigationBar.prototype.layout):
* UserInterface/Views/RulesStyleDetailsPanel.js:
(WebInspector.RulesStyleDetailsPanel.prototype.sizeDidChange):
(WebInspector.RulesStyleDetailsPanel.prototype.widthDidChange): Deleted.
* UserInterface/Views/Sidebar.js:
(WebInspector.Sidebar.prototype._recalculateWidth):
Width changes need to be coordinated by the View base class, since the
initial layout must have occurred before handling a width change.
Force a layout with a resize layout reason.
* UserInterface/Views/SidebarPanel.js:
(WebInspector.SidebarPanel.prototype.get displayName):
Drive-by style fix: add getter so that CSSStyleDetailsSidebarPanel
doesn't have to read the private property directly.
(WebInspector.SidebarPanel.prototype.shown):
Force a layout whenever the panel is shown.
(WebInspector.SidebarPanel.prototype.sizeDidChange):
(WebInspector.SidebarPanel):
(WebInspector.SidebarPanel.prototype.widthDidChange): Deleted.
* UserInterface/Views/StyleDetailsPanel.js:
(WebInspector.StyleDetailsPanel.prototype.shown):
Schedule a layout when shown. A forced layout isn't necessary.
Unlike SidebarPanels, the initial state of style panels doesn't depend
on its layout, and can be safely initialized by the next rAF.
(WebInspector.StyleDetailsPanel.prototype.hidden):
Cancel a pending layout if the panel is hidden before the next AF.
(WebInspector.StyleDetailsPanel.prototype.widthDidChange): Deleted.
Not needed, defined in View base class.
* UserInterface/Views/TimelineOverview.js:
(WebInspector.TimelineOverview.prototype.sizeDidChange):
(WebInspector.TimelineOverview.prototype.layout):
Moved resize logic to `sizeDidChange`.
* UserInterface/Views/TimelineRuler.js:
(WebInspector.TimelineRuler.prototype.sizeDidChange):
(WebInspector.TimelineRuler.prototype.layout):
Moved resize logic to `sizeDidChange`.
* UserInterface/Views/View.js:
(WebInspector.View):
(WebInspector.View.prototype.updateLayout):
(WebInspector.View.prototype.cancelLayout):
Allow a pending layout to be canceled. Useful when a view with a
pending layout is hidden before the layout occurs.
(WebInspector.View.prototype.get layoutReason):
Protected getter for subclasses that need to check the layout reason
outside `sizeDidChange`.
(WebInspector.View.prototype.initialLayout):
Subclass hook to create UI subtree the first time a layout occurs.
Called only once during the lifetime of the View.
(WebInspector.View.prototype.layout):
Drive-by comment fix.
(WebInspector.View.prototype.sizeDidChange):
New layout cycle hook for subclasses.
(WebInspector.View.prototype._layoutSubtree):
Do an initial layout the first time layout is called.
Call the `sizeDidChange` hook so that subclasses can update state
which depends on size/position before doing layout.
* UserInterface/Views/VisualStyleDetailsPanel.js:
(WebInspector.VisualStyleDetailsPanel):
Create the minimum required initial state and UI elements. Relocate
anything that can be lazy loaded to `initialLayout`.
(WebInspector.VisualStyleDetailsPanel.prototype.refresh):
No changes, shifting line numbers confused the diff.
(WebInspector.VisualStyleDetailsPanel.prototype.initialLayout):
(WebInspector.VisualStyleDetailsPanel.prototype.sizeDidChange):
(WebInspector.VisualStyleDetailsPanel.prototype.widthDidChange): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201245
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aakash_jain@apple.com [Sat, 21 May 2016 19:21:31 +0000 (19:21 +0000)]
Simulator launch fails intermittently due to failure in checking simulator boot status
https://bugs.webkit.org/show_bug.cgi?id=157965
rdar://problem/
26402404
Reviewed by Alexey Proskuryakov.
* Scripts/webkitpy/xcode/simulator.py:
(Simulator.wait_until_device_is_booted): Ignore CalledProcessError exception while checking
whether simulator has finished booting.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201244
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mattbaker@apple.com [Sat, 21 May 2016 18:42:21 +0000 (18:42 +0000)]
Assertion Failed: StyleDetailsPanel.markAsNeedsRefresh() called with null domNode
https://bugs.webkit.org/show_bug.cgi?id=157955
<rdar://problem/
26398943>
Reviewed by Timothy Hatcher.
CSSStyleDetailsSidebarPanel `visible` is true while the panel is being
removed from the details sidebar, even after calling `hidden()`. This
causes it to refresh its current StyleDetailsPanel with a null DOM node.
Unfortunately, SidebarPanel.visible isn't toggled by calling shown/hidden.
Since SidebarPanel.visible is only true if the panel is selected, we should
deselect panels before removing them.
* UserInterface/Views/Sidebar.js:
(WebInspector.Sidebar.prototype.removeSidebarPanel):
Deselect the panel being removed before calling visibiltyDidChange.
* UserInterface/Views/SidebarPanel.js:
(WebInspector.SidebarPanel.prototype.toggle): Deleted.
(WebInspector.SidebarPanel.prototype.willRemove): Deleted.
Drive-by update to remove some unused methods.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201243
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Sat, 21 May 2016 17:10:39 +0000 (17:10 +0000)]
Silence warnings from svn propget when using newer versions of Subversion.
https://bugs.webkit.org/show_bug.cgi?id=157879
Reviewed by Daniel Bates.
* Scripts/prepare-ChangeLog:
(attributeCommand): Redirect svn propget stderr to /dev/null.
* Scripts/svn-create-patch:
(findMimeType): Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201242
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Sat, 21 May 2016 06:15:09 +0000 (06:15 +0000)]
Fixed USE(APPLE_INTERNAL_SDK) builds.
* platform/cocoa/ThemeCocoa.mm:
(WebCore::fitContextToBox):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201241
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
joepeck@webkit.org [Sat, 21 May 2016 05:22:33 +0000 (05:22 +0000)]
Unreviewed test gardening after r201237 exposed an issue.
* TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201240
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
joepeck@webkit.org [Sat, 21 May 2016 05:17:24 +0000 (05:17 +0000)]
Remove LegacyProfiler
https://bugs.webkit.org/show_bug.cgi?id=153565
Reviewed by Mark Lam.
Source/JavaScriptCore:
JavaScriptCore now provides a sampling profiler and it is enabled
by all ports. Web Inspector switched months ago to using the
sampling profiler and displaying its data. Remove the legacy
profiler, as it is no longer being used by anything other then
console.profile and tests. We will update console.profile's
behavior soon to have new behavior and use the sampling data.
* API/JSProfilerPrivate.cpp: Removed.
* API/JSProfilerPrivate.h: Removed.
* CMakeLists.txt:
* JavaScriptCore.xcodeproj/project.pbxproj:
* bytecode/BytecodeList.json:
* bytecode/BytecodeUseDef.h:
(JSC::computeUsesForBytecodeOffset): Deleted.
(JSC::computeDefsForBytecodeOffset): Deleted.
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpBytecode): Deleted.
* bytecode/UnlinkedFunctionExecutable.cpp:
(JSC::generateUnlinkedFunctionCodeBlock):
(JSC::UnlinkedFunctionExecutable::unlinkedCodeBlockFor):
* bytecode/UnlinkedFunctionExecutable.h:
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::emitCall):
(JSC::BytecodeGenerator::emitCallVarargs):
(JSC::BytecodeGenerator::emitCallVarargsInTailPosition):
(JSC::BytecodeGenerator::emitConstructVarargs):
(JSC::BytecodeGenerator::emitConstruct):
* bytecompiler/BytecodeGenerator.h:
(JSC::CallArguments::profileHookRegister): Deleted.
(JSC::BytecodeGenerator::shouldEmitProfileHooks): Deleted.
* bytecompiler/NodesCodegen.cpp:
(JSC::CallFunctionCallDotNode::emitBytecode):
(JSC::ApplyFunctionCallDotNode::emitBytecode):
(JSC::CallArguments::CallArguments): Deleted.
* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): Deleted.
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock): Deleted.
* dfg/DFGCapabilities.cpp:
(JSC::DFG::capabilityLevel): Deleted.
* dfg/DFGClobberize.h:
(JSC::DFG::clobberize): Deleted.
* dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC): Deleted.
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode): Deleted.
* dfg/DFGNodeType.h:
* dfg/DFGPredictionPropagationPhase.cpp:
* dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute): Deleted.
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile): Deleted.
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile): Deleted.
* inspector/InjectedScriptBase.cpp:
(Inspector::InjectedScriptBase::callFunctionWithEvalEnabled):
* interpreter/Interpreter.cpp:
(JSC::UnwindFunctor::operator()): Deleted.
(JSC::Interpreter::execute): Deleted.
(JSC::Interpreter::executeCall): Deleted.
(JSC::Interpreter::executeConstruct): Deleted.
* jit/JIT.cpp:
(JSC::JIT::privateCompileMainPass): Deleted.
* jit/JIT.h:
* jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_profile_will_call): Deleted.
(JSC::JIT::emit_op_profile_did_call): Deleted.
* jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_profile_will_call): Deleted.
(JSC::JIT::emit_op_profile_did_call): Deleted.
* jit/JITOperations.cpp:
* jit/JITOperations.h:
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL): Deleted.
* llint/LLIntSlowPaths.h:
* llint/LowLevelInterpreter.asm:
* parser/ParserModes.h:
* profiler/CallIdentifier.h: Removed.
* profiler/LegacyProfiler.cpp: Removed.
* profiler/LegacyProfiler.h: Removed.
* profiler/Profile.cpp: Removed.
* profiler/Profile.h: Removed.
* profiler/ProfileGenerator.cpp: Removed.
* profiler/ProfileGenerator.h: Removed.
* profiler/ProfileNode.cpp: Removed.
* profiler/ProfileNode.h: Removed.
* profiler/ProfilerJettisonReason.cpp:
(WTF::printInternal): Deleted.
* profiler/ProfilerJettisonReason.h:
* runtime/CodeCache.cpp:
(JSC::CodeCache::getGlobalCodeBlock):
(JSC::CodeCache::getProgramCodeBlock):
(JSC::CodeCache::getEvalCodeBlock):
(JSC::CodeCache::getModuleProgramCodeBlock):
* runtime/CodeCache.h:
* runtime/Executable.cpp:
(JSC::ScriptExecutable::newCodeBlockFor):
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::createProgramCodeBlock):
(JSC::JSGlobalObject::createEvalCodeBlock):
(JSC::JSGlobalObject::createModuleProgramCodeBlock):
(JSC::JSGlobalObject::~JSGlobalObject): Deleted.
(JSC::JSGlobalObject::hasLegacyProfiler): Deleted.
* runtime/JSGlobalObject.h:
* runtime/Options.h:
* runtime/VM.cpp:
(JSC::VM::VM): Deleted.
(JSC::SetEnabledProfilerFunctor::operator()): Deleted.
(JSC::VM::setEnabledProfiler): Deleted.
* runtime/VM.h:
(JSC::VM::enabledProfiler): Deleted.
(JSC::VM::enabledProfilerAddress): Deleted.
Source/WebCore:
* ForwardingHeaders/profiler/Profile.h: Removed.
* ForwardingHeaders/profiler/ProfileNode.h: Removed.
* testing/js/WebCoreTestSupport.cpp:
* xml/XSLStyleSheetLibxslt.cpp:
* xml/XSLTProcessorLibxslt.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201239
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Sat, 21 May 2016 03:57:34 +0000 (03:57 +0000)]
run-benchmark's results should contain Animometer's debug output
https://bugs.webkit.org/show_bug.cgi?id=157941
Reviewed by Stephanie Lewis.
PerformanceTests:
Made developer.html support the JSON generated by run-benchmark which stores everything under debugOutput.
* Animometer/resources/debug-runner/animometer.js:
(Utilities.initialize): Unwrap debugOutput in the case run-benchmark's result JSON is used.
Tools:
Modified the Animometer patch to store debug output and made benchmark_runner extract them together as a single array.
The result can be dragged and dropped into Animometer's developer.html page.
* Scripts/webkitpy/benchmark_runner/benchmark_runner.py:
(BenchmarkRunner._run_one_test): Parse JSON here instead of doing it in multiple call sites.
(BenchmarkRunner._run_benchmark): Strip debugOutput from individual test result, and merge them together separately.
* Scripts/webkitpy/benchmark_runner/data/patches/Animometer.patch:
Modified the patch to store the debug output.
* Scripts/webkitpy/benchmark_runner/http_server_driver/http_server/twisted_http_server.py:
(ServerControl.render_POST): Fixed a bug that POST to /report results in 500 because getvalue is not defined
when the request body is larger than a certain size on twisted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201238
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Sat, 21 May 2016 02:00:42 +0000 (02:00 +0000)]
Remove LegacyProfiler
https://bugs.webkit.org/show_bug.cgi?id=153565
Patch by Joseph Pecoraro <pecoraro@apple.com> on 2016-05-20
Reviewed by Saam Barati.
.:
* ManualTests/inspector/profiler-test-call.html: Removed.
* ManualTests/inspector/profiler-test-many-calls-in-the-same-scope.html: Removed.
Source/JavaScriptCore:
* inspector/protocol/Timeline.json:
* jsc.cpp:
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::hasLegacyProfiler):
* runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::supportsLegacyProfiling): Deleted.
Source/WebCore:
JavaScriptCore now provides a sampling profiler and it is enabled
by all ports. Web Inspector switched months ago to using the
sampling profiler and displaying its data. Remove the legacy
profiler, as it is no longer being used by anything other then
console.profile and tests. We will update console.profile's
behavior soon to have new behavior and use the sampling data.
* CMakeLists.txt:
* DerivedSources.cpp:
* DerivedSources.make:
* ForwardingHeaders/profiler/LegacyProfiler.h: Removed.
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSCustomXPathNSResolver.cpp:
* bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::supportsLegacyProfiling): Deleted.
(WebCore::JSDOMWindowBase::supportsRichSourceInfo): Deleted.
* bindings/js/JSDOMWindowBase.h:
* bindings/js/JSWorkerGlobalScopeBase.cpp:
(WebCore::JSWorkerGlobalScopeBase::supportsLegacyProfiling): Deleted.
* bindings/js/JSWorkerGlobalScopeBase.h:
* bindings/js/ScriptCachedFrameData.cpp:
* bindings/js/ScriptController.cpp:
(WebCore::ScriptController::clearWindowShell): Deleted.
* bindings/js/ScriptProfile.h: Removed.
* bindings/js/ScriptProfileNode.h: Removed.
* bindings/scripts/CodeGeneratorJS.pm:
(AddClassForwardIfNeeded): Deleted.
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjPrototypeFunctionMethodWithSequenceArg): Deleted.
(WebCore::jsTestObjPrototypeFunctionMethodReturningSequence): Deleted.
* bindings/scripts/test/TestObj.idl:
* css/CSSParser.cpp:
* dom/Document.cpp:
* inspector/InspectorConsoleInstrumentation.h:
(WebCore::InspectorInstrumentation::stopProfiling):
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::legacyProfilerEnabled): Deleted.
(WebCore::InspectorController::setLegacyProfilerEnabled): Deleted.
* inspector/InspectorController.h:
* inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::stopProfilingImpl):
* inspector/InspectorInstrumentation.h:
* inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::startFromConsole):
(WebCore::InspectorTimelineAgent::stopFromConsole):
* inspector/InspectorTimelineAgent.h:
* inspector/PageDebuggerAgent.cpp:
* inspector/PageRuntimeAgent.cpp:
* inspector/ScriptProfile.idl: Removed.
* inspector/ScriptProfileNode.idl: Removed.
* inspector/TimelineRecordFactory.cpp:
(WebCore::buildAggregateCallInfoInspectorObject): Deleted.
(WebCore::buildInspectorObject): Deleted.
(WebCore::buildProfileInspectorObject): Deleted.
(WebCore::TimelineRecordFactory::appendProfile): Deleted.
* inspector/TimelineRecordFactory.h:
* page/DOMWindow.cpp:
* page/Page.cpp:
* page/PageConsoleClient.cpp:
(WebCore::PageConsoleClient::profileEnd):
(WebCore::PageConsoleClient::clearProfiles): Deleted.
* page/PageConsoleClient.h:
* testing/Internals.cpp:
(WebCore::Internals::resetToConsistentState): Deleted.
(WebCore::Internals::consoleProfiles): Deleted.
(WebCore::Internals::setLegacyJavaScriptProfilingEnabled): Deleted.
* testing/Internals.h:
* testing/Internals.idl:
Source/WebKit/win:
* Interfaces/IWebInspector.idl:
* WebCoreStatistics.cpp:
* WebInspector.cpp:
(WebInspector::isJavaScriptProfilingEnabled): Deleted.
(WebInspector::setJavaScriptProfilingEnabled): Deleted.
* WebInspector.h:
* WebView.cpp:
LayoutTests:
* fast/profiler/anonymous-event-handler-expected.txt: Removed.
* fast/profiler/anonymous-event-handler.html: Removed.
* fast/profiler/anonymous-function-called-from-different-contexts-expected.txt: Removed.
* fast/profiler/anonymous-function-called-from-different-contexts.html: Removed.
* fast/profiler/anonymous-function-calls-built-in-functions-expected.txt: Removed.
* fast/profiler/anonymous-function-calls-built-in-functions.html: Removed.
* fast/profiler/anonymous-function-calls-eval-expected.txt: Removed.
* fast/profiler/anonymous-function-calls-eval.html: Removed.
* fast/profiler/anonymous-functions-with-display-names-expected.txt: Removed.
* fast/profiler/anonymous-functions-with-display-names.html: Removed.
* fast/profiler/apply-expected.txt: Removed.
* fast/profiler/apply.html: Removed.
* fast/profiler/built-in-function-calls-anonymous-expected.txt: Removed.
* fast/profiler/built-in-function-calls-anonymous.html: Removed.
* fast/profiler/built-in-function-calls-user-defined-function-expected.txt: Removed.
* fast/profiler/built-in-function-calls-user-defined-function.html: Removed.
* fast/profiler/call-expected.txt: Removed.
* fast/profiler/call-register-leak-expected.txt: Removed.
* fast/profiler/call-register-leak.html: Removed.
* fast/profiler/call.html: Removed.
* fast/profiler/calling-the-function-that-started-the-profiler-from-another-scope-expected.txt: Removed.
* fast/profiler/calling-the-function-that-started-the-profiler-from-another-scope.html: Removed.
* fast/profiler/compare-multiple-profiles-expected.txt: Removed.
* fast/profiler/compare-multiple-profiles.html: Removed.
* fast/profiler/constructor-expected.txt: Removed.
* fast/profiler/constructor.html: Removed.
* fast/profiler/dead-time-expected.txt: Removed.
* fast/profiler/dead-time.html: Removed.
* fast/profiler/document-dot-write-expected.txt: Removed.
* fast/profiler/document-dot-write.html: Removed.
* fast/profiler/event-handler-expected.txt: Removed.
* fast/profiler/event-handler.html: Removed.
* fast/profiler/execution-context-and-eval-on-same-line-expected.txt: Removed.
* fast/profiler/execution-context-and-eval-on-same-line.html: Removed.
* fast/profiler/inline-event-handler-expected.txt: Removed.
* fast/profiler/inline-event-handler.html: Removed.
* fast/profiler/many-calls-in-the-same-scope-expected.txt: Removed.
* fast/profiler/many-calls-in-the-same-scope.html: Removed.
* fast/profiler/multiple-and-different-scoped-anonymous-function-calls-expected.txt: Removed.
* fast/profiler/multiple-and-different-scoped-anonymous-function-calls.html: Removed.
* fast/profiler/multiple-and-different-scoped-function-calls-expected.txt: Removed.
* fast/profiler/multiple-and-different-scoped-function-calls.html: Removed.
* fast/profiler/multiple-anonymous-functions-called-from-the-same-function-expected.txt: Removed.
* fast/profiler/multiple-anonymous-functions-called-from-the-same-function.html: Removed.
* fast/profiler/multiple-frames-expected.txt: Removed.
* fast/profiler/multiple-frames.html: Removed.
* fast/profiler/named-functions-with-display-names-expected.txt: Removed.
* fast/profiler/named-functions-with-display-names.html: Removed.
* fast/profiler/nested-anonymous-functon-expected.txt: Removed.
* fast/profiler/nested-anonymous-functon.html: Removed.
* fast/profiler/nested-start-and-stop-profiler-expected.txt: Removed.
* fast/profiler/nested-start-and-stop-profiler.html: Removed.
* fast/profiler/no-execution-context-expected.txt: Removed.
* fast/profiler/no-execution-context.html: Removed.
* fast/profiler/one-execution-context-expected.txt: Removed.
* fast/profiler/one-execution-context.html: Removed.
* fast/profiler/profile-calls-in-included-file-expected.txt: Removed.
* fast/profiler/profile-calls-in-included-file.html: Removed.
* fast/profiler/profile-with-no-title-expected.txt: Removed.
* fast/profiler/profile-with-no-title.html: Removed.
* fast/profiler/profiling-from-a-nested-location-but-stop-profiling-outside-the-nesting-expected.txt: Removed.
* fast/profiler/profiling-from-a-nested-location-but-stop-profiling-outside-the-nesting.html: Removed.
* fast/profiler/profiling-from-a-nested-location-expected.txt: Removed.
* fast/profiler/profiling-from-a-nested-location.html: Removed.
* fast/profiler/resources/other-frame.html: Removed.
* fast/profiler/resources/other-window.html: Removed.
* fast/profiler/resources/profiler-test-JS-resources.js: Removed.
* fast/profiler/simple-event-call-expected.txt: Removed.
* fast/profiler/simple-event-call.html: Removed.
* fast/profiler/simple-no-level-change-expected.txt: Removed.
* fast/profiler/simple-no-level-change.html: Removed.
* fast/profiler/start-and-stop-profiler-multiple-times-expected.txt: Removed.
* fast/profiler/start-and-stop-profiler-multiple-times.html: Removed.
* fast/profiler/start-and-stop-profiling-in-the-same-function-expected.txt: Removed.
* fast/profiler/start-and-stop-profiling-in-the-same-function.html: Removed.
* fast/profiler/start-but-dont-stop-profiling-expected.txt: Removed.
* fast/profiler/start-but-dont-stop-profiling.html: Removed.
* fast/profiler/stop-profiling-after-setTimeout-expected.txt: Removed.
* fast/profiler/stop-profiling-after-setTimeout.html: Removed.
* fast/profiler/stop-then-function-call-expected.txt: Removed.
* fast/profiler/stop-then-function-call.html: Removed.
* fast/profiler/throw-exception-from-eval-expected.txt: Removed.
* fast/profiler/throw-exception-from-eval.html-disabled: Removed.
* fast/profiler/two-execution-contexts-expected.txt: Removed.
* fast/profiler/two-execution-contexts.html: Removed.
* fast/profiler/user-defined-function-calls-built-in-functions-expected.txt: Removed.
* fast/profiler/user-defined-function-calls-built-in-functions.html: Removed.
* fast/profiler/window-dot-eval-expected.txt: Removed.
* fast/profiler/window-dot-eval.html: Removed.
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/ios-simulator/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201237
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sbarati@apple.com [Sat, 21 May 2016 00:17:30 +0000 (00:17 +0000)]
JSScope::abstractAccess doesn't need to copy the SymbolTableEntry, it can use it by reference
https://bugs.webkit.org/show_bug.cgi?id=157956
Reviewed by Geoffrey Garen.
A SymbolTableEntry may be a FatEntry. Copying a FatEntry is slow because we have to
malloc memory for it, then free the malloced memory once the entry goes out of
scope. abstractAccess uses a SymbolTableEntry temporarily when performing scope
accesses during bytecode linking. It copies out the SymbolTableEntry every time
it does a SymbolTable lookup. This is not cheap when the entry happens to be a
FatEntry. We should really just be using a reference to the entry because
there is no need to copy it in such a scenario.
* runtime/JSScope.cpp:
(JSC::abstractAccess):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201235
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zalan@apple.com [Fri, 20 May 2016 23:56:34 +0000 (23:56 +0000)]
`width: 1%` on nested table cell causes its table to hog horizontal space
https://bugs.webkit.org/show_bug.cgi?id=144696
<rdar://problem/
20839572>
Reviewed by David Hyatt and Tim Horton.
This patch is based on https://chromium.googlesource.com/chromium/src/+/
9428cfb16993a2329e87c65da096ca295132ef0f
Source/WebCore:
Tests: fast/table/inner-percent-width-affects-outer-floated-div.html
fast/table/inner-percent-width-doesnt-affect-ancestor-columns.html
* rendering/AutoTableLayout.cpp:
(WebCore::shouldScaleColumnsForParent):
(WebCore::shouldScaleColumnsForSelf):
(WebCore::AutoTableLayout::computeIntrinsicLogicalWidths):
(WebCore::shouldScaleColumns): Deleted.
* rendering/AutoTableLayout.h:
* rendering/RenderTable.cpp:
(WebCore::RenderTable::updateLogicalWidth):
* rendering/TableLayout.h:
(WebCore::TableLayout::scaledWidthFromPercentColumns):
LayoutTests:
* fast/table/inner-percent-width-affects-outer-floated-div-expected.html: Added.
* fast/table/inner-percent-width-affects-outer-floated-div.html: Added.
* fast/table/inner-percent-width-doesnt-affect-ancestor-columns-expected.html: Added.
* fast/table/inner-percent-width-doesnt-affect-ancestor-columns.html: Added.
* platform/mac/fast/table/border-collapsing/cached-change-row-border-width-expected.txt:
* platform/mac/fast/table/border-collapsing/cached-change-tbody-border-width-expected.txt:
* platform/mac/fast/table/max-width-integer-overflow-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201234
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jer.noble@apple.com [Fri, 20 May 2016 23:46:06 +0000 (23:46 +0000)]
Inconsistent state in playback controls
https://bugs.webkit.org/show_bug.cgi?id=157962
<rdar://problem/
26397571>
Reviewed by Beth Dakin.
Do not use the playbackSessionManager() as the model, that's what the model is for.
* platform/mac/WebPlaybackSessionInterfaceMac.mm:
(WebCore::WebPlaybackSessionInterfaceMac::setClient):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201233
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson@apple.com [Fri, 20 May 2016 23:15:15 +0000 (23:15 +0000)]
Modern IDB: Properly handle blobs in Workers.
https://bugs.webkit.org/show_bug.cgi?id=157947
Reviewed by Alex Christensen.
Source/WebCore:
Test: storage/indexeddb/modern/blob-simple-workers.html
* Modules/indexeddb/IDBTransaction.cpp:
(WebCore::IDBTransaction::putOrAddOnServer): Use writeBlobsToDiskForIndexedDBSynchronously from
background threads instead of the asynchronous form.
Add ability to set an existing empty IDBValue to be an isolated copy of a different IDBValue:
* Modules/indexeddb/IDBValue.cpp:
(WebCore::IDBValue::setAsIsolatedCopy):
(WebCore::IDBValue::isolatedCopy):
* Modules/indexeddb/IDBValue.h:
Add a method - only to be called from a non-main thread - that synchronously writes blobs to disk:
* bindings/js/SerializedScriptValue.cpp:
(WebCore::SerializedScriptValue::writeBlobsToDiskForIndexedDBSynchronously):
* bindings/js/SerializedScriptValue.h:
LayoutTests:
* storage/indexeddb/modern/blob-simple-workers-expected.txt: Added.
* storage/indexeddb/modern/blob-simple-workers.html: Added.
* storage/indexeddb/modern/resources/blob-simple-workers.js: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201232
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 20 May 2016 22:53:35 +0000 (22:53 +0000)]
REGRESSION(r200740): Web Inspector: TimelineRecordBar class lists not properly cleared, bleeding colors when zooming in and out
https://bugs.webkit.org/show_bug.cgi?id=157959
<rdar://problem/
26393067>
Patch by Joseph Pecoraro <pecoraro@apple.com> on 2016-05-20
Reviewed by Brian Burg.
* UserInterface/Views/TimelineRecordBar.js:
(WebInspector.TimelineRecordBar.prototype.set records):
When records are cleared, clear all classes.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201231
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Fri, 20 May 2016 22:28:40 +0000 (22:28 +0000)]
Allow named images on iOS
https://bugs.webkit.org/show_bug.cgi?id=157960
rdar://problem/
26396532
Reviewed by Dean Jackson.
USE(NEW_THEME) is false on iOS so force named images to be drawn by checking PLATFORM(IOS) as well.
* platform/graphics/NamedImageGeneratedImage.cpp:
(WebCore::NamedImageGeneratedImage::draw):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201229
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mmaxfield@apple.com [Fri, 20 May 2016 22:10:58 +0000 (22:10 +0000)]
[Cocoa] REGRESSION(r184899): Ascent adjustments are applied to web fonts
https://bugs.webkit.org/show_bug.cgi?id=157954
<rdar://problem/
24204349>
Reviewed by Dean Jackson.
Source/WebCore:
There are a few specific fonts which exist on Windows and Cocoa OSes, and we will adjust
the ascents of these fonts to better match their counterparts on Windows. However, in
r184899, we started applying this adjustment to web fonts too.
Test: fast/text/ascent-adjustment-webfont.html
* platform/graphics/cocoa/FontCocoa.mm:
(WebCore::Font::platformInit):
* svg/SVGToOTFFontConversion.cpp: We were reporting the length of font names wrong, so
it made the test pass without this patch even when it shouldn't have. Previously, we
were recording the number of characters in the font, not the number of bytes (each
character is 2 bytes).
LayoutTests:
* fast/text/ascent-adjustment-webfont-expected-mismatch.html: Added.
* fast/text/ascent-adjustment-webfont.html: Added.
* fast/text/resources/Helvetica-light.svg: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201228
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
enrica@apple.com [Fri, 20 May 2016 22:05:01 +0000 (22:05 +0000)]
Drag cannot start if no drag data or custom data is available in the Pasteboard.
https://bugs.webkit.org/show_bug.cgi?id=157911
rdar://problem/
24577706
Reviewed by Tim Horton.
Source/WebKit/mac:
We need to make sure there is always one item in common between source and target
of the drag and drop operation.
* WebView/WebHTMLView.mm:
(-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]):
Source/WebKit2:
We need to make sure there is always one item in common between source and target
of the drag and drop operation.
* UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::dragImageForView):
LayoutTests:
* fast/events/draggable-div-customdata-expected.txt: Added.
* fast/events/draggable-div-customdata.html: Added.
* platform/ios-simulator/TestExpectations
* platform/mac-wk2/TestExpectations
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201227
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 20 May 2016 21:47:18 +0000 (21:47 +0000)]
Web Inspector: retained size for typed arrays does not count native backing store
https://bugs.webkit.org/show_bug.cgi?id=157945
<rdar://problem/
26392238>
Patch by Joseph Pecoraro <pecoraro@apple.com> on 2016-05-20
Reviewed by Geoffrey Garen.
* runtime/JSArrayBuffer.h:
* runtime/JSArrayBuffer.cpp:
(JSC::JSArrayBuffer::estimatedSize):
Include an estimatedSize implementation for JSArrayBuffer.
ArrayBuffer has a unique path, different from other data
stored in the Heap.
* tests/heapProfiler/typed-array-sizes.js: Added.
Test sizes of TypedArray with and without an ArrayBuffer.
When the TypedArray is a view wrapping an ArrayBuffer, the
ArrayBuffer has the size.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201226
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren@apple.com [Fri, 20 May 2016 21:17:58 +0000 (21:17 +0000)]
reifyAllStaticProperties makes two copies of every string
https://bugs.webkit.org/show_bug.cgi?id=157953
Reviewed by Mark Lam.
Let's not do that.
* runtime/JSObject.cpp:
(JSC::JSObject::reifyAllStaticProperties): Pass our Identifier to
reifyStaticProperty so it doesn't have to make its own.
* runtime/Lookup.h:
(JSC::reifyStaticProperty): No need to null check because callers never
pass null anymore. No need to make an identifier because callers pass
us one.
(JSC::reifyStaticProperties): Honor new interface.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201225
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 20 May 2016 21:17:35 +0000 (21:17 +0000)]
Remove unnecessary PageOverlay client function pageOverlayDestroyed
https://bugs.webkit.org/show_bug.cgi?id=157388
<rdar://problem/
25471523>
Patch by John Wilander <wilander@apple.com> on 2016-05-20
Reviewed by Tim Horton.
Remove dead PageOverlay code. Almost all of these overrides were empty and
never called. In the case of WebPageOverlay it was never called but had a
function body, causing confusion. There was a fear of dangling pointers in
WebPageOverlay's static hash map between PageOverlays and WebPageOverlays.
Only WebPageOverlay's constructor creates its PageOverlay object and adds it
to the hash map. Its client object is kept in a unique pointer member which
is automatically deleted when the WebPageOverlay object itself is deleted.
This explains why PageOverlayClientImpl::pageOverlayDestroyed in
WKBundlePageOverlay can safely be removed. Finally, WebPageOverlay's
destructor clears the hash map entry for its PageOverlay object. Thus, there
is no need to call WebPageOverlay::pageOverlayDestroyed nor a need for
WebPageOverlay's destructor to call pageOverlayDestroyed on its client.
No new tests. I tried to come up with a WebKit API test for this but I
wasn't able to test presence/absence of WebPageOverlay's map entries since
the map is not exposed.
Source/WebCore:
* page/DebugPageOverlays.cpp:
(WebCore::RegionOverlay::pageOverlayDestroyed): Deleted.
* page/PageOverlay.h:
(WebCore::PageOverlay::Client::pageOverlayDestroyed): Deleted.
* page/ResourceUsageOverlay.h:
(WebCore::ResourceUsageOverlay::pageOverlayDestroyed): Deleted.
* page/mac/ServicesOverlayController.h:
* page/mac/ServicesOverlayController.mm:
(WebCore::ServicesOverlayController::pageOverlayDestroyed): Deleted.
* testing/MockPageOverlayClient.cpp:
* testing/MockPageOverlayClient.h:
(WebCore::MockPageOverlayClient::pageOverlayDestroyed): Deleted.
Source/WebKit2:
* WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
(WebKit::PageOverlayClientImpl::pageOverlayDestroyed): Deleted.
* WebProcess/Plugins/PDF/PDFPlugin.h:
* WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::HUD::pageOverlayDestroyed): Deleted.
* WebProcess/WebCoreSupport/WebInspectorClient.cpp:
* WebProcess/WebCoreSupport/WebInspectorClient.h:
(WebKit::WebInspectorClient::pageOverlayDestroyed): Deleted.
* WebProcess/WebPage/FindController.cpp:
* WebProcess/WebPage/FindController.h:
(WebKit::FindController::pageOverlayDestroyed): Deleted.
* WebProcess/WebPage/WebPageOverlay.cpp:
* WebProcess/WebPage/WebPageOverlay.h:
(WebKit::WebPageOverlay::pageOverlayDestroyed): Deleted.
* WebProcess/WebPage/ios/FindIndicatorOverlayClientIOS.h:
(WebKit::FindIndicatorOverlayClientIOS::pageOverlayDestroyed): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201224
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 20 May 2016 20:43:39 +0000 (20:43 +0000)]
Fix null dereferencing in CSSAnimationTriggerScrollValue::equals
https://bugs.webkit.org/show_bug.cgi?id=157930
Patch by Alex Christensen <achristensen@webkit.org> on 2016-05-20
Reviewed by Dean Jackson.
Source/WebCore:
Test: fast/css/compare-animation-trigger.html
* css/CSSAnimationTriggerScrollValue.cpp:
(WebCore::CSSAnimationTriggerScrollValue::equals):
* css/CSSAnimationTriggerScrollValue.h:
(WebCore::CSSAnimationTriggerScrollValue::create):
(WebCore::CSSAnimationTriggerScrollValue::startValue):
(WebCore::CSSAnimationTriggerScrollValue::endValue):
(WebCore::CSSAnimationTriggerScrollValue::hasEndValue):
(WebCore::CSSAnimationTriggerScrollValue::operator==):
(WebCore::CSSAnimationTriggerScrollValue::CSSAnimationTriggerScrollValue):
* css/CSSToStyleMap.cpp:
(WebCore::CSSToStyleMap::mapAnimationTrigger):
* css/CSSValue.h:
(WebCore::CSSValue::operator==):
LayoutTests:
* fast/css/compare-animation-trigger-expected.txt: Added.
* fast/css/compare-animation-trigger.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201223
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
nvasilyev@apple.com [Fri, 20 May 2016 19:36:01 +0000 (19:36 +0000)]
Web Inspector: Split Console is auto opening all the time when using Inspect Element context menu
https://bugs.webkit.org/show_bug.cgi?id=157910
<rdar://problem/
26374066>
Reviewed by Timothy Hatcher.
Currently, "synthetic" property is only used to decide whether adding a console message should
open the console or not. Replace it with "shouldRevealConsole".
* UserInterface/Controllers/DOMTreeManager.js:
(WebInspector.DOMTreeManager.prototype.inspectNodeObject.nodeAvailable):
(WebInspector.DOMTreeManager.prototype.inspectNodeObject):
* UserInterface/Controllers/JavaScriptLogViewController.js:
(WebInspector.JavaScriptLogViewController.prototype.appendImmediateExecutionWithResult.saveResultCallback):
(WebInspector.JavaScriptLogViewController.prototype.appendImmediateExecutionWithResult):
(WebInspector.JavaScriptLogViewController.prototype.consolePromptTextCommitted.printResult):
(WebInspector.JavaScriptLogViewController.prototype.consolePromptTextCommitted):
(WebInspector.JavaScriptLogViewController.prototype._appendConsoleMessageView):
* UserInterface/Models/ConsoleCommandResultMessage.js:
(WebInspector.ConsoleCommandResultMessage):
(WebInspector.ConsoleCommandResultMessage.prototype.get shouldRevealConsole):
(WebInspector.ConsoleCommandResultMessage.prototype.get synthetic): Deleted.
* UserInterface/Views/HeapSnapshotInstanceDataGridNode.js:
(WebInspector.HeapSnapshotInstanceDataGridNode.logHeapSnapshotNode.node.shortestGCRootPath.):
(WebInspector.HeapSnapshotInstanceDataGridNode.logHeapSnapshotNode):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201222
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren@apple.com [Fri, 20 May 2016 19:13:03 +0000 (19:13 +0000)]
JSBench regression: CodeBlock linking always copies the symbol table
https://bugs.webkit.org/show_bug.cgi?id=157951
Reviewed by Saam Barati.
We always put a SymbolTable into the constant pool, even in simple
functions in which it won't be used -- i.e., there's on eval and there
are no captured variables and so on.
This is costly because linking must copy any provided symbol tables.
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::emitProfileType): Only add the symbol table
as a constant if we will use it at runtime.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201221
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Fri, 20 May 2016 18:48:53 +0000 (18:48 +0000)]
Scrolling broken in iTunes connect pages
https://bugs.webkit.org/show_bug.cgi?id=157678
Reviewed by Zalan Bujtas.
Source/WebCore:
Added fast/flexbox/nested-columns-min-intrinsic-disabled.html
Turn off minimum intrinsic size adjustment for flexboxes. This violates the spec,
but until we can produce good results that is what we need to do. Blink has also
turned off nested columns intrinsic sizing as well, so we match them with this
change.
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::adjustChildSizeForMinAndMax):
LayoutTests:
* fast/flexbox/nested-column-intrinsic-min-disabled-expected.html: Added.
* fast/flexbox/nested-column-intrinsic-min-disabled.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201218
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jdiggs@igalia.com [Fri, 20 May 2016 18:34:14 +0000 (18:34 +0000)]
AX: Layout tests related to text alternative computation need to be done differently
https://bugs.webkit.org/show_bug.cgi?id=157187
Create several utility methods to facilitate retrieval of platform-independent
attribute values from platform-specific attributes:
- platformValueForW3CName() and platformValueForW3CDescription() to retrieve a
specific piece of text alternative information, stripping off the platform
attribute name by default. These methods should make it possible to share tests
and expectations files because the text alternative calculation defined by the
W3C accessibility specifications should be the same for all platforms. (The
differences are the result of the unique platform mappings.)
- platformTextAlternatives() to dump out all the text alternative attributes and
values, preserving the platform-specific attribute name. This, along with the
use of the platformValue* methods with attribute name enabled, should make it
possible to have shared tests with platform-specific expectations without the
need to check the platform in the test itself.
- platformRoleForComboBox() and platformRoleForStaticText() to eliminate the
need for platform-specific expectations files simply because such an element
happens to be included in the test file and verifying that element's role is
desired.
Begin using these methods in the tests related to text alternative computation
which had platform-specific checks, update the expectations files when needed,
and remove now-obsolete platform-specific expectations files.
Reviewed by Chris Fleizach.
* accessibility/alt-tag-on-image-with-nonimage-role-expected.txt: Updated.
* accessibility/alt-tag-on-image-with-nonimage-role.html: Updated.
* accessibility/aria-help-expected.txt: Added.
* accessibility/aria-help.html: Updated.
* accessibility/aria-label-expected.txt: Updated.
* accessibility/aria-label.html: Updated.
* accessibility/aria-labeled-with-hidden-node-expected.txt: Updated.
* accessibility/aria-labeled-with-hidden-node.html: Updated.
* accessibility/aria-labelledby-on-input-expected.txt: Updated.
* accessibility/aria-labelledby-on-input.html: Updated.
* accessibility/aria-labelledby-overrides-aria-labeledby-expected.txt: Updated.
* accessibility/aria-labelledby-overrides-aria-labeledby.html: Updated.
* accessibility/aria-labelledby-overrides-label-expected.txt: Updated.
* accessibility/aria-labelledby-overrides-label.html: Updated.
* accessibility/aria-labelledby-stay-within-expected.txt: Updated.
* accessibility/aria-labelledby-stay-within.html: Updated.
* accessibility/aria-labelledby-with-descendants-expected.txt: Updated.
* accessibility/aria-labelledby-with-descendants.html: Updated.
* accessibility/aria-namefrom-author-expected.txt: Updated.
* accessibility/aria-namefrom-author.html: Updated.
* accessibility/aria-text-role-expected.txt: Updated.
* accessibility/aria-text-role.html: Updated.
* accessibility/canvas-description-and-role-expected.txt: Updated.
* accessibility/canvas-description-and-role.html: Updated.
* accessibility/canvas-fallback-content.html: Updated.
* accessibility/empty-image-with-title-expected.txt: Updated.
* accessibility/empty-image-with-title.html: Updated.
* accessibility/fieldset-element-expected.txt: Updated.
* accessibility/fieldset-element.html: Updated.
* accessibility/focusable-div-expected.txt: Updated.
* accessibility/focusable-div.html: Updated.
* accessibility/help-text.html: Updated.
* accessibility/img-alt-tag-only-whitespace-expected.txt: Updated.
* accessibility/img-alt-tag-only-whitespace.html: Updated.
* accessibility/img-aria-button-alt-tag-expected.txt: Updated.
* accessibility/img-aria-button-alt-tag.html: Updated.
* accessibility/img-fallsback-to-title.html: Updated.
* accessibility/input-image-alt-expected.txt: Updated.
* accessibility/input-image-alt.html: Updated.
* accessibility/loading-iframe-sends-notification.html: Updated.
* accessibility/self-referencing-aria-labelledby-expected.txt: Updated.
* accessibility/self-referencing-aria-labelledby.html: Updated.
* accessibility/svg-bounds.html: Updated.
* accessibility/svg-group-element-with-title-expected.txt: Updated.
* accessibility/svg-group-element-with-title.html: Updated.
* accessibility/svg-image-expected.txt: Updated.
* accessibility/svg-image.html: Updated.
* accessibility/svg-labelledby-expected.txt: Updated.
* accessibility/svg-labelledby.html: Updated.
* accessibility/svg-remote-element.html: Updated.
* accessibility/w3c-svg-description-calculation.html: Updated.
* accessibility/w3c-svg-name-calculation.html: Updated.
* platform/gtk/accessibility/alt-tag-on-image-with-nonimage-role-expected.txt: Removed.
* platform/gtk/accessibility/aria-labeled-with-hidden-node-expected.txt: Removed.
* platform/gtk/accessibility/aria-labelledby-on-input-expected.txt: Removed.
* platform/gtk/accessibility/aria-labelledby-overrides-aria-labeledby-expected.txt: Removed.
* platform/gtk/accessibility/aria-labelledby-overrides-label-expected.txt: Updated.
* platform/gtk/accessibility/aria-labelledby-with-descendants-expected.txt: Removed.
* platform/gtk/accessibility/aria-namefrom-author-expected.txt: Removed.
* platform/gtk/accessibility/aria-text-role-expected.txt: Removed.
* platform/gtk/accessibility/canvas-description-and-role-expected.txt: Updated.
* platform/gtk/accessibility/empty-image-with-title-expected.txt: Updated.
* platform/gtk/accessibility/fieldset-element-expected.txt: Removed.
* platform/gtk/accessibility/focusable-div-expected.txt: Removed.
* platform/gtk/accessibility/img-alt-tag-only-whitespace-expected.txt: Removed.
* platform/gtk/accessibility/img-aria-button-alt-tag-expected.txt: Removed.
* platform/gtk/accessibility/img-fallsback-to-title-expected.txt: Updated.
* platform/gtk/accessibility/input-image-alt-expected.txt: Removed.
* platform/gtk/accessibility/self-referencing-aria-labelledby-expected.txt: Removed.
* platform/gtk/accessibility/svg-group-element-with-title-expected.txt: Removed.
* platform/gtk/accessibility/svg-image-expected.txt: Removed.
* platform/gtk/accessibility/svg-labelledby-expected.txt: Removed.
* platform/mac/accessibility/aria-help-expected.txt: Removed.
* platform/mac/accessibility/aria-labelledby-overrides-label-expected.txt: Removed.
* platform/mac/accessibility/canvas-description-and-role-expected.txt: Updated.
* platform/mac/accessibility/fieldset-element-expected.txt: Removed.
* platform/mac/accessibility/img-fallsback-to-title-expected.txt: Updated.
* platform/win/accessibility/canvas-description-and-role-expected.txt: Updated.
* resources/accessibility-helper.js:
(platformValueForW3CName): Added.
(platformValueForW3CDescription): Added.
(platformTextAlternatives): Added.
(platformRoleForComboBox): Added.
(platformRoleForStaticText): Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201216
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 20 May 2016 17:09:17 +0000 (17:09 +0000)]
Use clearer names for JSON output of javascriptcore test results
https://bugs.webkit.org/show_bug.cgi?id=157921
Patch by Srinivasan Vijayaraghavan <svijayaraghavan@apple.com> on 2016-05-20
Reviewed by Alexey Proskuryakov.
"failures" and "apiTestResult" were somewhat ambiguous names.
* Scripts/run-javascriptcore-tests:
(runJSCStressTests): "failures" -> "stressFailures", "apiTestResult" -> "allApiTestsPassed".
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201215
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Fri, 20 May 2016 17:02:44 +0000 (17:02 +0000)]
Unreviewed, fix API test introduced in r201213.
* TestWebKitAPI/Tests/WTF/WeakPtr.cpp:
(TestWebKitAPI::TEST):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201214
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 20 May 2016 14:42:45 +0000 (14:42 +0000)]
Implement operator== for WeakPtr
https://bugs.webkit.org/show_bug.cgi?id=157883
Patch by Rawinder Singh <rawinder.singh-webkit@cisra.canon.com.au> on 2016-05-20
Reviewed by Chris Dumez.
Implement operator== and operator!= for WeakPtr and update code to use the operators.
Source/WebCore:
* page/EventHandler.cpp:
(WebCore::EventHandler::handleMousePressEvent):
(WebCore::EventHandler::updateLastScrollbarUnderMouse):
* page/mac/EventHandlerMac.mm:
(WebCore::EventHandler::platformCompleteWheelEvent):
Source/WTF:
* wtf/WeakPtr.h:
(WTF::operator==):
(WTF::operator!=):
Tools:
* TestWebKitAPI/Tests/WTF/WeakPtr.cpp:
(TestWebKitAPI::TEST):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201213
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Fri, 20 May 2016 06:35:24 +0000 (06:35 +0000)]
REGRESSION (r200638): -[DOMHTMLVideoElement play] disappeared from ObjC bindings
https://bugs.webkit.org/show_bug.cgi?id=157940
<rdar://problem/
26385907>
Reviewed by Dan Bernstein.
* html/HTMLMediaElement.idl:
Drop the return value of play from the ObjC bindings, because the bindings
generator doesn't seem to know what to do with a Promise.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201212
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 20 May 2016 06:32:02 +0000 (06:32 +0000)]
Web Inspector: Can't resume Debugger after breaking on exception in Promise
https://bugs.webkit.org/show_bug.cgi?id=157240
<rdar://problem/
26030890>
Patch by Joseph Pecoraro <pecoraro@apple.com> on 2016-05-19
Reviewed by Timothy Hatcher.
If we pause but have no source code to show we paused in purely internal
code. In such cases we were attempting to resume without actually
telling the backend to resume, so the backend and frontend were out of
sync. The frontend thinking it is "paused" without an activeCallFrame
and the backend actually being paused.
This change more gracefully handles this situation. It actually resumes
both the frontend and the backend.
* UserInterface/Controllers/DebuggerManager.js:
(WebInspector.DebuggerManager.prototype.debuggerDidPause):
Resume the backend and the frontend.
(WebInspector.DebuggerManager.prototype._didResumeInternal):
Don't look at the active call frame, look at the paused state.
This may issue a Resumed event without actually triggering a
Paused event if this was the only pause, but that is harmless.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201211
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 20 May 2016 06:31:47 +0000 (06:31 +0000)]
Web Inspector: Main Resource with <scripts> not showing up in debugger sidebar after reload
https://bugs.webkit.org/show_bug.cgi?id=157939
<rdar://problem/
26385691>
Patch by Joseph Pecoraro <pecoraro@apple.com> on 2016-05-19
Reviewed by Timothy Hatcher.
The order of events on a reload are:
- MainResourceChanged, add main resource
- ScriptsCleared, remove all elements
This change makes it so ScriptsCleared add the main resource (and
potentially other resources). This also avoids the work in
MainResourceChanged on reloads / navigations that would be wasted if
ScriptsCleared were to just remove it. However, this is still needed
for initial load where ScriptsCleared does not happen.
* UserInterface/Views/DebuggerSidebarPanel.js:
(WebInspector.DebuggerSidebarPanel.prototype._mainResourceDidChange):
Only add the main resource tree here when we are first loading.
(WebInspector.DebuggerSidebarPanel.prototype._scriptsCleared):
Add the main resource tree after we remove all children in navigations.
* UserInterface/Views/NavigationSidebarPanel.js:
(WebInspector.NavigationSidebarPanel.prototype._contentTreeOutlineTreeSelectionDidChange):
This was not gracefully handling if there was no selected tree element.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201210
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 20 May 2016 04:13:33 +0000 (04:13 +0000)]
Web Inspector: Visual Style connectors are not always centered properly
https://bugs.webkit.org/show_bug.cgi?id=157932
Patch by Joseph Pecoraro <pecoraro@apple.com> on 2016-05-19
Reviewed by Timothy Hatcher.
* UserInterface/Views/VisualStylePropertyEditorLink.css:
(.visual-style-property-editor-link):
Remove the 1px margin on @2x that would cause jitter at different
sidebar widths. It is however needed on @1x.
(.visual-style-property-editor-link:not(.link-all)):
Make the height 20 so these both move closer to the center of the
<select> elements they are next to. They are not perfectly centered
as that would require a half pixel.
(.visual-style-property-editor-link.link-vertical):
Move the top line up a pixel so it is "up 0.5" from center and
the bottom one is already "down 0.5" from the center.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201209
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 20 May 2016 02:44:02 +0000 (02:44 +0000)]
[JSC] Improve int->float conversion in FTL
https://bugs.webkit.org/show_bug.cgi?id=157936
Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-05-19
Reviewed by Filip Pizlo.
The integer -> floating point lowering was very barebone.
For example, converting a constant integer to double
was doing:
mov #const, %eax
xor %xmm0, %xmm0
cvtsi2sd %eax, %xmm0
Conversion from integer to float was also missing.
We were always converting to double then rounding the double
to float.
This patch adds the basics:
-Constant folding.
-Integer to Float opcode.
-Reducing int->double to int->float when used by DoubleToFloat.
* assembler/MacroAssemblerX86Common.h:
(JSC::MacroAssemblerX86Common::convertInt32ToFloat):
* assembler/MacroAssemblerX86_64.h:
(JSC::MacroAssemblerX86_64::convertInt64ToDouble):
(JSC::MacroAssemblerX86_64::convertInt64ToFloat):
* assembler/X86Assembler.h:
(JSC::X86Assembler::cvtsi2ss_rr):
(JSC::X86Assembler::cvtsi2ssq_rr):
(JSC::X86Assembler::cvtsi2sdq_mr):
(JSC::X86Assembler::cvtsi2ssq_mr):
(JSC::X86Assembler::cvtsi2ss_mr):
* assembler/MacroAssemblerARM64.h:
* b3/B3Const32Value.cpp:
(JSC::B3::Const32Value::iToDConstant):
(JSC::B3::Const32Value::iToFConstant):
* b3/B3Const32Value.h:
* b3/B3Const64Value.cpp:
(JSC::B3::Const64Value::iToDConstant):
(JSC::B3::Const64Value::iToFConstant):
* b3/B3Const64Value.h:
* b3/B3LowerToAir.cpp:
(JSC::B3::Air::LowerToAir::lower):
* b3/B3Opcode.cpp:
(WTF::printInternal):
* b3/B3Opcode.h:
* b3/B3ReduceDoubleToFloat.cpp:
* b3/B3ReduceStrength.cpp:
* b3/B3Validate.cpp:
* b3/B3Value.cpp:
(JSC::B3::Value::iToDConstant):
(JSC::B3::Value::iToFConstant):
(JSC::B3::Value::isRounded):
(JSC::B3::Value::effects):
(JSC::B3::Value::key):
(JSC::B3::Value::typeFor):
* b3/B3Value.h:
* b3/B3ValueKey.cpp:
(JSC::B3::ValueKey::materialize):
* b3/air/AirFixPartialRegisterStalls.cpp:
* b3/air/AirOpcode.opcodes:
* b3/testb3.cpp:
(JSC::B3::int64Operands):
(JSC::B3::testIToD64Arg):
(JSC::B3::testIToF64Arg):
(JSC::B3::testIToD32Arg):
(JSC::B3::testIToF32Arg):
(JSC::B3::testIToD64Mem):
(JSC::B3::testIToF64Mem):
(JSC::B3::testIToD32Mem):
(JSC::B3::testIToF32Mem):
(JSC::B3::testIToD64Imm):
(JSC::B3::testIToF64Imm):
(JSC::B3::testIToD32Imm):
(JSC::B3::testIToF32Imm):
(JSC::B3::testIToDReducedToIToF64Arg):
(JSC::B3::testIToDReducedToIToF32Arg):
(JSC::B3::run):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201208
268f45cc-cd09-0410-ab3c-
d52691b4dbfc