WebKit-https.git
5 years ago[CoordinatedGraphics][EFL] Remove view_source functions.
gyuyoung.kim@samsung.com [Tue, 18 Feb 2014 02:50:50 +0000 (02:50 +0000)]
[CoordinatedGraphics][EFL] Remove view_source functions.
https://bugs.webkit.org/show_bug.cgi?id=128945

Reviewed by Anders Carlsson.

EFL port has been broken since r164254 because of removing view source files in WK2.
This patch is to follow to remove remained view source functions.

* UIProcess/API/C/CoordinatedGraphics/WKView.cpp:
* UIProcess/API/C/CoordinatedGraphics/WKView.h:
* UIProcess/API/efl/ewk_view.cpp:
* UIProcess/API/efl/ewk_view.h:
* UIProcess/API/efl/tests/test_ewk2_view.cpp:
* UIProcess/CoordinatedGraphics/WebView.cpp:
* UIProcess/CoordinatedGraphics/WebView.h:

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

5 years agoConstrain replaced element layout to from-intrinsic aspect ratio if specified
dino@apple.com [Tue, 18 Feb 2014 02:31:18 +0000 (02:31 +0000)]
Constrain replaced element layout to from-intrinsic aspect ratio if specified
https://bugs.webkit.org/show_bug.cgi?id=128629

Reviewed by Simon Fraser.

Source/WebCore:

First pass at implementing -webkit-aspect-ratio: from-instrinsics;

After RenderReplaced has done layout, attempt to update the
resulting size to match the desired aspect ratio. This step
will only reduce the size of an element, and never below the
minimum dimensions.

Tests: fast/css/aspect-ratio/columns.html
       fast/css/aspect-ratio/containers.html
       fast/css/aspect-ratio/simple.html

* rendering/RenderImage.cpp:
(WebCore::RenderImage::imageDimensionsChanged): If we get an update
to our intrinsic dimensions, and layout depends on this, trigger
another layout pass.
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::layout): Implement the step described
above.

LayoutTests:

Three new tests that exercise aspect ratio on:
- normal content
- content that is constrained within a parent container
- content in columns (pages)

* fast/css/aspect-ratio/badchess-tall.png: Added.
* fast/css/aspect-ratio/badchess-wide.png: Added.
* fast/css/aspect-ratio/columns-expected.html: Added.
* fast/css/aspect-ratio/columns.html: Added.
* fast/css/aspect-ratio/containers-expected.html: Added.
* fast/css/aspect-ratio/containers.html: Added.
* fast/css/aspect-ratio/simple-expected.html: Added.
* fast/css/aspect-ratio/simple.html: Added.

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

5 years agoFix build.
weinig@apple.com [Tue, 18 Feb 2014 01:35:02 +0000 (01:35 +0000)]
Fix build.

* WebCore.exp.in:

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

5 years agoRemove ENABLE_GLOBAL_FASTMALLOC_NEW
andersca@apple.com [Tue, 18 Feb 2014 01:32:18 +0000 (01:32 +0000)]
Remove ENABLE_GLOBAL_FASTMALLOC_NEW
https://bugs.webkit.org/show_bug.cgi?id=127067

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

* parser/Nodes.h:

Source/WebCore:

* platform/Timer.h:

Source/WTF:

Remove the global operator new/operator delete overrides. Having ALWAYS_INLINE operators
like we do is really undefined behavior according to the C++ standard and we've been lucky enough
to get away with it so far, but any code that calls operator new/operator delete inside from the C++ standard
library (not from headers that are included) will be mismatched and potentially crash. libc++ calls
delete in it's std::thread implementation for example.

The only supported way to override operator new and operator delete globally is to not use inline
functions, but that would mean that any application using WebKit would not be able to provide custom
operator new/operator delete functions so we'll just reuse the already existing infrastructure consisting
of the WTF_MAKE_FAST_ALLOCATED macro.

* wtf/FastMalloc.cpp:
(WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
* wtf/FastMalloc.h:
* wtf/Platform.h:

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

5 years ago[iOS][wk2] Custom layers are sometimes put on-screen without being parented
timothy_horton@apple.com [Tue, 18 Feb 2014 00:56:57 +0000 (00:56 +0000)]
[iOS][wk2] Custom layers are sometimes put on-screen without being parented
https://bugs.webkit.org/show_bug.cgi?id=128935
<rdar://problem/16022336>

Reviewed by Sam Weinig.

* Platform/mac/LayerHostingContext.mm:
(WebKit::LayerHostingContext::createForExternalHostingProcess):
Give an explicit and unlikely display ID, so that the layer will never
be brought on-screen unless explicitly parented.

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

5 years agoMove iOS only Settings into Settings.in and make them not-iOS only
weinig@apple.com [Tue, 18 Feb 2014 00:53:40 +0000 (00:53 +0000)]
Move iOS only Settings into Settings.in and make them not-iOS only
https://bugs.webkit.org/show_bug.cgi?id=128942

Reviewed by Tim Horton.

* page/Settings.cpp:
* page/Settings.h:
* page/Settings.in:

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

5 years agoAdd history delegate to WKWebView
andersca@apple.com [Tue, 18 Feb 2014 00:44:31 +0000 (00:44 +0000)]
Add history delegate to WKWebView
https://bugs.webkit.org/show_bug.cgi?id=128930

Reviewed by Dan Bernstein.

* UIProcess/API/Cocoa/WKHistoryDelegatePrivate.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKWebViewPrivate.h.
* UIProcess/API/Cocoa/WKProcessClass.mm:
(-[WKProcessClass initWithConfiguration:]):
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _historyDelegate]):
(-[WKWebView _setHistoryDelegate:]):
* UIProcess/API/Cocoa/WKWebViewPrivate.h:
* UIProcess/Cocoa/HistoryClient.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKWebViewPrivate.h.
* UIProcess/Cocoa/HistoryClient.mm: Added.
(WebKit::HistoryClient::HistoryClient):
(WebKit::HistoryClient::~HistoryClient):
(WebKit::HistoryClient::didNavigateWithNavigationData):
(WebKit::HistoryClient::didPerformClientRedirect):
(WebKit::HistoryClient::didPerformServerRedirect):
(WebKit::HistoryClient::didUpdateHistoryTitle):
(WebKit::HistoryClient::populateVisitedLinks):
(WebKit::HistoryClient::shouldTrackVisitedLinks):
* UIProcess/Cocoa/NavigationState.h:
* UIProcess/Cocoa/NavigationState.mm:
(WebKit::navigationStates):
(WebKit::NavigationState::NavigationState):
(WebKit::NavigationState::~NavigationState):
(WebKit::NavigationState::fromWebPage):
(WebKit::NavigationState::historyDelegate):
(WebKit::NavigationState::setHistoryDelegate):
(WebKit::NavigationState::didNavigateWithNavigationData):
(WebKit::NavigationState::didPerformClientRedirect):
(WebKit::NavigationState::didPerformServerRedirect):
(WebKit::NavigationState::didUpdateHistoryTitle):
* WebKit2.xcodeproj/project.pbxproj:

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

5 years ago[GTK] [CMake] JavaScriptCore crashes in JSC::eval
mrobinson@webkit.org [Tue, 18 Feb 2014 00:30:50 +0000 (00:30 +0000)]
[GTK] [CMake] JavaScriptCore crashes in JSC::eval
https://bugs.webkit.org/show_bug.cgi?id=128434

Reviewed by Anders Carlsson.

* Source/cmake/OptionsGTK.cmake: Add -fno-omit-frame-pointer to the GTK+ CMake
port as well as -fno-tree-dce, like it is used in the autotools build.

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

5 years ago[WebKit2] Merge WebProcessMac and WebProcessIOS into WebProcessCocoa
weinig@apple.com [Tue, 18 Feb 2014 00:16:34 +0000 (00:16 +0000)]
[WebKit2] Merge WebProcessMac and WebProcessIOS into WebProcessCocoa
https://bugs.webkit.org/show_bug.cgi?id=128939

Reviewed by Dan Bernstein.

* WebKit2.xcodeproj/project.pbxproj:
Add/remove files/groups.

* WebProcess/WebProcess.h:
Change stopRunLoop() to be AppKit only.

* WebProcess/cocoa: Added.
* WebProcess/cocoa/WebProcessCocoa.mm: Copied from Source/WebKit2/WebProcess/mac/WebProcessMac.mm.
(WebKit::WebProcess::platformInitializeWebProcess):
(WebKit::WebProcess::initializeProcessName):
(WebKit::WebProcess::platformInitializeProcess):
(WebKit::WebProcess::initializeSandbox):
(WebKit::WebProcess::updateActivePages):
* WebProcess/ios/WebProcessIOS.mm: Removed.
* WebProcess/mac/WebProcessMac.mm: Removed.
Copy mac/WebProcessMac.mm to cocoa/WebProcessCocoa.mm, and add #if USE(APPKIT) where appropriate.

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

5 years agoStop using isMainThread() in WebKit2
andersca@apple.com [Tue, 18 Feb 2014 00:08:02 +0000 (00:08 +0000)]
Stop using isMainThread() in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=128940
<rdar://problem/15963666>

Reviewed by Enrica Casucci.

Since isMainThread() has a different meaning when the web thread is enabled on iOS,
just use RunLoop::isMain() to check if we're executing on the main thread.

* DatabaseProcess/DatabaseProcess.cpp:
(WebKit::DatabaseProcess::ensurePathExists):
(WebKit::DatabaseProcess::postDatabaseTask):
(WebKit::DatabaseProcess::performNextDatabaseTask):
* DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
(WebKit::UniqueIDBDatabase::shutdown):
(WebKit::UniqueIDBDatabase::shutdownBackingStore):
(WebKit::UniqueIDBDatabase::didShutdownBackingStore):
(WebKit::UniqueIDBDatabase::deleteDatabase):
(WebKit::UniqueIDBDatabase::getOrEstablishIDBDatabaseMetadata):
(WebKit::UniqueIDBDatabase::openBackingStoreAndReadMetadata):
(WebKit::UniqueIDBDatabase::didOpenBackingStoreAndReadMetadata):
(WebKit::UniqueIDBDatabase::postTransactionOperation):
(WebKit::UniqueIDBDatabase::didCompleteTransactionOperation):
(WebKit::UniqueIDBDatabase::changeDatabaseVersion):
(WebKit::UniqueIDBDatabase::createObjectStore):
(WebKit::UniqueIDBDatabase::deleteObjectStore):
(WebKit::UniqueIDBDatabase::clearObjectStore):
(WebKit::UniqueIDBDatabase::createIndex):
(WebKit::UniqueIDBDatabase::deleteIndex):
(WebKit::UniqueIDBDatabase::putRecord):
(WebKit::UniqueIDBDatabase::getRecord):
(WebKit::UniqueIDBDatabase::openCursor):
(WebKit::UniqueIDBDatabase::cursorAdvance):
(WebKit::UniqueIDBDatabase::cursorIterate):
(WebKit::UniqueIDBDatabase::count):
(WebKit::UniqueIDBDatabase::deleteRange):
(WebKit::UniqueIDBDatabase::openBackingStoreTransaction):
(WebKit::UniqueIDBDatabase::beginBackingStoreTransaction):
(WebKit::UniqueIDBDatabase::commitBackingStoreTransaction):
(WebKit::UniqueIDBDatabase::resetBackingStoreTransaction):
(WebKit::UniqueIDBDatabase::rollbackBackingStoreTransaction):
(WebKit::UniqueIDBDatabase::changeDatabaseVersionInBackingStore):
(WebKit::UniqueIDBDatabase::createObjectStoreInBackingStore):
(WebKit::UniqueIDBDatabase::deleteObjectStoreInBackingStore):
(WebKit::UniqueIDBDatabase::clearObjectStoreInBackingStore):
(WebKit::UniqueIDBDatabase::createIndexInBackingStore):
(WebKit::UniqueIDBDatabase::deleteIndexInBackingStore):
(WebKit::UniqueIDBDatabase::putRecordInBackingStore):
(WebKit::UniqueIDBDatabase::getRecordFromBackingStore):
(WebKit::UniqueIDBDatabase::openCursorInBackingStore):
(WebKit::UniqueIDBDatabase::absoluteDatabaseDirectory):
(WebKit::UniqueIDBDatabase::postMainThreadTask):
(WebKit::UniqueIDBDatabase::performNextMainThreadTask):
(WebKit::UniqueIDBDatabase::postDatabaseTask):
(WebKit::UniqueIDBDatabase::performNextDatabaseTask):
* DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
(WebKit::generateDatabaseId):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::UniqueIDBDatabaseBackingStoreSQLite):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::~UniqueIDBDatabaseBackingStoreSQLite):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::createAndPopulateInitialMetadata):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::extractExistingMetadata):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::openSQLiteDatabaseAtPath):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::getOrEstablishMetadata):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::establishTransaction):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::beginTransaction):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::commitTransaction):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::resetTransaction):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::rollbackTransaction):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::changeDatabaseVersion):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::createObjectStore):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteObjectStore):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::clearObjectStore):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::createIndex):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteIndex):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::generateKeyNumber):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::updateKeyGeneratorNumber):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::keyExistsInObjectStore):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::putRecord):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::putIndexRecord):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::getIndexRecord):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteRecord):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteRange):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::getKeyRecordFromObjectStore):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::getKeyRangeRecordFromObjectStore):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::count):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::openCursor):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::advanceCursor):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::iterateCursor):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::notifyCursorsOfChanges):
* NetworkProcess/FileAPI/NetworkBlobRegistry.cpp:
(WebKit::NetworkBlobRegistry::shared):
* NetworkProcess/HostRecord.cpp:
(WebKit::HostRecord::scheduleResourceLoader):
(WebKit::HostRecord::addLoaderInProgress):
(WebKit::HostRecord::removeLoader):
* NetworkProcess/NetworkResourceLoadScheduler.cpp:
(WebKit::NetworkResourceLoadScheduler::removeLoader):
(WebKit::NetworkResourceLoadScheduler::receivedRedirect):
(WebKit::NetworkResourceLoadScheduler::removeScheduledLoaders):
* NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::NetworkResourceLoader):
(WebKit::NetworkResourceLoader::~NetworkResourceLoader):
(WebKit::NetworkResourceLoader::start):
(WebKit::NetworkResourceLoader::cleanup):
(WebKit::NetworkResourceLoader::abort):
(WebKit::NetworkResourceLoader::willSendRequestAsync):
(WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpaceAsync):
* NetworkProcess/NetworkResourceLoader.h:
(WebKit::NetworkResourceLoader::setHostRecord):
(WebKit::NetworkResourceLoader::hostRecord):
* NetworkProcess/mac/DiskCacheMonitor.mm:
(WebKit::DiskCacheMonitor::DiskCacheMonitor):
* Shared/AsyncRequest.cpp:
(WebKit::generateRequestID):
* Shared/Authentication/AuthenticationManager.cpp:
(WebKit::generateAuthenticationChallengeID):
(WebKit::AuthenticationManager::establishIdentifierForChallenge):
(WebKit::AuthenticationManager::useCredentialForChallenge):
(WebKit::AuthenticationManager::continueWithoutCredentialForChallenge):
(WebKit::AuthenticationManager::cancelChallenge):
* Shared/Downloads/mac/DownloadMac.mm:
(dispatchOnMainThread):
* Shared/Plugins/NPObjectProxy.cpp:
(WebKit::NPObjectProxy::~NPObjectProxy):
* Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
(WebKit::getPluginInfoFromCarbonResources):
* Shared/SessionTracker.cpp:
(WebKit::staticSessionMap):
(WebKit::storageSessionToID):
(WebKit::identifierBase):
(WebKit::SessionTracker::destroySession):
(WebKit::SessionTracker::setIdentifierBase):
* UIProcess/APISession.cpp:
(API::generateID):
(API::Session::defaultSession):
(API::Session::legacyPrivateSession):
* WebProcess/Cookies/WebCookieManager.cpp:
(WebKit::WebCookieManager::dispatchCookiesDidChange):
* WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
(WebKit::WebIDBFactoryBackend::open):
(WebKit::WebIDBFactoryBackend::deleteDatabase):
* WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
(WebKit::generateServerConnectionIdentifier):
* WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
(WebKit::WebFrameNetworkingContext::storageSession):
* WebProcess/WebPage/EventDispatcher.cpp:
(WebKit::EventDispatcher::dispatchWheelEvent):

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

