WebKit-https.git
6 years agoMarking http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-twice.html as flaky...
commit-queue@webkit.org [Wed, 21 Oct 2015 06:08:20 +0000 (06:08 +0000)]
Marking http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-twice.html as flaky on Yosemite
https://bugs.webkit.org/show_bug.cgi?id=150363

Patch by Ryan Haddad <ryanhaddad@apple.com> on 2015-10-20
Reviewed by Alexey Proskuryakov.

* platform/mac-wk2/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191375 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agorun-webkit-tests does not copy all crash logs for layout test failures on iOS
commit-queue@webkit.org [Wed, 21 Oct 2015 05:36:49 +0000 (05:36 +0000)]
run-webkit-tests does not copy all crash logs for layout test failures on iOS
https://bugs.webkit.org/show_bug.cgi?id=150056
Tools:

<rdar://problem/9280656>

Patch by Aakash Jain <aakash_jain@apple.com> on 2015-10-20
Reviewed by Alexey Proskuryakov.

* Scripts/webkitpy/common/system/crashlogs.py:
(CrashLogs.find_all_logs): Generic method to find all crash logs.
(CrashLogs._find_all_logs_darwin): Darwin based method to find all crash logs.
It iterates through log directory and returns all the logs based on timestamp.
* Scripts/webkitpy/common/system/crashlogs_unittest.py:
(CrashLogsTest.create_crash_logs_darwin): Creates sample crash logs and verify them.
(CrashLogsTest.test_find_all_log_darwin): Testcase for above find_all_logs method
(CrashLogsTest.test_find_log_darwin): Restructured to share code with other methods.
* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager.run): Modified start_time to start counting before simulator launch
so that we can capture crashes during simualator launch.
(Manager._look_for_new_crash_logs): Browse through list of crashes and append
any test which is not already marked as CRASH to the run_results.
* Scripts/webkitpy/layout_tests/models/test_expectations.py:
(TestExpectationsModel.get_expectations_string): return PASS in case there
are no expectations defined for this test.
* Scripts/webkitpy/layout_tests/models/test_run_results.py:
(summarize_results): Add other_crashes in a separte category in full_results.json.
* Scripts/webkitpy/port/ios.py:
(IOSSimulatorPort._merge_crash_logs): Merge unique crash logs from two dictionaries.
(IOSSimulatorPort._look_for_all_crash_logs_in_log_dir): Get the crash logs
from the log directory.
(IOSSimulatorPort.look_for_new_crash_logs): Uses above method to get crash
logs from log directory and merge them with the list of already crashed tests.

LayoutTests:

<rdar://problem/22239750>

Patch by Aakash Jain <aakash_jain@apple.com> on 2015-10-20
Reviewed by Alexey Proskuryakov.

* fast/harness/results.html: Added the column for Other crashes, this contain
all the newly find crashes from the crash-log directory. Added method forOtherCrashes
which processes othre_crashes section from full_results.json. Also fixed the method
splitExtension to handle the case when there is no extension.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191374 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed, rolling out r191370.
commit-queue@webkit.org [Wed, 21 Oct 2015 05:09:17 +0000 (05:09 +0000)]
Unreviewed, rolling out r191370.
https://bugs.webkit.org/show_bug.cgi?id=150384

Broke iOS 9 build (Requested by ap on #webkit).

Reverted changeset:

"Fix build for clang-700.0.59.5 by replacing deprecated calls
to convertScreenToBase: with convertRectFromScreen:."
https://bugs.webkit.org/show_bug.cgi?id=150379
http://trac.webkit.org/changeset/191370

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191373 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoFix the build
dburkart@apple.com [Wed, 21 Oct 2015 04:51:27 +0000 (04:51 +0000)]
Fix the build

Unreviewed.

My previous patch was missing a necessary space character.

* Scripts/webkitperl/VCSUtils_unittest/decodeGitBinaryPatch.pl:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191372 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoWeb Inspector: Pressing Command-S while focused on the styles sidebar should save...
nvasilyev@apple.com [Wed, 21 Oct 2015 04:25:02 +0000 (04:25 +0000)]
Web Inspector: Pressing Command-S while focused on the styles sidebar should save CSS file
https://bugs.webkit.org/show_bug.cgi?id=150298

Reviewed by Timothy Hatcher.

* UserInterface/Views/CSSStyleDeclarationSection.js:
(WebInspector.CSSStyleDeclarationSection):
Beep when saving didn't work. Inline CSS and CSS in style attributes aren't curently supported.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191371 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoFix build for clang-700.0.59.5 by replacing deprecated calls to convertScreenToBase...
commit-queue@webkit.org [Wed, 21 Oct 2015 02:21:02 +0000 (02:21 +0000)]
Fix build for clang-700.0.59.5 by replacing deprecated calls to convertScreenToBase: with convertRectFromScreen:.
https://bugs.webkit.org/show_bug.cgi?id=150379

Patch by Gordon Sheridan <gordon_sheridan@apple.com> on 2015-10-20
Reviewed by Simon Fraser.

* WebView/WebHTMLView.mm:
(-[WebHTMLView characterIndexForPoint:]):
Convert point to rect, and call convertRectFromScreen:.

(-[WebHTMLView firstRectForCharacterRange:]):
Replace convertBaseToScreen: with convertRectToScreen:.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191370 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoReplace 0 and NULL with nullptr in WebCore/loader.
hs85.jeong@samsung.com [Wed, 21 Oct 2015 02:12:32 +0000 (02:12 +0000)]
Replace 0 and NULL with nullptr in WebCore/loader.
https://bugs.webkit.org/show_bug.cgi?id=149657

Reviewed by Darin Adler.

No new tests because there is no behavior change.

* loader/CookieJar.cpp:
(WebCore::networkingContext):
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::DocumentLoader):
(WebCore::DocumentLoader::frameLoader):
(WebCore::DocumentLoader::popArchiveForSubframe):
(WebCore::DocumentLoader::clearArchiveResources):
(WebCore::DocumentLoader::clearMainResource):
(WebCore::DocumentLoader::subresourceLoaderFinishedLoadingOnePart):
* loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::cancel):
(WebCore::DocumentThreadableLoader::setDefersLoading):
(WebCore::DocumentThreadableLoader::clearResource):
* loader/EmptyClients.cpp:
(WebCore::EmptyFrameLoaderClient::createJavaAppletWidget):
(WebCore::EmptyFrameLoaderClient::createNetworkingContext):
* loader/EmptyClients.h:
* loader/FTPDirectoryParser.cpp:
(WebCore::parseOneFTPLine):
* loader/FTPDirectoryParser.h:
(WebCore::ListResult::clear):
* loader/FormSubmission.cpp:
(WebCore::FormSubmission::create):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::clear):
(WebCore::FrameLoader::stopAllLoaders):
(WebCore::FrameLoader::clearProvisionalLoad):
(WebCore::FrameLoader::transitionToCommitted):
(WebCore::FrameLoader::closeAndRemoveChild):
(WebCore::FrameLoader::detachFromParent):
(WebCore::FrameLoader::detachViewsAndDocumentLoader):
(WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
(WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
* loader/FrameLoader.h:
(WebCore::FrameLoader::stateMachine):
* loader/FrameNetworkingContext.h:
(WebCore::FrameNetworkingContext::invalidate):
* loader/HistoryController.cpp:
(WebCore::HistoryController::replaceState):
* loader/ImageLoader.cpp:
(WebCore::ImageLoader::ImageLoader):
(WebCore::ImageLoader::updateFromElement):
* loader/NetscapePlugInStreamLoader.cpp:
(WebCore::NetscapePlugInStreamLoader::releaseResources):
* loader/ResourceLoadNotifier.h:
* loader/ResourceLoadScheduler.cpp:
(WebCore::resourceLoadScheduler):
* loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::releaseResources):
* loader/TextResourceDecoder.cpp:
(WebCore::TextResourceDecoder::TextResourceDecoder):
* loader/ThreadableLoaderClientWrapper.h:
(WebCore::ThreadableLoaderClientWrapper::clearClient):
(WebCore::ThreadableLoaderClientWrapper::done):
* loader/appcache/ApplicationCache.cpp:
(WebCore::fallbackURLLongerThan):
(WebCore::ApplicationCache::ApplicationCache):
(WebCore::ApplicationCache::resourceForRequest):
* loader/appcache/ApplicationCache.h:
(WebCore::ApplicationCache::fallbackURLs):
* loader/appcache/ApplicationCacheGroup.cpp:
(WebCore::ApplicationCacheGroup::ApplicationCacheGroup):
(WebCore::ApplicationCacheGroup::fallbackCacheForMainRequest):
(WebCore::ApplicationCacheGroup::selectCache):
(WebCore::ApplicationCacheGroup::finishedLoadingMainResource):
(WebCore::ApplicationCacheGroup::failedLoadingMainResource):
(WebCore::ApplicationCacheGroup::manifestNotFound):
(WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
* loader/appcache/ApplicationCacheHost.cpp:
(WebCore::ApplicationCacheHost::ApplicationCacheHost):
(WebCore::ApplicationCacheHost::setApplicationCache):
* loader/appcache/ApplicationCacheHost.h:
(WebCore::ApplicationCacheHost::candidateApplicationCacheGroup):
* loader/appcache/ApplicationCacheStorage.cpp:
(WebCore::StorageIDJournal::Record::Record):
(WebCore::StorageIDJournal::Record::restore):
(WebCore::ApplicationCacheStorage::loadCacheGroup):
(WebCore::ApplicationCacheStorage::cacheGroupForURL):
(WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL):
(WebCore::ApplicationCacheStorage::cacheGroupDestroyed):
(WebCore::ApplicationCacheStorage::loadCache):
* loader/appcache/DOMApplicationCache.cpp:
(WebCore::DOMApplicationCache::disconnectFrameForPageCache):
(WebCore::DOMApplicationCache::willDestroyGlobalObjectInFrame):
(WebCore::DOMApplicationCache::applicationCacheHost):
(WebCore::DOMApplicationCache::scriptExecutionContext):
(WebCore::DOMApplicationCache::toEventType):
* loader/archive/ArchiveFactory.cpp:
(WebCore::ArchiveFactory::create):
(WebCore::ArchiveFactory::registerKnownArchiveMIMETypes):
* loader/archive/ArchiveResourceCollection.cpp:
(WebCore::ArchiveResourceCollection::archiveResourceForURL):
* loader/archive/cf/LegacyWebArchive.cpp:
(WebCore::LegacyWebArchive::createPropertyListRepresentation):
(WebCore::LegacyWebArchive::createResource):
(WebCore::LegacyWebArchive::create):
(WebCore::LegacyWebArchive::rawDataRepresentation):
* loader/archive/cf/LegacyWebArchiveMac.mm:
(WebCore::LegacyWebArchive::createPropertyListRepresentation):
* loader/archive/mhtml/MHTMLArchive.cpp:
(WebCore::MHTMLArchive::create):
(WebCore::MHTMLArchive::generateMHTMLData):
* loader/archive/mhtml/MHTMLParser.cpp:
(WebCore::MHTMLParser::parseArchiveWithHeader):
(WebCore::MHTMLParser::parseNextPart):
* loader/cache/CachedImage.cpp:
(WebCore::CachedImage::CachedImage):
* loader/cache/CachedImageClient.h:
(WebCore::CachedImageClient::imageChanged):
(WebCore::CachedImageClient::newImageAnimationFrameAvailable):
* loader/cache/CachedRawResource.cpp:
(WebCore::CachedRawResource::calculateIncrementalDataChunk):
* loader/cache/CachedRawResourceClient.h:
(WebCore::CachedRawResourceClient::dataReceived):
(WebCore::CachedRawResourceClient::redirectReceived):
(WebCore::CachedRawResourceClient::getOrCreateReadBuffer):
* loader/cache/CachedResource.cpp:
(WebCore::CachedResource::CachedResource):
(WebCore::CachedResource::clearResourceToRevalidate):
* loader/cache/CachedResourceClientWalker.h:
(WebCore::CachedResourceClientWalker::next):
* loader/cache/CachedResourceHandle.cpp:
(WebCore::CachedResourceHandleBase::CachedResourceHandleBase):
* loader/cache/CachedResourceLoader.cpp:
(WebCore::createResource):
(WebCore::CachedResourceLoader::CachedResourceLoader):
(WebCore::CachedResourceLoader::~CachedResourceLoader):
(WebCore::CachedResourceLoader::canRequest): Return value is bool.
(WebCore::CachedResourceLoader::requestResource):
* loader/cache/CachedResourceLoader.h:
(WebCore::CachedResourceLoader::document):
(WebCore::CachedResourceLoader::setDocument):
(WebCore::CachedResourceLoader::clearDocumentLoader):
* loader/cache/CachedSVGDocumentReference.cpp:
(WebCore::CachedSVGDocumentReference::CachedSVGDocumentReference):
* loader/cf/ResourceLoaderCFNet.cpp:
(WebCore::ResourceLoader::shouldCacheResponse): Return value is bool.
* loader/icon/IconDatabase.cpp:
(WebCore::IconDatabase::synchronousIconForPageURL):
(WebCore::IconDatabase::synchronousNativeIconForPageURL):
(WebCore::IconDatabase::setIconDataForIconURL):
(WebCore::IconDatabase::getOrCreatePageURLRecord):
(WebCore::IconDatabase::cleanupSyncThread):
* loader/icon/IconDatabaseBase.cpp:
(WebCore::IconDatabaseBase::open):
(WebCore::iconDatabase):
* loader/icon/IconDatabaseBase.h:
(WebCore::EnumCallback::performCallback):
(WebCore::EnumCallback::invalidate):
(WebCore::ObjectCallback::performCallback):
(WebCore::ObjectCallback::invalidate):
* loader/icon/PageURLRecord.cpp:
(WebCore::PageURLRecord::~PageURLRecord):
(WebCore::PageURLRecord::setIconRecord):
* loader/mac/ResourceLoaderMac.mm:
(WebCore::ResourceLoader::willCacheResponse):
* loader/soup/CachedRawResourceSoup.cpp:
(WebCore::CachedRawResource::getOrCreateReadBuffer):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191369 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[EFL] ContextMenu doesn't work correctly on MiniBrowser after r191194.
hs85.jeong@samsung.com [Wed, 21 Oct 2015 01:53:09 +0000 (01:53 +0000)]
[EFL] ContextMenu doesn't work correctly on MiniBrowser after r191194.
https://bugs.webkit.org/show_bug.cgi?id=150311

Reviewed by Gyuyoung Kim.

Restore the test_ewk2_context_menu API test to check the context menu whether it works correctly.

* PlatformEfl.cmake:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191368 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agosvn-apply fails to apply binary diffs in some cases
dburkart@apple.com [Wed, 21 Oct 2015 01:41:52 +0000 (01:41 +0000)]
svn-apply fails to apply binary diffs in some cases
https://bugs.webkit.org/show_bug.cgi?id=64647

Reviewed by Daniel Bates.

* Scripts/VCSUtils.pm:
(decodeGitBinaryPatchDeltaSize): Modified.
We need to handle the case where the binary diff is the last in the patch; so we match on "-- \n" or "\Z".
* Tools/Scripts/webkitperl/VCSUtils_unittest/decodeGitBinaryPatch.pl: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191367 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago_WKThumbnailView should support a snapshot-only mode
conrad_shultz@apple.com [Wed, 21 Oct 2015 01:10:32 +0000 (01:10 +0000)]
_WKThumbnailView should support a snapshot-only mode
https://bugs.webkit.org/show_bug.cgi?id=150106

Reviewed by Tim Horton.

Add a new property to _WKThumbnailView, exclusivelyUsesSnapshot, which causes _WKThumbnailView
to bypass both layer tree reparenting and event suppression on the associated WKView.

Add a new method, -requestSnapshot, which clients can use to force _WKThumbnailView to refresh
on demand.

* UIProcess/API/Cocoa/_WKThumbnailView.h:
* UIProcess/API/Cocoa/_WKThumbnailView.mm:
(-[_WKThumbnailView requestSnapshot]):
Extracted from -_requestSnapshotIfNeeded:.
(-[_WKThumbnailView _viewWasUnparented]):
(-[_WKThumbnailView _viewWasParented]):
(-[_WKThumbnailView _requestSnapshotIfNeeded]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191366 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoBuild fix.
ap@apple.com [Tue, 20 Oct 2015 23:40:19 +0000 (23:40 +0000)]
Build fix.

* UIProcess/ios/forms/WKAirPlayRoutePicker.mm:
* UIProcess/ios/forms/WKFileUploadPanel.mm:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191365 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoYarrPatternConstructor::containsCapturingTerms() should not assume that its terms...
mark.lam@apple.com [Tue, 20 Oct 2015 23:38:41 +0000 (23:38 +0000)]
YarrPatternConstructor::containsCapturingTerms() should not assume that its terms.size() is greater than 0.
https://bugs.webkit.org/show_bug.cgi?id=150372

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

* yarr/YarrPattern.cpp:
(JSC::Yarr::CharacterClassConstructor::CharacterClassConstructor):
(JSC::Yarr::YarrPatternConstructor::optimizeBOL):
(JSC::Yarr::YarrPatternConstructor::containsCapturingTerms):
(JSC::Yarr::YarrPatternConstructor::optimizeDotStarWrappedExpressions):

LayoutTests:

* js/regress-150372-expected.txt: Added.
* js/regress-150372.html: Added.
* js/script-tests/regress-150372.js: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191364 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoASSERT when right clicking on SVG Image generating Share menu - can break Web Inspector
commit-queue@webkit.org [Tue, 20 Oct 2015 23:15:57 +0000 (23:15 +0000)]
ASSERT when right clicking on SVG Image generating Share menu - can break Web Inspector
https://bugs.webkit.org/show_bug.cgi?id=150374

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-10-20
Reviewed by Brian Burg.

When there is no absolute URL or downloadable media URL no system share
menu is created, but we were still appending the null context menu to
the list of context menu items.

* UIProcess/mac/WebContextMenuProxyMac.mm:
(WebKit::WebContextMenuProxyMac::shareMenuItem):
Bail early if the context menu is null.

(WebKit::WebContextMenuProxyMac::showContextMenu):
Only append the share context menu item if it is non-null.
This matches ContextMenuController.cpp in WebCore.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191363 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed, GTK API test fix after r191351.
cdumez@apple.com [Tue, 20 Oct 2015 22:38:55 +0000 (22:38 +0000)]
Unreviewed, GTK API test fix after r191351.

Reverted API change for GTK bindings.

* html/HTMLOptionsCollection.idl:
* html/HTMLSelectElement.idl:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191361 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoREGRESSION (r191175): OSR Exit from an inlined tail callee trashes callee save registers
msaboff@apple.com [Tue, 20 Oct 2015 22:02:37 +0000 (22:02 +0000)]
REGRESSION (r191175): OSR Exit from an inlined tail callee trashes callee save registers
https://bugs.webkit.org/show_bug.cgi?id=150336

Reviewed by Mark Lam.

Source/JavaScriptCore:

During OSR exit, we need to restore and transform the active stack into what the baseline
JIT expects.  Inlined call frames become true call frames.  When we reify an inlined call
frame and it is a tail call which we will be continuing from, we need to restore the tag
constant callee save registers with what was saved by the outermost caller.

Re-enabled tail calls and restored tests for tail calls.

* dfg/DFGOSRExitCompilerCommon.cpp:
(JSC::DFG::reifyInlinedCallFrames): Select whether or not we use the callee save tag register
contents or what was saved by the inlining caller when populating an inlined callee's
callee save registers.
* jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::emitSaveCalleeSavesFor): This function no longer needs a stack offset.
(JSC::AssemblyHelpers::emitSaveOrCopyCalleeSavesFor): New helper.
* runtime/Options.h: Turned tail calls back on.
* tests/es6.yaml:
* tests/stress/dfg-tail-calls.js:
(nonInlinedTailCall.callee):
* tests/stress/mutual-tail-call-no-stack-overflow.js:
(shouldThrow):
* tests/stress/tail-call-in-inline-cache.js:
(tail):
* tests/stress/tail-call-no-stack-overflow.js:
(shouldThrow):
* tests/stress/tail-call-recognize.js:
(callerMustBeRun):
* tests/stress/tail-call-varargs-no-stack-overflow.js:
(shouldThrow):

LayoutTests:

Added a new regression test and restored tail call test results for js/caller-property.

* js/caller-property-expected.txt:
* js/regress-150336-expected.txt: Added.
* js/regress-150336.html: Added.
* js/script-tests/regress-150336.js: Added.
(bar):
(foo):
(test):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191360 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed, Another GTK build fix after r191351.
cdumez@apple.com [Tue, 20 Oct 2015 22:00:24 +0000 (22:00 +0000)]
Unreviewed, Another GTK build fix after r191351.

* html/HTMLCollection.idl:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191359 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed, Another GTK build fix after r191351.
cdumez@apple.com [Tue, 20 Oct 2015 21:51:15 +0000 (21:51 +0000)]
Unreviewed, Another GTK build fix after r191351.

* html/HTMLFieldSetElement.cpp:
(WebCore::HTMLFieldSetElement::elementsForNativeBindings):
(WebCore::HTMLFieldSetElement::elementsForObjC): Deleted.
* html/HTMLFieldSetElement.h:
* html/HTMLFieldSetElement.idl:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191358 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAX: CrashTracer: com.apple.WebKit.WebContent at com.apple.WebCore: WebCore::Accessibi...
cfleizach@apple.com [Tue, 20 Oct 2015 21:34:23 +0000 (21:34 +0000)]
AX: CrashTracer: com.apple.WebKit.WebContent at com.apple.WebCore: WebCore::AccessibilityTable::tableElement const + 116
https://bugs.webkit.org/show_bug.cgi?id=150349

Reviewed by Brent Fulgham.

The crash point for this bug says that the parentElement of the firstBody is garbage when it's accessed.
Unfortunately, I could not reproduce this in-situ or with a test.
So my speculative solution is to recalculate those body elements to ensure that they're valid before we access.

* accessibility/AccessibilityTable.cpp:
(WebCore::AccessibilityTable::tableElement):
(WebCore::AccessibilityTable::isDataTable):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191357 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoTake 2 on rebaselining fast/dynamic/insert-before-table-part-in-continuation.html
commit-queue@webkit.org [Tue, 20 Oct 2015 20:54:28 +0000 (20:54 +0000)]
Take 2 on rebaselining fast/dynamic/insert-before-table-part-in-continuation.html
https://bugs.webkit.org/show_bug.cgi?id=150126

Patch by Ryan Haddad <ryanhaddad@apple.com> on 2015-10-20
Reviewed by Zalan Bujtas.

* platform/win/fast/dynamic/insert-before-table-part-in-continuation-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191356 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoWeb Inspector: JavaScriptCore should parse sourceURL and sourceMappingURL directives
joepeck@webkit.org [Tue, 20 Oct 2015 20:48:49 +0000 (20:48 +0000)]
Web Inspector: JavaScriptCore should parse sourceURL and sourceMappingURL directives
https://bugs.webkit.org/show_bug.cgi?id=150096

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

* inspector/ContentSearchUtilities.cpp:
(Inspector::ContentSearchUtilities::scriptCommentPattern): Deleted.
(Inspector::ContentSearchUtilities::findScriptSourceURL): Deleted.
(Inspector::ContentSearchUtilities::findScriptSourceMapURL): Deleted.
* inspector/ContentSearchUtilities.h:
No longer need to search script content.

* inspector/ScriptDebugServer.cpp:
(Inspector::ScriptDebugServer::dispatchDidParseSource):
Carry over the sourceURL and sourceMappingURL from the SourceProvider.

* inspector/agents/InspectorDebuggerAgent.cpp:
(Inspector::InspectorDebuggerAgent::sourceMapURLForScript):
(Inspector::InspectorDebuggerAgent::didParseSource):
No longer do content searching.

* parser/Lexer.cpp:
(JSC::Lexer<T>::setCode):
(JSC::Lexer<T>::skipWhitespace):
(JSC::Lexer<T>::parseCommentDirective):
(JSC::Lexer<T>::parseCommentDirectiveValue):
(JSC::Lexer<T>::consume):
(JSC::Lexer<T>::lex):
* parser/Lexer.h:
(JSC::Lexer::sourceURL):
(JSC::Lexer::sourceMappingURL):
(JSC::Lexer::sourceProvider): Deleted.
Give lexer the ability to detect script comment directives.
This just consumes characters in single line comments and
ultimately sets the sourceURL or sourceMappingURL found.

* parser/Parser.h:
(JSC::Parser<LexerType>::parse):
* parser/SourceProvider.h:
(JSC::SourceProvider::url):
(JSC::SourceProvider::sourceURL):
(JSC::SourceProvider::sourceMappingURL):
(JSC::SourceProvider::setSourceURL):
(JSC::SourceProvider::setSourceMappingURL):
After parsing a script, update the Source Provider with the
value of directives that may have been found in the script.

Source/WebInspectorUI:

* UserInterface/Test/InspectorProtocol.js:
(InspectorProtocol._sendMessage):
(InspectorProtocol.dispatchMessageFromBackend):
This is only used for tests, so avoid console.log
and just dump directly to the system console.

LayoutTests:

* inspector/debugger/sourceURLs-expected.txt: Added.
* inspector/debugger/sourceURLs.html: Added.
sourceURL and sourceMappingURL detection.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191355 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed, rolling out r191306.
cdumez@apple.com [Tue, 20 Oct 2015 20:47:48 +0000 (20:47 +0000)]
Unreviewed, rolling out r191306.
https://bugs.webkit.org/show_bug.cgi?id=150371

"May have caused a significant warm PLT regression" (Requested
by cdumez_ on #webkit).

Reverted changeset:

"[WK2] Generalize NetworkCacheStorage API so it can store
different types of metadata"
https://bugs.webkit.org/show_bug.cgi?id=150221
http://trac.webkit.org/changeset/191306

Patch by Commit Queue <commit-queue@webkit.org> on 2015-10-20

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191354 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed, GTK build fix after r191351.
cdumez@apple.com [Tue, 20 Oct 2015 20:42:01 +0000 (20:42 +0000)]
Unreviewed, GTK build fix after r191351.

* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::elementsForNativeBindings):
(WebCore::HTMLFormElement::elementsForObjC): Deleted.
* html/HTMLFormElement.h:
* html/HTMLFormElement.idl:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191353 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAdd basic TextStream output for Images
simon.fraser@apple.com [Tue, 20 Oct 2015 20:38:03 +0000 (20:38 +0000)]
Add basic TextStream output for Images
https://bugs.webkit.org/show_bug.cgi?id=150350

Reviewed by Darin Adler.

Add a TextStream output operator for Image, and virtual dump() member functions
that the various image types override to dump their own data.

Add isFoo() functions for each image type (surprising that these didn't already
exist) so we can print the image type.

Make isAnimated() const, and isBitmapImage() private.

* platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::dump):
* platform/graphics/BitmapImage.h:
* platform/graphics/CrossfadeGeneratedImage.cpp:
(WebCore::CrossfadeGeneratedImage::dump):
* platform/graphics/CrossfadeGeneratedImage.h:
* platform/graphics/GeneratedImage.cpp:
* platform/graphics/GeneratedImage.h:
* platform/graphics/GradientImage.cpp:
(WebCore::GradientImage::dump):
* platform/graphics/GradientImage.h:
* platform/graphics/Image.cpp:
(WebCore::Image::dump):
(WebCore::operator<<):
* platform/graphics/Image.h:
(WebCore::Image::isGeneratedImage):
(WebCore::Image::isCrossfadeGeneratedImage):
(WebCore::Image::isNamedImageGeneratedImage):
(WebCore::Image::isGradientImage):
(WebCore::Image::isSVGImage):
(WebCore::Image::isAnimated):
* platform/graphics/NamedImageGeneratedImage.cpp:
(WebCore::NamedImageGeneratedImage::dump):
* platform/graphics/NamedImageGeneratedImage.h:
* platform/graphics/cg/PDFDocumentImage.cpp:
(WebCore::PDFDocumentImage::dump):
* platform/graphics/cg/PDFDocumentImage.h:
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::dump):
* svg/graphics/SVGImage.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191352 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUse tighter typing for collections / node lists' item() / namedItem() methods
cdumez@apple.com [Tue, 20 Oct 2015 18:48:26 +0000 (18:48 +0000)]
Use tighter typing for collections / node lists' item() / namedItem() methods
https://bugs.webkit.org/show_bug.cgi?id=150347