5 years agoRemove view source code
andersca@apple.com [Mon, 17 Feb 2014 23:53:29 +0000 (23:53 +0000)]
Remove view source code
https://bugs.webkit.org/show_bug.cgi?id=127233

Reviewed by Antti Koivisto.

Source/WebCore:

* CMakeLists.txt:
* DerivedSources.make:
* GNUmakefile.am:
* GNUmakefile.list.am:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/ScriptController.cpp:
(WebCore::ScriptController::canExecuteScripts):
* css/CSSDefaultStyleSheets.cpp:
* css/CSSDefaultStyleSheets.h:
* css/DocumentRuleSets.cpp:
(WebCore::DocumentRuleSets::appendAuthorStyleSheets):
(WebCore::DocumentRuleSets::collectFeatures):
* css/DocumentRuleSets.h:
* css/ElementRuleCollector.cpp:
(WebCore::ElementRuleCollector::matchUARules):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::appendAuthorStyleSheets):
(WebCore::StyleResolver::styleForElement):
* css/view-source.css: Removed.
* dom/DOMImplementation.cpp:
(WebCore::DOMImplementation::createDocument):
* dom/DOMImplementation.h:
* dom/Document.cpp:
(WebCore::Document::Document):
* dom/Document.h:
* html/HTMLAttributeNames.in:
* html/HTMLFrameElementBase.cpp:
(WebCore::HTMLFrameElementBase::HTMLFrameElementBase):
(WebCore::HTMLFrameElementBase::openURL):
* html/HTMLFrameElementBase.h:
* html/HTMLViewSourceDocument.cpp: Removed.
* html/HTMLViewSourceDocument.h: Removed.
* html/parser/HTMLToken.h:
* html/parser/HTMLViewSourceParser.cpp: Removed.
* html/parser/HTMLViewSourceParser.h: Removed.
* html/parser/TextViewSourceParser.cpp: Removed.
* html/parser/TextViewSourceParser.h: Removed.
* inspector/InspectorOverlayPage.css:
(.tag-name):
(.node-id):
(.class-name):
* loader/DocumentWriter.cpp:
(WebCore::DocumentWriter::createDocument):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::receivedFirstData):
* page/Frame.cpp:
(WebCore::Frame::Frame):
* page/Frame.h:
* xml/DOMParser.cpp:
(WebCore::DOMParser::parseFromString):
* xml/XMLViewer.css:
(.tag):
* xml/XSLTProcessor.cpp:
(WebCore::XSLTProcessor::createDocumentFromSource):

Source/WebKit/mac:

* WebView/WebView.mm:
* WebView/WebViewPrivate.h:

Source/WebKit/win:

* WebFrame.cpp:
(WebFrame::inViewSourceMode):
(WebFrame::setInViewSourceMode):
* WebView.cpp:
(WebView::setInViewSourceMode):
(WebView::inViewSourceMode):

Source/WebKit2:

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
* UIProcess/WebPageProxy.h:
* WebProcess/WebPage/WebPage.cpp:
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:

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

5 years ago[Win] Unreviewed gardening.
bfulgham@apple.com [Mon, 17 Feb 2014 23:53:14 +0000 (23:53 +0000)]
[Win] Unreviewed gardening.

* platform/win/TestExpectations: Remove a few duplicate test statements, as well as
some removed test cases.

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

5 years agobox-shadows get truncated with a combination of transforms and clip: (affects Google...
simon.fraser@apple.com [Mon, 17 Feb 2014 23:45:44 +0000 (23:45 +0000)]
box-shadows get truncated with a combination of transforms and clip: (affects Google Maps)
https://bugs.webkit.org/show_bug.cgi?id=128937

Source/WebCore:

Reviewed by Dean Jackson.

RenderLayer::calculateLayerBounds() incorrectly assumed that if localClipRect() returns
a non-infinite rect, that rect is OK to use as the compositing bounds.

That is not a valid assumption when clip() has a larger rect than the element (e.g.
with negative top/left in the rect). In that case, localClipRect() still just
returns the background rect, but we actually need a larger compositing layer
to show the unclipped parts of descendants.

Fix by detecting clip() that exceeds the renderer bounds, and when it does,
not early returning in the UseLocalClipRectIfPossible clause.

Test: compositing/geometry/css-clip-oversize.html

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::localClipRect): Do a convertToLayerCoords()
because we need offsetFromRoot later, and we can pass our value down to
calculateRects(). Compute clipExceedsBounds based on the CSS clip rect.
(WebCore::RenderLayer::calculateClipRects): Don't early return if clipExceedsBounds
is true.
* rendering/RenderLayer.h:

LayoutTests:

Reviewed by Dean Jackson.

Test with CSS clip() with a rect larger than the border box, and compositing.

* compositing/geometry/clip-expected.txt: New expectation. This is a progression.
* compositing/geometry/css-clip-oversize-expected.html: Added.
* compositing/geometry/css-clip-oversize.html: Added.

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

5 years agoMake TreeScope::rootNode return a reference
antti@apple.com [Mon, 17 Feb 2014 23:29:31 +0000 (23:29 +0000)]
Make TreeScope::rootNode return a reference
https://bugs.webkit.org/show_bug.cgi?id=128934

Reviewed by Andreas Kling.

It is never null.

* css/ElementRuleCollector.cpp:
(WebCore::ElementRuleCollector::collectMatchingRules):
* dom/ContainerNode.h:
(WebCore::Node::isTreeScope):
* dom/Document.cpp:
(WebCore::Document::buildAccessKeyMap):
* dom/DocumentOrderedMap.cpp:
(WebCore::DocumentOrderedMap::add):
(WebCore::DocumentOrderedMap::get):
(WebCore::DocumentOrderedMap::getAllElementsById):
* dom/EventDispatcher.cpp:
(WebCore::EventRelatedNodeResolver::moveToParentOrShadowHost):
(WebCore::eventTargetRespectingTargetRules):
(WebCore::shouldEventCrossShadowBoundary):
* dom/Node.cpp:
(WebCore::Node::containingShadowRoot):
(WebCore::Node::removedFrom):
* dom/ShadowRoot.h:
(WebCore::isShadowRoot):
* dom/TreeScope.h:
(WebCore::TreeScope::rootNode):
* page/DOMSelection.cpp:
(WebCore::DOMSelection::DOMSelection):
* page/DragController.cpp:
(WebCore::asFileInput):
* page/FocusController.cpp:
(WebCore::FocusNavigationScope::rootNode):

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

5 years ago[Win] There's another Windows SDK. Make sure we recognize it.
bfulgham@apple.com [Mon, 17 Feb 2014 22:44:24 +0000 (22:44 +0000)]
[Win] There's another Windows SDK. Make sure we recognize it.
https://bugs.webkit.org/show_bug.cgi?id=128932

Reviewed by Tim Horton.

* Scripts/webkitpy/port/win.py:
(WinPort._ntsd_location):

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

5 years agoAX: Invalid cast in WebCore::AccessibilityTable::isDataTable (CRBug 280352)
cfleizach@apple.com [Mon, 17 Feb 2014 22:26:54 +0000 (22:26 +0000)]
AX: Invalid cast in WebCore::AccessibilityTable::isDataTable (CRBug 280352)
<https://webkit.org/b/128925>
<rdar://problem/16087351>

Merged from Blink (patch by Dominic Mazzoni):
https://src.chromium.org/viewvc/blink?revision=159711&view=revision

Reviewed by Oliver Hunt.

Source/WebCore:

Don't cast to a table cell element unless we are sure it is one.

Test: accessibility/display-table-cell-causes-crash.html

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

LayoutTests:

* accessibility/display-table-cell-causes-crash-expected.txt: Added.
* accessibility/display-table-cell-causes-crash.html: Added.

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

5 years agoNode constructor should take Document reference
antti@apple.com [Mon, 17 Feb 2014 22:12:30 +0000 (22:12 +0000)]
Node constructor should take Document reference
https://bugs.webkit.org/show_bug.cgi?id=128931

Reviewed by Geoff Garen.

* dom/Attr.cpp:
(WebCore::Attr::Attr):
* dom/CharacterData.h:
(WebCore::CharacterData::CharacterData):
* dom/ContainerNode.cpp:
(WebCore::ContainerNode::~ContainerNode):
* dom/ContainerNode.h:
(WebCore::ContainerNode::ContainerNode):
* dom/Document.cpp:
(WebCore::Document::Document):
* dom/Document.h:
(WebCore::Node::Node):
* dom/DocumentFragment.cpp:
(WebCore::DocumentFragment::DocumentFragment):
(WebCore::DocumentFragment::create):
* dom/DocumentFragment.h:
* dom/DocumentType.cpp:
(WebCore::DocumentType::DocumentType):
* dom/Element.h:
(WebCore::Element::Element):
* dom/Entity.h:
(WebCore::Entity::Entity):
* dom/EntityReference.cpp:
(WebCore::EntityReference::EntityReference):
* dom/Node.cpp:
(WebCore::Node::~Node):
(WebCore::Node::willBeDeletedFrom):
* dom/Node.h:
* dom/Notation.cpp:
* dom/Notation.h:
(WebCore::Notation::publicId):
(WebCore::Notation::systemId):
(WebCore::Notation::Notation):

    Remove cruft from this non-instantiated class.

* dom/ShadowRoot.cpp:
(WebCore::ShadowRoot::ShadowRoot):
(WebCore::ShadowRoot::~ShadowRoot):
* dom/TemplateContentDocumentFragment.h:

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

5 years agowebkitpy test fix on Mac after r164244.
rniwa@webkit.org [Mon, 17 Feb 2014 21:40:09 +0000 (21:40 +0000)]
webkitpy test fix on Mac after r164244.

It's somewhat crazy that we're trying to run unittests for Windows on Mac but whatever.

* Scripts/webkitpy/port/win.py:
(WinPort._ntsd_location):

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

5 years agoFix layout test added in r164232 to avoid bug 128929
simon.fraser@apple.com [Mon, 17 Feb 2014 20:58:15 +0000 (20:58 +0000)]
Fix layout test added in r164232 to avoid bug 128929
and use rects which don't have minor rendering differences when
drawn into compositing layers.

* compositing/contents-opaque/opaque-with-clip-path-expected.html:
* compositing/contents-opaque/opaque-with-clip-path.html:

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

5 years agoReplace uses of PassOwnPtr/OwnPtr with std::unique_ptr in WebCore/inspector
sergio.correia@openbossa.org [Mon, 17 Feb 2014 20:35:05 +0000 (20:35 +0000)]
Replace uses of PassOwnPtr/OwnPtr with std::unique_ptr in WebCore/inspector
https://bugs.webkit.org/show_bug.cgi?id=128681

Reviewed by Timothy Hatcher.