Reviewed by Darin Adler.

Use tighter typing for collections / node lists' item() / namedItem() methods.

* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::getDocumentLinks):
* dom/LiveNodeList.h:
* dom/StaticNodeList.cpp:
(WebCore::StaticElementList::item):
* dom/StaticNodeList.h:
* html/CachedHTMLCollection.h:
* html/HTMLAllCollection.idl:
* html/HTMLCollection.idl:
* html/HTMLFieldSetElement.cpp:
(WebCore::HTMLFieldSetElement::elements):
(WebCore::HTMLFieldSetElement::elementsForObjC):
* html/HTMLFieldSetElement.h:
* html/HTMLFieldSetElement.idl:
* html/HTMLFormControlsCollection.cpp:
(WebCore::HTMLFormControlsCollection::customElementAfter):
* html/HTMLFormControlsCollection.h:
* html/HTMLFormControlsCollection.idl:
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::item):
(WebCore::HTMLFormElement::elements):
(WebCore::HTMLFormElement::elementsForObjC):
* html/HTMLFormElement.h:
* html/HTMLFormElement.idl:
* html/HTMLOptionsCollection.cpp:
(WebCore::HTMLOptionsCollection::add):
* html/HTMLOptionsCollection.h:
* html/HTMLOptionsCollection.idl:
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::namedItem):
(WebCore::HTMLSelectElement::item):
(WebCore::HTMLSelectElement::setOption):
* html/HTMLSelectElement.idl:
* html/HTMLTableRowElement.cpp:
(WebCore::HTMLTableRowElement::deleteCell):
* html/HTMLTableSectionElement.cpp:
(WebCore::HTMLTableSectionElement::deleteRow):
* html/RadioNodeList.cpp:
(WebCore::toRadioButtonInputElement):
(WebCore::RadioNodeList::value):
(WebCore::RadioNodeList::setValue):
* html/RadioNodeList.h:
* html/RadioNodeList.idl:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191351 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoGCAwareJITStubRoutineWithExceptionHandler has a stale CodeBlock pointer in its destructor
sbarati@apple.com [Tue, 20 Oct 2015 18:37:38 +0000 (18:37 +0000)]
GCAwareJITStubRoutineWithExceptionHandler has a stale CodeBlock pointer in its destructor
https://bugs.webkit.org/show_bug.cgi?id=150351

Reviewed by Mark Lam.

We may regenerate many GCAwareJITStubRoutineWithExceptionHandler stubs per one PolymorphicAccess.
Only the last GCAwareJITStubRoutineWithExceptionHandler stub that was generated will get the CodeBlock's aboutToDie()
notification. All other GCAwareJITStubRoutineWithExceptionHandler stubs will still be holding a stale CodeBlock pointer
that they will use in their destructor. The solution is to have GCAwareJITStubRoutineWithExceptionHandler remove its
exception handler in observeZeroRefCount() instead of its destructor. observeZeroRefCount() will run when a PolymorphicAccess
replaces its m_stubRoutine.

* jit/GCAwareJITStubRoutine.cpp:
(JSC::GCAwareJITStubRoutineWithExceptionHandler::aboutToDie):
(JSC::GCAwareJITStubRoutineWithExceptionHandler::observeZeroRefCount):
(JSC::createJITStubRoutine):
(JSC::GCAwareJITStubRoutineWithExceptionHandler::~GCAwareJITStubRoutineWithExceptionHandler): Deleted.
* jit/GCAwareJITStubRoutine.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191350 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoOnly HTML spaces should be stripped from a <script>'s 'for' / 'event' attributes
cdumez@apple.com [Tue, 20 Oct 2015 18:33:38 +0000 (18:33 +0000)]
Only HTML spaces should be stripped from a <script>'s 'for' / 'event' attributes
https://bugs.webkit.org/show_bug.cgi?id=150335

Reviewed by Darin Adler.

Source/WebCore:

Only HTML spaces should be stripped from a <script>'s 'for' / 'event' attributes:
https://html.spec.whatwg.org/multipage/scripting.html#prepare-a-script (step 12.3)
https://html.spec.whatwg.org/multipage/infrastructure.html#space-character

Previously, we were uding the wrong stripping function and we were stripping
some non-HTML spaces.

Test: fast/dom/script-for-event-spaces.html

* dom/ScriptElement.cpp:
(WebCore::ScriptElement::isScriptForEventSupported):

LayoutTests:

Add a layout test to check that U+000B does not get stripped from the
script's 'for' / 'event' attributes.

* fast/dom/script-for-event-spaces-expected.txt: Added.
* fast/dom/script-for-event-spaces.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191349 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agofast/canvas/webgl/tex-image-and-sub-image-2d-with-video-rgba4444.html flakily times...
commit-queue@webkit.org [Tue, 20 Oct 2015 18:15:58 +0000 (18:15 +0000)]
fast/canvas/webgl/tex-image-and-sub-image-2d-with-video-rgba4444.html flakily times out on Mavericks WK1
https://bugs.webkit.org/show_bug.cgi?id=150367

Patch by Ryan Haddad <ryanhaddad@apple.com> on 2015-10-20
Reviewed by Darin Adler.

* platform/mac-wk1/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191348 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoTry to fix the build by disabling MAC_GESTURE_EVENTS on 10.9 and 10.10
timothy_horton@apple.com [Tue, 20 Oct 2015 18:00:34 +0000 (18:00 +0000)]
Try to fix the build by disabling MAC_GESTURE_EVENTS on 10.9 and 10.10

* wtf/FeatureDefines.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191347 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoMac Debug EWS never finishes when there are failures
ap@apple.com [Tue, 20 Oct 2015 17:19:22 +0000 (17:19 +0000)]
Mac Debug EWS never finishes when there are failures
https://bugs.webkit.org/show_bug.cgi?id=150334

Reviewed by Daniel Bates.

* Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
* Scripts/webkitpy/tool/commands/queues.py:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191345 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoFix the !ENABLE(CSS_GRID_LAYOUT) build after r191128
ossy@webkit.org [Tue, 20 Oct 2015 17:16:15 +0000 (17:16 +0000)]
Fix the !ENABLE(CSS_GRID_LAYOUT) build after r191128
https://bugs.webkit.org/show_bug.cgi?id=150321

Reviewed by Darin Adler.

* css/CSSGrammar.y.in: Typo fix.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191344 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoTry to fix the build by disabling MAC_GESTURE_EVENTS on 10.9 and 10.10
timothy_horton@apple.com [Tue, 20 Oct 2015 16:41:15 +0000 (16:41 +0000)]
Try to fix the build by disabling MAC_GESTURE_EVENTS on 10.9 and 10.10

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191343 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed, rolling out r191333.
commit-queue@webkit.org [Tue, 20 Oct 2015 16:02:48 +0000 (16:02 +0000)]
Unreviewed, rolling out r191333.
https://bugs.webkit.org/show_bug.cgi?id=150362

Caused assertions on regression tests (Requested by ap on
#webkit).

Reverted changeset:

"ERROR: Unhandled web process message
'StorageAreaMap:DispatchStorageEvent'"
https://bugs.webkit.org/show_bug.cgi?id=150315
http://trac.webkit.org/changeset/191333

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191342 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[UNIX] ASSERTION FAILED: m_shouldWaitForSyncReplies in Connection::connectionDidClose()
carlosgc@webkit.org [Tue, 20 Oct 2015 15:04:44 +0000 (15:04 +0000)]
[UNIX] ASSERTION FAILED: m_shouldWaitForSyncReplies in Connection::connectionDidClose()
https://bugs.webkit.org/show_bug.cgi?id=150361

Reviewed by Martin Robinson.

It doesn't always happen because it depends on how sockets are
closed, and the state of the threads. The problem is that we are
not handling the case when the read fails because we closed the
connection. In that case we log the error and call
Connection::connectionDidClose(). But it was connectionDidClose()
the one closing the socket. So, in this particular case it's not an
error but a normal termination, and we shouldn't try to close the
connection again. Something similar can happen while sending a
message, and we get a broken pipe error, but in that case we are
only printing the error, so it's harmless.

* Platform/IPC/unix/ConnectionUnix.cpp:
(IPC::Connection::readyReadHandler): Only print error and call
connectionDidClose() if we are still connected when read fails.
(IPC::Connection::sendOutgoingMessage): Only print error if we are
still connected when send fails.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191341 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[GTK] Graphics corruption when entering/leaving AC mode quickly
carlosgc@webkit.org [Tue, 20 Oct 2015 12:03:56 +0000 (12:03 +0000)]
[GTK] Graphics corruption when entering/leaving AC mode quickly
https://bugs.webkit.org/show_bug.cgi?id=150323

Reviewed by Mario Sanchez Prada.

The UI process is notified when entering accelerated compositing
mode after the layers have been flushed and rendered to avoid
flickering. However, this is producing flickering in the GTK+
port, because we use an offscreen redirected window that is
resized to a minimium size to save memory when not in AC mode. The
web process always uses the current size of the redirected window,
so when entering AC mode, contents are rendered into the 1x1
window, then the UI process is notified, the redirected window is
resized to its actual size, and we force a resize to ask the web
process to render again, now at the correct size. Rendering at 1x1
and then resizing the window is what produces the flickering when
entering AC mode, but it's also inefficient, since we need to
render again after the redirected window is resized. So, this
patch adds a WillEnterAcceleratedCompositing message that is sent
to the UI process when the layer tree host is created but before
the contents have been composited and rendered. This is
implemented by the GTK+ port to prepare for entering AC mode, by
resizing the redirected window. When we actually enter AC mode,
the contents have already been rendered in the web process at the
correct size, so we can just use the redirected window surface
instead of the drawing area one, and paint in the web view without
any flickering. We no longer need the forceResize either.
When leaving accelerated compositing mode, we now clear the redirected
window resources after a short delay. This ensures that we have
already rendered the update sent in the ExitAcceleratedCompositingMode
message, but also that entering/leaving AC mode quickly doesn't
produce any redirected window resize.

* UIProcess/API/gtk/PageClientImpl.cpp:
(WebKit::PageClientImpl::willEnterAcceleratedCompositingMode):
* UIProcess/API/gtk/PageClientImpl.h:
* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseClearRedirectedWindowSoon):
(webkitWebViewBaseWillEnterAcceleratedCompositingMode):
(webkitWebViewBaseEnterAcceleratedCompositingMode):
(webkitWebViewBaseExitAcceleratedCompositingMode):
* UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
* UIProcess/CoordinatedGraphics/WebView.h:
* UIProcess/DrawingAreaProxy.h:
(WebKit::DrawingAreaProxy::willEnterAcceleratedCompositingMode):
* UIProcess/DrawingAreaProxy.messages.in:
* UIProcess/DrawingAreaProxyImpl.cpp:
(WebKit::DrawingAreaProxyImpl::willEnterAcceleratedCompositingMode):
* UIProcess/DrawingAreaProxyImpl.h:
(WebKit::DrawingAreaProxyImpl::forceResize): Deleted.
* UIProcess/PageClient.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::willEnterAcceleratedCompositingMode):
* UIProcess/WebPageProxy.h:
* UIProcess/ios/PageClientImplIOS.h:
* UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::willEnterAcceleratedCompositingMode):
* UIProcess/mac/PageClientImpl.h:
* UIProcess/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::willEnterAcceleratedCompositingMode):
* WebProcess/WebPage/DrawingAreaImpl.cpp:
(WebKit::DrawingAreaImpl::enterAcceleratedCompositingMode):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191340 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[GTK] Enable OpenWebRTC test video/audio sources in tests
philn@webkit.org [Tue, 20 Oct 2015 11:37:52 +0000 (11:37 +0000)]
[GTK] Enable OpenWebRTC test video/audio sources in tests

This is needed because we can't expect the buildbots to have
webcam/mic devices plugged in.

Rubber-stamped by Carlos Garcia Campos.

* Scripts/run-gtk-tests:
(TestRunner._setup_testing_environment):
* Scripts/webkitpy/port/gtk.py:
(GtkPort.setup_environ_for_server):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191339 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[GTK] Fix build for ENABLE_PLUGIN_PROCESS_GTK2=OFF
svillar@igalia.com [Tue, 20 Oct 2015 10:40:55 +0000 (10:40 +0000)]
[GTK] Fix build for ENABLE_PLUGIN_PROCESS_GTK2=OFF
https://bugs.webkit.org/show_bug.cgi?id=150086

Reviewed by Darin Adler.

* UIProcess/cairo/BackingStoreCairo.cpp:
(WebKit::BackingStore::createBackend):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191338 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Streams API] Update readable-stream-templated tests to latest spec
calvaris@igalia.com [Tue, 20 Oct 2015 10:07:36 +0000 (10:07 +0000)]
[Streams API] Update readable-stream-templated tests to latest spec
https://bugs.webkit.org/show_bug.cgi?id=149668

Reviewed by Darin Adler.

* streams/reference-implementation/readable-stream-expected.txt: Updated expectations.
* streams/reference-implementation/readable-stream.html: Updated tests.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191337 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoASSERTION FAILED: computeMainAxisExtentForChild(child, MainOrPreferredSize, mainSize...
svillar@igalia.com [Tue, 20 Oct 2015 09:57:23 +0000 (09:57 +0000)]
ASSERTION FAILED: computeMainAxisExtentForChild(child, MainOrPreferredSize, mainSize) in WebCore::RenderFlexibleBox::adjustChildSizeForMinAndMax
https://bugs.webkit.org/show_bug.cgi?id=149459

Reviewed by Darin Adler.

Source/WebCore:

This was regressed after 189567 where min-height|width:auto
support was added to flex items. The merge from Blink changes
was not correctly done for assertions. In particular we were
asserting if the resolved main size was not strictly greater
than 0, but 0 is actually a valid value.

Test: fast/flexbox/crash-resolved-main-size-zero.html

* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::adjustChildSizeForMinAndMax):

LayoutTests:

* fast/flexbox/crash-resolved-main-size-zero-expected.txt: Added.
* fast/flexbox/crash-resolved-main-size-zero.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191336 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Streams API] Rework some readable stream internals that can be common to writable...
calvaris@igalia.com [Tue, 20 Oct 2015 09:51:09 +0000 (09:51 +0000)]
[Streams API] Rework some readable stream internals that can be common to writable streams
https://bugs.webkit.org/show_bug.cgi?id=150133

Reviewed by Darin Adler.

Source/JavaScriptCore:

* runtime/CommonIdentifiers.h:
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init): Added RangeError also as native functions.

Source/WebCore:

There are some things in ReadableStream internals that be be used also for Writable Streams so it was necessary
to move some functions and refactor some code that can be shared by both implementations.

Queue was written with the functions declared at the implementation and keeping the improvement of having the
total size calculated instead of having to transverse the whole array.

The strategy is kept as an object and a common method is used to validate it as per spec.

Promises are reworked to keep in an internal slot inside the promise object the resolve and reject
functions. For convinience three functions were written, one to create the promise (and keep internally the
resolve and reject functions), one to resolve and another to reject. Promises can still be created with
Promise.resolve or reject as the resolve and rejectStreamsPromise functions operate under the assumption that
the internal slots might not exist.

invokeOrNoop and promiseInvokeOrNoop were moved to the common code as they will be also used by WritableStream.

Current test set suffices.

* CMakeLists.txt:
* DerivedSources.make:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSDOMWindowBase.cpp:
* bindings/js/WebCoreJSBuiltinInternals.h:
* bindings/js/WebCoreJSBuiltins.cpp:
* bindings/js/WebCoreJSBuiltins.h: Build infrastructure.
* Modules/streams/ReadableStream.js:
(initializeReadableStream): Reworked queue and strategy.
* Modules/streams/ReadableStreamInternals.js:
(privateInitializeReadableStreamReader):
(errorReadableStream):
(getReadableStreamDesiredSize):
(cancelReadableStream):
(closeReadableStream):
(closeReadableStreamReader):
(enqueueInReadableStream):
(readFromReadableStreamReader): Reworked queue, strategy and promises.
(invokeOrNoop): Deleted.
(promiseInvokeOrNoop): Deleted.
* Modules/streams/StreamInternals.js: Added.
(invokeOrNoop):
(promiseInvokeOrNoop): Moved from ReadableStreamInternals.js.
(validateAndNormalizeQueuingStrategy):
(createNewStreamsPromise):
(resolveStreamsPromise):
(rejectStreamsPromise):
(newQueue):
(dequeueValue):
(enqueueValueWithSize): Added according to the spec.
* bindings/js/WebCoreBuiltinNames.h: Updated private names according to the new slots.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191335 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoRename the PICTURE_SIZES flag to CURRENTSRC
yoav@yoav.ws [Tue, 20 Oct 2015 09:49:46 +0000 (09:49 +0000)]
Rename the PICTURE_SIZES flag to CURRENTSRC
https://bugs.webkit.org/show_bug.cgi?id=150275

Reviewed by Dean Jackson.

.:

* Source/cmake/OptionsEfl.cmake:
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsMac.cmake:
* Source/cmake/OptionsWin.cmake:
* Source/cmake/WebKitFeatures.cmake:

Source/JavaScriptCore:

* Configurations/FeatureDefines.xcconfig:

Source/WebCore:

No new tests, since there is no functional change.

* Configurations/FeatureDefines.xcconfig:
* html/HTMLImageElement.cpp:
* html/HTMLImageElement.h:
* html/HTMLImageElement.idl:

Source/WebKit/mac:

* Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

* Configurations/FeatureDefines.xcconfig:

Source/WTF:

* wtf/FeatureDefines.h:

Tools:

* Scripts/webkitperl/FeatureList.pm:

WebKitLibraries:

* win/tools/vsprops/FeatureDefines.props:
* win/tools/vsprops/FeatureDefinesCairo.props:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191334 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoERROR: Unhandled web process message 'StorageAreaMap:DispatchStorageEvent'
carlosgc@webkit.org [Tue, 20 Oct 2015 06:21:00 +0000 (06:21 +0000)]
ERROR: Unhandled web process message 'StorageAreaMap:DispatchStorageEvent'
https://bugs.webkit.org/show_bug.cgi?id=150315

Reviewed by Andreas Kling.

It was introduced in r184930, that keeps the session storage area
maps alive in the UI process when they are destroyed by the web
process. The problem is that we also keep the listeners, so that
events are also dispatched to the listeners of destroyed areas,
and the message handlers were removed in the web process.

* UIProcess/Storage/StorageManager.cpp:
(WebKit::StorageManager::createTransientLocalStorageMap): Add a
listener for the new storage map ID when the map is reused.
(WebKit::StorageManager::destroyStorageMap): Always remove
listeners of destroyed maps.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191333 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoASSERTION FAILED: m_state == Initialized in SubresourceLoader::didReceiveResponse()
carlosgc@webkit.org [Tue, 20 Oct 2015 06:18:15 +0000 (06:18 +0000)]
ASSERTION FAILED: m_state == Initialized in SubresourceLoader::didReceiveResponse()
https://bugs.webkit.org/show_bug.cgi?id=150327

Reviewed by Antti Koivisto.

This is how it happens:

1. print() is called while the document is still loading, so
   m_shouldPrintWhenFinishedLoading is set to true
2. DataURLDecoder::decode() finishes in the work queue thread,
   the completion handler is scheduled in the main thread
3. The load is cancelled
  3.1. SubresourceLoader::willCancel sets m_state = Finishing
  3.2. DOMWindow::finishedLoading() is called, and since
       m_shouldPrintWhenFinishedLoading is true, it does the print.
  3.3. Cancellation finishes and ResourceLoader::releaseResources()
       is called that sets m_reachedTerminalState = true

So, between 3.1 and 3.3, the state is Finishing, but
m_reachedTerminalState is false. What happens, in the GTK+ port at
least, is that the nested main loop used to make print()
synchronous, processes the DataURLDecoder::decode() completion
handler that was pending. The completion handler returns early if
m_reachedTerminalState is true, but it's not yet in this
particular case. So, it ends up calling didReceiveResponse,
because the decode didn't fail, when the subresource loader state
is Finishing.

I think there are two things here. One is that we shouldn't start
a print that was waiting for the load to finish when it
failed. That would fix the problem. But it's probably a good idea
to also check for cancellation in the DataURLDecoder::decode()
completion handler.

Fixes printing/print-close-crash.html in GTK+ Debug.

* loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::loadDataURL): Return early from
DataURLDecoder::decode() completion handler if the load was cancelled.
* page/DOMWindow.cpp:
(WebCore::DOMWindow::finishedLoading): Do not start a print that
was witing for the load to finish when it failed.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191332 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoFontCascade::typesettingFeatures() is not privy to font-variant-* nor font-feature...
mmaxfield@apple.com [Tue, 20 Oct 2015 04:55:27 +0000 (04:55 +0000)]
FontCascade::typesettingFeatures() is not privy to font-variant-* nor font-feature-settings
https://bugs.webkit.org/show_bug.cgi?id=149775

Reviewed by Darin Adler.

Source/WebCore:

This patch has two pieces:

We used to have a boolean, enableLigatures, which affected how we perform shaping in both our
simple and complex text codepaths. However, in this brave new world of font-feature-settings
and font-variant-*, there are many properties which may affect shaping (and multiple kinds
of ligatures). This patch renames this boolean to requiresShaping, and teaches it about all
the various properties which affect text shaping.

Similarly, one of the places which used this enableLigatures boolean was to tell CoreText
if it should disable ligatures. However, we now have much finer-grained control over
ligatures during font creation. This patch moves the responsibility of dictating which
font features should be enabled entirely to the Font. Therefore, getCFStringAttributes()
doesn't know anything about ligatures anymore; the logic inside font creation is used
instead.