Another step towards getting rid of PassOwnPtr/OwnPtr, now targeting
WebCore/inspector/*. Besides files in there, a few other files in
JavaScriptCore/inspector, WebKit/, WebKit2/WebProcess/WebCoreSupport/
and WebCore/testing were touched.

Source/JavaScriptCore:

* inspector/ContentSearchUtilities.cpp:
* inspector/ContentSearchUtilities.h:
* inspector/agents/InspectorConsoleAgent.cpp:
* inspector/agents/InspectorConsoleAgent.h:

Source/WebCore:

No new tests; no new behavior.

* WebCore.exp.in:
* inspector/CommandLineAPIHost.cpp:
* inspector/CommandLineAPIHost.h:
* inspector/DOMEditor.cpp:
* inspector/DOMPatchSupport.cpp:
* inspector/DOMPatchSupport.h:
* inspector/InspectorApplicationCacheAgent.h:
* inspector/InspectorCSSAgent.cpp:
* inspector/InspectorCSSAgent.h:
* inspector/InspectorCanvasAgent.h:
* inspector/InspectorDOMAgent.cpp:
* inspector/InspectorDOMAgent.h:
* inspector/InspectorDOMDebuggerAgent.h:
* inspector/InspectorDOMStorageAgent.h:
* inspector/InspectorDatabaseAgent.h:
* inspector/InspectorFrontendClientLocal.cpp:
* inspector/InspectorFrontendClientLocal.h:
* inspector/InspectorHeapProfilerAgent.h:
* inspector/InspectorHistory.cpp:
* inspector/InspectorHistory.h:
* inspector/InspectorIndexedDBAgent.h:
* inspector/InspectorInputAgent.h:
* inspector/InspectorLayerTreeAgent.h:
* inspector/InspectorMemoryAgent.cpp:
* inspector/InspectorMemoryAgent.h:
* inspector/InspectorOverlay.cpp:
* inspector/InspectorOverlay.h:
* inspector/InspectorProfilerAgent.cpp:
* inspector/InspectorProfilerAgent.h:
* inspector/InspectorResourceAgent.cpp:
* inspector/InspectorResourceAgent.h:
* inspector/InspectorStyleSheet.cpp:
* inspector/InspectorStyleSheet.h:
* inspector/InspectorTimelineAgent.h:
* inspector/InspectorWorkerAgent.cpp:
* inspector/PageConsoleAgent.cpp:
* inspector/PageRuntimeAgent.h:
* inspector/WebConsoleAgent.cpp:
* inspector/WorkerRuntimeAgent.h:
* testing/Internals.cpp:

Source/WebKit:

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:

Source/WebKit/cf:

* WebCoreSupport/WebInspectorClientCF.cpp:

Source/WebKit/efl:

* WebCoreSupport/InspectorClientEfl.cpp:

Source/WebKit/gtk:

* WebCoreSupport/InspectorClientGtk.cpp:

Source/WebKit/ios:

* WebCoreSupport/WebInspectorClientIOS.mm:

Source/WebKit/mac:

* WebCoreSupport/WebInspectorClient.h:
* WebCoreSupport/WebInspectorClient.mm:

Source/WebKit/win:

* WebCoreSupport/WebInspectorClient.cpp:
* WebCoreSupport/WebInspectorClient.h:

Source/WebKit2:

* WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:

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

5 years ago[Win] Fall back to Windows symbol servers when necessary
bfulgham@apple.com [Mon, 17 Feb 2014 20:25:04 +0000 (20:25 +0000)]
[Win] Fall back to Windows symbol servers when necessary
https://bugs.webkit.org/show_bug.cgi?id=128926

Reviewed by Ryosuke Niwa.

* Scripts/webkitpy/port/win.py:
(WinPort):
(setup_crash_log_saving): Fall back to Microsoft Symbol Server when local symbols are
not specified.

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

5 years agoFTL should support ToPrimitive and the DFG should fold it correctly
fpizlo@apple.com [Mon, 17 Feb 2014 20:23:34 +0000 (20:23 +0000)]
FTL should support ToPrimitive and the DFG should fold it correctly
https://bugs.webkit.org/show_bug.cgi?id=128892

Reviewed by Geoffrey Garen.

* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
* dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::foldConstants):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileToPrimitive):
* tests/stress/fold-to-primitive-in-cfa.js: Added.
(foo):
(.result.foo):
* tests/stress/fold-to-primitive-to-identity-in-cfa.js: Added.
(foo):
(.result.foo):

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

5 years agoRename Document::m_selfOnlyRefCount to m_referencingNodeCount
antti@apple.com [Mon, 17 Feb 2014 20:19:42 +0000 (20:19 +0000)]
Rename Document::m_selfOnlyRefCount to m_referencingNodeCount
https://bugs.webkit.org/show_bug.cgi?id=128916

Reviewed by Andreas Kling.

Make the name more informative. Also make it zero based (document is not considered to reference itself).

* dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::removedLastRef):
* dom/Document.h:
(WebCore::Document::increaseReferencingNodeCount):
(WebCore::Document::decreaseReferencingNodeCount):
(WebCore::Node::Node):
* dom/Node.cpp:
(WebCore::Node::~Node):
* dom/TreeScopeAdopter.cpp:
(WebCore::TreeScopeAdopter::moveTreeToNewScope):
(WebCore::TreeScopeAdopter::moveNodeToNewDocument):

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

5 years agoRegister preservation wrapper should know about the possibility of callee-saved FPRs
fpizlo@apple.com [Mon, 17 Feb 2014 20:07:35 +0000 (20:07 +0000)]
Register preservation wrapper should know about the possibility of callee-saved FPRs
https://bugs.webkit.org/show_bug.cgi?id=128923

Reviewed by Mark Hahnenberg.

* jit/RegisterPreservationWrapperGenerator.cpp:
(JSC::generateRegisterPreservationWrapper):
(JSC::generateRegisterRestoration):
* jit/RegisterSet.cpp:

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

5 years agoUnreviewed EFL build fix attempt
m.pakula@samsung.com [Mon, 17 Feb 2014 20:06:34 +0000 (20:06 +0000)]
Unreviewed EFL build fix attempt

* CMakeLists.txt: Remove WebHistoryClient.cpp after r164230.

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

5 years ago[GTK] Build failure caused by missing jsmin module
changseok.oh@collabora.com [Mon, 17 Feb 2014 19:48:31 +0000 (19:48 +0000)]
[GTK] Build failure caused by missing jsmin module
https://bugs.webkit.org/show_bug.cgi?id=128742

Reviewed by Philippe Normand.

No new tests since no functionality changed.

* GNUmakefile.am: Relocate PYTHONPATH to make it meaningful.

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

5 years agolr is a special register on ARM64
fpizlo@apple.com [Mon, 17 Feb 2014 19:45:26 +0000 (19:45 +0000)]
lr is a special register on ARM64
https://bugs.webkit.org/show_bug.cgi?id=128922

Reviewed by Mark Hahnenberg.

* jit/RegisterSet.cpp:
(JSC::RegisterSet::specialRegisters):

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

5 years agoFix RegisterSet::calleeSaveRegisters() by making it correct on ARM64
fpizlo@apple.com [Mon, 17 Feb 2014 19:39:50 +0000 (19:39 +0000)]
Fix RegisterSet::calleeSaveRegisters() by making it correct on ARM64
https://bugs.webkit.org/show_bug.cgi?id=128921

Reviewed by Mark Hahnenberg.

* jit/RegisterSet.cpp:
(JSC::RegisterSet::calleeSaveRegisters):

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

5 years agoWeb Inspector: CSS selectors containing a color name shouldn't be considered for...
graouts@webkit.org [Mon, 17 Feb 2014 19:36:01 +0000 (19:36 +0000)]
Web Inspector: CSS selectors containing a color name shouldn't be considered for color editing
https://bugs.webkit.org/show_bug.cgi?id=128909

Reviewed by Joseph Pecoraro.

Disregard any text that might be contained within a CSS selector.

* UserInterface/CodeMirrorAdditions.js:

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

5 years agoWebKitGTK+ should stop calling functions to set the view source mode
andersca@apple.com [Mon, 17 Feb 2014 19:26:55 +0000 (19:26 +0000)]
WebKitGTK+ should stop calling functions to set the view source mode
https://bugs.webkit.org/show_bug.cgi?id=128919

Reviewed by Carlos Garcia Campos.

This is a first step towards getting rid of the view source mode from WebCore.
View source shouldn't be a mode on the web page and can be implemented in other ways by
embedding apps. Furthermore, the inspector has an excellent view source mode.

Source/WebKit/gtk:

* webkit/webkitwebview.cpp:
(webkit_web_view_set_view_source_mode):
(webkit_web_view_get_view_source_mode):
Turn these into no-ops.

Source/WebKit2:

* UIProcess/API/gtk/WebKitWebView.cpp:
(webkit_web_view_set_view_mode):
(webkit_web_view_get_view_mode):
Turn these into no-ops.

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

5 years ago[CSS Regions] Make regions unsplittable
stavila@adobe.com [Mon, 17 Feb 2014 19:22:14 +0000 (19:22 +0000)]
[CSS Regions] Make regions unsplittable
https://bugs.webkit.org/show_bug.cgi?id=128811

Reviewed by David Hyatt.

Source/WebCore:

At the moment, nested regions are not properly fragmented across regions. For the moment,
the regions will become unsplittable elements to avoid slicing. At a later time a proper
fragmentation algorithm should be written, also taking into consideration pagination strut.

Test: fast/regions/unsplittable-nested-region.html

* rendering/RenderBox.cpp:
(WebCore::RenderBox::isUnsplittableForPagination):

LayoutTests:

Added test for checking that nested regions are unsplittable.

* fast/regions/unsplittable-nested-region-expected.html: Added.
* fast/regions/unsplittable-nested-region.html: Added.

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

5 years agoRegisterSet::calleeSaveRegisters() should know about ARM64
fpizlo@apple.com [Mon, 17 Feb 2014 19:15:26 +0000 (19:15 +0000)]
RegisterSet::calleeSaveRegisters() should know about ARM64
https://bugs.webkit.org/show_bug.cgi?id=128918

Reviewed by Mark Hahnenberg.

* jit/RegisterSet.cpp:
(JSC::RegisterSet::calleeSaveRegisters):

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

5 years agoGraphics buffer issue with clip-path and fixed positioned element
simon.fraser@apple.com [Mon, 17 Feb 2014 19:13:08 +0000 (19:13 +0000)]
Graphics buffer issue with clip-path and fixed positioned element
https://bugs.webkit.org/show_bug.cgi?id=126262

Source/WebCore:

Reviewed by Tim Horton.

If an element has a clip-path, backgroundIsKnownToBeOpaqueInRect() needs
to return false so that we don't try to make opaque compositing layers.

Test: compositing/contents-opaque/opaque-with-clip-path.html

* rendering/RenderBox.cpp:
(WebCore::RenderBox::backgroundIsKnownToBeOpaqueInRect):

LayoutTests:

Reviewed by Tim Horton.

* compositing/contents-opaque/opaque-with-clip-path-expected.html: Added.
* compositing/contents-opaque/opaque-with-clip-path.html: Added.

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

5 years ago[CSS Regions] The box decorations of an element overflowing a region should be clippe...
stavila@adobe.com [Mon, 17 Feb 2014 19:10:42 +0000 (19:10 +0000)]
[CSS Regions] The box decorations of an element overflowing a region should be clipped at the border box, not the content box
https://bugs.webkit.org/show_bug.cgi?id=128815

Reviewed by Andrei Bucur.

Source/WebCore:

Elements flowed into a region should not be painted past the region's content box
if they continue to flow into another region in that direction.
If they do not continue into another region in that direction, they should be
painted all the way to the region's border box.
Regions with overflow:hidden will apply clip at the border box, not the content box.

Tests: fast/regions/box-decorations-over-region-padding-fragmented.html
       fast/regions/box-decorations-over-region-padding-horiz-bt.html
       fast/regions/box-decorations-over-region-padding-vert-lr.html
       fast/regions/box-decorations-over-region-padding-vert-rl.html
       fast/regions/box-decorations-over-region-padding.html

* rendering/RenderNamedFlowFragment.cpp:
(WebCore::RenderNamedFlowFragment::flowThreadPortionRectForClipping):
* rendering/RenderNamedFlowFragment.h:
* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::rectFlowPortionForBox):

LayoutTests:

Added tests for the painting of the borders of elements flowed into regions
over the region's padding area, for regions with overflow:hidden.
Tests were added for all writing modes.

* fast/regions/box-decorations-over-region-padding-expected.html: Added.
* fast/regions/box-decorations-over-region-padding-fragmented-expected.html: Added.
* fast/regions/box-decorations-over-region-padding-fragmented.html: Added.
* fast/regions/box-decorations-over-region-padding-horiz-bt-expected.html: Added.
* fast/regions/box-decorations-over-region-padding-horiz-bt.html: Added.
* fast/regions/box-decorations-over-region-padding-vert-lr-expected.html: Added.
* fast/regions/box-decorations-over-region-padding-vert-lr.html: Added.
* fast/regions/box-decorations-over-region-padding-vert-rl-expected.html: Added.
* fast/regions/box-decorations-over-region-padding-vert-rl.html: Added.
* fast/regions/box-decorations-over-region-padding.html: Added.

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

5 years agoTurn the history client into a fancy API::HistoryClient abstract base class
andersca@apple.com [Mon, 17 Feb 2014 19:08:49 +0000 (19:08 +0000)]
Turn the history client into a fancy API::HistoryClient abstract base class
https://bugs.webkit.org/show_bug.cgi?id=128917

Reviewed by Andreas Kling.

* UIProcess/API/APIHistoryClient.h: Renamed from Source/WebKit2/UIProcess/WebHistoryClient.h.
(API::HistoryClient::~HistoryClient):
(API::HistoryClient::didNavigateWithNavigationData):
(API::HistoryClient::didPerformClientRedirect):
(API::HistoryClient::didPerformServerRedirect):
(API::HistoryClient::didUpdateHistoryTitle):
(API::HistoryClient::populateVisitedLinks):
(API::HistoryClient::shouldTrackVisitedLinks):
* UIProcess/API/C/WKContext.cpp:
(WKContextSetHistoryClient):
* UIProcess/WebContext.cpp:
(WebKit::WebContext::WebContext):
(WebKit::WebContext::setHistoryClient):
(WebKit::WebContext::createNewWebProcess):
(WebKit::WebContext::populateVisitedLinks):
* UIProcess/WebContext.h:
(WebKit::WebContext::historyClient):
* UIProcess/WebHistoryClient.cpp: Removed.
* UIProcess/WebPageProxy.h:
* UIProcess/WebProcessProxy.cpp:
* WebKit2.xcodeproj/project.pbxproj:

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

5 years agoMove back primary header includes next to config.h
ossy@webkit.org [Mon, 17 Feb 2014 19:00:03 +0000 (19:00 +0000)]
Move back primary header includes next to config.h
https://bugs.webkit.org/show_bug.cgi?id=128912

Reviewed by Alexey Proskuryakov.

* dfg/DFGAbstractHeap.cpp:
* dfg/DFGAbstractValue.cpp:
* dfg/DFGArgumentsSimplificationPhase.cpp:
* dfg/DFGArithMode.cpp:
* dfg/DFGArrayMode.cpp:
* dfg/DFGAtTailAbstractState.cpp:
* dfg/DFGAvailability.cpp:
* dfg/DFGBackwardsPropagationPhase.cpp:
* dfg/DFGBasicBlock.cpp:
* dfg/DFGBinarySwitch.cpp:
* dfg/DFGBlockInsertionSet.cpp:
* dfg/DFGByteCodeParser.cpp:
* dfg/DFGCFAPhase.cpp:
* dfg/DFGCFGSimplificationPhase.cpp:
* dfg/DFGCPSRethreadingPhase.cpp:
* dfg/DFGCSEPhase.cpp:
* dfg/DFGCapabilities.cpp:
* dfg/DFGClobberSet.cpp:
* dfg/DFGClobberize.cpp:
* dfg/DFGCommon.cpp:
* dfg/DFGCommonData.cpp:
* dfg/DFGCompilationKey.cpp:
* dfg/DFGCompilationMode.cpp:
* dfg/DFGConstantFoldingPhase.cpp:
* dfg/DFGCriticalEdgeBreakingPhase.cpp:
* dfg/DFGDCEPhase.cpp:
* dfg/DFGDesiredIdentifiers.cpp:
* dfg/DFGDesiredStructureChains.cpp:
* dfg/DFGDesiredTransitions.cpp:
* dfg/DFGDesiredWatchpoints.cpp:
* dfg/DFGDesiredWeakReferences.cpp:
* dfg/DFGDesiredWriteBarriers.cpp:
* dfg/DFGDisassembler.cpp:
* dfg/DFGDominators.cpp:
* dfg/DFGEdge.cpp:
* dfg/DFGFailedFinalizer.cpp:
* dfg/DFGFinalizer.cpp:
* dfg/DFGFixupPhase.cpp:
* dfg/DFGFlushFormat.cpp:
* dfg/DFGFlushLivenessAnalysisPhase.cpp:
* dfg/DFGFlushedAt.cpp:
* dfg/DFGGraph.cpp:
* dfg/DFGGraphSafepoint.cpp:
* dfg/DFGInPlaceAbstractState.cpp:
* dfg/DFGIntegerCheckCombiningPhase.cpp:
* dfg/DFGInvalidationPointInjectionPhase.cpp:
* dfg/DFGJITCode.cpp:
* dfg/DFGJITCompiler.cpp:
* dfg/DFGJITFinalizer.cpp:
* dfg/DFGJumpReplacement.cpp:
* dfg/DFGLICMPhase.cpp:
* dfg/DFGLazyJSValue.cpp:
* dfg/DFGLivenessAnalysisPhase.cpp:
* dfg/DFGLongLivedState.cpp:
* dfg/DFGLoopPreHeaderCreationPhase.cpp:
* dfg/DFGMinifiedNode.cpp:
* dfg/DFGNaturalLoops.cpp:
* dfg/DFGNode.cpp:
* dfg/DFGNodeFlags.cpp:
* dfg/DFGOSRAvailabilityAnalysisPhase.cpp:
* dfg/DFGOSREntry.cpp:
* dfg/DFGOSREntrypointCreationPhase.cpp:
* dfg/DFGOSRExit.cpp:
* dfg/DFGOSRExitBase.cpp:
* dfg/DFGOSRExitCompiler.cpp:
* dfg/DFGOSRExitCompiler32_64.cpp:
* dfg/DFGOSRExitCompiler64.cpp:
* dfg/DFGOSRExitCompilerCommon.cpp:
* dfg/DFGOSRExitJumpPlaceholder.cpp:
* dfg/DFGOSRExitPreparation.cpp:
* dfg/DFGPhase.cpp:
* dfg/DFGPlan.cpp:
* dfg/DFGPredictionInjectionPhase.cpp:
* dfg/DFGPredictionPropagationPhase.cpp:
* dfg/DFGResurrectionForValidationPhase.cpp:
* dfg/DFGSSAConversionPhase.cpp:
* dfg/DFGSSALoweringPhase.cpp:
* dfg/DFGSafepoint.cpp:
* dfg/DFGSpeculativeJIT.cpp:
* dfg/DFGSpeculativeJIT32_64.cpp:
* dfg/DFGSpeculativeJIT64.cpp:
* dfg/DFGStackLayoutPhase.cpp:
* dfg/DFGStoreBarrierElisionPhase.cpp:
* dfg/DFGStrengthReductionPhase.cpp:
* dfg/DFGThreadData.cpp:
* dfg/DFGThunks.cpp:
* dfg/DFGTierUpCheckInjectionPhase.cpp:
* dfg/DFGToFTLDeferredCompilationCallback.cpp:
* dfg/DFGToFTLForOSREntryDeferredCompilationCallback.cpp:
* dfg/DFGTypeCheckHoistingPhase.cpp:
* dfg/DFGUnificationPhase.cpp:
* dfg/DFGUseKind.cpp:
* dfg/DFGValidate.cpp:
* dfg/DFGValueSource.cpp:
* dfg/DFGVariableAccessDataDump.cpp:
* dfg/DFGVariableEvent.cpp:
* dfg/DFGVariableEventStream.cpp:
* dfg/DFGVirtualRegisterAllocationPhase.cpp:
* dfg/DFGWatchpointCollectionPhase.cpp:
* dfg/DFGWorklist.cpp:
* heap/JITStubRoutineSet.cpp:
* jit/GCAwareJITStubRoutine.cpp:
* jit/JIT.cpp:
* jit/JITDisassembler.cpp:
* jit/JITOperations.cpp:
* jit/JITStubRoutine.cpp:
* jit/JITStubs.cpp:
* jit/TempRegisterSet.cpp:

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

5 years agoFTL OSR exit shouldn't make X86-specific assumptions
fpizlo@apple.com [Mon, 17 Feb 2014 18:59:13 +0000 (18:59 +0000)]
FTL OSR exit shouldn't make X86-specific assumptions
https://bugs.webkit.org/show_bug.cgi?id=128890

Reviewed by Mark Hahnenberg.

Mostly this is about not using push/pop, but instead using the more abstract pushToSave() and popToRestore() while reflecting on the stack alignment.

* assembler/MacroAssembler.h:
(JSC::MacroAssembler::pushToSaveImmediateWithoutTouchingRegisters):
(JSC::MacroAssembler::pushToSaveByteOffset):
* assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::pushToSaveImmediateWithoutTouchingRegisters):
(JSC::MacroAssemblerARM64::pushToSaveByteOffset):
* ftl/FTLExitThunkGenerator.cpp:
(JSC::FTL::ExitThunkGenerator::emitThunk):
* ftl/FTLOSRExitCompiler.cpp:
(JSC::FTL::compileStub):
* ftl/FTLThunks.cpp:
(JSC::FTL::osrExitGenerationThunkGenerator):

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

5 years agoDataCue.data should be a copy of the input ArrayBuffer, not a pointer
b.long@cablelabs.com [Mon, 17 Feb 2014 18:48:20 +0000 (18:48 +0000)]
DataCue.data should be a copy of the input ArrayBuffer, not a pointer
https://bugs.webkit.org/show_bug.cgi?id=128886

Reviewed by Eric Carlson.

Source/WebCore:

No new tests, just updated existing track-datacue.html test.

* html/track/DataCue.cpp:
(WebCore::DataCue::DataCue): Add ExceptionCode and pass through to setData().
(WebCore::DataCue::data): Return a copy of m_data instead of a pointer.
(WebCore::DataCue::setData): Create a copy of the input data, or throw an exception if it's null.
* html/track/DataCue.h: Add ExceptionCode parameters to constructor and data setter.
* html/track/DataCue.idl: Same.

LayoutTests:

* media/track/track-datacue-expected.txt:
* media/track/track-datacue.html:

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

5 years agoUnreviewed, make this test pass without DFG. It was assuming that you always have DFG
fpizlo@apple.com [Mon, 17 Feb 2014 18:47:32 +0000 (18:47 +0000)]
Unreviewed, make this test pass without DFG. It was assuming that you always have DFG
and that it would always tier-up to the DFG - both wrong assumptions.

* tests/stress/tricky-array-bounds-checks.js:
(foo):

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

5 years agoTry to fix iOS Debug builds without breaking Release builds.
mitz@apple.com [Mon, 17 Feb 2014 18:26:36 +0000 (18:26 +0000)]
Try to fix iOS Debug builds without breaking Release builds.

* WebProcess/WebPage/PageBanner.cpp:
* WebProcess/WebPage/PageBanner.h:

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

5 years agoCounterContentData::counter() and ImageContentData::image() should return references
ddkilzer@apple.com [Mon, 17 Feb 2014 17:18:29 +0000 (17:18 +0000)]
CounterContentData::counter() and ImageContentData::image() should return references
<http://webkit.org/b/128671>

Reviewed by Darin Adler.

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::contentToCSSValue):
- Update to use references.  Remove useless ASSERTs.

* css/StyleResolver.cpp:
(WebCore::StyleResolver::loadPendingImages):
- Update to use references.  StyleResolver::loadPendingImage()
  will be changed to take a reference in the near future.

* rendering/RenderElement.cpp:
(WebCore::RenderElement::createFor):
- Update to use references.  The auto keyword wanted to
  instantiate a StyleImage instead a reference, so it was
  replaced.

* rendering/style/ContentData.h:
(WebCore::ImageContentData::ImageContentData): Add ASSERT that
m_image is not NULL.
(WebCore::ImageContentData::image): Return a reference.  Remove
useless overload with identical name.
(WebCore::ImageContentData::cloneInternal): Simplify by using
implicit PassRefPtr constructor.
(WebCore::operator==): Remove unneeded deref operators.
(WebCore::CounterContentData::counter): Return a reference.
(WebCore::CounterContentData::cloneInternal): Remove unneeded
deref operator.
(WebCore::operator==): Remove unneeded deref operators.

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

5 years ago[MediaControls][iOS] Make mediacontrols match the system inline controls
jer.noble@apple.com [Mon, 17 Feb 2014 17:17:23 +0000 (17:17 +0000)]
[MediaControls][iOS] Make mediacontrols match the system inline controls
https://bugs.webkit.org/show_bug.cgi?id=128833

Reviewed by Eric Carlson.

Move items slightly, fix button sizes, font sizes, and colors to match the
inline controls from MoviePlayer.framework.

* Modules/mediacontrols/mediaControlsiOS.css:
(audio::-webkit-media-controls-panel):
(audio::-webkit-media-controls-fullscreen-button):
(audio::-webkit-media-controls-play-button):
(audio::-webkit-media-controls-play-button.paused):
(audio::-webkit-media-controls-timeline):
(audio::-webkit-media-controls-timeline::-webkit-slider-thumb):
(audio::-webkit-media-controls-time-remaining-display):
* Modules/mediacontrols/mediaControlsiOS.js:
(ControllerIOS.prototype.configureInlineControls): Do not add the status text.
(ControllerIOS.prototype.updateTime): Call updateProgress().
(ControllerIOS.prototype.progressFillStyle): Draw a slightly different color.
(ControllerIOS.prototype.updateProgress): Draw white to the left of the currentTime.
(ControllerIOS.prototype.formatTime): Single leading zero in the time display fields.
(ControllerIOS.prototype.handleTimelineChange): Call updateProgress().

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

5 years ago[GTK] MEDIA_CONTROLS_SCRIPT depends on VIDEO_TRACK
changseok.oh@collabora.com [Mon, 17 Feb 2014 16:18:14 +0000 (16:18 +0000)]
[GTK] MEDIA_CONTROLS_SCRIPT depends on VIDEO_TRACK
https://bugs.webkit.org/show_bug.cgi?id=128799

Reviewed by Philippe Normand.

MEDIA_CONTROLS_SCRIPT has a dependency on VIDEO_TRACK. So it causes a build break
if building with autotools. cmake system has enabled it as default. So I propose
enabling VIDEO_TRACK as well.

* Source/autotools/SetupWebKitFeatures.m4:

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

5 years agoFix typos in Tools/efl/jhbuild.modules.
commit-queue@webkit.org [Mon, 17 Feb 2014 15:29:46 +0000 (15:29 +0000)]
Fix typos in Tools/efl/jhbuild.modules.
https://bugs.webkit.org/show_bug.cgi?id=128908

Patch by László Langó <llango.u-szeged@partner.samsung.com> on 2014-02-17
Reviewed by Csaba Osztrogonác.

* efl/jhbuild.modules: 's/<deb /<dep /g'

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

5 years agoEnable DFG_JIT on FreeBSD
commit-queue@webkit.org [Mon, 17 Feb 2014 15:17:35 +0000 (15:17 +0000)]
Enable DFG_JIT on FreeBSD
https://bugs.webkit.org/show_bug.cgi?id=128898

Patch by Ryan Lortie <desrt@desrt.ca> on 2014-02-17
Reviewed by Csaba Osztrogonác.

* wtf/Platform.h:

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

5 years agoUnreviewed EFL gardening
m.pakula@samsung.com [Mon, 17 Feb 2014 14:56:05 +0000 (14:56 +0000)]
Unreviewed EFL gardening

Add test expectations for crashing and failing tests.

* platform/efl-wk2/TestExpectations:
* platform/efl/TestExpectations:

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

5 years agoFix the CLoop build after r163760
commit-queue@webkit.org [Mon, 17 Feb 2014 13:23:33 +0000 (13:23 +0000)]
Fix the CLoop build after r163760
https://bugs.webkit.org/show_bug.cgi?id=128900

Patch by Dániel Bátyai <dbatyai.u-szeged@partner.samsung.com> on 2014-02-17
Reviewed by Csaba Osztrogonác.

* llint/LLIntThunks.cpp:

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

5 years agoCLoop buildfix after r164207
commit-queue@webkit.org [Mon, 17 Feb 2014 13:14:44 +0000 (13:14 +0000)]
CLoop buildfix after r164207
https://bugs.webkit.org/show_bug.cgi?id=128899

Patch by Dániel Bátyai <dbatyai.u-szeged@partner.samsung.com> on 2014-02-17
Reviewed by Csaba Osztrogonác.

* dfg/DFGCommon.h:
(JSC::DFG::shouldShowDisassembly):

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

5 years ago[CSS Grid Layout] Fix missing layout in flexible and content sized columns
rego@igalia.com [Mon, 17 Feb 2014 10:57:43 +0000 (10:57 +0000)]
[CSS Grid Layout] Fix missing layout in flexible and content sized columns
https://bugs.webkit.org/show_bug.cgi?id=128672

Reviewed by Sergio Villar Senin.

Source/WebCore:

RenderGrid::logicalContentHeightForChild() is called for some items at the beginning of RenderGrid::layoutGridItems()
from RenderGrid::computeUsedBreadthOfGridTracks(). This causes that the comparison inside the for loop in
RenderGrid::layoutGridItems() does not detect width changes, so elements won't be marked as needsLayout.

So the comparison is done in RenderGrid::logicalContentHeightForChild() and the element is marked to perform a layout if
the width has changed.

The issue can be reproduced easily with a simple grid with one flexible or content sized column, all the available width
is not used. On top of that, when you resize the window the flexible or content sized columns are not updating their
size properly.

CSS Grid Layout perftest results are around 4% worse, which is expected as we're adding a missing layout.

Test: fast/css-grid-layout/flex-content-sized-column-use-available-width.html

* rendering/RenderGrid.cpp:
(WebCore::RenderGrid::logicalContentHeightForChild): Check width changes and mark element as needed layout if required.

LayoutTests:

Add test that reproduce the issue for both cases flexible and content sized columns.

* fast/css-grid-layout/flex-content-sized-column-use-available-width-expected.html: Added.
* fast/css-grid-layout/flex-content-sized-column-use-available-width.html: Added.

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

5 years agoUnreviewed, 32-bit build fix.
fpizlo@apple.com [Mon, 17 Feb 2014 06:47:58 +0000 (06:47 +0000)]
Unreviewed, 32-bit build fix.

* assembler/MacroAssembler.h:
(JSC::MacroAssembler::lshiftPtr):

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

5 years agoFTL should inline polymorphic heap accesses
fpizlo@apple.com [Mon, 17 Feb 2014 06:35:32 +0000 (06:35 +0000)]
FTL should inline polymorphic heap accesses
https://bugs.webkit.org/show_bug.cgi?id=128795

Source/JavaScriptCore:

Reviewed by Oliver Hunt.

We now inline GetByIds that we know are pure but polymorphic. They manifest in DFG IR
as MultiGetByOffset, and in LLVM IR as a switch with a basic block for each kind of
read.

2% speed-up on Octane mostly due to a 18% speed-up on deltablue.

* CMakeLists.txt:
* GNUmakefile.list.am:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpBytecode):
* bytecode/ExitingJITType.cpp: Added.
(WTF::printInternal):
* bytecode/ExitingJITType.h:
* bytecode/GetByIdStatus.cpp:
(JSC::GetByIdStatus::computeFromLLInt):
(JSC::GetByIdStatus::computeForChain):
(JSC::GetByIdStatus::computeForStubInfo):
(JSC::GetByIdStatus::computeFor):
(JSC::GetByIdStatus::dump):
* bytecode/GetByIdStatus.h:
(JSC::GetByIdStatus::GetByIdStatus):
(JSC::GetByIdStatus::numVariants):
(JSC::GetByIdStatus::variants):
(JSC::GetByIdStatus::at):
(JSC::GetByIdStatus::operator[]):
* bytecode/GetByIdVariant.cpp: Added.
(JSC::GetByIdVariant::dump):
(JSC::GetByIdVariant::dumpInContext):
* bytecode/GetByIdVariant.h: Added.
(JSC::GetByIdVariant::GetByIdVariant):
(JSC::GetByIdVariant::isSet):
(JSC::GetByIdVariant::operator!):
(JSC::GetByIdVariant::structureSet):
(JSC::GetByIdVariant::chain):
(JSC::GetByIdVariant::specificValue):
(JSC::GetByIdVariant::offset):
* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::emitPrototypeChecks):
(JSC::DFG::ByteCodeParser::handleGetById):
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGCSEPhase.cpp:
(JSC::DFG::CSEPhase::getByOffsetLoadElimination):
(JSC::DFG::CSEPhase::performNodeCSE):
* dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
* dfg/DFGCommon.h:
(JSC::DFG::verboseCompilationEnabled):
(JSC::DFG::logCompilationChanges):
(JSC::DFG::shouldShowDisassembly):
* dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::foldConstants):
(JSC::DFG::ConstantFoldingPhase::emitGetByOffset):
* dfg/DFGDriver.cpp:
(JSC::DFG::compileImpl):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
* dfg/DFGGraph.cpp:
(JSC::DFG::Graph::dump):
* dfg/DFGGraph.h:
(JSC::DFG::Graph::convertToConstant):
* dfg/DFGNode.h:
(JSC::DFG::Node::convertToGetByOffset):
(JSC::DFG::Node::hasHeapPrediction):
(JSC::DFG::Node::hasMultiGetByOffsetData):
(JSC::DFG::Node::multiGetByOffsetData):
* dfg/DFGNodeType.h:
* dfg/DFGPhase.h:
(JSC::DFG::Phase::graph):
(JSC::DFG::runAndLog):
* dfg/DFGPlan.cpp:
(JSC::DFG::dumpAndVerifyGraph):
(JSC::DFG::Plan::compileInThread):
(JSC::DFG::Plan::compileInThreadImpl):
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
* dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGTypeCheckHoistingPhase.cpp:
(JSC::DFG::TypeCheckHoistingPhase::identifyRedundantStructureChecks):
(JSC::DFG::TypeCheckHoistingPhase::identifyRedundantArrayChecks):
* ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
* ftl/FTLCompile.cpp:
(JSC::FTL::fixFunctionBasedOnStackMaps):
(JSC::FTL::compile):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileMultiGetByOffset):
* ftl/FTLState.h:
(JSC::FTL::verboseCompilationEnabled):
(JSC::FTL::showDisassembly):
* jsc.cpp:
(GlobalObject::finishCreation):
(functionEffectful42):
* runtime/IntendedStructureChain.cpp:
(JSC::IntendedStructureChain::dump):
(JSC::IntendedStructureChain::dumpInContext):
* runtime/IntendedStructureChain.h:
* runtime/Options.cpp:
(JSC::recomputeDependentOptions):
* runtime/Options.h:
* tests/stress/fold-multi-get-by-offset-to-get-by-offset-with-watchpoint.js: Added.
(foo):
(bar):
* tests/stress/fold-multi-get-by-offset-to-get-by-offset.js: Added.
(foo):
(bar):
* tests/stress/multi-get-by-offset-proto-and-self.js: Added.
(foo):
(Foo):

Source/WTF:

Reviewed by Oliver Hunt.

* wtf/PrintStream.h:
(WTF::PointerDumpInContext::PointerDumpInContext):
(WTF::PointerDumpInContext::dump):
(WTF::pointerDumpInContext):

LayoutTests:

Reviewed by Oliver Hunt.

* js/regress/polymorphic-get-by-id-expected.txt: Added.
* js/regress/polymorphic-get-by-id.html: Added.
* js/regress/script-tests/polymorphic-get-by-id.js: Added.
(foo):

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

5 years agoUnreviewed, add a useful comment for this test.
fpizlo@apple.com [Mon, 17 Feb 2014 06:26:56 +0000 (06:26 +0000)]
Unreviewed, add a useful comment for this test.

* js/regress/script-tests/marsaglia-osr-entry.js:

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

5 years agoDFG::prepareOSREntry should be nice to the stack
fpizlo@apple.com [Mon, 17 Feb 2014 06:25:05 +0000 (06:25 +0000)]
DFG::prepareOSREntry should be nice to the stack
https://bugs.webkit.org/show_bug.cgi?id=128883

Reviewed by Oliver Hunt.

Previously OSR entry had some FIXME's and some really badly commented-out code for
clearing stack entries to help GC. It also did some permutations on a stack frame
above us, in such a way that it wasn't obviously that we wouldn't clobber our own
stack frame. This function also crashed in ASan.

It just seems like there was too much badness to the whole idea of prepareOSREntry
directly editing the stack. So, I changed it to create a stack frame in a scratch
buffer on the side and then have some assembly code just copy it into place. This
works fine, fixes a FIXME, possibly fixes some stack clobbering, and might help us
make more progress with ASan.

* dfg/DFGOSREntry.cpp:
(JSC::DFG::prepareOSREntry):
* dfg/DFGOSREntry.h:
* dfg/DFGThunks.cpp:
(JSC::DFG::osrEntryThunkGenerator):
* dfg/DFGThunks.h:
* jit/JITOpcodes.cpp:
(JSC::JIT::emitSlow_op_loop_hint):
* jit/JITOperations.cpp:

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

5 years agoEnsure that removing an iframe from the DOM tree disconnects its Frame.
akling@apple.com [Mon, 17 Feb 2014 03:52:02 +0000 (03:52 +0000)]
Ensure that removing an iframe from the DOM tree disconnects its Frame.
<https://webkit.org/b/128889>
<rdar://problem/15671221>

Merged from Blink (patch by Adam Klein):
https://src.chromium.org/viewvc/blink?revision=156174&view=revision

Source/WebCore:

SubframeLoadingDisabler wasn't catching the case when an <iframe> was,
in its unload handler, removed and re-added to the same parent.
Fix this by using a count of SubframeLoadingDisablers that are on the
stack for a given root, rather than a simple boolean.

Test: fast/frames/reattach-in-unload.html

* html/HTMLFrameOwnerElement.h:
(WebCore::SubframeLoadingDisabler::disabledSubtreeRoots):

LayoutTests:

* fast/frames/reattach-in-unload-expected.txt: Added.
* fast/frames/reattach-in-unload.html: Added.

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

5 years agoWhen applying style, attribute value matching should be case sensitive for SVG
benjamin@webkit.org [Mon, 17 Feb 2014 03:19:49 +0000 (03:19 +0000)]
When applying style, attribute value matching should be case sensitive for SVG
https://bugs.webkit.org/show_bug.cgi?id=128882

Reviewed by Andreas Kling.

Source/WebCore:

SelectorChecker was incorrectly matching attribute values with a case insensitve comparison
in some cases.

The choice to use case sensitive matching was taking into account the document type but not
the element type. As a result, SVG (and likely MHTML) elements were incorrectly being tested
as if they were HTML element.

With the patch, WebKit also matches the behavior of Firefox, which is great.

Tests: fast/css/case-insensitive-attribute-with-svg.html
       fast/selectors/querySelector-case-insensitive-attribute-match-with-svg.html

* css/SelectorChecker.cpp:
(WebCore::SelectorChecker::checkOne):

LayoutTests:

* fast/css/case-insensitive-attribute-with-svg-expected.html: Added.
* fast/css/case-insensitive-attribute-with-svg.html: Added.
* fast/selectors/querySelector-case-insensitive-attribute-match-with-svg-expected.txt: Added.
* fast/selectors/querySelector-case-insensitive-attribute-match-with-svg.html: Added.

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

5 years agoSplit compilation state between querySelector and CSS matching
benjamin@webkit.org [Mon, 17 Feb 2014 03:14:48 +0000 (03:14 +0000)]
Split compilation state between querySelector and CSS matching
https://bugs.webkit.org/show_bug.cgi?id=128869

Reviewed by Antti Koivisto.

Cleanup after recent changes:
-SelectorCompiler now has a SelectorContext defining if the code is compiled for QuerySelector
 or for ElementRuleCollector.
-Generalize m_selectorCannotMatchAnything by making it part of the FunctionType. FunctionType now
 fully represent the type of code generation and we don't rely implicitly on m_selectorFragments being
 empty.

* css/ElementRuleCollector.cpp:
(WebCore::ElementRuleCollector::ruleMatches):

* cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::compileSelector):
(WebCore::SelectorCompiler::SelectorCodeGenerator::SelectorCodeGenerator):
There is no tree marking for QuerySelector, so we can generate a simple selector
for the sibling selectors.

(WebCore::SelectorCompiler::SelectorCodeGenerator::compile):
The code is split to make it simpler. The classic code generation has been moved
to generateSelectorChecker().
The decision on what to generate is reduced to a simple switch-case.

(WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):
The code that was previously in compile().

(WebCore::SelectorCompiler::SelectorCodeGenerator::markParentElementIfResolvingStyle):
We should not generate tree marking on querySelector traversal. Since the constructor
now generate a SimpleChecker, it would also be incorrect to attempt to access the checkingContext
on the stack.
We can just skip the marking entierly.

* cssjit/SelectorCompiler.h:
* dom/SelectorQuery.cpp:
(WebCore::SelectorDataList::execute):
With the changes of SelectorContext, we can no longer generate a complex checker for querySelector.
This code may come back in the future but at the moment it is useless.

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

5 years agoThe FTP view is squished to the left
benjamin@webkit.org [Mon, 17 Feb 2014 03:11:41 +0000 (03:11 +0000)]
The FTP view is squished to the left
https://bugs.webkit.org/show_bug.cgi?id=128856

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-02-16
Reviewed by Andreas Kling.

* html/FTPDirectoryDocument.cpp:
(WebCore::FTPDirectoryDocumentParser::createBasicDocument):

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

5 years ago[Coordinated Graphics] Make AreaAllocator fast allocated
jae.park@company100.net [Mon, 17 Feb 2014 01:48:54 +0000 (01:48 +0000)]
[Coordinated Graphics] Make AreaAllocator fast allocated
https://bugs.webkit.org/show_bug.cgi?id=124995

Reviewed by Anders Carlsson.

AreaAllocator can be created and destroyed frequently (at least once per
frame) in case of animation with changing width or height. So, it's
better to make AreaAllocator fast allocated.

* platform/graphics/texmap/coordinated/AreaAllocator.h:

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

5 years ago[iOS] WebKit crashes if text is copied to pasteboard with style containing text-shadow
psolanki@apple.com [Mon, 17 Feb 2014 00:50:37 +0000 (00:50 +0000)]
[iOS] WebKit crashes if text is copied to pasteboard with style containing text-shadow
https://bugs.webkit.org/show_bug.cgi?id=128888
<rdar://problem/16065699>

Reviewed by Anders Carlsson.

Use the correct class on iOS so that we don't crash.

* platform/mac/HTMLConverter.mm:
(_shadowForShadowStyle):

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

5 years agoAtomicize frequently identical ResourceResponse string members.
akling@apple.com [Sun, 16 Feb 2014 22:59:55 +0000 (22:59 +0000)]
Atomicize frequently identical ResourceResponse string members.
<https://webkit.org/b/128887>

Store the mime type, text encoding and HTTP response status text in
AtomicStrings instead of Strings to deduplicate frequently occurring
values (e.g "text/html", "utf-8" and "OK".)

Reviewed by Geoffrey Garen.

* platform/network/ResourceResponseBase.h:
* platform/network/cf/ResourceResponseCFNet.cpp:
(WebCore::ResourceResponse::cfURLResponse):
(WebCore::ResourceResponse::platformLazyInit):
* platform/network/mac/ResourceResponseMac.mm:
(WebCore::ResourceResponse::platformLazyInit):

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

5 years agoSpeculative iOS build fix.
mitz@apple.com [Sun, 16 Feb 2014 22:45:13 +0000 (22:45 +0000)]
Speculative iOS build fix.

* WebProcess/WebPage/mac/PageBannerMac.mm:

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

5 years agoSpeculative iOS build fix.
mitz@apple.com [Sun, 16 Feb 2014 22:43:04 +0000 (22:43 +0000)]
Speculative iOS build fix.

* dom/Document.cpp:
(WebCore::Document::Document):

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

5 years agoMove document life time management from TreeScope to Document
antti@apple.com [Sun, 16 Feb 2014 22:18:13 +0000 (22:18 +0000)]
Move document life time management from TreeScope to Document
https://bugs.webkit.org/show_bug.cgi?id=128877

Reviewed by Andreas Kling.

Document life time is managed in confusing manner by TreeScopes which are also inherited to ShadowRoots.

This patches moves the life time management to Document. Nodes in shadow trees selfOnlyRef the Document instead
of the ShadowRoot. ShadowRoot is treated like any other node and selfOnlyRefs the Document as well (which it
also did earlier, indirectly).

TreeScope is devirtualized.

* css/ElementRuleCollector.cpp:
(WebCore::ElementRuleCollector::collectMatchingRules):

    Author stylesheets never match in UA shadow trees.

* dom/ContainerNode.cpp:
(WebCore::ContainerNode::~ContainerNode):
* dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::~Document):
(WebCore::Document::removedLastRef):
* dom/Document.h:
(WebCore::Document::selfOnlyRef):
(WebCore::Document::selfOnlyDeref):

    To avoid branches Document self-refs itself like all other Nodes. This is why deletion will now happen on ref count of 1.

(WebCore::Node::isDocumentNode):
(WebCore::Node::Node):
* dom/DocumentOrderedMap.cpp:
(WebCore::DocumentOrderedMap::add):
* dom/Element.cpp:
(WebCore::Element::insertedInto):
(WebCore::Element::removedFrom):
* dom/Node.cpp:
(WebCore::Node::~Node):
(WebCore::Node::removedLastRef):
* dom/Node.h:
(WebCore::Node::document):
(WebCore::Node::inDocument):
* dom/ShadowRoot.cpp:
(WebCore::ShadowRoot::ShadowRoot):
(WebCore::ShadowRoot::~ShadowRoot):
* dom/ShadowRoot.h:
* dom/TreeScope.cpp:
(WebCore::TreeScope::TreeScope):
(WebCore::TreeScope::~TreeScope):
(WebCore::TreeScope::setParentTreeScope):
* dom/TreeScope.h:
(WebCore::TreeScope::documentScope):

    Document can no longer ever be null.

(WebCore::TreeScope::rootNode):
(WebCore::TreeScope::setDocumentScope):
* dom/TreeScopeAdopter.cpp:
(WebCore::TreeScopeAdopter::moveTreeToNewScope):
(WebCore::TreeScopeAdopter::moveShadowTreeToNewDocument):

    Manage Document selfOnlyRefs for nodes in shadow trees too.

(WebCore::TreeScopeAdopter::updateTreeScope):
(WebCore::TreeScopeAdopter::moveNodeToNewDocument):
* dom/TreeScopeAdopter.h:

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

5 years agosetSelectionRange shouldn't directly instantiate VisibleSelection
rniwa@webkit.org [Sun, 16 Feb 2014 22:00:21 +0000 (22:00 +0000)]
setSelectionRange shouldn't directly instantiate VisibleSelection
https://bugs.webkit.org/show_bug.cgi?id=128881

Reviewed by Andreas Kling.

Added a new version of moveTo for setSelectionRange.

* editing/FrameSelection.cpp:
(WebCore::FrameSelection::moveTo): Added.
* editing/FrameSelection.h:
* html/HTMLTextFormControlElement.cpp:
(WebCore::HTMLTextFormControlElement::setSelectionRange): Use the newly added FrameSelection::moveTo
instead of manually instantiating VisibleSelection here.

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

5 years agoSpeculative iOS build fix.
mitz@apple.com [Sun, 16 Feb 2014 21:38:16 +0000 (21:38 +0000)]
Speculative iOS build fix.

* WebProcess/WebPage/PageBanner.h:

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

5 years agoStop using PLATFORM(MAC) in Source except where it means “OS X but not iOS”
mitz@apple.com [Sun, 16 Feb 2014 20:38:41 +0000 (20:38 +0000)]
Stop using PLATFORM(MAC) in Source except where it means “OS X but not iOS”
https://bugs.webkit.org/show_bug.cgi?id=128885

Reviewed by Anders Carlsson.

Source/WebCore:

* loader/FrameLoaderClient.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
* platform/Cursor.h: Changed PLATFORM(MAC) to USE(APPKIT) around uses of NSCursor.
* platform/LocalizedStrings.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
* platform/graphics/PlatformLayer.h: Ditto.
* platform/graphics/cg/PDFDocumentImage.cpp: Ditto.
* rendering/RenderLayerCompositor.cpp: Ditto.
(WebCore::RenderLayerCompositor::requiresContentShadowLayer):
(WebCore::RenderLayerCompositor::updateOverflowControlsLayers):

Source/WebKit2:

* Configurations/WebKit2.xcconfig: Removed PageBannerMac.mm and WKBundlePageBannerMac.mm
from EXCLUDED_SOURCE_FILE_NAMES_iphoneos, now that these files are guarded with
!PLATFORM(IOS).
* WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: Changed PLATFORM(MAC) to
PLATFORM(COCOA).
(WKBundleFrameCopyWebArchiveFilteringSubframes):
* WebProcess/InjectedBundle/API/c/mac/WKBundlePageBannerMac.mm: Guarded with !PLATFORM(IOS).
* WebProcess/InjectedBundle/InjectedBundle.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
(WebKit::InjectedBundle::setPrivateBrowsingEnabled):
* WebProcess/InjectedBundle/InjectedBundle.h: Changed PLATFORM(MAC) to USE(FOUNDATION)
around use of NSBundle.
* WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h: Changed PLATFORM(MAC) to
PLATFORM(COCOA).
(WebKit::InjectedBundleUserMessageEncoder::encode):
(WebKit::InjectedBundleUserMessageDecoder::decode):
* WebProcess/Network/WebResourceLoader.cpp: Ditto.
(WebKit::WebResourceLoader::didReceiveResponseWithCertificateInfo):
* WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: Ditto.
(WebKit::NPN_GetValue):
(WebKit::NPN_SetValue):
(WebKit::initializeBrowserFuncs):
* WebProcess/Plugins/Netscape/NetscapePlugin.cpp: Ditto.
(WebKit::NetscapePlugin::NetscapePlugin):
(WebKit::NetscapePlugin::supportsSnapshotting):
* WebProcess/Plugins/Netscape/NetscapePlugin.h: Ditto.
* WebProcess/Plugins/Plugin.cpp: Ditto.
(WebKit::Plugin::Parameters::encode):
(WebKit::Plugin::Parameters::decode):
* WebProcess/Plugins/Plugin.h: Ditto.
* WebProcess/Plugins/PluginController.h: Ditto.
* WebProcess/Plugins/PluginProcessConnectionManager.cpp: Changed PLATFORM(MAC) to
USE(DARWIN) around use of Mach-based IPC.
(WebKit::PluginProcessConnectionManager::getPluginProcessConnection):
* WebProcess/Plugins/PluginProxy.cpp: Chanegd PLATFORM(MAC) to PLATFORM(COCOA).
* WebProcess/Plugins/PluginProxy.h: Ditto.
* WebProcess/Plugins/PluginProxy.messages.in: Ditto.
* WebProcess/Plugins/PluginView.cpp: Ditto.
(WebKit::PluginView::destroyPluginAndReset):
(WebKit::PluginView::viewStateDidChange):
(WebKit::PluginView::didInitializePlugin):
(WebKit::PluginView::invalidateRect):
(WebKit::PluginView::pluginSnapshotTimerFired):
* WebProcess/Plugins/PluginView.h: Ditto.
* WebProcess/ResourceCache/cf/WebResourceCacheManagerCFNet.cpp: Ditto.
* WebProcess/WebCoreSupport/WebChromeClient.cpp: Ditto.
(WebKit::WebChromeClient::windowRect):
* WebProcess/WebCoreSupport/WebChromeClient.h: Ditto.
* WebProcess/WebCoreSupport/WebContextMenuClient.cpp: Ditto.
* WebProcess/WebCoreSupport/WebContextMenuClient.h: Ditto.
* WebProcess/WebCoreSupport/WebDragClient.cpp: Ditto.
* WebProcess/WebCoreSupport/WebDragClient.h: Ditto.
* WebProcess/WebCoreSupport/WebEditorClient.cpp: Ditto.
(WebKit::WebEditorClient::shouldEraseMarkersAfterChangeSelection):
* WebProcess/WebCoreSupport/WebEditorClient.h: Ditto.
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: Ditto.
(WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
(WebKit::WebFrameLoaderClient::createPlugin):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.h: Ditto.
* WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Ditto.
* WebProcess/WebCoreSupport/WebPlatformStrategies.h: Ditto.
* WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: Removed PLATFORM(MAC).
(InitWebCoreSystemInterface):
* WebProcess/WebPage/DrawingArea.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
(WebKit::DrawingArea::create):
* WebProcess/WebPage/DrawingArea.h: Ditto.
* WebProcess/WebPage/DrawingArea.messages.in: Ditto.
* WebProcess/WebPage/EventDispatcher.cpp: Ditto.
(WebKit::EventDispatcher::wheelEvent):
* WebProcess/WebPage/LayerTreeHost.h: Ditto.
* WebProcess/WebPage/PageBanner.cpp: Added !PLATFORM(IOS)
* WebProcess/WebPage/PageBanner.h: Ditto.
* WebProcess/WebPage/WebFrame.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
* WebProcess/WebPage/WebFrame.h: Ditto.
* WebProcess/WebPage/WebInspector.cpp: Ditto.
(WebKit::WebInspector::WebInspector):
* WebProcess/WebPage/WebInspector.h: Ditto.
* WebProcess/WebPage/WebPage.cpp: Ditto.
(WebKit::WebPage::WebPage):
(WebKit::isContextClick):
(WebKit::WebPage::getSelectionAsWebArchiveData):
(WebKit::WebPage::getWebArchiveOfFrame):
(WebKit::WebPage::updatePreferences):
(WebKit::WebPage::sendSetWindowFrame):
(WebKit::WebPage::beginPrinting):
(WebKit::WebPage::computePagesForPrinting):
* WebProcess/WebPage/WebPage.h: Ditto.
* WebProcess/WebPage/WebPage.messages.in: Ditto.
* WebProcess/WebPage/mac/PageBannerMac.mm: Guarded with !PLATFORM(IOS).
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::WebProcess): Changed PLATFORM(MAC) to PLATFORM(COCOA).
(WebKit::WebProcess::initializeWebProcess): Ditto.
(WebKit::WebProcess::ensureNetworkProcessConnection): Changed PLATFORM(MAC) to OS(DARWIN).
(WebKit::WebProcess::ensurePrivateBrowsingSession): Changed PLATFORM(MAC) to
PLATFORM(COCOA).
(WebKit::WebProcess::destroyPrivateBrowsingSession): Ditto.
(WebKit::WebProcess::ensureWebToDatabaseProcessConnection): Changed PLATFORM(MAC) to
OS(DARWIN).
(WebKit::WebProcess::nonVisibleProcessCleanupTimerFired): Changed PLATFORM(MAC) to
PLATFORM(COCOA)
* WebProcess/WebProcess.h: Ditto.
* WebProcess/WebProcess.messages.in: Removed PLATFORM(MAC) guard around
SetProcessSuppressionEnabled. Changed it to PLATFORM(COCOA) around SetQOS.

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

5 years agoSpeculative iOS build fix after r164184.
mitz@apple.com [Sun, 16 Feb 2014 17:41:20 +0000 (17:41 +0000)]
Speculative iOS build fix after r164184.

* dom/Node.cpp:
(WebCore::Node::defaultEventHandler):

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

5 years agoReintroduce const qualifiers for return types of (Filter|Transform)Iterator::operator*()
zandobersek@gmail.com [Sun, 16 Feb 2014 09:11:44 +0000 (09:11 +0000)]
Reintroduce const qualifiers for return types of (Filter|Transform)Iterator::operator*()
https://bugs.webkit.org/show_bug.cgi?id=126875

The const qualifiers for the return types of FilterIterator::operator*() and TransformIterator::operator*()
were removed in r161797 and r161802 because of compilation failures when using GCC and having an Iterator
type that already had the const qualifier. std::remove_const is now used to appease GCC and enforce the const
qualifier on the return type, regardless of the Iterator type and its qualifiers.

* wtf/IteratorAdaptors.h:
(WTF::FilterIterator::operator*):
(WTF::TransformIterator::operator*):

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

5 years agoBuild break when disabled ACCESSIBILITY since r162986
ryuan.choi@samsung.com [Sun, 16 Feb 2014 05:07:57 +0000 (05:07 +0000)]
Build break when disabled ACCESSIBILITY since r162986
https://bugs.webkit.org/show_bug.cgi?id=128880

Unreviewed build fix.

* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
Added dummy implementations for newly added methods.
(WTR::AccessibilityUIElement::rowHeaders):
(WTR::AccessibilityUIElement::columnHeaders):
(WTR::AccessibilityUIElement::ariaControlsElementAtIndex):

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

5 years agoDOMSelection shouldn't instantiate VisibleSelection everywhere
rniwa@webkit.org [Sun, 16 Feb 2014 03:33:57 +0000 (03:33 +0000)]
DOMSelection shouldn't instantiate VisibleSelection everywhere
https://bugs.webkit.org/show_bug.cgi?id=128879

Reviewed by Antti Koivisto.

Removed explicit instantiation of VisibleSelection from various member functions of VisibleSelection.

* page/DOMSelection.cpp:
(WebCore::DOMSelection::collapse):
(WebCore::DOMSelection::collapseToEnd):
(WebCore::DOMSelection::collapseToStart):
(WebCore::DOMSelection::setBaseAndExtent):
(WebCore::DOMSelection::setPosition):
(WebCore::DOMSelection::extend):
(WebCore::DOMSelection::getRangeAt):
(WebCore::DOMSelection::addRange):

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

5 years ago[Mac] Remove WebSerializedJSValue SPI
ap@apple.com [Sun, 16 Feb 2014 03:11:47 +0000 (03:11 +0000)]
[Mac] Remove WebSerializedJSValue SPI
https://bugs.webkit.org/show_bug.cgi?id=128720

Reviewed by Anders Carlsson.

Source/WebKit:

* WebKit.xcodeproj/project.pbxproj: Removed WebSerializedJSValue files from the project.

Source/WebKit/mac:

* WebKit.exp:
* WebView/WebSerializedJSValue.h: Removed.
* WebView/WebSerializedJSValue.mm: Removed.
* WebView/WebSerializedJSValuePrivate.h: Removed.

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

5 years agoRemove unused arguments from moveTo(Range*)
rniwa@webkit.org [Sun, 16 Feb 2014 03:07:14 +0000 (03:07 +0000)]
Remove unused arguments from moveTo(Range*)
https://bugs.webkit.org/show_bug.cgi?id=128878

Reviewed by Antti Koivisto.

Cleanup.

* bindings/objc/DOMUIKitExtensions.mm:
(-[DOMRange move:inDirection:]):
(-[DOMRange extend:inDirection:]):
* editing/FrameSelection.cpp:
(WebCore::FrameSelection::moveTo):
* editing/FrameSelection.h:

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

5 years agoVector with inline capacity should work with non-PODs
fpizlo@apple.com [Sun, 16 Feb 2014 02:54:26 +0000 (02:54 +0000)]
Vector with inline capacity should work with non-PODs
https://bugs.webkit.org/show_bug.cgi?id=128864

Source/JavaScriptCore:

Reviewed by Michael Saboff.

Deques no longer have inline capacity because it was broken, and we didn't need it
here anyway.

* dfg/DFGWorklist.h:

Source/WebCore:

Reviewed by Michael Saboff.

No new tests because no change behavior.

Deques no longer have inline capacity because it was broken, and we didn't need it
here anyway.

* page/WheelEventDeltaTracker.h:

Source/WTF:

Reviewed by Michael Saboff.

Previously, we would copy the inline storage of a vector as if it was a bag of bits.
This presumed that the element type was relocatable. In general this is only true for
PODs.

This patch changes this by introducing a swap operation over inline storage. This swap
operation requires being told about the size that is in use.

Deques would have required some cleverness to make this work, because the swap
operation needs to know which subset of elements are in-use and assumes that a size is
sufficient for this. That's not true for deques. Instead of trying to do very clever
things, I just removed the inline capacity option from Deque. I believe that this is
fine since there are only two users of Deque with inline capacity, and both of them
appear to be allocated rarely enough that inline capacity probably doesn't help much.

* wtf/Deque.h:
(WTF::DequeIterator::DequeIterator):
(WTF::DequeConstIterator::DequeConstIterator):
(WTF::Deque<T>::checkValidity):
(WTF::Deque<T>::checkIndexValidity):
(WTF::Deque<T>::invalidateIterators):
(WTF::Deque<T>::Deque):
(WTF::=):
(WTF::Deque<T>::destroyAll):
(WTF::Deque<T>::~Deque):
(WTF::Deque<T>::swap):
(WTF::Deque<T>::clear):
(WTF::Deque<T>::expandCapacityIfNeeded):
(WTF::Deque<T>::expandCapacity):
(WTF::Deque<T>::append):
(WTF::Deque<T>::prepend):
(WTF::Deque<T>::removeFirst):
(WTF::Deque<T>::removeLast):
(WTF::Deque<T>::remove):
(WTF::DequeIteratorBase<T>::checkValidity):
(WTF::DequeIteratorBase<T>::addToIteratorsList):
(WTF::DequeIteratorBase<T>::removeFromIteratorsList):
(WTF::DequeIteratorBase<T>::DequeIteratorBase):
(WTF::DequeIteratorBase<T>::~DequeIteratorBase):
(WTF::DequeIteratorBase<T>::isEqual):
(WTF::DequeIteratorBase<T>::increment):
(WTF::DequeIteratorBase<T>::decrement):
(WTF::DequeIteratorBase<T>::after):
(WTF::DequeIteratorBase<T>::before):
* wtf/Vector.h:
(WTF::VectorBuffer::swap):
(WTF::VectorBuffer::swapInlineBuffer):
(WTF::VectorBuffer::swapInlineBuffers):
(WTF::Vector::swap):

Tools:

Reviewed by Michael Saboff.

This test experiences really bizarre behavior on trunk without the rest of
this fix. On my machine, it usually times out because it gets itself into an
infinite loop of some kind. With the fix, it passes.

* TestWebKitAPI/Tests/WTF/Vector.cpp:
(TestWebKitAPI::TEST):

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

5 years agoAdd checked casts for Event.
akling@apple.com [Sun, 16 Feb 2014 02:01:04 +0000 (02:01 +0000)]
Add checked casts for Event.
<https://webkit.org/b/128875>

Generate casting helpers for casting from Event to various subclasses
and go on static_cast replacement spree.

Reviewed by Sam Weinig.

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

5 years agoHTMLTextFormControlElement::subtreeHasChanged should be called before updating selection
rniwa@webkit.org [Sun, 16 Feb 2014 00:36:36 +0000 (00:36 +0000)]
HTMLTextFormControlElement::subtreeHasChanged should be called before updating selection
https://bugs.webkit.org/show_bug.cgi?id=128870

Reviewed by Darin Adler.

Extracted HTMLTextFormControlElement::didEditInnerTextValue out of HTMLTextFormControlElement::defaultEventHandler
and called it in appliedEditing, unappliedEditing, and reappliedEditing before updating selection.

* editing/Editor.cpp:
(WebCore::notifyTextFromControls): Added.
(WebCore::Editor::appliedEditing): Update text form control's internal states before updating selection.
(WebCore::Editor::unappliedEditing): Ditto.
(WebCore::Editor::reappliedEditing): Ditto.
* html/HTMLTextFormControlElement.cpp:
(WebCore::HTMLTextFormControlElement::didEditInnerTextValue):
* html/TextFieldInputType.cpp:
(WebCore::TextFieldInputType::subtreeHasChanged): Removed a stale assertion from the time we used to do
everything in the render tree.

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

5 years agoAdd checked casts for ScriptExecutionContext.
akling@apple.com [Sun, 16 Feb 2014 00:26:53 +0000 (00:26 +0000)]
Add checked casts for ScriptExecutionContext.
<https://webkit.org/b/128874>

Generate casting helpers for casting from ScriptExecutionContext to
Document and WorkerGlobalScope. Apply heartily.

Reviewed by Antti Koivisto.

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

5 years ago[Mac] All WebKit clients should encrypt WebCrypto keys automatically
ap@apple.com [Sat, 15 Feb 2014 23:26:21 +0000 (23:26 +0000)]
[Mac] All WebKit clients should encrypt WebCrypto keys automatically
https://bugs.webkit.org/show_bug.cgi?id=128852

Reviewed by Oliver Hunt.

Source/WebCore:

Install a persistent master key in Keychain on first use of WebCrypto key serialization.
The key is per application, protected with ACL.

* English.lproj/Localizable.strings:
* WebCore.exp.in:
* crypto/SerializedCryptoKeyWrap.h:
* crypto/mac/SerializedCryptoKeyWrapMac.mm:
(WebCore::masterKeyAccountNameForCurrentApplication):
(WebCore::getDefaultWebCryptoMasterKey):
(WebCore::createAndStoreMasterKey):
(WebCore::findMasterKey):
* platform/LocalizedStrings.cpp:
(WebCore::webCryptoMasterKeyKeychainLabel):
(WebCore::webCryptoMasterKeyKeychainComment):
* platform/LocalizedStrings.h:

Source/WebKit/mac:

* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::wrapCryptoKey):
(WebChromeClient::unwrapCryptoKey):
Call the default implementation if key is not provided by a client.

Source/WebKit2:

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::wrapCryptoKey):
(WebKit::WebPageProxy::unwrapCryptoKey):
Call the default implementation if key is not provided by a client.

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

5 years agocomputeSelectionStart and computeSelectionEnd shouldn't trigger synchronous layout
rniwa@webkit.org [Sat, 15 Feb 2014 22:32:05 +0000 (22:32 +0000)]
computeSelectionStart and computeSelectionEnd shouldn't trigger synchronous layout
https://bugs.webkit.org/show_bug.cgi?id=128806

Reviewed by Darin Adler.

Added indexForPosition to HTMLTextFormControlElement. Like r163825, this patch traverses the DOM tree
instead of the render tree to compute the index for a given position.

We traverse the DOM Tree backwards starting at the specified Position all the way back to the beginning
of the inner text element. The index is computed as the number of characters we encountered during
this backwards DOM traversal.

It's worth noting that passedPosition.computeNodeBeforePosition() returns and only returns 0 when the
position is before the first node of its parent or inside a text node. In such cases, we call
passedPosition.containerNode() to find the parent or the text node.

* html/HTMLTextFormControlElement.cpp:
(WebCore::HTMLTextFormControlElement::indexForVisiblePosition): Use indexForPosition.
(WebCore::HTMLTextFormControlElement::computeSelectionStart): Ditto.
(WebCore::HTMLTextFormControlElement::computeSelectionEnd): Dotto.
(WebCore::finishText): Cleanup. Use newlineCharacter instead of hard-coding '\n'.
(WebCore::HTMLTextFormControlElement::indexForPosition): Added. See above for the description.
* html/HTMLTextFormControlElement.h:

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

5 years ago[EFL][WK2] Stop calling mktemp(3).
rakuco@webkit.org [Sat, 15 Feb 2014 21:15:49 +0000 (21:15 +0000)]
[EFL][WK2] Stop calling mktemp(3).
https://bugs.webkit.org/show_bug.cgi?id=128826

Reviewed by Gyuyoung Kim.

mktemp(3) is an insecure function and should be avoided at all costs.
Replace its usage with mkdtemp(3): instead of just getting a file name
that is supposed to be random and unused, we now create a directory
with a random name and then put whatever files we need there with fixed
names.

* UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:
(TEST_F):
* UIProcess/API/efl/tests/test_ewk2_download_job.cpp:
(TEST_F):

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

5 years agoUnreviewed, roll out r164166.
fpizlo@apple.com [Sat, 15 Feb 2014 19:45:54 +0000 (19:45 +0000)]
Unreviewed, roll out r164166.

This broke three unique tests:

** The following JSC stress test failures have been introduced:
    regress/script-tests/variadic-closure-call.js.default-ftl
    regress/script-tests/variadic-closure-call.js.ftl-no-cjit-validate
    regress/script-tests/variadic-closure-call.js.ftl-no-cjit-osr-validation
    regress/script-tests/variadic-closure-call.js.ftl-eager
    regress/script-tests/variadic-closure-call.js.ftl-eager-no-cjit
    regress/script-tests/variadic-closure-call.js.ftl-eager-no-cjit-osr-validation
    jsc-layout-tests.yaml/js/script-tests/unmatching-argument-count.js.layout-ftl-eager-no-cjit
    regress/script-tests/direct-arguments-getbyval.js.ftl-eager-no-cjit
    regress/script-tests/direct-arguments-getbyval.js.ftl-eager-no-cjit-osr-validation

* bytecode/PolymorphicAccessStructureList.h:
* ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileNode):
* tests/stress/ftl-getbyval-arguments.js:

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

5 years ago[Win] Avoid unnecessary asserts if "prepareToPlay" is called multiple times.
bfulgham@apple.com [Sat, 15 Feb 2014 19:25:49 +0000 (19:25 +0000)]
[Win] Avoid unnecessary asserts if "prepareToPlay" is called multiple times.
https://bugs.webkit.org/show_bug.cgi?id=128859

Reviewed by Eric Carlson.

* platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
(WebCore::AVFWrapper::createPlayer): Don't assert if player exists; just return the
existing copy.
(WebCore::AVFWrapper::createPlayerItem): Ditto (but with Player Items).

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

5 years agoRemove double hashing from DatasetDOMStringMap::deleteItem
darin@apple.com [Sat, 15 Feb 2014 18:16:24 +0000 (18:16 +0000)]
Remove double hashing from DatasetDOMStringMap::deleteItem
https://bugs.webkit.org/show_bug.cgi?id=128865

Reviewed by Benjamin Poulain.

* dom/DatasetDOMStringMap.cpp:
(WebCore::DatasetDOMStringMap::deleteItem): Removed call to hasAttribute, using the
result from removeAttribute instead.

* dom/Element.cpp:
(WebCore::Element::removeAttribute): Add a return value, false if nothing is removed,
and true if something is removed.
(WebCore::Element::removeAttributeNS): Ditto.
* dom/Element.h: Ditto.

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

5 years agoRemove 'static' specifier from free inline functions in StringImpl.h
mikhail.pozdnyakov@intel.com [Sat, 15 Feb 2014 18:15:16 +0000 (18:15 +0000)]
Remove 'static' specifier from free inline functions in StringImpl.h
https://bugs.webkit.org/show_bug.cgi?id=118554

Reviewed by Darin Adler.

At first 'static' does not bring any use here, secondly static free
inline functions in headers is a bad practice in general as each instance
of function defined as inline is treated as a separate function and each
instance has its own copy of static locals and string literals.

* wtf/text/StringImpl.h:
(WTF::codePointCompare):
(WTF::codePointCompare8):
(WTF::codePointCompare16):
(WTF::codePointCompare8To16):
(WTF::isSpaceOrNewline):

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

5 years agoSetting currentTime on HTMLMediaElement with media controller should throw exception.
commit-queue@webkit.org [Sat, 15 Feb 2014 18:00:22 +0000 (18:00 +0000)]
Setting currentTime on HTMLMediaElement with media controller should throw exception.
https://bugs.webkit.org/show_bug.cgi?id=128867.

Patch by Piotr Grad <p.grad@samsung.com> on 2014-02-15
Reviewed by Eric Carlson.

Source/WebCore:

Added implementation for setting currentTime in HTMLMediaElement. Old implementation
was left to be used internally.

Test: media/video-controller-currentTime.html

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::parseAttribute):
* html/HTMLMediaElement.h:
* html/HTMLMediaElement.idl:

LayoutTests:

* media/video-controller-currentTime-expected.txt: Added.
* media/video-controller-currentTime.html: Added.

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

5 years agoForm controls are always painted in the active state
andersca@apple.com [Sat, 15 Feb 2014 17:51:57 +0000 (17:51 +0000)]
Form controls are always painted in the active state
https://bugs.webkit.org/show_bug.cgi?id=128872
<rdar://problem/9422677>

Reviewed by Dan Bernstein.

AppKit will always paint form controls in the active state if the view doesn't have a
window. Fix this by adding a fake window whose key appearance we'll update based on the
control state. Also, rename WebCoreFlippedView to WebCoreThemeView since it stopped being
just about the flippedness a long time ago.

* platform/mac/ThemeMac.h:
* platform/mac/ThemeMac.mm:
(-[WebCoreThemeWindow hasKeyAppearance]):
Return themeWindowHasKeyAppearance.

(-[WebCoreThemeView window]):
Create a WebCoreThemeWindow object lazily and return it.

(WebCore::paintCheckbox):
(WebCore::paintRadio):
(WebCore::paintButton):
Pass the control states to ThemeMac::ensuredView.

(WebCore::ThemeMac::ensuredView):
Set themeWindowHasKeyAppearance based on the control state.

* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::documentViewFor):
Pass the control states to ThemeMac::ensuredView.

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

5 years agoStop using PLATFORM(MAC) in WebKit2/UIProcess except where it means “OS X but not...
mitz@apple.com [Sat, 15 Feb 2014 17:06:17 +0000 (17:06 +0000)]
Stop using PLATFORM(MAC) in WebKit2/UIProcess except where it means “OS X but not iOS”
https://bugs.webkit.org/show_bug.cgi?id=128868

Reviewed by Anders Carlsoon.

* UIProcess/API/C/WKPage.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
* UIProcess/Databases/DatabaseProcessProxy.cpp:
(WebKit::DatabaseProcessProxy::didCreateDatabaseToWebProcessConnection): Changed
PLATFORM(MAC) to OS(DARWIN) around use of Mach-based IPC.
* UIProcess/DrawingAreaProxy.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA)
(WebKit::DrawingAreaProxy::DrawingAreaProxy):
* UIProcess/DrawingAreaProxy.h: Ditto.
* UIProcess/DrawingAreaProxy.messages.in: Ditto.
* UIProcess/Launcher/ProcessLauncher.cpp:
(WebKit::ProcessLauncher::didFinishLaunchingProcess): Changed PLATFORM(MAC) to OS(DARWIN)
around use of Mach API.
* UIProcess/Launcher/ProcessLauncher.h: Ditto.
* UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h: Changed PLATFORM(MAC) to
PLATFORM(COCOA)
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::networkProcessCrashedOrFailedToLaunch): Changed PLATFORM(MAC)
to OS(DARWIN).
(WebKit::NetworkProcessProxy::didCreateNetworkConnectionToWebProcess): Ditto.
(WebKit::NetworkProcessProxy::didFinishLaunching): Changed PLATFORM(MAC) to PLATFORM(COCOA)
around process suppression call.
* UIProcess/Network/NetworkProcessProxy.h: Ditto.
* UIProcess/PageClient.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
* UIProcess/Plugins/PluginInfoStore.cpp: Ditto.
* UIProcess/Plugins/PluginProcessManager.h: Ditto.
* UIProcess/Plugins/PluginProcessProxy.cpp:
(WebKit::PluginProcessProxy::PluginProcessProxy): Ditto.
(WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch): Changed PLATFORM(MAC)
to OS(DARWIN).
(WebKit::PluginProcessProxy::didClose): Changed PLATFORM(MAC) to PLATFORM(COCOA).
(WebKit::PluginProcessProxy::didFinishLaunching): Changed PLATFORM(MAC) to OS(DARWIN) around
use of Mach-based IPC, and to PLATFORM(COCOA) around SetQOS.
(WebKit::PluginProcessProxy::didCreateWebProcessConnection): Changed PLATFORM(MAC) to
OS(DARWIN).
* UIProcess/Plugins/PluginProcessProxy.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
* UIProcess/Plugins/PluginProcessProxy.messages.in: Ditto.
* UIProcess/TextChecker.h: Ditto.
* UIProcess/WebContext.cpp: Ditto.
(WebKit::WebContext::ensureNetworkProcess):
(WebKit::WebContext::createNewWebProcess):
(WebKit::WebContext::setHTTPPipeliningEnabled):
(WebKit::WebContext::httpPipeliningEnabled):
(WebKit::WebContext::pluginInfoStoreDidLoadPlugins):
* UIProcess/WebContext.h: Ditto.
* UIProcess/WebContext.messages.in: Ditto.
* UIProcess/WebContextUserMessageCoders.h: Ditto.
(WebKit::WebContextUserMessageEncoder::encode):
(WebKit::WebContextUserMessageDecoder::decode):
* UIProcess/WebCookieManagerProxy.cpp: Ditto.
(WebKit::WebCookieManagerProxy::setHTTPCookieAcceptPolicy):
* UIProcess/WebCookieManagerProxy.h: Ditto.
* UIProcess/WebFormSubmissionListenerProxy.h: Ditto.
* UIProcess/WebFramePolicyListenerProxy.h: Ditto.
* UIProcess/WebInspectorProxy.h: Added !PLATFORM(IOS) around members reltated to managing
the inspector window and its view.
* UIProcess/WebPageProxy.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::initializeWebPage):
(WebKit::WebPageProxy::recordNavigationSnapshot):
(WebKit::WebPageProxy::canShowMIMEType):
(WebKit::canCoalesce):
(WebKit::coalesce):
(WebKit::WebPageProxy::findPlugin):
(WebKit::WebPageProxy::editorStateChanged):
(WebKit::WebPageProxy::contextMenuItemSelected):
(WebKit::WebPageProxy::didReceiveEvent):
(WebKit::WebPageProxy::didBlockInsecurePluginVersion):
* UIProcess/WebPageProxy.h: Ditto.
* UIProcess/WebPageProxy.messages.in: Ditto.
* UIProcess/WebProcessProxy.cpp: Ditto.
(WebKit::WebProcessProxy::WebProcessProxy):
(WebKit::WebProcessProxy::createWebPage):
(WebKit::WebProcessProxy::addExistingWebPage):
(WebKit::WebProcessProxy::removeWebPage):
(WebKit::WebProcessProxy::didFinishLaunching):
(WebKit::WebProcessProxy::pageSuppressibilityChanged):
(WebKit::WebProcessProxy::pagePreferencesChanged):
* UIProcess/WebProcessProxy.h: Ditto.
* UIProcess/cf/WebPreferencesCF.cpp: Removed this file which was not used in any
configuration.
* UIProcess/ios/WebInspectorProxyIOS.mm: Removed functions that no longer need to be
implemented for iOS.
* WebKit2.xcodeproj/project.pbxproj: Removed reference to WebPreferencesCF.cpp.

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

5 years agomessages.py doesn't handle parameters with more than one level of scope.
commit-queue@webkit.org [Sat, 15 Feb 2014 09:28:01 +0000 (09:28 +0000)]
messages.py doesn't handle parameters with more than one level of scope.
https://bugs.webkit.org/show_bug.cgi?id=128573

Patch by Jeremy Jones <jeremyj@apple.com> on 2014-02-15
Reviewed by Simon Fraser.

Support .messages.in header include generation for parameter types with more than 1 level of scope.

Add a test case and update expected results.

* Scripts/webkit2/LegacyMessageReceiver-expected.cpp:
(WebKit::WebPage::didReceiveWebPageMessage):
* Scripts/webkit2/LegacyMessages-expected.h:
(Messages::WebPage::SetVideoLayerID::receiverName):
(Messages::WebPage::SetVideoLayerID::name):
(Messages::WebPage::SetVideoLayerID::SetVideoLayerID):
(Messages::WebPage::SetVideoLayerID::arguments):
* Scripts/webkit2/MessageReceiver-expected.cpp:
(WebKit::WebPage::didReceiveMessage):
* Scripts/webkit2/Messages-expected.h:
(Messages::WebPage::SetVideoLayerID::receiverName):
(Messages::WebPage::SetVideoLayerID::name):
(Messages::WebPage::SetVideoLayerID::SetVideoLayerID):
(Messages::WebPage::SetVideoLayerID::arguments):
* Scripts/webkit2/messages.py:
(headers_for_type):
* Scripts/webkit2/messages_unittest.py:
* Scripts/webkit2/test-legacy-messages.in:
* Scripts/webkit2/test-messages.in:

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

5 years agoASSERT_WITH_SECURITY_IMPLICATION in WebCore::toElement
commit-queue@webkit.org [Sat, 15 Feb 2014 08:57:21 +0000 (08:57 +0000)]
ASSERT_WITH_SECURITY_IMPLICATION in WebCore::toElement
https://bugs.webkit.org/show_bug.cgi?id=128810

Patch by Renata Hodovan <rhodovan.u-szeged@partner.samsung.com> on 2014-02-15
Reviewed by Ryosuke Niwa.

Source/WebCore:

Make CompositeEditCommand::cloneParagraphUnderNewElement() to work when |outerNode|
doesn't contain |start|.

Before this patch, CompositeEditCommand::cloneParagraphUnderNewElement() tried to copy
ancestry nodes from |start| to Document node when |start| position isn't in |outerNode|. This
patch changes CompositeEditCommand::cloneParagraphUnderNewElement() to copy |start| to
|outerNode| only if |outerNode| contains |start| position.

Merged from Blink https://src.chromium.org/viewvc/blink?revision=161762&view=revision by yosin@chromium.org.

Test: editing/execCommand/indent-with-uneditable-crash.html

* editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::cloneParagraphUnderNewElement):

LayoutTests:

* editing/execCommand/indent-with-uneditable-crash-expected.txt: Added.
* editing/execCommand/indent-with-uneditable-crash.html: Added.

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

5 years ago[EFL][WK1] Do not include cairo header in the public headers
ryuan.choi@samsung.com [Sat, 15 Feb 2014 08:39:12 +0000 (08:39 +0000)]
[EFL][WK1] Do not include cairo header in the public headers
https://bugs.webkit.org/show_bug.cgi?id=128779

Reviewed by Gyuyoung Kim.

Source/WebKit/efl:

Although ewebkit used cairo internally, it's not good for EFL developers
to use it.
Indeed, almost APIs which returns cairo_surface are duplicated with other APIs
which returns evas_object.

* ewk/ewk_history.cpp:
Removed ewk_history_item_icon_surface_get.
ewk_history_item_icon_object_add will be used instead.
* ewk/ewk_history.h:
* ewk/ewk_settings.cpp:
Removed ewk_settings_icon_database_icon_surface_get.
ewk_settings_icon_database_icon_object_get will be used instead.
* ewk/ewk_settings.h:
* ewk/ewk_view.cpp:
(ewk_view_screenshot_contents_get):
Implemented to replace ewk_view_paint and ewk_view_paint_contents.
* ewk/ewk_view.h:
* tests/test_ewk_view.cpp:
(TEST_F): Added test case for ewk_view_screenshot_contents_get

Tools:

* DumpRenderTree/PlatformEfl.cmake:
* DumpRenderTree/efl/PixelDumpSupportEfl.cpp:
(createBitmapContextFromWebView):
Used ewk_view_screenshot_contents_get instead of ewk_view_paint.
* EWebLauncher/main.c:
(print_history): Replaced ewk_history_item_icon_surface_get to ewk_history_item_icon_object_add
(on_key_down):
* Scripts/webkitpy/style/checker.py:
Added -runtime/ctype_function for EWebLauncher because EWebLauncher is sample
and it does not use WTF.

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

5 years ago[GTK] Fix marshaller used in WebKitWebPage::document-loaded signal
carlosgc@webkit.org [Sat, 15 Feb 2014 08:36:58 +0000 (08:36 +0000)]
[GTK] Fix marshaller used in WebKitWebPage::document-loaded signal
https://bugs.webkit.org/show_bug.cgi?id=128808

Reviewed by Sergio Villar Senin.

* WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
(webkit_web_page_class_init): Use g_cclosure_marshal_VOID__VOID
instead of g_cclosure_marshal_VOID__OBJECT.

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

5 years agoAdded GetMyArgumentByVal to FTL
commit-queue@webkit.org [Sat, 15 Feb 2014 08:34:07 +0000 (08:34 +0000)]
Added GetMyArgumentByVal to FTL
https://bugs.webkit.org/show_bug.cgi?id=128850

Patch by Matthew Mirman <mmirman@apple.com> on 2014-02-15
Reviewed by Filip Pizlo.

* ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileGetMyArgumentByVal):
* tests/stress/ftl-getbyval-arguments.js: Added.
(foo):

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

5 years agoAX: Add ability to specify descendant type when using AXUIElementsForSearchPredicate.
samuel_white@apple.com [Sat, 15 Feb 2014 08:33:43 +0000 (08:33 +0000)]
AX: Add ability to specify descendant type when using AXUIElementsForSearchPredicate.
https://bugs.webkit.org/show_bug.cgi?id=128747

Reviewed by Chris Fleizach.

Source/WebCore:

Added support for 'immediate descendant only' to existing predicate based searching. This
addition allows VoiceOver to fetch each child element lazily (rather than all at once via AXChildren).

Test: platform/mac/accessibility/search-predicate-immediate-descendants-only.html

* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::findMatchingObjects):
* accessibility/AccessibilityObject.h:
(WebCore::AccessibilitySearchCriteria::AccessibilitySearchCriteria):
* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(accessibilitySearchCriteriaForSearchPredicateParameterizedAttribute):

Tools:

Updated uiElementCountForSearchPredicate and uiElementForSearchPredicate test methods to support 'immediate descendant only' searching.

* DumpRenderTree/AccessibilityUIElement.cpp:
(uiElementCountForSearchPredicateCallback):
(uiElementForSearchPredicateCallback):
* DumpRenderTree/AccessibilityUIElement.h:
* DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:
(AccessibilityUIElement::uiElementCountForSearchPredicate):
(AccessibilityUIElement::uiElementForSearchPredicate):
* DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
(AccessibilityUIElement::uiElementCountForSearchPredicate):
(AccessibilityUIElement::uiElementForSearchPredicate):
* DumpRenderTree/mac/AccessibilityUIElementMac.mm:
(searchPredicateParameterizedAttributeForSearchCriteria):
(AccessibilityUIElement::uiElementCountForSearchPredicate):
(AccessibilityUIElement::uiElementForSearchPredicate):
* DumpRenderTree/win/AccessibilityUIElementWin.cpp:
(AccessibilityUIElement::uiElementCountForSearchPredicate):
(AccessibilityUIElement::uiElementForSearchPredicate):
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
(WTR::AccessibilityUIElement::uiElementCountForSearchPredicate):
(WTR::AccessibilityUIElement::uiElementForSearchPredicate):
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
* WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::uiElementCountForSearchPredicate):
(WTR::AccessibilityUIElement::uiElementForSearchPredicate):
* WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
(WTR::AccessibilityUIElement::uiElementCountForSearchPredicate):
(WTR::AccessibilityUIElement::uiElementForSearchPredicate):
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::searchPredicateParameterizedAttributeForSearchCriteria):
(WTR::AccessibilityUIElement::uiElementCountForSearchPredicate):
(WTR::AccessibilityUIElement::uiElementForSearchPredicate):

LayoutTests:

Added test to verify that 'immediate descendant only' predicate based searching works as expected.

* platform/mac/accessibility/search-predicate-immediate-descendants-only-expected.txt: Added.
* platform/mac/accessibility/search-predicate-immediate-descendants-only.html: Added.

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

5 years ago[Win] LLINT is not working.
commit-queue@webkit.org [Sat, 15 Feb 2014 08:30:54 +0000 (08:30 +0000)]
[Win] LLINT is not working.
https://bugs.webkit.org/show_bug.cgi?id=128115

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-02-15
Reviewed by Mark Lam.

This patch will generate assembly code with Intel syntax, which can be processed by the Microsoft assembler (MASM).
By creating an asm file instead of a header file with inline assembly, we can support 64-bit.
Only 32-bit compilation has been tested, not 64-bit.
The aim of this patch is to get LLINT up and running on Windows.

* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: Added new files, and generated asm file.
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters: Ditto.
* LLIntAssembly/build-LLIntAssembly.sh: Generate dummy asm file in case we're using C backend.
* bytecode/CallLinkStatus.cpp:
(JSC::CallLinkStatus::computeFor): Compile fix when DFG is disabled.
* bytecode/GetByIdStatus.cpp:
(JSC::GetByIdStatus::computeFor): Ditto.
* bytecode/GetByIdStatus.h: Ditto.
* bytecode/PutByIdStatus.cpp:
(JSC::PutByIdStatus::computeFor): Ditto.
* bytecode/PutByIdStatus.h: Ditto.
* llint/LLIntData.cpp:
(JSC::LLInt::initialize): Compile fix.
* llint/LLIntSlowPaths.h: Added llint_crash function.
* llint/LLIntSlowPaths.cpp: Ditto.
* llint/LowLevelInterpreter.cpp: Disable code for Windows.
* llint/LowLevelInterpreter.asm: Remove instruction which generates incorrect assembly code on Windows (MOV 0xbbadbeef, register), call llint_crash instead.
Make local labels visible to MASM on Windows.
* llint/LowLevelInterpreter32_64.asm: Make local labels visible to MASM on Windows.
* offlineasm/asm.rb: Generate asm file with Intel assembly syntax.
* offlineasm/settings.rb: Ditto.
* offlineasm/x86.rb: Ditto.

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

5 years agoWeb Inspector: scope chain details sidebar doesn't update values modified via console
commit-queue@webkit.org [Sat, 15 Feb 2014 08:28:41 +0000 (08:28 +0000)]
Web Inspector: scope chain details sidebar doesn't update values modified via console
https://bugs.webkit.org/show_bug.cgi?id=126855

Patch by Chris J. Shull <chrisjshull@gmail.com> on 2014-02-15
Reviewed by Timothy Hatcher.

Add a RuntimeManager event that the scope chain details sidebar can
listen to to trigger refresh.

Testing on this is blocked by http://webkit.org/b/128724
(Web Inspector: Issue testing breakpoints).

* UserInterface/RuntimeManager.js:
(WebInspector.RuntimeManager.prototype.evalCallback):
(WebInspector.RuntimeManager.prototype.evaluateInInspectedWindow):
* UserInterface/ScopeChainDetailsSidebarPanel.js:
(WebInspector.ScopeChainDetailsSidebarPanel):

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

5 years ago[CSS Shapes] Add performance test for raster shape with shape-margin
zoltan@webkit.org [Sat, 15 Feb 2014 08:27:16 +0000 (08:27 +0000)]
[CSS Shapes] Add performance test for raster shape with shape-margin
https://bugs.webkit.org/show_bug.cgi?id=128770

Reviewed by Ryosuke Niwa.

This patch introduces a new performance test for image valued shapes,
where shape-margin is applied on the shape.
The test is skipped by default.

* Layout/Shapes/ShapeOutsideRasterWithMargin.html: Added.

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

5 years agoWK2 AVKit enter fullscreen doesn't work a second time.
commit-queue@webkit.org [Sat, 15 Feb 2014 08:25:25 +0000 (08:25 +0000)]
WK2 AVKit enter fullscreen doesn't work a second time.
https://bugs.webkit.org/show_bug.cgi?id=128558

Patch by Jeremy Jones <jeremyj@apple.com> on 2014-02-15
Reviewed by Jer Noble.

Lazily create WebAVPlayerController when needed.

* platform/ios/WebVideoFullscreenInterfaceAVKit.h:
* platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
(WebVideoFullscreenInterfaceAVKit::WebVideoFullscreenInterfaceAVKit):
(WebVideoFullscreenInterfaceAVKit::getPlayerController):
Add getPlayerController()

(WebVideoFullscreenInterfaceAVKit::setWebVideoFullscreenModel):
(WebVideoFullscreenInterfaceAVKit::setDuration):
(WebVideoFullscreenInterfaceAVKit::setCurrentTime):
(WebVideoFullscreenInterfaceAVKit::setRate):
(WebVideoFullscreenInterfaceAVKit::setVideoDimensions):
(WebVideoFullscreenInterfaceAVKit::setVideoLayer):
(WebVideoFullscreenInterfaceAVKit::enterFullscreenWithCompletionHandler):
use getPlayerController();

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

5 years ago[Mac] 10X slower than Chrome when drawing a video into a canvas
jer.noble@apple.com [Sat, 15 Feb 2014 08:23:53 +0000 (08:23 +0000)]
[Mac] 10X slower than Chrome when drawing a video into a canvas
https://bugs.webkit.org/show_bug.cgi?id=124599

Reviewed by Darin Adler.

Follow up patch to r159518 to address Darin's post-commit review.

* html/HTMLVideoElement.cpp:
(WebCore::HTMLVideoElement::nativeImageForCurrentTime): Use nullptr.
* platform/graphics/MediaPlayerPrivate.h:
(WebCore::MediaPlayerPrivateInterface::nativeImageForCurrentTime): Ditto.
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC): Ditto.
(WebCore::MediaPlayerPrivateAVFoundationObjC::~MediaPlayerPrivateAVFoundationObjC): Clear the
        AVPlayerItemVideoOutput's delegate callback.
(WebCore::CVPixelBufferGetBytePointerCallback): Use static_cast.
(WebCore::CVPixelBufferReleaseBytePointerCallback): Ditto.
(WebCore::CVPixelBufferReleaseInfoCallback): Ditto.
(-[WebCoreAVFPullDelegate initWithCallback:]): Space changes.
(-[WebCoreAVFPullDelegate setCallback:]): Added.
(-[WebCoreAVFPullDelegate outputMediaDataWillChange:]): Check the value of m_callback.

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

5 years agoCQ fix after r164105.
rniwa@webkit.org [Sat, 15 Feb 2014 08:18:13 +0000 (08:18 +0000)]
CQ fix after r164105.

* DumpRenderTree/mac/EventSendingController.mm:
* WebKitTestRunner/mac/EventSenderProxy.mm:

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

5 years agoCTTE: WorkerGlobalScope is always owned by a WorkerThread.
akling@apple.com [Sat, 15 Feb 2014 07:41:12 +0000 (07:41 +0000)]
CTTE: WorkerGlobalScope is always owned by a WorkerThread.
<https://webkit.org/b/128834>

Codify this by storing the owner thread as a WorkerThread& and making
thread() return a reference.

This exposed a couple of unnecessary assertions.

Reviewed by Anders Carlsson.

* Modules/notifications/WorkerGlobalScopeNotifications.cpp:
(WebCore::WorkerGlobalScopeNotifications::webkitNotifications):
* Modules/websockets/ThreadableWebSocketChannel.cpp:
(WebCore::ThreadableWebSocketChannel::create):
* Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
(WebCore::WorkerThreadableWebSocketChannel::Bridge::Bridge):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::waitForMethodCompletion):
* bindings/js/ScheduledAction.cpp:
(WebCore::ScheduledAction::execute):
* bindings/js/WorkerScriptDebugServer.cpp:
(WebCore::WorkerScriptDebugServer::runEventLoopWhilePaused):
* dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::createdMessagePort):
(WebCore::ScriptExecutionContext::destroyedMessagePort):
* inspector/WorkerDebuggerAgent.cpp:
(WebCore::WorkerDebuggerAgent::WorkerDebuggerAgent):
(WebCore::WorkerDebuggerAgent::~WorkerDebuggerAgent):
* inspector/WorkerInspectorController.cpp:
* inspector/WorkerRuntimeAgent.cpp:
(WebCore::WorkerRuntimeAgent::pauseWorkerGlobalScope):
* loader/WorkerThreadableLoader.cpp:
(WebCore::WorkerThreadableLoader::WorkerThreadableLoader):
(WebCore::WorkerThreadableLoader::loadResourceSynchronously):
* loader/cache/MemoryCache.cpp:
(WebCore::MemoryCache::removeRequestFromCache):
* workers/DedicatedWorkerGlobalScope.cpp:
(WebCore::DedicatedWorkerGlobalScope::create):
(WebCore::DedicatedWorkerGlobalScope::DedicatedWorkerGlobalScope):
(WebCore::DedicatedWorkerGlobalScope::postMessage):
(WebCore::DedicatedWorkerGlobalScope::importScripts):
(WebCore::DedicatedWorkerGlobalScope::thread):
* workers/DedicatedWorkerGlobalScope.h:
* workers/DedicatedWorkerThread.cpp:
(WebCore::DedicatedWorkerThread::createWorkerGlobalScope):
* workers/SharedWorkerGlobalScope.cpp:
(WebCore::SharedWorkerGlobalScope::create):
(WebCore::SharedWorkerGlobalScope::SharedWorkerGlobalScope):
(WebCore::SharedWorkerGlobalScope::thread):
* workers/SharedWorkerGlobalScope.h:
* workers/SharedWorkerThread.cpp:
(WebCore::SharedWorkerThread::createWorkerGlobalScope):
* workers/WorkerGlobalScope.cpp:
(WebCore::CloseWorkerGlobalScopeTask::performTask):
(WebCore::WorkerGlobalScope::WorkerGlobalScope):
(WebCore::WorkerGlobalScope::~WorkerGlobalScope):
(WebCore::WorkerGlobalScope::postTask):
(WebCore::WorkerGlobalScope::logExceptionToConsole):
(WebCore::WorkerGlobalScope::addConsoleMessage):
(WebCore::WorkerGlobalScope::addMessage):
(WebCore::WorkerGlobalScope::isContextThread):
* workers/WorkerGlobalScope.h:
(WebCore::WorkerGlobalScope::thread):
* workers/WorkerMessagingProxy.cpp:
(WebCore::MessageWorkerGlobalScopeTask::performTask):
(WebCore::WorkerMessagingProxy::WorkerMessagingProxy):
(WebCore::WorkerMessagingProxy::~WorkerMessagingProxy):
* workers/WorkerRunLoop.cpp:
(WebCore::WorkerRunLoop::runInMode):
(WebCore::WorkerRunLoop::runCleanupTasks):

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

5 years agoImprove the appearance of DYEBench
rniwa@webkit.org [Sat, 15 Feb 2014 05:45:26 +0000 (05:45 +0000)]
Improve the appearance of DYEBench
https://bugs.webkit.org/show_bug.cgi?id=128866

Reviewed by Antti Koivisto.

Add a div that shows progress during the test. Also show 95th percentile,
and use a table instead of pre to show results.

* DoYouEvenBench/Full.html:
(.addResult): Added. Shows results in a table.
(benchmarkClient.willRunTest): Added to show the progress bar.
(benchmarkClient.didRunTest):
(benchmarkClient.didRunSuites):
(benchmarkClient.didFinishLastIteration): Compute 95th percentile using Statistics.js

* DoYouEvenBench/resources/benchmark-runner.js:
(BenchmarkRunner.prototype._appendFrame): Fix the bug where marginLeft and marginTop
weren't correctly parsed. We were treating top as left and bottom as top somehow.
(BenchmarkRunner.prototype._runTestAndRecordResults): Fixed a typo.

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