An added benefit of moving all the font feature logic to one place is that we can implement
the feature resolution algorithm described in the CSS3 fonts spec. This patch adds a test to
makes sure that text-rendering, font-feature-settings, and font-variant-* play together
nicely.

Test: fast/text/multiple-feature-properties.html

* platform/graphics/Font.cpp:
(WebCore::Font::applyTransforms):
* platform/graphics/Font.h:
* platform/graphics/FontCascade.cpp:
(WebCore::FontCascade::FontCascade):
(WebCore::FontCascade::operator=):
(WebCore::FontCascade::update):
(WebCore::FontCascade::drawText):
(WebCore::FontCascade::drawEmphasisMarks):
(WebCore::FontCascade::width):
(WebCore::FontCascade::adjustSelectionRectForText):
(WebCore::FontCascade::offsetForPosition):
(WebCore::FontCascade::codePath):
(WebCore::FontCascade::floatWidthForSimpleText):
* platform/graphics/FontCascade.h:
(WebCore::FontCascade::requiresShaping):
(WebCore::FontCascade::computeRequiresShaping):
(WebCore::FontCascade::enableLigatures): Deleted.
(WebCore::FontCascade::computeEnableLigatures): Deleted.
* platform/graphics/WidthIterator.cpp:
(WebCore::WidthIterator::WidthIterator):
(WebCore::WidthIterator::applyFontTransforms):
* platform/graphics/WidthIterator.h:
* platform/graphics/cocoa/FontCacheCoreText.cpp:
(WebCore::preparePlatformFont):
* platform/graphics/cocoa/FontCocoa.mm:
(WebCore::Font::canRenderCombiningCharacterSequence):
* platform/graphics/mac/ComplexTextControllerCoreText.mm:
(WebCore::ComplexTextController::collectComplexTextRunsForCharacters):
* platform/graphics/mac/SimpleFontDataCoreText.cpp:
(WebCore::Font::getCFStringAttributes):
* svg/SVGFontData.h:

LayoutTests:

* fast/text/multiple-feature-properties-expected.html: Added.
* fast/text/multiple-feature-properties.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191331 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoShadow GraphicsContext's ImageInterpolationQuality inside GraphicsContextState
mmaxfield@apple.com [Tue, 20 Oct 2015 04:22:59 +0000 (04:22 +0000)]
Shadow GraphicsContext's ImageInterpolationQuality inside GraphicsContextState
https://bugs.webkit.org/show_bug.cgi?id=150306

Reviewed by Simon Fraser.

When getting the ImageInterpolationQuality, there is no need to round-trip through
the platform's graphics context. This patch migrates this piece of state to the
existing idiom of having a setter in GraphicsContext.cpp which sets the relevent
state in GraphicsContextState and then calls into a platform-specific setter.

No new tests because there is no behavior change.

* platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::setImageInterpolationQuality):
* platform/graphics/GraphicsContext.h:
(WebCore::GraphicsContext::imageInterpolationQuality):
* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::setPlatformImageInterpolationQuality):
(WebCore::GraphicsContext::setImageInterpolationQuality): Deleted.
(WebCore::GraphicsContext::imageInterpolationQuality): Deleted.
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::convertInterpolationQuality):
(WebCore::GraphicsContext::platformInit):
(WebCore::GraphicsContext::setPlatformImageInterpolationQuality):
(WebCore::GraphicsContext::setImageInterpolationQuality): Deleted.
(WebCore::GraphicsContext::imageInterpolationQuality): Deleted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191330 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoDrop unnecessary Node::toInputElement() virtual function
cdumez@apple.com [Tue, 20 Oct 2015 03:29:34 +0000 (03:29 +0000)]
Drop unnecessary Node::toInputElement() virtual function
https://bugs.webkit.org/show_bug.cgi?id=150341

Reviewed by Darin Adler.

Drop unnecessary Node::toInputElement() virtual function and use the
usual is<HTMLInputElement>() / downcast< HTMLInputElement >() instead.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191327 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed, rolling out r191324.
commit-queue@webkit.org [Tue, 20 Oct 2015 02:43:59 +0000 (02:43 +0000)]
Unreviewed, rolling out r191324.
https://bugs.webkit.org/show_bug.cgi?id=150352

Shadowing CTM's state is not necessary (Requested by litherum
on #webkit).

Reverted changeset:

"Host GraphicsContext's CTM inside GraphicsContextState"
https://bugs.webkit.org/show_bug.cgi?id=150146
http://trac.webkit.org/changeset/191324

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191326 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed, add myself to the committers list.
hs85.jeong@samsung.com [Tue, 20 Oct 2015 02:23:44 +0000 (02:23 +0000)]
Unreviewed, add myself to the committers list.

* Scripts/webkitpy/common/config/contributors.json:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191325 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoHost GraphicsContext's CTM inside GraphicsContextState
mmaxfield@apple.com [Tue, 20 Oct 2015 00:36:03 +0000 (00:36 +0000)]
Host GraphicsContext's CTM inside GraphicsContextState
https://bugs.webkit.org/show_bug.cgi?id=150146

There are 6 operations which interact with CTMs:
- Get
- Set
- Concatenate
- Scale
- Rotate
- Translate

This patch modifies all these operations so that these operations shadow the
platform's CTM inside GraphicsContextState. This way, we don't have to consult
with the underlying graphics context in order to know the current CTM.

There are currently many places in the Core Graphics ports where we will change
the platform's CTM out from under the GraphicsContext. This patch migrates
those users to going through GraphicsContext, thereby preserving the integrity
of the shadowed state.

No new tests because there is no behavior change.

* platform/graphics/GraphicsContext.cpp: Setters deletate to platform calls.
The getter can just consult with the shadowed state.
(WebCore::GraphicsContext::concatCTM):
(WebCore::GraphicsContext::scale):
(WebCore::GraphicsContext::rotate):
(WebCore::GraphicsContext::translate):
(WebCore::GraphicsContext::setCTM):
(WebCore::GraphicsContext::getCTM):
(WebCore::GraphicsContext::beginTransparencyLayer):
(WebCore::GraphicsContext::applyDeviceScaleFactor):
* platform/graphics/GraphicsContext.h:
(WebCore::GraphicsContext::scale):
(WebCore::GraphicsContext::checkCTMInvariants): Make sure the shadowed state
matches the platform graphics context's state.
* platform/graphics/Image.h:
(WebCore::Image::nativeImageForCurrentFrame):
* platform/graphics/cairo/GraphicsContextCairo.cpp: Renaming functions.
(WebCore::GraphicsContext::resetPlatformCTM):
(WebCore::GraphicsContext::getPlatformCTM):
(WebCore::GraphicsContext::translatePlatformCTM):
(WebCore::GraphicsContext::concatPlatformCTM):
(WebCore::GraphicsContext::setPlatformCTM):
(WebCore::GraphicsContext::rotatePlatformCTM):
(WebCore::GraphicsContext::scalePlatformCTM):
(WebCore::GraphicsContext::getCTM): Deleted.
(WebCore::GraphicsContext::translate): Deleted.
(WebCore::GraphicsContext::concatCTM): Deleted.
(WebCore::GraphicsContext::setCTM): Deleted.
(WebCore::GraphicsContext::rotate): Deleted.
(WebCore::GraphicsContext::scale): Deleted.
* platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
Renaming functions.
(WebCore::GraphicsContextPlatformPrivate::save):
(WebCore::GraphicsContextPlatformPrivate::restore):
(WebCore::GraphicsContextPlatformPrivate::flush):
(WebCore::GraphicsContextPlatformPrivate::clip):
(WebCore::GraphicsContextPlatformPrivate::scalePlatformCTM):
(WebCore::GraphicsContextPlatformPrivate::rotatePlatformCTM):
(WebCore::GraphicsContextPlatformPrivate::translatePlatformCTM):
(WebCore::GraphicsContextPlatformPrivate::concatPlatformCTM):
(WebCore::GraphicsContextPlatformPrivate::setPlatformCTM):
(WebCore::GraphicsContextPlatformPrivate::scale): Deleted.
(WebCore::GraphicsContextPlatformPrivate::rotate): Deleted.
(WebCore::GraphicsContextPlatformPrivate::translate): Deleted.
(WebCore::GraphicsContextPlatformPrivate::concatCTM): Deleted.
(WebCore::GraphicsContextPlatformPrivate::setCTM): Deleted.
* platform/graphics/cg/GraphicsContextCG.cpp: Renaming functions. Also,
migrate CTM setters to go through GraphicsContext.
(WebCore::GraphicsContext::resetPlatformCTM):
(WebCore::GraphicsContext::platformInit):
(WebCore::GraphicsContext::drawNativeImage):
(WebCore::GraphicsContext::drawPattern):
(WebCore::GraphicsContext::fillPath):
(WebCore::GraphicsContext::scalePlatformCTM):
(WebCore::GraphicsContext::rotatePlatformCTM):
(WebCore::GraphicsContext::translatePlatformCTM):
(WebCore::GraphicsContext::concatPlatformCTM):
(WebCore::GraphicsContext::setPlatformCTM):
(WebCore::GraphicsContext::getPlatformCTM):
(WebCore::GraphicsContext::scale): Deleted.
(WebCore::GraphicsContext::rotate): Deleted.
(WebCore::GraphicsContext::translate): Deleted.
(WebCore::GraphicsContext::concatCTM): Deleted.
(WebCore::GraphicsContext::setCTM): Deleted.
(WebCore::GraphicsContext::getCTM): Deleted.
* platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
(WebCore::GraphicsContextPlatformPrivate::save):
(WebCore::GraphicsContextPlatformPrivate::restore):
(WebCore::GraphicsContextPlatformPrivate::flush):
(WebCore::GraphicsContextPlatformPrivate::clip):
(WebCore::GraphicsContextPlatformPrivate::scalePlatformCTM):
(WebCore::GraphicsContextPlatformPrivate::rotatePlatformCTM):
(WebCore::GraphicsContextPlatformPrivate::translatePlatformCTM):
(WebCore::GraphicsContextPlatformPrivate::concatPlatformCTM):
(WebCore::GraphicsContextPlatformPrivate::setPlatformCTM):
(WebCore::GraphicsContextPlatformPrivate::scale): Deleted.
(WebCore::GraphicsContextPlatformPrivate::rotate): Deleted.
(WebCore::GraphicsContextPlatformPrivate::translate): Deleted.
(WebCore::GraphicsContextPlatformPrivate::concatCTM): Deleted.
(WebCore::GraphicsContextPlatformPrivate::setCTM): Deleted.
* platform/graphics/transforms/AffineTransform.h:
(WebCore::AffineTransform::isEssentiallyEqualTo): Equality comparison on floats
is not a good idea. Instead, this function is more valuable. (However, note that
it is expected for values in a CTM to hold values close to 0, which means that
this function might erroneously return false (similar to operator=()).
* platform/graphics/win/GraphicsContextWin.cpp:
(WebCore::GraphicsContextPlatformPrivate::scalePlatformCTM):
(WebCore::GraphicsContextPlatformPrivate::rotatePlatformCTM):
(WebCore::GraphicsContextPlatformPrivate::translatePlatformCTM):
(WebCore::GraphicsContextPlatformPrivate::concatPlatformCTM):
(WebCore::GraphicsContextPlatformPrivate::setPlatformCTM):
(WebCore::GraphicsContextPlatformPrivate::scale): Deleted.
(WebCore::GraphicsContextPlatformPrivate::rotate): Deleted.
(WebCore::GraphicsContextPlatformPrivate::translate): Deleted.
(WebCore::GraphicsContextPlatformPrivate::concatCTM): Deleted.
(WebCore::GraphicsContextPlatformPrivate::setCTM): Deleted.
* platform/mac/DragImageMac.mm:
(WebCore::drawAtPoint):
* platform/spi/cg/CoreGraphicsSPI.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191324 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoRemove unused support for long presses from WebKit
timothy_horton@apple.com [Tue, 20 Oct 2015 00:17:17 +0000 (00:17 +0000)]
Remove unused support for long presses from WebKit
https://bugs.webkit.org/show_bug.cgi?id=150345

Reviewed by Beth Dakin.

* Shared/WebPreferencesDefinitions.h:
* UIProcess/API/APIUIClient.h:
(API::UIClient::didBeginTrackingPotentialLongMousePress): Deleted.
(API::UIClient::didRecognizeLongMousePress): Deleted.
(API::UIClient::didCancelTrackingPotentialLongMousePress): Deleted.
* UIProcess/API/C/WKPage.cpp:
(WKPageSetPageUIClient): Deleted.
* UIProcess/API/C/WKPageUIClient.h:
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesGetLongMousePressEnabled):
(WKPreferencesSetLongMousePressEnabled): Deleted.
* UIProcess/API/C/WKPreferencesRefPrivate.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didBeginTrackingPotentialLongMousePress): Deleted.
(WebKit::WebPageProxy::didRecognizeLongMousePress): Deleted.
(WebKit::WebPageProxy::didCancelTrackingPotentialLongMousePress): Deleted.
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* WebProcess/InjectedBundle/API/APIInjectedBundlePageUIClient.h:
(API::InjectedBundle::PageUIClient::didBeginTrackingPotentialLongMousePress): Deleted.
(API::InjectedBundle::PageUIClient::didRecognizeLongMousePress): Deleted.
(API::InjectedBundle::PageUIClient::didCancelTrackingPotentialLongMousePress): Deleted.
* WebProcess/InjectedBundle/API/c/WKBundlePageUIClient.h:
* WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
(WebKit::InjectedBundlePageUIClient::didBeginTrackingPotentialLongMousePress): Deleted.
(WebKit::InjectedBundlePageUIClient::didRecognizeLongMousePress): Deleted.
(WebKit::InjectedBundlePageUIClient::didCancelTrackingPotentialLongMousePress): Deleted.
* WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::didBeginTrackingPotentialLongMousePress): Deleted.
(WebKit::WebChromeClient::didRecognizeLongMousePress): Deleted.
(WebKit::WebChromeClient::didCancelTrackingPotentialLongMousePress): Deleted.
* WebProcess/WebCoreSupport/WebChromeClient.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences): Deleted.

* page/Chrome.cpp:
(WebCore::Chrome::didBeginTrackingPotentialLongMousePress): Deleted.
(WebCore::Chrome::didRecognizeLongMousePress): Deleted.
(WebCore::Chrome::didCancelTrackingPotentialLongMousePress): Deleted.
* page/Chrome.h:
* page/ChromeClient.h:
* page/EventHandler.cpp:
(WebCore::EventHandler::EventHandler): Deleted.
(WebCore::EventHandler::clear): Deleted.
(WebCore::EventHandler::handleMousePressEvent): Deleted.
(WebCore::EventHandler::eventMayStartDrag): Deleted.
(WebCore::EventHandler::handleMouseReleaseEvent): Deleted.
(WebCore::EventHandler::beginTrackingPotentialLongMousePress): Deleted.
(WebCore::EventHandler::recognizeLongMousePress): Deleted.
(WebCore::EventHandler::cancelTrackingPotentialLongMousePress): Deleted.
(WebCore::EventHandler::clearLongMousePressState): Deleted.
(WebCore::EventHandler::handleLongMousePressMouseMovedEvent): Deleted.
(WebCore::EventHandler::handleMouseMoveEvent): Deleted.
(WebCore::EventHandler::handleDrag): Deleted.
* page/EventHandler.h:
* page/Settings.in:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191323 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoDon't dump GestureEvent constructor attributes for now
timothy_horton@apple.com [Tue, 20 Oct 2015 00:05:27 +0000 (00:05 +0000)]
Don't dump GestureEvent constructor attributes for now

Rubber-stamped by Alexey Proskuryakov.

* js/dom/script-tests/global-constructors-attributes.js:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191322 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoMake sure development Safari does not delete the stable Safari cache storage.
cdumez@apple.com [Tue, 20 Oct 2015 00:01:39 +0000 (00:01 +0000)]
Make sure development Safari does not delete the stable Safari cache storage.
https://bugs.webkit.org/show_bug.cgi?id=150343

Reviewed by Antti Koivisto.

Make sure development Safari does not delete the stable Safari disk cache
storage. Development Safari now uses Version 5, while the last stable
Safari uses Version 4. Since the 2 versions can co-exist, it is best not
to drop the old cache version (4) at this point.

* NetworkProcess/cache/NetworkCacheStorage.cpp:
(WebKit::NetworkCache::Storage::deleteOldVersions):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191321 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoWKView being inside WKWebView leads to weird API issues
timothy_horton@apple.com [Mon, 19 Oct 2015 22:32:59 +0000 (22:32 +0000)]
WKView being inside WKWebView leads to weird API issues
https://bugs.webkit.org/show_bug.cgi?id=150174

Reviewed by Darin Adler.

No new tests, just moving code around.

* WebCore.xcodeproj/project.pbxproj:
* platform/spi/mac/NSWindowSPI.h: Added.

* UIProcess/API/mac/WKView.mm:
* UIProcess/API/mac/WKViewInternal.h:
* UIProcess/Cocoa/WebViewImpl.h: Added.
* UIProcess/Cocoa/WebViewImpl.mm: Added.
(WebKit::WebViewImpl::WebViewImpl):
(WebKit::WebViewImpl::~WebViewImpl):
(WebKit::WebViewImpl::setDrawsBackground):
(WebKit::WebViewImpl::drawsBackground):
(WebKit::WebViewImpl::setDrawsTransparentBackground):
(WebKit::WebViewImpl::drawsTransparentBackground):
(WebKit::WebViewImpl::acceptsFirstResponder):
(WebKit::WebViewImpl::becomeFirstResponder):
(WebKit::WebViewImpl::resignFirstResponder):
(WebKit::WebViewImpl::isFocused):
(WebKit::WebViewImpl::viewWillStartLiveResize):
(WebKit::WebViewImpl::viewDidEndLiveResize):
(WebKit::WebViewImpl::setFrameSize):
(WebKit::WebViewImpl::disableFrameSizeUpdates):
(WebKit::WebViewImpl::enableFrameSizeUpdates):
(WebKit::WebViewImpl::frameSizeUpdatesDisabled):
(WebKit::WebViewImpl::setFrameAndScrollBy):
(WebKit::WebViewImpl::setFixedLayoutSize):
(WebKit::WebViewImpl::fixedLayoutSize):
(WebKit::WebViewImpl::setDrawingAreaSize):
(WebKit::WebViewImpl::setContentPreparationRect):
(WebKit::WebViewImpl::updateViewExposedRect):
(WebKit::WebViewImpl::setClipsToVisibleRect):
(WebKit::WebViewImpl::setIntrinsicContentSize):
(WebKit::WebViewImpl::intrinsicContentSize):
(WebKit::WebViewImpl::setViewScale):
(WebKit::WebViewImpl::viewScale):
(WebKit::WebViewImpl::layoutMode):
(WebKit::WebViewImpl::setLayoutMode):
(WebKit::WebViewImpl::supportsArbitraryLayoutModes):
(WebKit::WebViewImpl::updateSupportsArbitraryLayoutModes):
(WebKit::WebViewImpl::updateSecureInputState):
(WebKit::WebViewImpl::resetSecureInputState):
(WebKit::WebViewImpl::notifyInputContextAboutDiscardedComposition):
(WebKit::WebViewImpl::hasFullScreenWindowController):
(WebKit::WebViewImpl::fullScreenWindowController):
(WebKit::WebViewImpl::closeFullScreenWindowController):
(WebKit::WebViewImpl::fullScreenPlaceholderView):
(WebKit::WebViewImpl::createFullScreenWindow):
Move the actual implementation of a number of WKView methods into a
C++ class, WebViewImpl, which WKView calls directly into.
Eventually, we will move all of the logic of WKView into WebViewImpl,
and then duplicate the necessary forwarding in WKWebView and remove
WKWebView's inner WKView.

* UIProcess/mac/PageClientImpl.h:
* UIProcess/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::isViewFocused):
(WebKit::PageClientImpl::didCommitLoadForMainFrame):
(WebKit::PageClientImpl::updateSecureInputState):
(WebKit::PageClientImpl::resetSecureInputState):
(WebKit::PageClientImpl::notifyInputContextAboutDiscardedComposition):
(WebKit::PageClientImpl::beganEnterFullScreen):
(WebKit::PageClientImpl::beganExitFullScreen):
For now, forward PageClient requests that can be answered by WebViewImpl
to WebViewImpl. Eventually, we'll probably fold PageClientImpl and WebViewImpl
together into one class, and these things will collapse down.

* UIProcess/mac/WKFullScreenWindowController.h:
* UIProcess/mac/WKFullScreenWindowController.mm:
(-[WKFullScreenWindowController initWithWindow:webView:page:]):
(-[WKFullScreenWindowController enterFullScreen:]):
(-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]):
(-[WKFullScreenWindowController exitFullScreen]):
(-[WKFullScreenWindowController finishedExitFullScreenAnimation:]):
(-[WKFullScreenWindowController completeFinishExitFullScreenAnimationAfterRepaint]):
(-[WKFullScreenWindowController _manager]):
(-[WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]):
(-[WKFullScreenWindowController _startExitFullScreenAnimationWithDuration:]):
(-[WKFullScreenWindowController initWithWindow:webView:]): Deleted.
(-[WKFullScreenWindowController _page]): Deleted.
* UIProcess/mac/WKViewLayoutStrategy.h:
* UIProcess/mac/WKViewLayoutStrategy.mm:
(+[WKViewLayoutStrategy layoutStrategyWithPage:view:viewImpl:mode:]):
(-[WKViewLayoutStrategy initWithPage:view:viewImpl:mode:]):
(-[WKViewLayoutStrategy invalidate]):
(-[WKViewLayoutStrategy didChangeFrameSize]):
(-[WKViewViewSizeLayoutStrategy initWithPage:view:viewImpl:mode:]):
(-[WKViewFixedSizeLayoutStrategy initWithPage:view:viewImpl:mode:]):
(-[WKViewDynamicSizeComputedFromViewScaleLayoutStrategy initWithPage:view:viewImpl:mode:]):
(-[WKViewDynamicSizeComputedFromViewScaleLayoutStrategy updateLayout]):
(-[WKViewDynamicSizeComputedFromViewScaleLayoutStrategy didChangeFrameSize]):
(-[WKViewDynamicSizeComputedFromMinimumDocumentSizeLayoutStrategy initWithPage:view:viewImpl:mode:]):
(+[WKViewLayoutStrategy layoutStrategyWithPage:view:mode:]): Deleted.
(-[WKViewLayoutStrategy initWithPage:view:mode:]): Deleted.
(-[WKViewLayoutStrategy willDestroyView:]): Deleted.
(-[WKViewViewSizeLayoutStrategy initWithPage:view:mode:]): Deleted.
(-[WKViewFixedSizeLayoutStrategy initWithPage:view:mode:]): Deleted.
(-[WKViewDynamicSizeComputedFromViewScaleLayoutStrategy initWithPage:view:mode:]): Deleted.
(-[WKViewDynamicSizeComputedFromMinimumDocumentSizeLayoutStrategy initWithPage:view:mode:]): Deleted.
Make WKViewLayoutStrategy and WKFullScreenWindowController operate in terms of generic
NSViews instead of WKView, so that eventually they will be able to work for either
WKView or WKWebView, and so that they can sit underneath WebViewImpl.

* WebKit2.xcodeproj/project.pbxproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191320 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoRestore an assertion to the way it was before r191310, which was correct.
simon.fraser@apple.com [Mon, 19 Oct 2015 22:20:45 +0000 (22:20 +0000)]
Restore an assertion to the way it was before r191310, which was correct.

* platform/graphics/GraphicsTypes.cpp:
(WebCore::compositeOperatorName):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191319 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoBuild fix.
bdakin@apple.com [Mon, 19 Oct 2015 21:39:31 +0000 (21:39 +0000)]
Build fix.

Source/WebCore:

* dom/EventNames.in:
* dom/make_event_factory.pl:
(generateImplementation):

Source/WTF:

* wtf/FeatureDefines.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191318 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoFix the binding generator after r191176
ossy@webkit.org [Mon, 19 Oct 2015 21:21:44 +0000 (21:21 +0000)]
Fix the binding generator after r191176
https://bugs.webkit.org/show_bug.cgi?id=150320

Reviewed by Darin Adler.

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateConstructorHelperMethods):
* bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::JSTestInterfaceConstructor::getConstructData):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191316 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed, rolling out r191307.
commit-queue@webkit.org [Mon, 19 Oct 2015 20:39:47 +0000 (20:39 +0000)]
Unreviewed, rolling out r191307.
https://bugs.webkit.org/show_bug.cgi?id=150338

broke lots of API tests, need time to figure out whats up
(Requested by thorton on #webkit).

Reverted changeset:

"WKView being inside WKWebView leads to weird API issues"
https://bugs.webkit.org/show_bug.cgi?id=150174
http://trac.webkit.org/changeset/191307

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191315 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed, rolling out r191295, r191297, and r191301.
commit-queue@webkit.org [Mon, 19 Oct 2015 20:32:30 +0000 (20:32 +0000)]
Unreviewed, rolling out r191295, r191297, and r191301.
https://bugs.webkit.org/show_bug.cgi?id=150337

ASSERTs in 5 tests (Requested by litherum on #webkit).

Reverted changesets:

"Host GraphicsContext's CTM inside GraphicsContextState"
https://bugs.webkit.org/show_bug.cgi?id=150146
http://trac.webkit.org/changeset/191295

"[iOS] Build fix after r191295"
http://trac.webkit.org/changeset/191297

"Unreviewed build fix after r191295."
http://trac.webkit.org/changeset/191301

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191314 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoFTL should generate a unique OSR exit for each duplicated OSR exit stackmap intrinsic.
sbarati@apple.com [Mon, 19 Oct 2015 20:29:45 +0000 (20:29 +0000)]
FTL should generate a unique OSR exit for each duplicated OSR exit stackmap intrinsic.
https://bugs.webkit.org/show_bug.cgi?id=149970

Reviewed by Filip Pizlo.

When we lower DFG to LLVM, we generate a stackmap intrnsic for OSR
exits. We also recorded the OSR exit inside FTL::JITCode during lowering.
This stackmap intrinsic may be duplicated or even removed by LLVM.
When the stackmap intrinsic is duplicated, we used to generate just
a single OSR exit data structure. Then, when we compiled an OSR exit, we
would look for the first record in the record list that had the same stackmap ID
as what the OSR exit data structure had. We did this even when the OSR exit
stackmap intrinsic was duplicated. This would lead us to grab the wrong FTL::StackMaps::Record.

Now, each OSR exit knows exactly which FTL::StackMaps::Record it corresponds to.
We accomplish this by having an OSRExitDescriptor that is recorded during
lowering. Each descriptor may be referenced my zero, one, or more OSRExits.
Now, no more than one stackmap intrinsic corresponds to the same index inside
JITCode's OSRExit Vector. Also, each OSRExit jump now jumps to a code location.

* ftl/FTLCompile.cpp:
(JSC::FTL::mmAllocateDataSection):
* ftl/FTLJITCode.cpp:
(JSC::FTL::JITCode::validateReferences):
(JSC::FTL::JITCode::liveRegistersToPreserveAtExceptionHandlingCallSite):
* ftl/FTLJITCode.h:
* ftl/FTLJITFinalizer.cpp:
(JSC::FTL::JITFinalizer::finalizeFunction):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::DFG::LowerDFGToLLVM::compileInvalidationPoint):
(JSC::FTL::DFG::LowerDFGToLLVM::compileIsUndefined):
(JSC::FTL::DFG::LowerDFGToLLVM::appendOSRExit):
(JSC::FTL::DFG::LowerDFGToLLVM::emitOSRExitCall):
(JSC::FTL::DFG::LowerDFGToLLVM::buildExitArguments):
(JSC::FTL::DFG::LowerDFGToLLVM::callStackmap):
* ftl/FTLOSRExit.cpp:
(JSC::FTL::OSRExitDescriptor::OSRExitDescriptor):
(JSC::FTL::OSRExitDescriptor::validateReferences):
(JSC::FTL::OSRExit::OSRExit):
(JSC::FTL::OSRExit::codeLocationForRepatch):
(JSC::FTL::OSRExit::validateReferences): Deleted.
* ftl/FTLOSRExit.h:
(JSC::FTL::OSRExit::considerAddingAsFrequentExitSite):
* ftl/FTLOSRExitCompilationInfo.h:
(JSC::FTL::OSRExitCompilationInfo::OSRExitCompilationInfo):
* ftl/FTLOSRExitCompiler.cpp:
(JSC::FTL::compileStub):
(JSC::FTL::compileFTLOSRExit):
* ftl/FTLStackMaps.cpp:
(JSC::FTL::StackMaps::computeRecordMap):
* ftl/FTLStackMaps.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191313 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnify handling of JavaScriptCore scripts that are used in WebCore
bburg@apple.com [Mon, 19 Oct 2015 20:18:43 +0000 (20:18 +0000)]
Unify handling of JavaScriptCore scripts that are used in WebCore
https://bugs.webkit.org/show_bug.cgi?id=150245

Reviewed by Alex Christensen.

Source/JavaScriptCore:

Move all standalone JavaScriptCore scripts that are used by WebCore into the
JavaScriptCore/Scripts directory. Use JavaScriptCore_SCRIPTS_DIR to refer
to the path for these scripts.

* DerivedSources.make:

    Define and use JavaScriptCore_SCRIPTS_DIR.

* JavaScriptCore.xcodeproj/project.pbxproj:

    Make a new group in the Xcode project and clean up references.

* PlatformWin.cmake:

    For Windows, copy these scripts over to ForwardingHeaders/Scripts since they
    cannot be used directly from JAVASCRIPTCORE_DIR in AppleWin builds. Do the same
    thing for both Windows variants to be consistent about it.

* Scripts/cssmin.py: Renamed from Source/JavaScriptCore/inspector/scripts/cssmin.py.
* Scripts/generate-combined-inspector-json.py: Renamed from Source/JavaScriptCore/inspector/scripts/generate-combined-inspector-json.py.
* Scripts/generate-js-builtins: Renamed from Source/JavaScriptCore/generate-js-builtins.
* Scripts/inline-and-minify-stylesheets-and-scripts.py: Renamed from Source/JavaScriptCore/inspector/scripts/inline-and-minify-stylesheets-and-scripts.py.
* Scripts/jsmin.py: Renamed from Source/JavaScriptCore/inspector/scripts/jsmin.py.
* Scripts/xxd.pl: Renamed from Source/JavaScriptCore/inspector/scripts/xxd.pl.

Source/WebCore:

Use the new JavaScriptCore_SCRIPTS_DIR variable.

* CMakeLists.txt:
* DerivedSources.make:
* WebCore.xcodeproj/project.pbxproj:

    No need to export other variables like InspectorScripts anymore.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191312 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoTry again to fix the 32-bit build.
timothy_horton@apple.com [Mon, 19 Oct 2015 20:07:50 +0000 (20:07 +0000)]
Try again to fix the 32-bit build.

* UIProcess/mac/WebContextMenuProxyMac.mm:
(WebKit::WebContextMenuProxyMac::setupServicesMenu):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191311 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAdd TextStream formatters for FillLayer and all it entails
simon.fraser@apple.com [Mon, 19 Oct 2015 20:07:37 +0000 (20:07 +0000)]
Add TextStream formatters for FillLayer and all it entails
https://bugs.webkit.org/show_bug.cgi?id=150312

Reviewed by Tim Horton.

Add TextStream output formatters for FillLayer, and all the enum
types used by it.

Drive-by fixes for CompositeOperator and BlendMode string conversions.
compositeOperatorNames was missing the "difference" string, and compositeOperatorName()
would do an OOB memory access if blendOp was zero.

* CMakeLists.txt:
* WebCore.xcodeproj/project.pbxproj:
* platform/Length.cpp:
(WebCore::operator<<):
* platform/Length.h:
* platform/LengthSize.cpp: Added.
(WebCore::operator<<):
* platform/LengthSize.h:
* platform/text/TextStream.h:
* rendering/style/FillLayer.cpp:
(WebCore::operator<<):
* rendering/style/FillLayer.h:
* rendering/style/RenderStyleConstants.cpp: Added.
(WebCore::operator<<):
* rendering/style/RenderStyleConstants.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191310 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoExtend fast-clicking behavior to trigger on elements that have negligible zoom
wenson_hsieh@apple.com [Mon, 19 Oct 2015 19:53:45 +0000 (19:53 +0000)]
Extend fast-clicking behavior to trigger on elements that have negligible zoom
https://bugs.webkit.org/show_bug.cgi?id=150248
<rdar://problem/23140069>

Reviewed by Simon Fraser.

Currently, fast-clicking only triggers on pages that have unscalable viewports. To allow more websites to benefit from fast-clicking
behavior, we generalize fast-clicking to also occur when tapping on elements for which double-tap-to-zoom would zoom the element in
or out by an insignificant amount. We define an insignificant amount of zoom to mean that zooming would increase the viewport scale
by less than a configurable threshold, or decrease the viewport scale by more than a configurable threshold. We accomplish this by
temporarily disabling the double tap gesture recognizer for the duration of the tap. This patch refactors some logic used to compute
zoomed viewports to make it possible to predict the change in viewport scale when double tapping to zoom. See the changes in
SmartMagnificationController and ViewGestureGeometryCollector for more details.

There are no new tests, since this patch does not change existing behavior. Instead, this patch adds the machinery needed for zoom-
dependent fast-clicking: by setting the preferences WebKitFastClickingEnabled and WebKitFastClickZoomThreshold, we will be able to tweak
the behavior dynamically.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _didCommitLayerTree:]):
(-[WKWebView _contentZoomScale]):
(-[WKWebView _targetContentZoomScaleForRect:currentScale:fitEntireRect:minimumScale:maximumScale:]):
(-[WKWebView _zoomToRect:withOrigin:fitEntireRect:minimumScale:maximumScale:minimumScrollDistance:]):
(-[WKWebView _viewportIsUserScalable]):
* UIProcess/API/Cocoa/WKWebViewInternal.h:
* UIProcess/API/Cocoa/WKWebViewPrivate.h:
* UIProcess/PageClient.h:
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* UIProcess/ios/PageClientImplIOS.h:
* UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::disableDoubleTapGesturesUntilTapIsFinishedIfNecessary):
* UIProcess/ios/SmartMagnificationController.h:
* UIProcess/ios/SmartMagnificationController.mm:
(WebKit::SmartMagnificationController::adjustSmartMagnificationTargetRectAndZoomScales):
(WebKit::SmartMagnificationController::didCollectGeometryForSmartMagnificationGesture):
(WebKit::SmartMagnificationController::magnify):
* UIProcess/ios/WKContentViewInteraction.h:
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _didGetTapHighlightForRequest:color:quads:topLeftRadius:topRightRadius:bottomLeftRadius:bottomRightRadius:]):
(-[WKContentView _fastClickZoomThreshold]):
(-[WKContentView _allowDoubleTapToZoomForCurrentZoomScale:andTargetZoomScale:]):
(-[WKContentView _disableDoubleTapGesturesUntilTapIsFinishedIfNecessary:allowsDoubleTapZoom:targetRect:isReplaced:minimumScale:maximumScale:]):
(-[WKContentView _highlightLongPressRecognized:]):
(-[WKContentView _endPotentialTapAndEnableDoubleTapGesturesIfNecessary]):
(-[WKContentView _singleTapRecognized:]):
(cancelPotentialTapIfNecessary):
(-[WKContentView _singleTapCommited:]):
(-[WKContentView webSelectionRects]): Deleted.
* UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::disableDoubleTapGesturesUntilTapIsFinishedIfNecessary):
* WebProcess/WebPage/ViewGestureGeometryCollector.cpp:
(WebKit::ViewGestureGeometryCollector::collectGeometryForSmartMagnificationGesture):
(WebKit::ViewGestureGeometryCollector::computeZoomInformationForNode):
* WebProcess/WebPage/ViewGestureGeometryCollector.h:
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::potentialTapAtPosition):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191309 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAdd new EWS queues to bot watcher's dashboard
ap@apple.com [Mon, 19 Oct 2015 19:37:48 +0000 (19:37 +0000)]
Add new EWS queues to bot watcher's dashboard
https://bugs.webkit.org/show_bug.cgi?id=150297

Reviewed by Darin Adler.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js:
(BubbleQueueServer):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191308 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoWKView being inside WKWebView leads to weird API issues
timothy_horton@apple.com [Mon, 19 Oct 2015 19:23:57 +0000 (19:23 +0000)]
WKView being inside WKWebView leads to weird API issues
https://bugs.webkit.org/show_bug.cgi?id=150174

Reviewed by Darin Adler.

No new tests, just moving code around.

* WebCore.xcodeproj/project.pbxproj:
* platform/spi/mac/NSWindowSPI.h: Added.

* UIProcess/API/mac/WKView.mm:
* UIProcess/API/mac/WKViewInternal.h:
* UIProcess/Cocoa/WebViewImpl.h: Added.
* UIProcess/Cocoa/WebViewImpl.mm: Added.
(WebKit::WebViewImpl::WebViewImpl):
(WebKit::WebViewImpl::~WebViewImpl):
(WebKit::WebViewImpl::setDrawsBackground):
(WebKit::WebViewImpl::drawsBackground):
(WebKit::WebViewImpl::setDrawsTransparentBackground):
(WebKit::WebViewImpl::drawsTransparentBackground):
(WebKit::WebViewImpl::acceptsFirstResponder):
(WebKit::WebViewImpl::becomeFirstResponder):
(WebKit::WebViewImpl::resignFirstResponder):
(WebKit::WebViewImpl::isFocused):
(WebKit::WebViewImpl::viewWillStartLiveResize):
(WebKit::WebViewImpl::viewDidEndLiveResize):
(WebKit::WebViewImpl::setFrameSize):
(WebKit::WebViewImpl::disableFrameSizeUpdates):
(WebKit::WebViewImpl::enableFrameSizeUpdates):
(WebKit::WebViewImpl::frameSizeUpdatesDisabled):
(WebKit::WebViewImpl::setFrameAndScrollBy):
(WebKit::WebViewImpl::setFixedLayoutSize):
(WebKit::WebViewImpl::fixedLayoutSize):
(WebKit::WebViewImpl::setDrawingAreaSize):
(WebKit::WebViewImpl::setContentPreparationRect):
(WebKit::WebViewImpl::updateViewExposedRect):
(WebKit::WebViewImpl::setClipsToVisibleRect):
(WebKit::WebViewImpl::setIntrinsicContentSize):
(WebKit::WebViewImpl::intrinsicContentSize):
(WebKit::WebViewImpl::setViewScale):
(WebKit::WebViewImpl::viewScale):
(WebKit::WebViewImpl::layoutMode):
(WebKit::WebViewImpl::setLayoutMode):
(WebKit::WebViewImpl::supportsArbitraryLayoutModes):
(WebKit::WebViewImpl::updateSupportsArbitraryLayoutModes):
(WebKit::WebViewImpl::updateSecureInputState):
(WebKit::WebViewImpl::resetSecureInputState):
(WebKit::WebViewImpl::notifyInputContextAboutDiscardedComposition):
(WebKit::WebViewImpl::hasFullScreenWindowController):
(WebKit::WebViewImpl::fullScreenWindowController):
(WebKit::WebViewImpl::closeFullScreenWindowController):
(WebKit::WebViewImpl::fullScreenPlaceholderView):
(WebKit::WebViewImpl::createFullScreenWindow):
Move the actual implementation of a number of WKView methods into a
C++ class, WebViewImpl, which WKView calls directly into.
Eventually, we will move all of the logic of WKView into WebViewImpl,
and then duplicate the necessary forwarding in WKWebView and remove
WKWebView's inner WKView.

* UIProcess/mac/PageClientImpl.h:
* UIProcess/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::isViewFocused):
(WebKit::PageClientImpl::didCommitLoadForMainFrame):
(WebKit::PageClientImpl::updateSecureInputState):
(WebKit::PageClientImpl::resetSecureInputState):
(WebKit::PageClientImpl::notifyInputContextAboutDiscardedComposition):
(WebKit::PageClientImpl::beganEnterFullScreen):
(WebKit::PageClientImpl::beganExitFullScreen):
For now, forward PageClient requests that can be answered by WebViewImpl
to WebViewImpl. Eventually, we'll probably fold PageClientImpl and WebViewImpl
together into one class, and these things will collapse down.

* UIProcess/mac/WKFullScreenWindowController.h:
* UIProcess/mac/WKFullScreenWindowController.mm:
(-[WKFullScreenWindowController initWithWindow:webView:page:]):
(-[WKFullScreenWindowController enterFullScreen:]):
(-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]):
(-[WKFullScreenWindowController exitFullScreen]):
(-[WKFullScreenWindowController finishedExitFullScreenAnimation:]):
(-[WKFullScreenWindowController completeFinishExitFullScreenAnimationAfterRepaint]):
(-[WKFullScreenWindowController _manager]):
(-[WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]):
(-[WKFullScreenWindowController _startExitFullScreenAnimationWithDuration:]):
(-[WKFullScreenWindowController initWithWindow:webView:]): Deleted.
(-[WKFullScreenWindowController _page]): Deleted.
* UIProcess/mac/WKViewLayoutStrategy.h:
* UIProcess/mac/WKViewLayoutStrategy.mm:
(+[WKViewLayoutStrategy layoutStrategyWithPage:view:viewImpl:mode:]):
(-[WKViewLayoutStrategy initWithPage:view:viewImpl:mode:]):
(-[WKViewLayoutStrategy invalidate]):
(-[WKViewLayoutStrategy didChangeFrameSize]):
(-[WKViewViewSizeLayoutStrategy initWithPage:view:viewImpl:mode:]):
(-[WKViewFixedSizeLayoutStrategy initWithPage:view:viewImpl:mode:]):
(-[WKViewDynamicSizeComputedFromViewScaleLayoutStrategy initWithPage:view:viewImpl:mode:]):
(-[WKViewDynamicSizeComputedFromViewScaleLayoutStrategy updateLayout]):
(-[WKViewDynamicSizeComputedFromViewScaleLayoutStrategy didChangeFrameSize]):
(-[WKViewDynamicSizeComputedFromMinimumDocumentSizeLayoutStrategy initWithPage:view:viewImpl:mode:]):
(+[WKViewLayoutStrategy layoutStrategyWithPage:view:mode:]): Deleted.
(-[WKViewLayoutStrategy initWithPage:view:mode:]): Deleted.
(-[WKViewLayoutStrategy willDestroyView:]): Deleted.
(-[WKViewViewSizeLayoutStrategy initWithPage:view:mode:]): Deleted.
(-[WKViewFixedSizeLayoutStrategy initWithPage:view:mode:]): Deleted.
(-[WKViewDynamicSizeComputedFromViewScaleLayoutStrategy initWithPage:view:mode:]): Deleted.
(-[WKViewDynamicSizeComputedFromMinimumDocumentSizeLayoutStrategy initWithPage:view:mode:]): Deleted.
Make WKViewLayoutStrategy and WKFullScreenWindowController operate in terms of generic
NSViews instead of WKView, so that eventually they will be able to work for either
WKView or WKWebView, and so that they can sit underneath WebViewImpl.

* WebKit2.xcodeproj/project.pbxproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191307 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[WK2] Generalize NetworkCacheStorage API so it can store different types of metadata
cdumez@apple.com [Mon, 19 Oct 2015 19:21:22 +0000 (19:21 +0000)]
[WK2] Generalize NetworkCacheStorage API so it can store different types of metadata
https://bugs.webkit.org/show_bug.cgi?id=150221
<rdar://problem/23149771>

Reviewed by Darin Adler and Antti Koivisto.

Generalize NetworkCacheStorage API so it can store different types of
metadata alongside the network resources. This is a pre-requirement to
making our NetworkCache smarter by storing information about the
resources.

To keep the code simple, the entry type is now part of the entry key and
we store records of a specific type in a 'type' subfolder. The cache
structure looks like so:
- WebKitCache/Version 5/[Partition]/[Type]/[Hash]
- WebKitCache/Version 5/[Partition]/[Type]/[Hash]-blob (Optional)

Existing cache entries now that the 'resource' type as these are network
resources.

* NetworkProcess/cache/NetworkCache.cpp:
* NetworkProcess/cache/NetworkCacheKey.cpp:
* NetworkProcess/cache/NetworkCacheKey.h:
* NetworkProcess/cache/NetworkCacheStatistics.cpp:
* NetworkProcess/cache/NetworkCacheStorage.cpp:
* NetworkProcess/cache/NetworkCacheStorage.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191306 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoTry to fix the iOS build
timothy_horton@apple.com [Mon, 19 Oct 2015 19:19:09 +0000 (19:19 +0000)]
Try to fix the iOS build

* Configurations/FeatureDefines.xcconfig:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191305 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoRebaselining fast/dynamic/insert-before-table-part-in-continuation.html for win
commit-queue@webkit.org [Mon, 19 Oct 2015 19:11:46 +0000 (19:11 +0000)]
Rebaselining fast/dynamic/insert-before-table-part-in-continuation.html for win
https://bugs.webkit.org/show_bug.cgi?id=150126

Patch by Ryan Haddad <ryanhaddad@apple.com> on 2015-10-19
Reviewed by Zalan Bujtas.

* platform/win/fast/dynamic/insert-before-table-part-in-continuation-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191304 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoTry to fix the 32-bit build.
timothy_horton@apple.com [Mon, 19 Oct 2015 19:09:14 +0000 (19:09 +0000)]
Try to fix the 32-bit build.

* UIProcess/mac/WebContextMenuProxyMac.mm:
(WebKit::WebContextMenuProxyMac::setupServicesMenu):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191303 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoFix image service menus somewhat
andersca@apple.com [Mon, 19 Oct 2015 18:59:16 +0000 (18:59 +0000)]
Fix image service menus somewhat
https://bugs.webkit.org/show_bug.cgi?id=150265

Reviewed by Tim Horton.

* Shared/ContextMenuContextData.cpp:
(WebKit::ContextMenuContextData::ContextMenuContextData):
It's a service menu if we have a controlled image.

* UIProcess/mac/WebContextMenuProxyMac.mm:
(WebKit::WebContextMenuProxyMac::setupServicesMenu):
Use an item provider.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191302 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed build fix after r191295.
achristensen@apple.com [Mon, 19 Oct 2015 18:50:26 +0000 (18:50 +0000)]
Unreviewed build fix after r191295.

* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::translatePlatformCTM):
(WebCore::GraphicsContext::setPlatformFillColor):
(WebCore::GraphicsContext::concatPlatformCTM):
(WebCore::GraphicsContext::setPlatformCTM):
(WebCore::GraphicsContext::setPlatformShadow):
(WebCore::GraphicsContext::rotatePlatformCTM):
(WebCore::GraphicsContext::scalePlatformCTM):
(WebCore::GraphicsContext::clipOut):
* platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
(WebCore::GraphicsContextPlatformPrivate::save):
(WebCore::GraphicsContextPlatformPrivate::restore):
(WebCore::GraphicsContextPlatformPrivate::flush):
(WebCore::GraphicsContextPlatformPrivate::clip):
(WebCore::GraphicsContextPlatformPrivate::scalePlatformCTM):
(WebCore::GraphicsContextPlatformPrivate::rotatePlatformCTM):
(WebCore::GraphicsContextPlatformPrivate::translatePlatformCTM):
(WebCore::GraphicsContextPlatformPrivate::concatPlatformCTM):
(WebCore::GraphicsContextPlatformPrivate::setPlatformCTM):
(WebCore::GraphicsContextPlatformPrivate::syncContext):
(WebCore::GraphicsContextPlatformPrivate::scale): Deleted.
(WebCore::GraphicsContextPlatformPrivate::rotate): Deleted.
(WebCore::GraphicsContextPlatformPrivate::translate): Deleted.
(WebCore::GraphicsContextPlatformPrivate::concatCTM): Deleted.
(WebCore::GraphicsContextPlatformPrivate::setCTM): Deleted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191301 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAdd regression tests for TypedArray.prototype functions' error messages.
keith_miller@apple.com [Mon, 19 Oct 2015 18:32:30 +0000 (18:32 +0000)]
Add regression tests for TypedArray.prototype functions' error messages.
https://bugs.webkit.org/show_bug.cgi?id=150288

Reviewed by Darin Adler.

Fix a typo in the text passed by TypedArrray.prototype.filter type error message.
Add tests that check the actual error message text for all the TypeArray.prototype
functions that throw.

* builtins/TypedArray.prototype.js:
(filter):
* tests/stress/typedarray-every.js:
* tests/stress/typedarray-filter.js:
* tests/stress/typedarray-find.js:
* tests/stress/typedarray-findIndex.js:
* tests/stress/typedarray-forEach.js:
* tests/stress/typedarray-map.js:
* tests/stress/typedarray-reduce.js:
* tests/stress/typedarray-reduceRight.js:
* tests/stress/typedarray-some.js:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191300 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAdd magnify and rotate gesture event support for Mac
timothy_horton@apple.com [Mon, 19 Oct 2015 18:10:58 +0000 (18:10 +0000)]
Add magnify and rotate gesture event support for Mac
https://bugs.webkit.org/show_bug.cgi?id=150179
<rdar://problem/8036240>

Reviewed by Darin Adler.

No new tests.

* Configurations/FeatureDefines.xcconfig:
New feature flag.

* Configurations/WebCore.xcconfig:
Don't exclude generated gesture sources; they are already #ifdef-guarded.

* DerivedSources.make:
Add GestureEvent.idl for ENABLE_MAC_GESTURE_EVENTS too.

* WebCore.xcodeproj/project.pbxproj:
Add GestureEvents.cpp.

* bindings/objc/DOMEvents.mm:
(kitClass):
Support DOMGestureEvent on Mac if the new flag is enabled.

* dom/mac/GestureEvents.cpp: Added.
* page/mac/EventHandlerMac.mm:

* page/EventHandler.cpp:
(WebCore::EventHandler::clear):
* page/EventHandler.h:
Enable some gesture-related code on Mac if the new flag is enabled.

* platform/PlatformEvent.h:

* Configurations/FeatureDefines.xcconfig:
New feature flag.

* Shared/NativeWebGestureEvent.h: Added.
(WebKit::NativeWebGestureEvent::nativeEvent):
* Shared/WebEvent.h:
* Shared/WebEventConversion.cpp:
(WebKit::WebKit2PlatformGestureEvent::WebKit2PlatformGestureEvent):
(WebKit::platform):
* Shared/WebEventConversion.h:
* Shared/mac/NativeWebGestureEventMac.mm: Added.
(WebKit::webEventTypeForNSEvent):
(WebKit::pointForEvent):
(WebKit::NativeWebGestureEvent::NativeWebGestureEvent):
Add and plumb a new native event that wraps a NSEvent of type
NSEventTypeMagnify or NSEventTypeRotate (gesture events).

* Shared/mac/WebGestureEvent.cpp: Added.
(WebKit::WebGestureEvent::encode):
(WebKit::WebGestureEvent::decode):
(WebKit::WebGestureEvent::isGestureEventType):
* Shared/mac/WebGestureEvent.h: Added.
(WebKit::WebGestureEvent::WebGestureEvent):
(WebKit::WebGestureEvent::position):
(WebKit::WebGestureEvent::gestureScale):
(WebKit::WebGestureEvent::gestureRotation):
Add IPC plumbing for WebGestureEvent, which becomes a WebCore::PlatformGestureEvent.

* UIProcess/API/Cocoa/WKViewPrivate.h:
Remove unnecessary iPhone-only WKView code.
Add _gestureEventWasNotHandledByWebCore, SPI which can be overridden
to react when WebCore decides not to handle a gesture event.

* UIProcess/API/mac/WKView.mm:
(-[WKView magnifyWithEvent:]):
Route magnification gesture events to the page, unless we're already
in an active view zoom gesture, in which case we'll bypass the page
and send the event straight to ViewGestureController.

(-[WKView rotateWithEvent:]):
Route rotation gesture events to the page.

(-[WKView _gestureEventWasNotHandledByWebCore:]):
Let ViewGestureController know that WebCore didn't handle a gesture event.
We always give WebCore the first crack at the event if we're not in a zoom,
because it could preventDefault() on the Begin phase event, and that should
prevent pinch-zoom from starting.

* UIProcess/PageClient.h:
* UIProcess/mac/PageClientImpl.h:
* UIProcess/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::gestureEventWasNotHandledByWebCore):
Plumb gestureEventWasNotHandledByWebCore back from WebPageProxy to WKView.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::handleGestureEvent):
(WebKit::WebPageProxy::didReceiveEvent):
* UIProcess/WebPageProxy.h:
Forward gesture events to EventDispatcher, and let WKView know when WebCore
passes on handling them.

* UIProcess/mac/ViewGestureController.h:
(WebKit::ViewGestureController::hasActiveMagnificationGesture):
* UIProcess/mac/ViewGestureControllerMac.mm:
(WebKit::ViewGestureController::gestureEventWasNotHandledByWebCore):
(WebKit::ViewGestureController::handleMagnificationGestureEvent):
Don't try to start a zoom with anything other than a Begin phase event.
Try to start a zoom with any events that WebCore doesn't handle.
Move dispatch of endMagnificationGesture into ViewGestureController;
there is no reason for that to be in WKView anymore.

* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/WebPage/EventDispatcher.cpp:
(WebKit::EventDispatcher::gestureEvent):
(WebKit::EventDispatcher::dispatchGestureEvent):
* WebProcess/WebPage/EventDispatcher.h:
* WebProcess/WebPage/EventDispatcher.messages.in:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::handleGestureEvent):
(WebKit::WebPage::gestureEvent):
* WebProcess/WebPage/WebPage.h:
Dispatch to the main thread and hand off the gesture event to WebCore,
asynchronously informing the UI process of whether the event was handled or not.

* Configurations/FeatureDefines.xcconfig:
New feature flag.

* Configurations/FeatureDefines.xcconfig:
New feature flag.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191299 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoREGRESSION(r190262): User media unit test failures after r190262
changseok.oh@collabora.com [Mon, 19 Oct 2015 18:01:07 +0000 (18:01 +0000)]
REGRESSION(r190262): User media unit test failures after r190262
https://bugs.webkit.org/show_bug.cgi?id=149580

Reviewed by Carlos Garcia Campos.

The test failures on usermedia-permission-requests and WebKit2.UserMediaBasic have gone.
So we do not need to skip them anymore.

* Scripts/run-gtk-tests:
(TestRunner): Deleted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191298 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[iOS] Build fix after r191295
mmaxfield@apple.com [Mon, 19 Oct 2015 17:58:49 +0000 (17:58 +0000)]
[iOS] Build fix after r191295

Unreviewed.

* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::resetPlatformCTM):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191297 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoRemoving Yosemite-only flag for flaky test http/tests/media/video-query-url.html
commit-queue@webkit.org [Mon, 19 Oct 2015 17:54:46 +0000 (17:54 +0000)]
Removing Yosemite-only flag for flaky test http/tests/media/video-query-url.html
https://bugs.webkit.org/show_bug.cgi?id=141085

Patch by Ryan Haddad <ryanhaddad@apple.com> on 2015-10-19
Reviewed by Alexey Proskuryakov.

* platform/mac-wk2/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191296 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoHost GraphicsContext's CTM inside GraphicsContextState
mmaxfield@apple.com [Mon, 19 Oct 2015 17:28:41 +0000 (17:28 +0000)]
Host GraphicsContext's CTM inside GraphicsContextState
https://bugs.webkit.org/show_bug.cgi?id=150146

Reviewed by Simon Fraser.

There are 6 operations which interact with CTMs:
- Get
- Set
- Concatenate
- Scale
- Rotate
- Translate

This patch modifies all these operations so that these operations shadow the
platform's CTM inside GraphicsContextState. This way, we don't have to consult
with the underlying graphics context in order to know the current CTM.

There are currently many places in the Core Graphics ports where we will change
the platform's CTM out from under the GraphicsContext. This patch migrates
those users to going through GraphicsContext, thereby preserving the integrity
of the shadowed state.

No new tests because there is no behavior change.

* platform/graphics/GraphicsContext.cpp: Setters deletate to platform calls.
The getter can just consult with the shadowed state.
(WebCore::GraphicsContext::concatCTM):
(WebCore::GraphicsContext::scale):
(WebCore::GraphicsContext::rotate):
(WebCore::GraphicsContext::translate):
(WebCore::GraphicsContext::setCTM):
(WebCore::GraphicsContext::getCTM):
(WebCore::GraphicsContext::beginTransparencyLayer):
(WebCore::GraphicsContext::applyDeviceScaleFactor):
* platform/graphics/GraphicsContext.h:
(WebCore::GraphicsContext::scale):
(WebCore::GraphicsContext::checkCTMInvariants): Make sure the shadowed state
matches the platform graphics context's state.
* platform/graphics/cairo/GraphicsContextCairo.cpp: Renaming functions.
(WebCore::GraphicsContext::resetPlatformCTM):
(WebCore::GraphicsContext::getPlatformCTM):
(WebCore::GraphicsContext::translatePlatformCTM):
(WebCore::GraphicsContext::concatPlatformCTM):
(WebCore::GraphicsContext::setPlatformCTM):
(WebCore::GraphicsContext::rotatePlatformCTM):
(WebCore::GraphicsContext::scalePlatformCTM):
(WebCore::GraphicsContext::getCTM): Deleted.
(WebCore::GraphicsContext::translate): Deleted.
(WebCore::GraphicsContext::concatCTM): Deleted.
(WebCore::GraphicsContext::setCTM): Deleted.
(WebCore::GraphicsContext::rotate): Deleted.
(WebCore::GraphicsContext::scale): Deleted.
* platform/graphics/cg/GraphicsContextCG.cpp: Renaming functions. Also,
migrate CTM setters to go through GraphicsContext.
(WebCore::GraphicsContext::resetPlatformCTM):
(WebCore::GraphicsContext::platformInit):
(WebCore::GraphicsContext::drawNativeImage):
(WebCore::drawPatternCallback):
(WebCore::GraphicsContext::drawPattern):
(WebCore::GraphicsContext::fillPath):
(WebCore::GraphicsContext::strokePath):
(WebCore::GraphicsContext::fillRect):
(WebCore::GraphicsContext::strokeRect):
(WebCore::GraphicsContext::scalePlatformCTM):
(WebCore::GraphicsContext::rotatePlatformCTM):
(WebCore::GraphicsContext::translatePlatformCTM):
(WebCore::GraphicsContext::concatPlatformCTM):
(WebCore::GraphicsContext::setPlatformCTM):
(WebCore::GraphicsContext::getPlatformCTM):
(WebCore::GraphicsContext::scale): Deleted.
(WebCore::GraphicsContext::rotate): Deleted.
(WebCore::GraphicsContext::translate): Deleted.
(WebCore::GraphicsContext::concatCTM): Deleted.
(WebCore::GraphicsContext::setCTM): Deleted.
(WebCore::GraphicsContext::getCTM): Deleted.
* platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
(WebCore::GraphicsContextPlatformPrivate::save):
(WebCore::GraphicsContextPlatformPrivate::restore):
(WebCore::GraphicsContextPlatformPrivate::flush):
(WebCore::GraphicsContextPlatformPrivate::clip):
(WebCore::GraphicsContextPlatformPrivate::scale):
(WebCore::GraphicsContextPlatformPrivate::rotate):
(WebCore::GraphicsContextPlatformPrivate::translate):
(WebCore::GraphicsContextPlatformPrivate::concatCTM):
(WebCore::GraphicsContextPlatformPrivate::setCTM):
* platform/graphics/transforms/AffineTransform.h:
(WebCore::AffineTransform::isEssentiallyEqualTo): Equality comparison on floats
is not a good idea. Instead, this function is more valuable. (However, note that
it is expected for values in a CTM to hold values close to 0, which means that
this function might erroneously return false (similar to operator=()).
* platform/graphics/win/GraphicsContextWin.cpp:
(WebCore::GraphicsContextPlatformPrivate::scale):
(WebCore::GraphicsContextPlatformPrivate::concatPlatformCTM):
(WebCore::GraphicsContextPlatformPrivate::setPlatformCTM):
(WebCore::GraphicsContextPlatformPrivate::concatCTM): Deleted.
(WebCore::GraphicsContextPlatformPrivate::setCTM): Deleted.
* platform/mac/DragImageMac.mm:
(WebCore::drawAtPoint):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191295 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoNull dereference loading Blink layout test fast/forms/color/input-color-onchange...
cdumez@apple.com [Mon, 19 Oct 2015 16:52:29 +0000 (16:52 +0000)]
Null dereference loading Blink layout test fast/forms/color/input-color-onchange-event.html
https://bugs.webkit.org/show_bug.cgi?id=150192
<rdar://problem/23135050>

Reviewed by Darin Adler.

Source/WebCore:

Calling internals.selectColorInColorChooser() with a non-Element would
cause a null dereference. This is because in such case, the implementation
method is passed a null pointer and we would fail to null-check it. This
patch now does the null-check.

No new tests, existing test was updated.

* testing/Internals.cpp:
(WebCore::Internals::selectColorInColorChooser):

LayoutTests:

Import more checks from the corresponding Blink test.

* fast/forms/color/input-color-onchange-event-expected.txt:
* fast/forms/color/input-color-onchange-event.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191294 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Streams API] Update readable-stream-reader tests to latest spec
calvaris@igalia.com [Mon, 19 Oct 2015 16:36:44 +0000 (16:36 +0000)]
[Streams API] Update readable-stream-reader tests to latest spec
https://bugs.webkit.org/show_bug.cgi?id=149699

Reviewed by Darin Adler.

* streams/reference-implementation/readable-stream-reader-expected.txt: Updated expectations.
* streams/reference-implementation/readable-stream-reader.html: Updated tests.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191293 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Streams API] Update readable-stream-controller-error tests against latest reference
calvaris@igalia.com [Mon, 19 Oct 2015 16:34:44 +0000 (16:34 +0000)]
[Streams API] Update readable-stream-controller-error tests against latest reference
https://bugs.webkit.org/show_bug.cgi?id=149700

Reviewed by Darin Adler.

* streams/readable-stream-controller-error.html: Updated tests.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191292 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoFix the ENABLE(WEBASSEMBLY) build after r190827
ossy@webkit.org [Mon, 19 Oct 2015 16:20:08 +0000 (16:20 +0000)]
Fix the ENABLE(WEBASSEMBLY) build after r190827
https://bugs.webkit.org/show_bug.cgi?id=150330

Reviewed by Geoffrey Garen.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::CodeBlock): Removed the duplicated VM argument.
* bytecode/CodeBlock.h:
(JSC::WebAssemblyCodeBlock::create): Added new parameters to finishCreation() calls.
(JSC::WebAssemblyCodeBlock::WebAssemblyCodeBlock): Change VM parameter to pointer to match *CodeBlock classes.
* runtime/Executable.cpp:
(JSC::WebAssemblyExecutable::prepareForExecution): Removed extra ")" and pass pointer as it is expected.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191291 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoDoubleRep fails to convert SpecBoolean values.
mark.lam@apple.com [Mon, 19 Oct 2015 16:13:59 +0000 (16:13 +0000)]
DoubleRep fails to convert SpecBoolean values.
https://bugs.webkit.org/show_bug.cgi?id=150313

Reviewed by Geoffrey Garen.

This was uncovered by the op_sub stress test on 32-bit builds.  On 32-bit builds,
DoubleRep will erroneously convert 'true' to a 'NaN' instead of a double 1.
On 64-bit, the same issue exists but is masked by another bug in DoubleRep where
boolean values will always erroneously trigger a BadType OSR exit.

The erroneous conversion of 'true' to 'NaN' is because the 'true' case in
compileDoubleRep() is missing a jump to the "done" destination.  Instead, it
fall through to the "isUndefined" case where it produces a NaN.

The 64-bit erroneous BadType OSR exit is due to the boolean type check being
implemented incorrectly.  It was checking if any bits other than bit 0 were set.
However, boolean JS values always have TagBitBool (the 3rd bit) set.  Hence, the
check will always fail if we have a boolean value.

This patch fixes both of these issues.

No new test is needed because these issues are already covered by scenarios in
the op_sub.js stress test.  This patch also fixes the op_sub.js test to throw an
exception if any failures are encountered (as expected by the stress test
harness).  This patch also re-worked the test code to provide more accurate
descriptions of each test scenario for error reporting.

* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileDoubleRep):

* tests/stress/op_sub.js:
(generateScenarios):
(func):
(initializeTestCases):
(runTest):
(stringify): Deleted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191290 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoFix the !ENABLE(CSS_GRID_LAYOUT) build after r190840
ossy@webkit.org [Mon, 19 Oct 2015 16:10:16 +0000 (16:10 +0000)]
Fix the !ENABLE(CSS_GRID_LAYOUT) build after r190840
https://bugs.webkit.org/show_bug.cgi?id=150322

Reviewed by Ryosuke Niwa.

* html/HTMLDetailsElement.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191289 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoBinding generator should generate names for JSBuiltins partial interface methods...
youenn.fablet@crf.canon.fr [Mon, 19 Oct 2015 10:45:03 +0000 (10:45 +0000)]
Binding generator should generate names for JSBuiltins partial interface methods using ImplementedBy value
https://bugs.webkit.org/show_bug.cgi?id=150163

Reviewed by Darin Adler.

Covered by updated binding tests.

Updating generation of JS built-in function/attribute name to use the ImplementedBy value of the interface if any.
This allows splitting JS built-ins just like is done for IDLs.
Updated accordingly the JS Builtin header include.

* bindings/scripts/CodeGeneratorJS.pm:
(GetAttributeGetterName): Updated to pass function object and not only function name.
(GetAttributeSetterName): Ditto.
(GetFunctionName): Removed unneeded code plus updated to pass function object and not only function name.
(GenerateConstructorHelperMethods): Making direct use of GetJSBuiltinFunctionNameFromString since there is no function object for the constructor.
(GetJSBuiltinFunctionName): Updated to take into accound ImplementedBy value if any.
(GetJSBuiltinFunctionNameFromString):
(GetJSBuiltinScopeName): Returns either the interface name or its ImplementedBy value.
(AddJSBuiltinIncludesIfNeeded): Updating name of the header in case of partial interface.
* bindings/scripts/test/JS/JSTestInterface.cpp:
* bindings/scripts/test/ObjC/DOMTestInterface.h:
* bindings/scripts/test/ObjC/DOMTestInterface.mm:
(-[DOMTestInterface builtinAttribute]):
(-[DOMTestInterface setBuiltinAttribute:]):
(-[DOMTestInterface builtinFunction]):
* bindings/scripts/test/TestSupplemental.idl: Added JSBuiltin attribute and function.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191288 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoBinding generator should allow generating private JS functions
youenn.fablet@crf.canon.fr [Mon, 19 Oct 2015 10:36:42 +0000 (10:36 +0000)]
Binding generator should allow generating private JS functions
https://bugs.webkit.org/show_bug.cgi?id=150167

Reviewed by Darin Adler.

Introducing the "Private" keyword for that purpose.
Applying it to MediaDevices.getUserMedia which can be used directly or through navigator.webkitGetUserMedia
which could be implemented as JS builtin based on it.

"Private" functions are added to the prototype with a corresponding private symbol.
This symbol must be defined in bindings/js/WebCoreBuiltinNames.h.

Adding a getUserMediaFromJS function visible from builtins script.
Implementing MediaDevices.getUserMedia as a JS builtin based on it.

Adding binding generator test.

* CMakeLists.txt: Adding MediaDevices.js.
* DerivedSources.make: Ditto.
* Modules/mediastream/MediaDevices.h:
(WebCore::MediaDevices::getUserMediaFromJS):
* Modules/mediastream/MediaDevices.idl: Marking getUserMediaFromJS private and getUserMedia JSBuiltin.
* Modules/mediastream/MediaDevices.js: Added.
(getUserMedia):
* bindings/js/WebCoreBuiltinNames.h:
* bindings/js/WebCoreJSBuiltins.cpp:
* bindings/js/WebCoreJSBuiltins.h:
(WebCore::JSBuiltinFunctions::JSBuiltinFunctions):
(WebCore::JSBuiltinFunctions::mediaDevicesBuiltins):
* bindings/scripts/CodeGeneratorGObject.pm: Skipping generation of Private functions.
(SkipFunction):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation): Disabling addition of private function in table and adding private member field to the prototype.
* bindings/scripts/CodeGeneratorObjC.pm: Skipping generation of Private functions.
(SkipFunction):
* bindings/scripts/IDLAttributes.txt: Adding Private keyword.
* bindings/scripts/test/JS/JSTestObj.cpp: Adding Private keyword test.
(WebCore::JSTestObjPrototype::finishCreation):
(WebCore::jsTestObjPrototypeFunctionPrivateMethod):
* bindings/scripts/test/TestObj.idl:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191287 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoDrop !newTarget check since it always becomes true
utatane.tea@gmail.com [Mon, 19 Oct 2015 10:16:58 +0000 (10:16 +0000)]
Drop !newTarget check since it always becomes true
https://bugs.webkit.org/show_bug.cgi?id=150308

Reviewed by Geoffrey Garen.

In a context of calling a constructor, `newTarget` should not become JSEmpty.
So `!newTarget` always becomes true. This patch drops this unneccessary check.
And to ensure the implementation of the constructor is only called under
the context of calling it as a constructor, we change these functions to
static and only use them for constructor implementations of InternalFunction.

* runtime/IntlCollatorConstructor.cpp:
(JSC::constructIntlCollator):
(JSC::callIntlCollator):
* runtime/IntlCollatorConstructor.h:
* runtime/IntlDateTimeFormatConstructor.cpp:
(JSC::constructIntlDateTimeFormat):
(JSC::callIntlDateTimeFormat):
* runtime/IntlDateTimeFormatConstructor.h:
* runtime/IntlNumberFormatConstructor.cpp:
(JSC::constructIntlNumberFormat):
(JSC::callIntlNumberFormat):
* runtime/IntlNumberFormatConstructor.h:
* runtime/JSPromiseConstructor.cpp:
(JSC::constructPromise):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191286 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Streams API] Implement ReadableStream tee
youenn.fablet@crf.canon.fr [Mon, 19 Oct 2015 10:09:07 +0000 (10:09 +0000)]
[Streams API] Implement ReadableStream tee
https://bugs.webkit.org/show_bug.cgi?id=146315

Reviewed by Darin Adler.

Source/WebCore:

Covered by rebased test.

* Modules/streams/ReadableStream.js:
(tee): Removing not implemented exception throwing.
* Modules/streams/ReadableStreamInternals.js:
(teeReadableStream): Implementing as per spec.
(teeReadableStreamPullFunction): Ditto.
(teeReadableStreamBranch2CancelFunction): Ditto.

LayoutTests:

* streams/reference-implementation/readable-stream-tee-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191285 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[GTK] ASSERTION FAILED: parent in WebInspectorProxy::platformDetach()
carlosgc@webkit.org [Mon, 19 Oct 2015 09:48:51 +0000 (09:48 +0000)]
[GTK] ASSERTION FAILED: parent in WebInspectorProxy::platformDetach()
https://bugs.webkit.org/show_bug.cgi?id=150319

Reviewed by Žan Doberšek.

This happens when the inspector is shown/closed very
quickly. Since we start the inspector attached by default, when
the web inspector is created m_isAttached is set to true, so that
when opened, it's attached to the view. If the inspector is closed
before it has been actually attached, the inspector view doesn't
have a parent, even if the m_isAttached is true. So, we should
handle this case instead of asserting. This is what happens in
test http/tests/xmlhttprequest/access-control-repeated-failed-preflight-crash.html.

* UIProcess/gtk/WebInspectorProxyGtk.cpp:
(WebKit::WebInspectorProxy::platformDetach): Remove the view from
its parent container if it was actually attached.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191284 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Streams API] Add skeleton for initial WritableStream support
calvaris@igalia.com [Mon, 19 Oct 2015 09:46:01 +0000 (09:46 +0000)]
[Streams API] Add skeleton for initial WritableStream support
https://bugs.webkit.org/show_bug.cgi?id=149951

Reviewed by Darin Adler.

Source/WebCore:

This basically adds an empty WritableStream object without initializing the object. It also adds all empty
methods by raising an exception.

The reason why the object is not fully initialized is that it requires some other support and some refactorings
to share more code with ReadableStream and we will make in following patches.

Tests are covered by current set and their expectations are properly updated.

* CMakeLists.txt:
* DerivedSources.cpp:
* DerivedSources.make:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/WebCoreJSBuiltins.cpp:
* bindings/js/WebCoreJSBuiltins.h: Build infrastructure.
* Modules/streams/WritableStream.idl: Added all methods and attributes.
* Modules/streams/WritableStream.js:
(initializeWritableStream):
(abort):
(close):
(write):
(closed):
(ready):
(state): Added all by throwing an EvalError.

Source/WebInspectorUI:

* UserInterface/Models/NativeFunctionParameters.js: Added support for WritableStream.

LayoutTests:

Changed expectations to accomodate the WritableStream skeleton, including global-constructors-attributes.

* js/dom/global-constructors-attributes-expected.txt:
* platform/efl/js/dom/global-constructors-attributes-expected.txt:
* platform/gtk/js/dom/global-constructors-attributes-expected.txt:
* platform/mac-mavericks/js/dom/global-constructors-attributes-expected.txt:
* platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt:
* platform/mac/js/dom/global-constructors-attributes-expected.txt:
* platform/win/js/dom/global-constructors-attributes-expected.txt:
* streams/reference-implementation/bad-strategies-expected.txt:
* streams/reference-implementation/bad-underlying-sinks-expected.txt:
* streams/reference-implementation/brand-checks-expected.txt:
* streams/reference-implementation/byte-length-queuing-strategy-expected.txt:
* streams/reference-implementation/count-queuing-strategy-expected.txt:
* streams/reference-implementation/pipe-through-expected.txt:
* streams/reference-implementation/pipe-to-expected.txt:
* streams/reference-implementation/pipe-to-options-expected.txt:
* streams/reference-implementation/readable-stream-templated-expected.txt:
* streams/reference-implementation/writable-stream-abort-expected.txt:
* streams/reference-implementation/writable-stream-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191283 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[EFL] Implement WebContextMenuProxyEfl::showContextMenu after r191194
commit-queue@webkit.org [Mon, 19 Oct 2015 09:13:43 +0000 (09:13 +0000)]
[EFL] Implement WebContextMenuProxyEfl::showContextMenu after r191194
https://bugs.webkit.org/show_bug.cgi?id=150310

Patch by Hunseop Jeong <hs85.jeong@samsung.com> on 2015-10-19
Reviewed by Gyuyoung Kim.

showContextMenu() doesn't work correctly after r191194 in EFL port.
This patch implements WebContextMenuProxyEfl::showContextMenu.

* UIProcess/efl/WebContextMenuProxyEfl.cpp:
(WebKit::WebContextMenuProxyEfl::WebContextMenuProxyEfl):
(WebKit::WebContextMenuProxyEfl::showContextMenu):
(WebKit::WebContextMenuProxyEfl::hideContextMenu):
* UIProcess/efl/WebContextMenuProxyEfl.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191282 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoWeb Inspector: AX: console list 'input'/'output' markers are not perceivable
jcraig@apple.com [Mon, 19 Oct 2015 08:56:28 +0000 (08:56 +0000)]
Web Inspector: AX: console list 'input'/'output' markers are not perceivable
https://bugs.webkit.org/show_bug.cgi?id=133045

Enabling WebKit Web Inspector console pseudo-element labels using the new CSS4 'alt' property.

Reviewed by Brian Burg.

* UserInterface/Views/LogContentView.css:
(.search-in-progress .console-item:not(.filtered-out-by-search) .highlighted.selected):
(.console-messages:focus .console-item.selected .console-user-command-result.console-log-level::before):
(@media reader): Deleted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191281 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAdd historical addresses to contributors.json
ossy@webkit.org [Mon, 19 Oct 2015 07:17:35 +0000 (07:17 +0000)]
Add historical addresses to contributors.json
https://bugs.webkit.org/show_bug.cgi?id=150227

Reviewed by Darin Adler.

* Scripts/webkitpy/common/config/contributors.json:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191280 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[WK2] Simplify unused return warning in WKRetainPtr.h
ossy@webkit.org [Mon, 19 Oct 2015 07:08:06 +0000 (07:08 +0000)]
[WK2] Simplify unused return warning in WKRetainPtr.h
https://bugs.webkit.org/show_bug.cgi?id=150173

Reviewed by Darin Adler.

* UIProcess/API/cpp/WKRetainPtr.h:
(WebKit::__attribute__):
(WebKit::adoptWK): Deleted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191279 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoFix the ENABLE(SECCOMP_FILTERS) build after r187030
ossy@webkit.org [Mon, 19 Oct 2015 06:49:28 +0000 (06:49 +0000)]
Fix the ENABLE(SECCOMP_FILTERS) build after r187030
https://bugs.webkit.org/show_bug.cgi?id=150172

Reviewed by Alexey Proskuryakov.

* Shared/linux/SeccompFilters/Syscall.cpp:
(WebKit::reportUnexpectedSyscall):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191278 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Win] Change the DLL name in MiniBrowserLib.vcxproj to match webkit.org/b/150124.
commit-queue@webkit.org [Mon, 19 Oct 2015 02:26:19 +0000 (02:26 +0000)]
[Win] Change the DLL name in MiniBrowserLib.vcxproj to match webkit.org/b/150124.
https://bugs.webkit.org/show_bug.cgi?id=150307

Patch by Sungmann Cho <sungmann.cho@navercorp.com> on 2015-10-18
Reviewed by Brent Fulgham.

The DLL build rules have been changed to generate "{Name}Lib.DLL",
but these changes have not yet been applied to the Visual Studio builds.

* MiniBrowser/MiniBrowser.vcxproj/MiniBrowserLib.vcxproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191277 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoPromise constructor should throw when not called with "new"
utatane.tea@gmail.com [Mon, 19 Oct 2015 00:51:26 +0000 (00:51 +0000)]
Promise constructor should throw when not called with "new"
https://bugs.webkit.org/show_bug.cgi?id=149380

Reviewed by Darin Adler.

Source/JavaScriptCore:

Implement handling new.target in Promise constructor. And
prohibiting Promise constructor call without "new".

* runtime/JSPromiseConstructor.cpp:
(JSC::constructPromise):
(JSC::callPromise):
(JSC::JSPromiseConstructor::getCallData):
* tests/es6.yaml:
* tests/stress/promise-cannot-be-called.js: Added.
(shouldBe):
(shouldThrow):
(Deferred):
(super):

LayoutTests:

Fix js/dom/Promise-types.html. Before this change, it calls the Promise constructor without new and
expects it succeeds. And we move it from js/dom to js since we can execute this without DOM support.

* js/Promise-types-expected.txt: Renamed from LayoutTests/js/dom/Promise-types-expected.txt.
* js/Promise-types.html: Added.
* js/script-tests/Promise-types.js: Renamed from LayoutTests/js/dom/Promise-types.html.
(aPromise.new.Promise):
(debug.string_appeared_here.shouldThrow.Promise):
* resources/standalone-pre.js:
(shouldBeDefined):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191276 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[ES6] Handle asynchronous tests in tests/es6
utatane.tea@gmail.com [Mon, 19 Oct 2015 00:36:50 +0000 (00:36 +0000)]
[ES6] Handle asynchronous tests in tests/es6
https://bugs.webkit.org/show_bug.cgi?id=150293

Reviewed by Darin Adler.

Since JSC can handle microtasks, some of ES6 Promise tests can be executed under the JSC shell.
Some of them still fail because it uses setTimeout that invokes macrotasks with explicit delay.

* tests/es6.yaml:
* tests/es6/Promise_Promise.all.js:
(test.asyncTestPassed):
(test):
* tests/es6/Promise_Promise.all_generic_iterables.js:
(test.asyncTestPassed):
(test):
* tests/es6/Promise_Promise.race.js:
(test.asyncTestPassed):
(test):
* tests/es6/Promise_Promise.race_generic_iterables.js:
(test.asyncTestPassed):
(test):
* tests/es6/Promise_basic_functionality.js:
(test.asyncTestPassed):
(test):
* tests/es6/Promise_is_subclassable_Promise.all.js:
(test.asyncTestPassed):
(test):
* tests/es6/Promise_is_subclassable_Promise.race.js:
(test.asyncTestPassed):
(test):
* tests/es6/Promise_is_subclassable_basic_functionality.js:
(test.asyncTestPassed):
(test):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191275 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoWeb Inspector: Console Search should update when console is cleared
commit-queue@webkit.org [Mon, 19 Oct 2015 00:29:05 +0000 (00:29 +0000)]
Web Inspector: Console Search should update when console is cleared
https://bugs.webkit.org/show_bug.cgi?id=150141

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-10-18
Reviewed by Brian Burg.

* UserInterface/Views/LogContentView.js:
(WebInspector.LogContentView.prototype._logCleared):
Reperform the search if there is a search query.

(WebInspector.LogContentView.prototype._filterMessageElements):
Reperform the current search.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191274 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoMarking fast/canvas/webgl/oes-texture-float-linear.html as flaky
commit-queue@webkit.org [Sun, 18 Oct 2015 23:51:01 +0000 (23:51 +0000)]
Marking fast/canvas/webgl/oes-texture-float-linear.html as flaky
https://bugs.webkit.org/show_bug.cgi?id=149930

Patch by Ryan Haddad <ryanhaddad@apple.com> on 2015-10-18
Reviewed by Darin Adler.

* platform/mac/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191273 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[GTK] Remove WebKitContextMenu related missing annotation warnings
commit-queue@webkit.org [Sun, 18 Oct 2015 23:47:23 +0000 (23:47 +0000)]
[GTK] Remove WebKitContextMenu related missing annotation warnings
https://bugs.webkit.org/show_bug.cgi?id=150299

Patch by Joonghun Park <jh718.park@samsung.com> on 2015-10-18
Reviewed by Darin Adler.

The warnings occur currently because when executing g-ir-scanner,
it doesn't consider WebKitContextMenu related .cpp files,
but only .h files.

* PlatformGTK.cmake: Add WebKitContextMenu related cpp files.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191272 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoMarking webarchive/loading/object.html as flaky due to crashes
commit-queue@webkit.org [Sun, 18 Oct 2015 23:47:08 +0000 (23:47 +0000)]
Marking webarchive/loading/object.html as flaky due to crashes
https://bugs.webkit.org/show_bug.cgi?id=150241
<rdar://problem/21690723>

Patch by Ryan Haddad <ryanhaddad@apple.com> on 2015-10-18
Reviewed by Darin Adler.

* platform/mac-wk2/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191271 268f45cc-cd09-0410-ab3c-d52691b4dbfc