WebKit-https.git
8 years agoUse element.webkitCreateShadowRoot instead of WebKitShadowRoot in PerformanceTests.
hayato@chromium.org [Wed, 19 Dec 2012 04:18:43 +0000 (04:18 +0000)]
Use element.webkitCreateShadowRoot instead of WebKitShadowRoot in PerformanceTests.
https://bugs.webkit.org/show_bug.cgi?id=105256

Reviewed by Dimitri Glazkov.

WebKitShadowRoot constructor was deleted in favor of element.webkitCreateShadowRoot().

* ShadowDOM/ChangingClassNameShadowDOM.html:
* ShadowDOM/ChangingSelect.html:
* ShadowDOM/ContentReprojection.html:
* ShadowDOM/DistributionWithMultipleShadowRoots.html:
* ShadowDOM/LargeDistributionWithLayout.html:
* ShadowDOM/MultipleInsertionPoints.html:
* ShadowDOM/ShadowReprojection.html:
* ShadowDOM/SmallDistributionWithLayout.html:

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

8 years agoProxies should set InterceptsGetOwnPropertySlotByIndexEvenWhenLengthIsNotZero
fpizlo@apple.com [Wed, 19 Dec 2012 03:29:41 +0000 (03:29 +0000)]
Proxies should set InterceptsGetOwnPropertySlotByIndexEvenWhenLengthIsNotZero
https://bugs.webkit.org/show_bug.cgi?id=105379

Reviewed by Gavin Barraclough.

Source/JavaScriptCore:

Forgetting to set this flag led to the DFG trying to ensure array storage on a proxy. I've
now hardened the code with a release assertion as well as fixing the bug. A release assertion
is appropriate here since this is slow-path code.

* runtime/JSObject.cpp:
(JSC::JSObject::enterDictionaryIndexingMode):
(JSC::JSObject::ensureInt32Slow):
(JSC::JSObject::ensureDoubleSlow):
(JSC::JSObject::ensureContiguousSlow):
(JSC::JSObject::ensureArrayStorageSlowNoCheck):
(JSC::JSObject::ensureArrayStorageSlow):
(JSC):
(JSC::JSObject::putByIndexBeyondVectorLengthWithoutAttributes):
* runtime/JSObject.h:
(JSObject):
* runtime/JSProxy.h:
(JSProxy):

LayoutTests:

* fast/js/dfg-ensure-non-array-array-storage-on-window-expected.txt: Added.
* fast/js/dfg-ensure-non-array-array-storage-on-window.html: Added.
* fast/js/script-tests/dfg-ensure-non-array-array-storage-on-window.js: Added.
(foo):
(bar):
(.shouldBe):

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

8 years agoUnreviewed, fix expected file to have the right test description.
fpizlo@apple.com [Wed, 19 Dec 2012 03:28:53 +0000 (03:28 +0000)]
Unreviewed, fix expected file to have the right test description.

* fast/js/dfg-ensure-array-storage-on-window-expected.txt:

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

8 years agoSource/WebKit/mac: Add SPI to WebKit1 WebFrame for hit testing
alice.liu@apple.com [Wed, 19 Dec 2012 03:00:02 +0000 (03:00 +0000)]
Source/WebKit/mac: Add SPI to WebKit1 WebFrame for hit testing
https://bugs.webkit.org/show_bug.cgi?id=105106

Reviewed by Dan Bernstein.

* WebView/WebFrame.mm:
(-[WebFrame elementAtPoint:]): Added. Takes an NSPoint to feed to the WebCore::Frame for hit-testing.
Creates a WebElementDictionary from that WebCore::HitTestResult, and returns the element dictionary.
* WebView/WebFramePrivate.h:

Tools: Test for https://bugs.webkit.org/show_bug.cgi?id=105106
Add SPI to WebKit1 WebFrame for hit testing

Reviewed by Dan Bernstein.

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Added file Tests/mac/ElementAtPointInWebFrame.mm
* TestWebKitAPI/Tests/mac/ElementAtPointInWebFrame.mm: Added.
(TestWebKitAPI::TEST): Loads html with two divs positioned in the 2nd and 4th quadrants of the webview.
Then hit-tests at three points, expecting to hit the two divs and body element.

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

8 years ago[GTK][AC] Assertion failed while destroying GraphicsLayer
commit-queue@webkit.org [Wed, 19 Dec 2012 02:45:02 +0000 (02:45 +0000)]
[GTK][AC] Assertion failed while destroying GraphicsLayer
https://bugs.webkit.org/show_bug.cgi?id=105312

Patch by ChangSeok Oh <shivamidow@gmail.com> on 2012-12-18
Reviewed by Gustavo Noronha Silva.

According to the comment in GraphicsLayer::~GraphicsLayer(), we should call
willBeDestroyed() before destructor of GraphicsLayer.

No new tests since this patch can be covered by already existing gtk ac tests.

* platform/graphics/clutter/GraphicsLayerClutter.cpp:
(WebCore::GraphicsLayerClutter::~GraphicsLayerClutter): call willBeDestroyed()

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

8 years agofast/css/image-set-value-not-removed-crash.html should not InsertText with an apostrophe
timothy_horton@apple.com [Wed, 19 Dec 2012 02:35:34 +0000 (02:35 +0000)]
fast/css/image-set-value-not-removed-crash.html should not InsertText with an apostrophe
https://bugs.webkit.org/show_bug.cgi?id=105375

Reviewed by Beth Dakin.

Don't InsertText text content with an apostrophe in it, as this can break
on platforms where apostrophes turn into curly quotes.

* fast/css/image-set-value-not-removed-crash-expected.txt:
* fast/css/image-set-value-not-removed-crash.html:
* platform/win/fast/css/image-set-value-not-removed-crash-expected.txt: Removed.

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

8 years agoSource/WebKit/mac: Add SPI to WebKit1 WebFrame for node conversion to JSValueRef
alice.liu@apple.com [Wed, 19 Dec 2012 02:33:57 +0000 (02:33 +0000)]
Source/WebKit/mac: Add SPI to WebKit1 WebFrame for node conversion to JSValueRef
https://bugs.webkit.org/show_bug.cgi?id=105262

Reviewed by Anders Carlsson.

* WebView/WebFrame.mm:
(-[WebFrame jsWrapper:forWorld:]): Added. Takes a DOMNode and WebScriptWorld and provides a JSValueRef
for the WebCore::Node in that particular WebScriptWorld.
* WebView/WebFramePrivate.h:

Tools: Test for https://bugs.webkit.org/show_bug.cgi?id=105262
Add SPI to WebKit1 WebFrame for node conversion to JSValueRef

Reviewed by Anders Carlsson.

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Added file Tests/mac/JSWrapperForNodeInWebFrame.mm.mm
* TestWebKitAPI/Tests/mac/JSWrapperForNodeInWebFrame.mm.mm: Added.
(TestWebKitAPI::TEST): Tests for the correct JS wrapper for a DOMNode, provided a WebScriptWorld.
Loads html with a single div element. In an isolated world, creates a property on that node.
Also, in the standard world, creates a different property on that node.  Then tests for 4 things:
    - Existence of the isolated property in the isolated world.
    - Existence of the standard property in the standard world.
    - Non-existence of the isolated property in the standard world.
    - Non-existence of the standard property in the isolated world.

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

8 years ago[GTK][AC] Fix assertion failures for AC with clutter
commit-queue@webkit.org [Wed, 19 Dec 2012 02:32:32 +0000 (02:32 +0000)]
[GTK][AC] Fix assertion failures for AC with clutter
https://bugs.webkit.org/show_bug.cgi?id=105039

Patch by ChangSeok Oh <shivamidow@gmail.com> on 2012-12-18
Reviewed by Gustavo Noronha Silva.

AcceleratedCompositingContext could be a client of GraphicsLayerClutter
not only RenderLayerBacking. So inserting ASSERT_NOT_REACH in notifyFlushRequired()
causes a crash by calling GraphicsLayerClutter::noteLayerPropertyChanged in debug build.
And also I added flushCompositingStateIncludingSubframes taken from
AcceleratedCompositingContextGL to flushAndRenderLayers(). If not so,
ASSERT(!needsLayout()) failed in FrameView::paintContents() too in debug build.

* WebCoreSupport/AcceleratedCompositingContextClutter.cpp:
(WebKit::AcceleratedCompositingContext::flushAndRenderLayers): Add updateLayoutAndStyleIfNeededRecursive()
(WebKit::AcceleratedCompositingContext::notifyAnimationStarted): Removed ASSERT_NOT_REACHED()
(WebKit::AcceleratedCompositingContext::notifyFlushRequired): Removed ASSERT_NOT_REACHED()

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

8 years ago[BlackBerry] Remove extra call to doFatFingers.
commit-queue@webkit.org [Wed, 19 Dec 2012 02:21:36 +0000 (02:21 +0000)]
[BlackBerry] Remove extra call to doFatFingers.
https://bugs.webkit.org/show_bug.cgi?id=105347

Patch by Genevieve Mak <gmak@rim.com> on 2012-12-18
Reviewed by Rob Buis.

Reviewed Internally by Mike Fenton.
Now that we do fat fingers on touch start, we don't need this anymore.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPage::touchEvent):

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

8 years agoAdd a JSScriptRef API to JSC so that we can allow API users to avoid the full cost...
oliver@apple.com [Wed, 19 Dec 2012 02:19:37 +0000 (02:19 +0000)]
Add a JSScriptRef API to JSC so that we can allow API users to avoid the full cost of reparsing everytime the execute a script.
https://bugs.webkit.org/show_bug.cgi?id=105340

Reviewed by Gavin Barraclough.

This patch adds a (currently private) API to allow users of the JSC API to create a JSScript object
that references a reusable version of the script that they wish to evaluate.  This can help us avoid
numeorus copies that are otherwise induced by our existing API and gives us an opaque object that we
can hang various caches off.  Currently this is simply a simple SourceProvider, but in future we may
be able to add more caching without requiring new/replacement APIs.

* API/JSScriptRef.cpp: Added.
* API/JSScriptRefPrivate.h: Added.
* API/tests/testapi.c:
  Add tests for new APIs.
* JavaScriptCore.xcodeproj/project.pbxproj:

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

8 years agoMinor improvements to HTMLMediaElement
commit-queue@webkit.org [Wed, 19 Dec 2012 02:14:03 +0000 (02:14 +0000)]
Minor improvements to HTMLMediaElement
https://bugs.webkit.org/show_bug.cgi?id=105353

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2012-12-18
Reviewed by Eric Carlson.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::canPlayType):
(WebCore::createFileURLForApplicationCacheResource):
(WebCore::stringForNetworkState):
(WebCore::HTMLMediaElement::preload):
(WebCore::HTMLMediaElement::getPluginProxyParams):
Use ASCIILiteral for literal strings becoming WTFStrings.

(WebCore::HTMLMediaElement::setLoop):
By going through setAttribute, parseAttribute would already take care of
updating the disable sleep, so the call here is not needed.

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

8 years ago[WK2] Create a context client
jonlee@apple.com [Wed, 19 Dec 2012 02:11:13 +0000 (02:11 +0000)]
[WK2] Create a context client
https://bugs.webkit.org/show_bug.cgi?id=105316
<rdar://problem/12901762>

Reviewed by Brady Eidson.

Web contexts already have clients related to downloads or history.
Miscellaneous callbacks can be grouped into a generic client for the
web context.

* UIProcess/API/C/WKContext.cpp:
(WKContextSetClient): Set the client for the context.
* UIProcess/API/C/WKContext.h: Define a new, empty WKContextClient.

* UIProcess/WebContext.cpp:
(WebKit::WebContext::initializeClient):
* UIProcess/WebContext.h: Add a variable for the new client. Move the
download client so that all the clients are grouped together.
(WebKit::WebContext::client): Returns the context client.
* UIProcess/WebContextClient.cpp: Added. Currently empty, but will be
filled out in a pending patch.
* UIProcess/WebContextClient.h: Added.

Add WebContextClient.{h,cpp}.
* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebKit2.xcodeproj/project.pbxproj:
* win/WebKit2.vcproj:

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

8 years agoInput elements with default touch handlers don't update handler counts when changing...
leviw@chromium.org [Wed, 19 Dec 2012 02:04:12 +0000 (02:04 +0000)]
Input elements with default touch handlers don't update handler counts when changing documents
https://bugs.webkit.org/show_bug.cgi?id=105334

Reviewed by James Robinson.

Source/WebCore:

When an Input element with default touch event handlers changes documents, it failed to
update the touch event handler sets in both the old and new document. This patch fixes this
case.

Test: fast/events/touch/touch-input-element-change-documents.html

* dom/Document.h:
(WebCore::Document::didRemoveTouchEventTargetNode) This function makes sense when touch
handling is enabled, regardless of whether we're tracking the rects.
* dom/Document.cpp:
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::~HTMLInputElement): Switch from didRemoveTouchEventHandler to
didRemoveTouchEventTargetNode, since we don't care about counts in the destructor.
(WebCore::HTMLInputElement::updateType): Fixing incorrect indentation.
(WebCore::HTMLInputElement::didMoveToNewDocument): Adding the node to the new document and
removing it from the old.

LayoutTests:

* fast/events/touch/touch-input-element-change-documents-expected.txt: Added.
* fast/events/touch/touch-input-element-change-documents.html: Added.

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

8 years agoSkip two asserting tests in Debug.
simon.fraser@apple.com [Wed, 19 Dec 2012 02:02:54 +0000 (02:02 +0000)]
Skip two asserting tests in Debug.

* platform/mac/TestExpectations:

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

8 years ago[Chromium] Remove temporary backwards compatible interface code (from r137724).
commit-queue@webkit.org [Wed, 19 Dec 2012 01:52:55 +0000 (01:52 +0000)]
[Chromium] Remove temporary backwards compatible interface code (from r137724).
https://bugs.webkit.org/show_bug.cgi?id=105205

Patch by David Dorwin <ddorwin@chromium.org> on 2012-12-18
Reviewed by James Robinson.

* public/WebMediaPlayerClient.h:
* src/WebMediaPlayerClientImpl.cpp:

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

8 years agoNew baseline for Acid3 test.
simon.fraser@apple.com [Wed, 19 Dec 2012 01:45:45 +0000 (01:45 +0000)]
New baseline for Acid3 test.

* platform/mac/http/tests/misc/acid3-expected.txt:

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

8 years agoRebaseline some tests on Lion.
simon.fraser@apple.com [Wed, 19 Dec 2012 01:41:49 +0000 (01:41 +0000)]
Rebaseline some tests on Lion.

* platform/mac-lion/fast/text/decorations-with-text-combine-expected.txt: Added.
* platform/mac-lion/fast/text/orientation-sideways-expected.txt: Added.
* platform/mac-lion/fast/writing-mode/broken-ideographic-font-expected.txt:
* platform/mac-lion/fast/writing-mode/vertical-baseline-alignment-expected.txt:

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

8 years agoDisable the SimplifyMarkup API test, wich asserts in debug builds.
simon.fraser@apple.com [Wed, 19 Dec 2012 01:15:25 +0000 (01:15 +0000)]
Disable the SimplifyMarkup API test, wich asserts in debug builds.
Tracked by https://bugs.webkit.org/show_bug.cgi?id=105370.

* TestWebKitAPI/Tests/mac/SimplifyMarkup.mm:
(TestWebKitAPI::TEST):

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

8 years agoFixed bad merge in "Initial refactoring of database functionality into the manager...
mark.lam@apple.com [Wed, 19 Dec 2012 00:49:35 +0000 (00:49 +0000)]
Fixed bad merge in "Initial refactoring of database functionality into the manager and server".
https://bugs.webkit.org/show_bug.cgi?id=104748.

Not reviewed.

No new tests.

* Modules/webdatabase/DBBackendServer.cpp:

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

8 years agoFix the test description.
fpizlo@apple.com [Wed, 19 Dec 2012 00:35:44 +0000 (00:35 +0000)]
Fix the test description.

Rubber stamped by Mark Hahnenberg.

* fast/js/script-tests/dfg-ensure-array-storage-on-window.js:

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

8 years agoDFG::SpeculativeJIT::jumpSlowForUnwantedArrayMode incorrectly checks for non-array...
fpizlo@apple.com [Wed, 19 Dec 2012 00:33:19 +0000 (00:33 +0000)]
DFG::SpeculativeJIT::jumpSlowForUnwantedArrayMode incorrectly checks for non-array array storage when it should be checking for array array storage
https://bugs.webkit.org/show_bug.cgi?id=105365

Reviewed by Mark Hahnenberg.

Source/JavaScriptCore:

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

LayoutTests:

* fast/js/dfg-ensure-array-storage-on-window-expected.txt: Added.
* fast/js/dfg-ensure-array-storage-on-window.html: Added.
* fast/js/indexed-setter-on-global-object-expected.txt: Added.
* fast/js/indexed-setter-on-global-object.html: Added.
* fast/js/script-tests/dfg-ensure-array-storage-on-window.js: Added.
(foo):
* fast/js/script-tests/indexed-setter-on-global-object.js: Added.

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

8 years agoInitial refactoring of database functionality into the manager and server.
mark.lam@apple.com [Wed, 19 Dec 2012 00:27:34 +0000 (00:27 +0000)]
Initial refactoring of database functionality into the manager and server.
https://bugs.webkit.org/show_bug.cgi?id=104748.

Reviewed by Brady Eidson.

This is not a complete refactor, but a stepping stone on the way to isolating
script side database activity from the SQL backend.

No new tests.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Modules/webdatabase/AbstractDatabase.cpp:
(WebCore):
(WebCore::updateGuidVersionMap):
(WebCore::guidForOriginAndName):
(WebCore::AbstractDatabase::AbstractDatabase):
(WebCore::AbstractDatabase::maximumSize):
* Modules/webdatabase/AbstractDatabase.h:
(AbstractDatabase):
- Moved isAvailable() and setIsAvailable() to the DatabaseManager.
* Modules/webdatabase/AbstractDatabaseServer.h:
(AbstractDatabaseServer):
* Modules/webdatabase/DBBackendServer.cpp: Added.
(WebCore::DBBackend::Server::initialize):
(WebCore::DBBackend::Server::setClient):
(WebCore::DBBackend::Server::databaseDirectoryPath):
(WebCore::DBBackend::Server::setDatabaseDirectoryPath):
(WebCore::DBBackend::Server::fullPathForDatabase):
(WebCore::DBBackend::Server::hasEntryForOrigin):
(WebCore::DBBackend::Server::origins):
(WebCore::DBBackend::Server::databaseNamesForOrigin):
(WebCore::DBBackend::Server::detailsForNameAndOrigin):
(WebCore::DBBackend::Server::usageForOrigin):
(WebCore::DBBackend::Server::quotaForOrigin):
(WebCore::DBBackend::Server::setQuota):
(WebCore::DBBackend::Server::deleteAllDatabases):
(WebCore::DBBackend::Server::deleteOrigin):
(WebCore::DBBackend::Server::deleteDatabase):
(WebCore::DBBackend::Server::scheduleNotifyDatabaseChanged):
(WebCore::DBBackend::Server::databaseChanged):
(WebCore::DBBackend::Server::closeDatabasesImmediately):
(WebCore::DBBackend::Server::interruptAllDatabasesForContext):
(WebCore::DBBackend::Server::canEstablishDatabase):
(WebCore::DBBackend::Server::addOpenDatabase):
(WebCore::DBBackend::Server::removeOpenDatabase):
(WebCore::DBBackend::Server::setDatabaseDetails):
(WebCore::DBBackend::Server::getMaxSizeForDatabase):
- Refactored all calls to the DatabaseTracker to go thru the DBBackend::Server.
* Modules/webdatabase/DBBackendServer.h:
* Modules/webdatabase/DOMWindowWebDatabase.cpp:
(WebCore::DOMWindowWebDatabase::openDatabase):
* Modules/webdatabase/Database.cpp:
(WebCore::Database::close):
(WebCore::Database::maximumSize):
* Modules/webdatabase/Database.h:
(Database):
- Moved the openDatabase() factory method to the DatabaseManager.
- Removed the unused deliverPendingCallback() prototype.
* Modules/webdatabase/DatabaseBasicTypes.h: Added.
- A place to define some common basic types used by the database module.
* Modules/webdatabase/DatabaseContext.cpp:
(WebCore::DatabaseContext::databaseExceededQuota):
* Modules/webdatabase/DatabaseManager.cpp:
(WebCore::DatabaseManager::DatabaseManager):
(WebCore::DatabaseManager::initialize):
(WebCore::DatabaseManager::setClient):
(WebCore::DatabaseManager::databaseDirectoryPath):
(WebCore::DatabaseManager::setDatabaseDirectoryPath):
(WebCore::DatabaseManager::isAvailable):
(WebCore::DatabaseManager::setIsAvailable):
(DatabaseCreationCallbackTask):
(WebCore::DatabaseCreationCallbackTask::create):
(WebCore::DatabaseCreationCallbackTask::performTask):
(WebCore::DatabaseCreationCallbackTask::DatabaseCreationCallbackTask):
(WebCore::DatabaseManager::openDatabase):
(WebCore::DatabaseManager::openDatabaseSync):
(WebCore::DatabaseManager::setHasOpenDatabases):
(WebCore::DatabaseManager::fullPathForDatabase):
(WebCore::DatabaseManager::hasEntryForOrigin):
(WebCore::DatabaseManager::origins):
(WebCore::DatabaseManager::databaseNamesForOrigin):
(WebCore::DatabaseManager::detailsForNameAndOrigin):
(WebCore::DatabaseManager::usageForOrigin):
(WebCore::DatabaseManager::quotaForOrigin):
(WebCore::DatabaseManager::setQuota):
(WebCore::DatabaseManager::deleteAllDatabases):
(WebCore::DatabaseManager::deleteOrigin):
(WebCore::DatabaseManager::deleteDatabase):
(WebCore::DatabaseManager::scheduleNotifyDatabaseChanged):
(WebCore::DatabaseManager::databaseChanged):
(WebCore::DatabaseManager::closeDatabasesImmediately):
(WebCore::DatabaseManager::interruptAllDatabasesForContext):
(WebCore::DatabaseManager::canEstablishDatabase):
(WebCore::DatabaseManager::addOpenDatabase):
(WebCore::DatabaseManager::removeOpenDatabase):
(WebCore::DatabaseManager::setDatabaseDetails):
(WebCore::DatabaseManager::getMaxSizeForDatabase):
* Modules/webdatabase/DatabaseManager.h:
(DatabaseManager):
* Modules/webdatabase/DatabaseSync.cpp:
(WebCore::DatabaseSync::~DatabaseSync):
(WebCore::DatabaseSync::closeImmediately):
* Modules/webdatabase/DatabaseSync.h:
(DatabaseSync):
- Moved the openDatabaseSync() factory method to the DatabaseManager.
* Modules/webdatabase/DatabaseTask.h:
* Modules/webdatabase/SQLResultSet.h:
* Modules/webdatabase/SQLStatementSync.h:
* Modules/webdatabase/SQLTransaction.h:
* Modules/webdatabase/SQLTransactionClient.cpp:
(WebCore::SQLTransactionClient::didCommitWriteTransaction):
(WebCore::SQLTransactionClient::didExecuteStatement):
(WebCore::SQLTransactionClient::didExceedQuota):
* Modules/webdatabase/SQLTransactionSync.h:
* Modules/webdatabase/WorkerContextWebDatabase.cpp:
(WebCore::WorkerContextWebDatabase::openDatabase):
(WebCore::WorkerContextWebDatabase::openDatabaseSync):
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:

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

8 years agoBug 105344 - [BlackBerry] Make single line text edits touch scrollable.
commit-queue@webkit.org [Wed, 19 Dec 2012 00:26:57 +0000 (00:26 +0000)]
Bug 105344 - [BlackBerry] Make single line text edits touch scrollable.
https://bugs.webkit.org/show_bug.cgi?id=105344

Patch by Genevieve Mak <gmak@rim.com> on 2012-12-18
Reviewed by Antonio Gomes.

Reviewed Internally by Mike Fenton.
We don't need to check the overflow for editable layers because there's
no need for overflow to be set by the content.
PR #231776

* WebKitSupport/InRegionScrollableArea.cpp:
(BlackBerry::WebKit::InRegionScrollableArea::InRegionScrollableArea):

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

8 years agoEventSource should support CORS
commit-queue@webkit.org [Wed, 19 Dec 2012 00:19:42 +0000 (00:19 +0000)]
EventSource should support CORS
https://bugs.webkit.org/show_bug.cgi?id=61862

Patch by Per-Erik Brodin <per-erik.brodin@ericsson.com> on 2012-12-18
Reviewed by Alexey Proskuryakov.

Source/WebCore:

Enabled CORS in EventSource with optional constructor argument to
indicate whether credentials should be included or not, as per the spec.
Added didFailAccessControlCheck to ThreadableLoaderClient to be able to
properly distinguish CORS failures from other errors.

Tests: http/tests/eventsource/eventsource-cors-basic.html
       http/tests/eventsource/eventsource-cors-no-server.html
       http/tests/eventsource/eventsource-cors-with-credentials.html

* loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest):
(WebCore::DocumentThreadableLoader::didReceiveResponse):
(WebCore::DocumentThreadableLoader::preflightFailure):
* loader/ThreadableLoaderClient.h:
(WebCore::ThreadableLoaderClient::didFailAccessControlCheck):
* loader/ThreadableLoaderClientWrapper.h:
(WebCore::ThreadableLoaderClientWrapper::didFailAccessControlCheck):
(ThreadableLoaderClientWrapper):
* loader/WorkerThreadableLoader.cpp:
(WebCore::workerContextDidFailAccessControlCheck):
(WebCore):
(WebCore::WorkerThreadableLoader::MainThreadBridge::didFailAccessControlCheck):
* loader/WorkerThreadableLoader.h:
(MainThreadBridge):
* page/EventSource.cpp:
(WebCore::EventSource::EventSource):
(WebCore::EventSource::create):
(WebCore::EventSource::connect):
(WebCore::EventSource::withCredentials):
(WebCore):
(WebCore::EventSource::didReceiveResponse):
(WebCore::EventSource::didFailAccessControlCheck):
(WebCore::EventSource::didFailRedirectCheck):
(WebCore::EventSource::abortConnectionAttempt):
(WebCore::EventSource::parseEventStreamLine):
(WebCore::EventSource::createMessageEvent):
* page/EventSource.h:
(WebCore):
(EventSource):
(WebCore::EventSource::refEventTarget):
(WebCore::EventSource::derefEventTarget):
* page/EventSource.idl:

LayoutTests:

Added new CORS tests for EventSource. Modified existing test to verify
that the new constructor argument can be passed to the constructor.

* fast/eventsource/eventsource-constructor-expected.txt:
* fast/eventsource/eventsource-constructor.html:
* fast/js/constructor-length.html:
* http/tests/eventsource/eventsource-cors-basic-expected.txt: Added.
* http/tests/eventsource/eventsource-cors-basic.html: Added.
* http/tests/eventsource/eventsource-cors-no-server-expected.txt: Added.
* http/tests/eventsource/eventsource-cors-no-server.html: Added.
* http/tests/eventsource/eventsource-cors-with-credentials-expected.txt: Added.
* http/tests/eventsource/eventsource-cors-with-credentials.html: Added.
* http/tests/eventsource/resources/es-cors-basic.php: Added.
* http/tests/eventsource/resources/es-cors-credentials.php: Added.
* platform/blackberry/fast/js/constructor-length-expected.txt:
* platform/chromium/fast/js/constructor-length-expected.txt:
* platform/gtk/fast/js/constructor-length-expected.txt:
* platform/mac/fast/js/constructor-length-expected.txt:
* platform/qt/fast/js/constructor-length-expected.txt:

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

8 years ago[chromium] pull in the CDM module recently added to media
dpranke@chromium.org [Wed, 19 Dec 2012 00:16:00 +0000 (00:16 +0000)]
[chromium] pull in the CDM module recently added to media
https://bugs.webkit.org/show_bug.cgi?id=105360

Unreiviewed build fix, but sanity checked by ddorwin.

* DEPS:

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

8 years agoIndexedDB: Implement custom bindings for parsing options
commit-queue@webkit.org [Wed, 19 Dec 2012 00:10:20 +0000 (00:10 +0000)]
IndexedDB: Implement custom bindings for parsing options
https://bugs.webkit.org/show_bug.cgi?id=96614

Patch by Michael Pruett <michael@68k.org> on 2012-12-18
Reviewed by Darin Adler.

Parsing the options dictionary in IDBDatabase.createObjectStore()
and IDBObjectStore.createIndex() requires custom bindings in JSC.

Tests: storage/indexeddb/*

* GNUmakefile.list.am:
* Modules/indexeddb/IDBDatabase.cpp:
(WebCore::IDBDatabase::createObjectStore):
(WebCore):
* Modules/indexeddb/IDBDatabase.h:
(IDBDatabase):
* Modules/indexeddb/IDBDatabase.idl:
* Modules/indexeddb/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::createIndex):
(WebCore):
* Modules/indexeddb/IDBObjectStore.h:
(IDBObjectStore):
* Modules/indexeddb/IDBObjectStore.idl:
* UseJSC.cmake:
* bindings/js/IDBBindingUtilities.cpp:
(WebCore::idbKeyPathFromValue): Added utility function for converting a JSValue to an IDBKeyPath.
(WebCore):
* bindings/js/IDBBindingUtilities.h:
(WebCore):
* bindings/js/JSIDBDatabaseCustom.cpp: Added.
(WebCore):
(WebCore::JSIDBDatabase::createObjectStore):
* bindings/js/JSIDBObjectStoreCustom.cpp: Added.
(WebCore):
(WebCore::JSIDBObjectStore::createIndex):

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

8 years agoCannot click an element at 2nd line or more inside inline-block in vertical writing...
commit-queue@webkit.org [Wed, 19 Dec 2012 00:02:18 +0000 (00:02 +0000)]
Cannot click an element at 2nd line or more inside inline-block in vertical writing mode.
https://bugs.webkit.org/show_bug.cgi?id=104775

Patch by Yuki Sekiguchi <yuki.sekiguchi@access-company.com> on 2012-12-18
Reviewed by Dean Jackson.

Source/WebCore:

If the parent of an inline box changes writing mode, then the inline box must flip incoming hit point coordinates.
Otherwise, the coordinate will be misunderstood because the box has a different origin from its parent.
If the InlineBox doesn't flip its offset, its children will use the wrong offset
because they don't know their grandparent changed writing modes.
InlineBox::nodeAtPoint should flip accumulatedOffset like InlineBox::paint().

Test: fast/writing-mode/vertical-inline-block-hittest.html

* rendering/InlineBox.cpp:
(WebCore::InlineBox::nodeAtPoint):

LayoutTests:

Test that we can click 2nd line inside inline-block in vertical writing mode.

* fast/writing-mode/vertical-inline-block-hittest-expected.txt: Added.
* fast/writing-mode/vertical-inline-block-hittest.html: Added.

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

8 years agoUnreviewed attempted build fix for Chromium.
dino@apple.com [Wed, 19 Dec 2012 00:01:57 +0000 (00:01 +0000)]
Unreviewed attempted build fix for Chromium.

Insert stub methods for localized text track menu labels.

* src/LocalizedStrings.cpp:
(WebCore):
(WebCore::textTrackClosedCaptionsText):
(WebCore::textTrackSubtitlesText):
(WebCore::textTrackOffText):
(WebCore::textTrackNoLabelText):

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

8 years ago<rdar://problem/12720539> per-pid private temporary directories for sandboxed webkit2...
ike@apple.com [Tue, 18 Dec 2012 23:48:14 +0000 (23:48 +0000)]
<rdar://problem/12720539> per-pid private temporary directories for sandboxed webkit2 plugins

Reviewed by Sam Weinig, Alexey Proskuryakov, Anders Carlsson.

Previously we assigned each PluginProcess a private temporary and
cache directory based on the bundle name of the plugin that was
running. This sometimes led to overly-long pathnames (sockets on OS X
can only be 103 characters long), and didn't provide isolation between
multiple running instances of the same plugin on behalf of different
processes. We now assign each PluginProcess its own private
temporary and cache directory regardless of which plugin it's running,
and make an attempt to clean these up when the process terminates.

We also pass the temporary directory into the sandbox
profile as a parameter, in case the plugin profile needs to apply
additional rules beyond the default read/write policy.

* PluginProcess/mac/PluginProcessMainMac.mm:
(WebKit::PluginProcessMain):
* WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm:
(enterSandbox):

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

8 years agoPull in the opus codec sources.
dpranke@chromium.org [Tue, 18 Dec 2012 23:35:55 +0000 (23:35 +0000)]
Pull in the opus codec sources.

Unreviewed, build fix.

* DEPS:

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

8 years agoAllow position:sticky elements to be moved by the scrolling thread
simon.fraser@apple.com [Tue, 18 Dec 2012 23:31:29 +0000 (23:31 +0000)]
Allow position:sticky elements to be moved by the scrolling thread
https://bugs.webkit.org/show_bug.cgi?id=105245

Reviewed by Beth Dakin.

Source/WebCore:

Allow sticky position elements to be repositioned on the scrolling thread.

RenderLayerCompositor::requiresCompositingForPosition() is changed to make
all position:-webkit-sticky elements composited.

Sticky position constraints are already communicated to the ScrollingCoordinator,
but now we created ScrollingStateStickyNodes for them, and send the constraints
over to the scrolling thread for new ScrollingTreeStickyNodes. That allows
their layers to be repositioned on the scrolling thread.

Tests: platform/mac/tiled-drawing/sticky/sticky-horizontal.html
       platform/mac/tiled-drawing/sticky/sticky-vertical.html

* WebCore.xcodeproj/project.pbxproj: Add new files.
* page/scrolling/ScrollingConstraints.h:
(WebCore::StickyPositionViewportConstraints::absoluteContainingBlockRect): New accessors.
(WebCore::StickyPositionViewportConstraints::absoluteStickyBoxRect):
(WebCore::StickyPositionViewportConstraints::operator==):
(WebCore::StickyPositionViewportConstraints::operator!=):
* page/scrolling/ScrollingCoordinator.h: Added StickyNode type.
* page/scrolling/ScrollingStateFixedNode.cpp:
(WebCore::ScrollingStateFixedNode::syncLayerPositionForViewportRect):
New virtual method that allows different kinds of nodes to sync layer positions.
* page/scrolling/ScrollingStateFixedNode.h:
* page/scrolling/ScrollingStateNode.h:
(WebCore::ScrollingStateNode::isStickyNode):
(WebCore::ScrollingStateNode::syncLayerPositionForViewportRect):
* page/scrolling/ScrollingStateStickyNode.cpp: Added.
(WebCore::ScrollingStateStickyNode::create):
(WebCore::ScrollingStateStickyNode::ScrollingStateStickyNode):
(WebCore::ScrollingStateStickyNode::~ScrollingStateStickyNode):
(WebCore::ScrollingStateStickyNode::clone):
(WebCore::ScrollingStateStickyNode::updateConstraints):
(WebCore::ScrollingStateStickyNode::syncLayerPositionForViewportRect):
(WebCore::ScrollingStateStickyNode::dumpProperties):
* page/scrolling/ScrollingStateStickyNode.h: Copied from Source/WebCore/page/scrolling/ScrollingStateFixedNode.h.
(ScrollingStateStickyNode):
(WebCore::ScrollingStateStickyNode::viewportConstraints):
(WebCore::toScrollingStateStickyNode):
* page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::updateTreeFromStateNode):
* page/scrolling/mac/ScrollingCoordinatorMac.mm:
(WebCore::ScrollingCoordinatorMac::attachToStateTree): Handle sticky nodes.
(WebCore::ScrollingCoordinatorMac::syncChildPositions): Generalize to different kinds of nodes by
calling a virtual method on the node.
(WebCore::ScrollingCoordinatorMac::updateViewportConstrainedNode):
* page/scrolling/mac/ScrollingTreeFixedNode.mm:
(WebCore::ScrollingTreeFixedNode::ScrollingTreeFixedNode):
* page/scrolling/mac/ScrollingTreeStickyNode.h: Added.
(ScrollingTreeStickyNode):
* page/scrolling/mac/ScrollingTreeStickyNode.mm: Copied from Source/WebCore/page/scrolling/mac/ScrollingTreeFixedNode.mm.
(WebCore::ScrollingTreeStickyNode::create):
(WebCore::ScrollingTreeStickyNode::ScrollingTreeStickyNode):
(WebCore::ScrollingTreeStickyNode::~ScrollingTreeStickyNode):
(WebCore::ScrollingTreeStickyNode::update):
(WebCore::operator*):
(WebCore::ScrollingTreeStickyNode::parentScrollPositionDidChange):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::attachToScrollingCoordinator):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::requiresCompositingForPosition):
(WebCore::RenderLayerCompositor::computeFixedViewportConstraints):
(WebCore::RenderLayerCompositor::computeStickyViewportConstraints):
(WebCore::RenderLayerCompositor::registerOrUpdateViewportConstrainedLayer):
* rendering/RenderLayerCompositor.h:
(RenderLayerCompositor):

LayoutTests:

Sticky position tests that dump the scrolling tree.

* platform/mac/tiled-drawing/sticky/sticky-horizontal-expected.txt: Added.
* platform/mac/tiled-drawing/sticky/sticky-horizontal.html: Added.
* platform/mac/tiled-drawing/sticky/sticky-vertical-expected.txt: Added.
* platform/mac/tiled-drawing/sticky/sticky-vertical.html: Added.

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

8 years agoRemove entries for passing tests and one bad expectation for a reftest.
dpranke@chromium.org [Tue, 18 Dec 2012 23:04:22 +0000 (23:04 +0000)]
Remove entries for passing tests and one bad expectation for a reftest.

Unreviewed.

* platform/chromium-mac/compositing/background-color/background-color-change-to-text-expected.png: Removed.
* platform/chromium/TestExpectations:

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

8 years agoSunSpider/date-format-tofte shouldn't compile each of the tiny worthless eval's only...
fpizlo@apple.com [Tue, 18 Dec 2012 22:49:40 +0000 (22:49 +0000)]
SunSpider/date-format-tofte shouldn't compile each of the tiny worthless eval's only to OSR exit in the prologue every time
https://bugs.webkit.org/show_bug.cgi?id=105335

Reviewed by Geoffrey Garen.

The first thing I did was restructure the logic of canInlineResolveOperations(),
because I didn't understand it. This was relevant because the OSR exits are
caused by a resolve that the DFG cannot handle.

I was then going to make it so that we didn't compile the resolve at all, but
realized that this would not be the best fix: it didn't seem sensible to me to
be optimizing these evals after only 60 invocations. Evals should have a higher
threshold, since they often contain code for which the baseline JIT does a
pretty good job already (if all you've got is a single heap access or a single
hard-to-inline call, then the baseline JIT has got you covered), and typically
if we see one eval code block we expect to see more (from the same eval site):
so our typical low threshold could lead to a *lot* of compilation. As such, the
main effect of this patch is to introduce an evalThresholdMultiplier, which is
now set to 10.

This is a ~5% speed-up on data-format-tofte. No regressions anywhere as far as
I can see.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::codeTypeThresholdMultiplier):
(JSC):
(JSC::CodeBlock::optimizationThresholdScalingFactor):
(JSC::CodeBlock::exitCountThresholdForReoptimization):
(JSC::CodeBlock::exitCountThresholdForReoptimizationFromLoop):
* bytecode/CodeBlock.h:
(CodeBlock):
* dfg/DFGCapabilities.h:
(JSC::DFG::canInlineResolveOperations):
* dfg/DFGOSRExitCompiler.cpp:
* runtime/Options.h:
(JSC):

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

8 years agoConvert indexingTypeToString to IndexingTypeDump
fpizlo@apple.com [Tue, 18 Dec 2012 22:32:52 +0000 (22:32 +0000)]
Convert indexingTypeToString to IndexingTypeDump
https://bugs.webkit.org/show_bug.cgi?id=105351

Reviewed by Mark Hahnenberg.

This gets rid of another case of static char buffer[thingy].

* dfg/DFGGraph.cpp:
(JSC::DFG::Graph::dump):
* runtime/IndexingType.cpp:
(JSC::dumpIndexingType):
* runtime/IndexingType.h:
(JSC):
* runtime/JSValue.cpp:
(JSC::JSValue::dump):

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

8 years agoIndexedDB: Split BackingStore histogram
dgrogan@chromium.org [Tue, 18 Dec 2012 22:32:23 +0000 (22:32 +0000)]
IndexedDB: Split BackingStore histogram
https://bugs.webkit.org/show_bug.cgi?id=105222

Reviewed by Tony Chang.

Add separate histograms for Consistency, Write, and Read errors.
Recategorize some read errors as consistency errors.

Tested the preprocessor logic by manually making some functions fail
and printing the histogram string from chromium code.

Next up is logging successes to get an idea of which functions have
the highest failure _rate_.

* Modules/indexeddb/IDBBackingStore.cpp:
(WebCore::recordInternalError):
(WebCore):
(WebCore::setUpMetadata):
(WebCore::IDBBackingStore::getIDBDatabaseMetaData):
(WebCore::getNewDatabaseId):
(WebCore::IDBBackingStore::createIDBDatabaseMetaData):
(WebCore::IDBBackingStore::getObjectStores):
(WebCore::setMaxObjectStoreId):
(WebCore::IDBBackingStore::deleteObjectStore):
(WebCore::IDBBackingStore::getRecord):
(WebCore::getNewVersionNumber):
(WebCore::IDBBackingStore::getKeyGeneratorCurrentNumber):
(WebCore::IDBBackingStore::keyExistsInObjectStore):
(WebCore::IDBBackingStore::getIndexes):
(WebCore::setMaxIndexId):
(WebCore::versionExists):
(WebCore::IDBBackingStore::findKeyInIndex):
(WebCore::IDBBackingStore::getPrimaryKeyViaIndex):
(WebCore::IDBBackingStore::keyExistsInIndex):
(WebCore::ObjectStoreKeyCursorImpl::loadCurrentRow):
(WebCore::ObjectStoreCursorImpl::loadCurrentRow):
(WebCore::IndexKeyCursorImpl::loadCurrentRow):
(WebCore::IndexCursorImpl::loadCurrentRow):

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

8 years agoTrack menu needs localization
dino@apple.com [Tue, 18 Dec 2012 22:30:34 +0000 (22:30 +0000)]
Track menu needs localization
https://bugs.webkit.org/show_bug.cgi?id=105233

Reviewed by Eric Carlson.

Source/WebCore:

Allow the UI strings in the closed captions menu to be localized, and
profile strings for the English locale.

Test: media/video-controls-captions-trackmenu-localized.html

* English.lproj/Localizable.strings: Adds the four new captions strings.
* html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlClosedCaptionsTrackListElement::rebuildTrackListMenu): Use localized getters.
* platform/LocalizedStrings.cpp:
(WebCore::textTrackClosedCaptionsText): New localized string getter.
(WebCore::textTrackSubtitlesText): Ditto.
(WebCore::textTrackOffText): Ditto.
(WebCore::textTrackNoLabelText): Ditto.
* platform/LocalizedStrings.h:

LayoutTests:

Test to exercise the localization of strings in the captions menu.
While I was here I merged some common code into a helper file.

* media/trackmenu-test.js: Added. New helper file to run common test operations.
* media/video-controls-captions-trackmenu-localized-expected.txt: Added.
* media/video-controls-captions-trackmenu-localized.html: Added.
* media/video-controls-captions-trackmenu-sorted.html: Updated to use helper functions.
* platform/chromium/TestExpectations: Skip unimplemented test.
* platform/efl/TestExpectations: Ditto.
* platform/gtk/TestExpectations: Ditto.
* platform/qt/TestExpectations: Ditto.

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

8 years agoUnreviewed, roll chromium deps to r173769
dpranke@chromium.org [Tue, 18 Dec 2012 22:26:47 +0000 (22:26 +0000)]
Unreviewed, roll chromium deps to r173769

* DEPS:

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

8 years agohttps://bugs.webkit.org/show_bug.cgi?id=102579
bdakin@apple.com [Tue, 18 Dec 2012 22:25:11 +0000 (22:25 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=102579
[mac] Enable scaled cursors

Reviewed by Dean Jackson.

Source/JavaScriptCore:

* Configurations/FeatureDefines.xcconfig:

Source/WebCore:

Not much is required to get this turned on. We just need the feature to be
defined, and we need to initialize m_imageScaleFactor in the Cursor constructors.

* Configurations/FeatureDefines.xcconfig:
* platform/mac/CursorMac.mm:
(WebCore::Cursor::Cursor):
(WebCore::Cursor::operator=):

Source/WebKit/mac:

* Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

* Configurations/FeatureDefines.xcconfig:

LayoutTests:

Un-skip these tests now that the feature is enabled.
* platform/mac/TestExpectations:

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

8 years agoFix broken loop in style guide
thakis@chromium.org [Tue, 18 Dec 2012 22:16:07 +0000 (22:16 +0000)]
Fix broken loop in style guide
https://bugs.webkit.org/show_bug.cgi?id=105346

Reviewed by Ryosuke Niwa.

Found by Sean Silva <silvas@purdue.edu>

* coding/coding-style.html:

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

8 years agoRestrictions on oversize CopiedBlock allocations should be relaxed
mhahnenberg@apple.com [Tue, 18 Dec 2012 22:01:31 +0000 (22:01 +0000)]
Restrictions on oversize CopiedBlock allocations should be relaxed
https://bugs.webkit.org/show_bug.cgi?id=105339

Reviewed by Filip Pizlo.

Currently the DFG has a single branch in the inline allocation path for property/array storage where
it checks to see if the number of bytes requested will fit in the current block. This does not match
what the C++ allocation path does; it checks if the requested number of bytes is oversize, and then
if it's not, it tries to fit it in the current block. The garbage collector assumes that ALL allocations
that are greater than 16KB are in oversize blocks. Therefore, this mismatch can lead to crashes when
the collector tries to perform some operation on a CopiedBlock.

To avoid adding an extra branch to the inline allocation path in the JIT, we should make it so that
oversize blocks are allocated on the same alignment boundaries so that there is a single mask to find
the block header of any CopiedBlock (rather than two, one for normal and one for oversize blocks), and
we should figure out if a block is oversize by some other method than just whatever the JSObject says
it is. One way we could record this info Region of the block, since we allocate a one-off Region for
oversize blocks.

* heap/BlockAllocator.h:
(JSC::Region::isCustomSize):
(Region):
(JSC::Region::createCustomSize):
(JSC::Region::Region):
(JSC::BlockAllocator::deallocateCustomSize):
* heap/CopiedBlock.h:
(CopiedBlock):
(JSC::CopiedBlock::isOversize):
(JSC):
* heap/CopiedSpace.cpp:
(JSC::CopiedSpace::tryAllocateOversize):
(JSC::CopiedSpace::tryReallocate):
(JSC::CopiedSpace::tryReallocateOversize):
* heap/CopiedSpace.h:
(CopiedSpace):
* heap/CopiedSpaceInlines.h:
(JSC::CopiedSpace::contains):
(JSC::CopiedSpace::tryAllocate):
(JSC):
* heap/CopyVisitor.h:
(CopyVisitor):
* heap/CopyVisitorInlines.h:
(JSC::CopyVisitor::checkIfShouldCopy):
(JSC::CopyVisitor::didCopy):
* heap/SlotVisitorInlines.h:
(JSC::SlotVisitor::copyLater):
* runtime/JSObject.cpp:
(JSC::JSObject::copyButterfly):

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

8 years ago[BlackBerry] Build fix for r138024.
jpetsovits@rim.com [Tue, 18 Dec 2012 21:44:09 +0000 (21:44 +0000)]
[BlackBerry] Build fix for r138024.
https://bugs.webkit.org/show_bug.cgi?id=105199
RIM PR 260232

Reviewed by Yong Li.

The clearVisibleTiles() function doesn't exist anymore
and apparently I fail at merge conflict resolution.

* WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
(WebCore::FrameLoaderClientBlackBerry::dispatchDidLayout):

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

8 years ago[Mac] Add Build Phase to Check Headers for Inappropriate Macros (Platform.h macros)
joepeck@webkit.org [Tue, 18 Dec 2012 21:36:40 +0000 (21:36 +0000)]
[Mac] Add Build Phase to Check Headers for Inappropriate Macros (Platform.h macros)
https://bugs.webkit.org/show_bug.cgi?id=104279

Reviewed by David Kilzer.

Source/JavaScriptCore:

Add a build phase to check the public JavaScriptCore headers for
inappropriate macros.

* JavaScriptCore.xcodeproj/project.pbxproj:

Source/WebCore:

Set the executable as an input path on the check-* build phases.

* WebCore.xcodeproj/project.pbxproj:

Source/WebKit:

Add a build phase to check the public WebKit headers for
inappropriate macros. Also set the executable as an input
path on the other check-* build phases.

* WebKit.xcodeproj/project.pbxproj:

Source/WebKit2:

Add a build phase to check the public WebKit2 headers for
inappropriate macros. Also set the executable as an input
path on the other check-* build phases.

* WebKit2.xcodeproj/project.pbxproj:

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

8 years ago[Mac] Add Build Phase to Check Headers for Inappropriate Macros (Platform.h macros)
joepeck@webkit.org [Tue, 18 Dec 2012 21:36:37 +0000 (21:36 +0000)]
[Mac] Add Build Phase to Check Headers for Inappropriate Macros (Platform.h macros)
https://bugs.webkit.org/show_bug.cgi?id=104279

Reviewed by David Kilzer.

Add a build phase script that checks a framework's header files for
Platform.h and Compiler.h macros. Also add some tests for the script.

* Scripts/check-for-inappropriate-macros-in-external-headers: Added.
Script to be used in build phases to check for inappropriate macros in headers.

* Scripts/test-webkitruby: Added.
Script that can be used to run all webkitruby tests.

* Scripts/test-webkit-scripts:
Also run the ruby tests.

* Scripts/webkitruby/check-for-inappropriate-macros-in-external-headers-tests/fake-data-failing-expected.txt: Added.
* Scripts/webkitruby/check-for-inappropriate-macros-in-external-headers-tests/pass-expected.txt: Added.
* Scripts/webkitruby/check-for-inappropriate-macros-in-external-headers-tests/passing-expected.txt: Added.
* Scripts/webkitruby/check-for-inappropriate-macros-in-external-headers-tests/resources/Fake.framework/Headers/Fail.h: Added.
* Scripts/webkitruby/check-for-inappropriate-macros-in-external-headers-tests/resources/Fake.framework/Headers/Pass.h: Added.
* Scripts/webkitruby/check-for-inappropriate-macros-in-external-headers-tests/run-test.rb: Added.
Tests for the new script.

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

8 years ago[chromium] Unreviewed gardening.
dmazzoni@google.com [Tue, 18 Dec 2012 21:34:52 +0000 (21:34 +0000)]
[chromium] Unreviewed gardening.

Updating the expectation and unskipping a test whose output was correct.

* platform/chromium/TestExpectations:
* platform/chromium/accessibility/legend-expected.txt:

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

8 years agoREGRESSION: Using the Exit Full Screen button in the menu bar to exit HTML5 / media...
jer.noble@apple.com [Tue, 18 Dec 2012 21:28:17 +0000 (21:28 +0000)]
REGRESSION: Using the Exit Full Screen button in the menu bar to exit HTML5 / media full screen breaks Safari windows
https://bugs.webkit.org/show_bug.cgi?id=104610

Reviewed by Anders Carlsson.

When a user clicks on the menu-bar exit fullscreen button, that skips notifying the document that
the window is exiting fullscreen and tearing down the placeholder. Manually call that part of the code
when we detect that it has been skipped.

* UIProcess/mac/WKFullScreenWindowController.mm:
(-[WKFullScreenWindowController _startExitFullScreenAnimationWithDuration:]):

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

8 years agoAX: support clickPoint in DRT for chromium
dmazzoni@google.com [Tue, 18 Dec 2012 21:28:06 +0000 (21:28 +0000)]
AX: support clickPoint in DRT for chromium
https://bugs.webkit.org/show_bug.cgi?id=97359

Reviewed by Chris Fleizach.

Source/WebKit/chromium:

Exposes the clickPoint accessibility method in WebAccessibilityObject.

* public/WebAccessibilityObject.h:
(WebAccessibilityObject):
* src/WebAccessibilityObject.cpp:
(WebKit::WebAccessibilityObject::clickPoint):
(WebKit):

Tools:

Implement clickPointX, clickPointY, and elementAtPoint for Chromium, so that
several more tests can pass.

* DumpRenderTree/chromium/TestRunner/src/AccessibilityUIElementChromium.cpp:
(WebTestRunner::AccessibilityUIElement::AccessibilityUIElement):
(WebTestRunner::AccessibilityUIElement::clickPointXGetterCallback):
(WebTestRunner):
(WebTestRunner::AccessibilityUIElement::clickPointYGetterCallback):
(WebTestRunner::AccessibilityUIElement::elementAtPointCallback):
* DumpRenderTree/chromium/TestRunner/src/AccessibilityUIElementChromium.h:
(AccessibilityUIElement):

LayoutTests:

Enable four more tests now that clickPointX, clickPointY,
and elementAtPoint are implemented for Chromium.

Minor fixes to two tests to make them more robust
across platfoms and when run in parallel.

* accessibility/svg-bounds.html: Updated
* accessibility/svg-bounds-expected.txt: Added (made cross-platform
* accessibility/svg-remote-element.html: Updated
* accessibility/svg-remote-element-expected.txt: Added (made cross-platform)
* platform/mac/accessibility/svg-bounds-expected.txt: Deleted
* platform/mac/accessibility/svg-remote-element-expected.txt: Deleted
* platform/chromium/TestExpectations: Updated

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

8 years agoWebProcesses often crash if they access the network after a NetworkProcess crash.
beidson@apple.com [Tue, 18 Dec 2012 21:09:02 +0000 (21:09 +0000)]
WebProcesses often crash if they access the network after a NetworkProcess crash.
<rdar://problem/12865789> and https://bugs.webkit.org/show_bug.cgi?id=105338

Reviewed by Alexey Proskuryakov.

After a NetworkProcess crash we should try to re-establish a connection to a new NetworkProcess
when it is needed.

If that attempt fails, then the WebProcess should "cleanly" crash.

* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::networkConnection):

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

8 years ago[HTMLTemplateElement] Prevent first-level recursive <template> from resetting the...
adamk@chromium.org [Tue, 18 Dec 2012 21:06:33 +0000 (21:06 +0000)]
[HTMLTemplateElement] Prevent first-level recursive <template> from resetting the implied context
https://bugs.webkit.org/show_bug.cgi?id=104142

Reviewed by Eric Seidel.

Source/WebCore:

This patch adds a stack of InsertionModes retains the chosen
"implied context" for each template element.

Based on a patch by Rafael Weinstein.

Tests added to html5lib/run-template.html

* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::HTMLTreeBuilder): Initialize the stack appropriately for HTMLTemplateElement.innerHTML.
(WebCore::HTMLTreeBuilder::processTemplateStartTag):
(WebCore::HTMLTreeBuilder::processTemplateEndTag):
(WebCore::HTMLTreeBuilder::processStartTag): Once we've figured out the insertion mode for a given <template> store it in the stack.
(WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
(WebCore::HTMLTreeBuilder::processEndTag):
(WebCore::HTMLTreeBuilder::processEndOfFile): Clear the stack if we hit end of file to allow the assertion in finish().
(WebCore::HTMLTreeBuilder::finished):
* html/parser/HTMLTreeBuilder.h:
(HTMLTreeBuilder):

LayoutTests:

Added test that the original template context is retained after inner template.

* html5lib/resources/template.dat:

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

8 years agoBuild fix after r138045.
rniwa@webkit.org [Tue, 18 Dec 2012 21:02:45 +0000 (21:02 +0000)]
Build fix after r138045.

* Scripts/webkitpy/performance_tests/perftestsrunner.py:
(PerfTestsRunner._collect_tests): Use relative_path. We skip only when this path
is not explicitly specified. The condition was backwards but never matched so we
always ran the test regardless of whether it's listed in the skipped list or not.
* Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:
(test_collect_tests_with_ignored_skipped_list): Renamed so that it actually runs.

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

8 years ago[BlackBerry] Clean up "frontState" vs. "geometry" naming confusion.
jpetsovits@rim.com [Tue, 18 Dec 2012 20:58:13 +0000 (20:58 +0000)]
[BlackBerry] Clean up "frontState" vs. "geometry" naming confusion.
https://bugs.webkit.org/show_bug.cgi?id=105331
RIM PR 260232

Reviewed by Adam Treat.

The concept of the "front state" is going away or will be
marginalized/renamed, but I don't want to clutter upcoming
patches with renames. So do the variable renames in here,
once, and have future patches focus on actual behavior changes.

* Api/BackingStore.cpp:
(BlackBerry::WebKit::BackingStorePrivate::shouldDirectRenderingToWindow):
(BlackBerry::WebKit::BackingStorePrivate::setBackingStoreRect):
(BlackBerry::WebKit::BackingStorePrivate::updateTilesAfterBackingStoreRectChange):
(BlackBerry::WebKit::BackingStorePrivate::render):
(BlackBerry::WebKit::BackingStorePrivate::blitVisibleContents):
(BlackBerry::WebKit::BackingStorePrivate::compositeContents):
(BlackBerry::WebKit::BackingStorePrivate::resetTiles):
(BlackBerry::WebKit::BackingStorePrivate::updateTiles):
(BlackBerry::WebKit::BackingStorePrivate::updateTilesForScrollOrNotRenderedRegion):
(BlackBerry::WebKit::BackingStorePrivate::createSurfaces):

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

8 years ago[BlackBerry] Use midpoint for fixed position heuristic
commit-queue@webkit.org [Tue, 18 Dec 2012 20:51:05 +0000 (20:51 +0000)]
[BlackBerry] Use midpoint for fixed position heuristic
https://bugs.webkit.org/show_bug.cgi?id=105329

Patch by Andrew Lo <anlo@rim.com> on 2012-12-18
Reviewed by Rob Buis.
Internally reviewed by Joe Mason.

Use the midpoint of the layer when determining whether the
fixed-position layer is on the top or bottom half of the screen
rather than the top of the layer.
Internal PR 237073.

No new tests are needed.

* platform/graphics/blackberry/LayerRenderer.cpp:
(WebCore::LayerRenderer::updateLayersRecursive):

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

8 years ago[BlackBerry] Fixed position elements should be fixed position on x axis
commit-queue@webkit.org [Tue, 18 Dec 2012 20:49:02 +0000 (20:49 +0000)]
[BlackBerry] Fixed position elements should be fixed position on x axis
https://bugs.webkit.org/show_bug.cgi?id=105333

Patch by Andrew Lo <anlo@rim.com> on 2012-12-18
Reviewed by Rob Buis.
Internally reviewed by Joe Mason.

Have fixed position elements be fixed on the X axis as well as Y.
This better aligns with what other ports are doing.
Internal PR237073.

No new tests are needed.

* platform/graphics/blackberry/LayerRenderer.cpp:
(WebCore::LayerRenderer::updateLayersRecursive):

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

8 years ago[BlackBerry] Reduce calls to IMF on return
nghanavatian@rim.com [Tue, 18 Dec 2012 20:34:35 +0000 (20:34 +0000)]
[BlackBerry] Reduce calls to IMF on return
https://bugs.webkit.org/show_bug.cgi?id=105308

Reviewed by Yong Li.

PR207743
The extra calls of selection change and most importantly, end composition
are sent incorrectly on return. This is causing our state to be reset
every time we hit enter.

Internally reviewed by Mike Fenton and Gen Mak.

* WebKitSupport/InputHandler.cpp:
(BlackBerry::WebKit::InputHandler::InputHandler):
(BlackBerry::WebKit::InputHandler::nodeTextChanged):
(BlackBerry::WebKit::InputHandler::selectionChanged):
(BlackBerry::WebKit::InputHandler::handleKeyboardInput):
(BlackBerry::WebKit::InputHandler::shouldNotifyWebView):
(WebKit):
* WebKitSupport/InputHandler.h:
(InputHandler):

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

8 years ago[BlackBerry] Add -fno-exceptions to CXX_FLAGS
commit-queue@webkit.org [Tue, 18 Dec 2012 20:20:31 +0000 (20:20 +0000)]
[BlackBerry] Add -fno-exceptions to CXX_FLAGS
https://bugs.webkit.org/show_bug.cgi?id=105306

Patch by Ming Xie <mxie@rim.com> on 2012-12-18
Reviewed by Rob Buis.

Disable exception handling. We don't have any try or catch
constructs in our code.

* Source/cmake/OptionsBlackBerry.cmake:

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

8 years ago[chromium] Make WebLayerTreeView::loseCompositorContext non-pure virtual
danakj@chromium.org [Tue, 18 Dec 2012 20:18:15 +0000 (20:18 +0000)]
[chromium] Make WebLayerTreeView::loseCompositorContext non-pure virtual
https://bugs.webkit.org/show_bug.cgi?id=105328

Reviewed by James Robinson.

This allows us to decouple the chromium and webkit sides and remove this
function entirely on each side.

* chromium/public/WebLayerTreeView.h:
(WebKit::WebLayerTreeView::loseCompositorContext):

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

8 years ago[Resource Timing] Populate responseEnd on cross-origin requests
simonjam@chromium.org [Tue, 18 Dec 2012 20:14:09 +0000 (20:14 +0000)]
[Resource Timing] Populate responseEnd on cross-origin requests
https://bugs.webkit.org/show_bug.cgi?id=105231

Reviewed by Tony Gentilcore.

No new tests. Covered by existing cross-origin test, but masked by iframe bug.

* page/PerformanceResourceTiming.cpp:
(WebCore::PerformanceResourceTiming::responseEnd):

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

8 years agoTestWebKitAPI/Tests/WebCore/LayoutUnit fails on mac
eae@chromium.org [Tue, 18 Dec 2012 20:07:51 +0000 (20:07 +0000)]
TestWebKitAPI/Tests/WebCore/LayoutUnit fails on mac
https://bugs.webkit.org/show_bug.cgi?id=105332

Reviewed by Levi Weintraub.

Create new test suite for LayoutUnit tests as the KURL tests are
of the incompatible TEST_F type.

* TestWebKitAPI/Tests/WebCore/LayoutUnit.cpp:
(TestWebKitAPI):
(TestWebKitAPI::TEST_F):

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

8 years agoEnable media stream on Android for Chromium
commit-queue@webkit.org [Tue, 18 Dec 2012 19:58:13 +0000 (19:58 +0000)]
Enable media stream on Android for Chromium
https://bugs.webkit.org/show_bug.cgi?id=102545

Patch by Wei Jia <wjia@chromium.org> on 2012-12-18
Reviewed by Eric Seidel.

Put all webrtc related stuff under one flag "enable_webrtc" which is set to 1
on Linux/Windows/Mac and 0 on Android.

* features.gypi:

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

8 years ago[ANGLE] Use of uninitialized memory in ArrayBoundsClamper
mvujovic@adobe.com [Tue, 18 Dec 2012 19:47:22 +0000 (19:47 +0000)]
[ANGLE] Use of uninitialized memory in ArrayBoundsClamper
https://bugs.webkit.org/show_bug.cgi?id=105218

Reviewed by Dean Jackson.

TIntermBinary::addIndexClamp is uninitialized when the compile flag
SH_CLAMP_INDIRECT_ARRAY_BOUNDS is not set. Then, addIndexClamp is used in OutputGLSLBase.
CSS Shaders needs to do a first validation pass without the SH_CLAMP_INDIRECT_ARRAY_BOUNDS
flag and its effects. However, sometimes addIndexClamp is true, which inserts clamping code
that causes a shader to fail compilation at the WebGL level.

* src/compiler/intermediate.h:
(TIntermBinary::TIntermBinary):

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

8 years ago[chromium] Fix include style in WebTransformOperations.h
commit-queue@webkit.org [Tue, 18 Dec 2012 19:44:00 +0000 (19:44 +0000)]
[chromium] Fix include style in WebTransformOperations.h
https://bugs.webkit.org/show_bug.cgi?id=105259

Patch by James Robinson <jamesr@chromium.org> on 2012-12-18
Reviewed by Adrienne Walker.

Changes include of WebTransformationMatrix.h from '#include <public/..h>' to '#include "....h". The latter
always works, since #include "foo.h" always finds foo.h in the same directory, and doesn't require all
downstream users of this header to have Source/Platform/chromium/ on the include path.

* chromium/public/WebTransformOperations.h:

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

8 years agoUnreviewed build fix after http://trac.webkit.org/changeset/138041
timothy_horton@apple.com [Tue, 18 Dec 2012 19:29:30 +0000 (19:29 +0000)]
Unreviewed build fix after trac.webkit.org/changeset/138041

Need to cast int64_t to int32_t to avoid a warning on some compilers.

* platform/LayoutUnit.h:
(WebCore::boundedMultiply):

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

8 years agoRunning a skipped test with run-perf-tests could alert the user
rniwa@webkit.org [Tue, 18 Dec 2012 19:15:23 +0000 (19:15 +0000)]
Running a skipped test with run-perf-tests could alert the user
https://bugs.webkit.org/show_bug.cgi?id=105219

Reviewed by Eric Seidel.

Force run skipped performance tests explicitly specified in the command line.
Also warn the user when the specified paths don't exist.

* Scripts/webkitpy/layout_tests/port/base.py:
(Port.relative_test_filename):
* Scripts/webkitpy/performance_tests/perftestsrunner.py:
(PerfTestsRunner._parse_args):
(PerfTestsRunner._collect_tests):
* Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:
(test_collect_tests_with_skipped_list_and_files):

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

8 years agoChrome Android java output is too verbose
commit-queue@webkit.org [Tue, 18 Dec 2012 19:12:28 +0000 (19:12 +0000)]
Chrome Android java output is too verbose
https://bugs.webkit.org/show_bug.cgi?id=105247

Patch by Yaron Friedman <yfriedman@chromium.org> on 2012-12-18
Reviewed by Tony Chang.

Pass -quiet to ant to suppress extraneous output.

Source/WebKit/chromium:

* WebKitUnitTests.gyp:

Tools:

* DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:
* TestWebKitAPI/TestWebKitAPI.gyp/TestWebKitAPI.gyp:

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

8 years ago[CSS Exclusions] shape-inside layout fails to adjust first line correctly for writing...
commit-queue@webkit.org [Tue, 18 Dec 2012 19:08:41 +0000 (19:08 +0000)]
[CSS Exclusions] shape-inside layout fails to adjust first line correctly for writing-mode: vertical-rl
https://bugs.webkit.org/show_bug.cgi?id=104419

Patch by Hans Muller <hmuller@adobe.com> on 2012-12-18
Reviewed by Dirk Schulze.

Source/WebCore:

ExclusionShapes no longer maintain a private "internal" coordinate system,
they're now defined in logical coordinates. The createExclusionShape() method
now handles the one-time conversion from physical to logical coordinates.

Test: fast/exclusions/shape-inside/shape-inside-rounded-rectangle-fit-003.html

* rendering/ExclusionPolygon.cpp:
(WebCore::ExclusionPolygon::getExcludedIntervals): Removed logical to internal coordinate conversions.
(WebCore::ExclusionPolygon::getIncludedIntervals): Ditto.
(WebCore::ExclusionPolygon::firstIncludedIntervalLogicalTop): Ditto.
* rendering/ExclusionPolygon.h:
* rendering/ExclusionRectangle.cpp:
(WebCore::ExclusionRectangle::getExcludedIntervals): Removed logical to internal coordinate conversions.
(WebCore::ExclusionRectangle::getIncludedIntervals): Ditto.
(WebCore::ExclusionRectangle::firstIncludedIntervalLogicalTop): Ditto.
* rendering/ExclusionRectangle.h:
* rendering/ExclusionShape.cpp:
(WebCore::physicalRectToLogical): Convert a FloatRect defined with coordinates to logical coordinates.
(WebCore::physicalPointToLogical): Similar.
(WebCore::physicalSizeToLogical): Simlar.
(WebCore::ExclusionShape::createExclusionShape): Convert shapes from physical to logical coordinates.
* rendering/ExclusionShape.h:
(ExclusionShape): Removed internal to logical coordinate conversion utility methods.

LayoutTests:

For the vertical writing modes, verify that rounded rectangle shape-inside content is
adjusted in the logical down direction when it will not fit betwen the rounded corners.

* fast/exclusions/shape-inside/shape-inside-rounded-rectangle-fit-003-expected.html: Added.
* fast/exclusions/shape-inside/shape-inside-rounded-rectangle-fit-003.html: Added.

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

8 years agoConsider removing --pause-before-testing option
rniwa@webkit.org [Tue, 18 Dec 2012 18:55:53 +0000 (18:55 +0000)]
Consider removing --pause-before-testing option
https://bugs.webkit.org/show_bug.cgi?id=105248

Reviewed by Eric Seidel.

Remove --pause-before-testing option.

* Tools/Scripts/webkitpy/layout_tests/port/driver.py:
(DriverProxy.start): Removed.
* Scripts/webkitpy/performance_tests/perftest.py:
(PerfTest.__init__):
(PerfTest.test_path): Renamed from path_or_url.
(PerfTest.run):
(PerfTest): Removed "driver" argument.
(PerfTest._run_with_driver):
(PerfTest.run_single):
(ChromiumStylePerfTest.__init__):
(PageLoadingPerfTest.__init__):
(PageLoadingPerfTest.run_single):
(PageLoadingPerfTest._run_with_driver): Renamed from run so that PerfTest.run can create a driver for us.
(ReplayPerfTest.__init__):
(ReplayPerfTest.prepare):
* Scripts/webkitpy/performance_tests/perftest_unittest.py:
(TestPageLoadingPerfTest.test_run):
(TestPageLoadingPerfTest.test_run_with_memory_output):
(TestPageLoadingPerfTest.test_run_with_bad_output):
* Scripts/webkitpy/performance_tests/perftestsrunner.py:
(PerfTestsRunner._parse_args):
(PerfTestsRunner._run_tests_set): Removed the code to create a driver and pause before running the test.
(PerfTestsRunner._run_single_test): Removed "driver" argument.
* Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:
(run_test):
(test_run_test_pause_before_testing): Removed.

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

8 years agoOptimize LayoutUnit::boundedMultiply
eae@chromium.org [Tue, 18 Dec 2012 18:46:10 +0000 (18:46 +0000)]
Optimize LayoutUnit::boundedMultiply
https://bugs.webkit.org/show_bug.cgi?id=105216

Reviewed by Levi Weintraub.

LayoutUnit::boundedMultiply is used for multiplication that's
prone to overflow and for all LayoutUnit multiplication if
SATURATED_LAYOUT_ARITHMETIC is enabled. The current approach is
quite inefficient.

Change it to use a more efficient saturated multiplication
implementation. As the implementation needs to use
kFixedPointDenominator it is implemented in LayoutUnit.h instead
of in wtf/SaturatedArithmetic.h.

Test: Covered by TestWebKitAPI/Tests/WebCore/LayoutUnit.cpp

* platform/LayoutUnit.h:
(WebCore::boundedMultiply):

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

8 years ago[CSS Exclusions] Blocks should not re-use their parent's ExclusionShapeInsideInfo
commit-queue@webkit.org [Tue, 18 Dec 2012 18:43:38 +0000 (18:43 +0000)]
[CSS Exclusions] Blocks should not re-use their parent's ExclusionShapeInsideInfo
if they participate in inline layout
https://bugs.webkit.org/show_bug.cgi?id=104582

Patch by Bear Travis <betravis@adobe.com> on 2012-12-18
Reviewed by Julien Chaffraix.

Source/WebCore:

Blocks that participate in inline layout should not re-use a parent's
ExclusionShapeInsideInfo, as the parent and child would both use the info for
layout at the same time. This patch alters LayoutState to not include
ExclusionShapeInsideInfo if the current block participates in inline layout (ie,
it is a float, inline-block, or inline-table).

Test: fast/exclusions/shape-inside/shape-inside-recursive-layout.html

* rendering/ExclusionShapeInsideInfo.h:
(WebCore::ExclusionShapeInsideInfo::ownerBlock): Return the block associated with
the shape-inside style.
* rendering/LayoutState.cpp:
(WebCore::LayoutState::LayoutState): Do not re-use ExclusionShapeInsideInfo
on a block that participates in inline layout (floats and inline blocks).
* rendering/RenderBlock.h:
(WebCore::RenderBlock::allowsExclusionShapeInsideInfoSharing): Returns whether the
block can re-use an ExclusionShapeInsideInfo from its parent block.
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::layoutRunsAndFloatsInRange): Adding an assert to make sure
we do not overwrite ExclusionShapeInsideInfo's state during a recursive layout.
* rendering/RenderView.h:
(WebCore::RenderView::pushLayoutState): Push a new LayoutState in the case that
ExclusionShapeInsideInfo exists but should not be propagated.

LayoutTests:

Test that recursive inline layouts work correctly.

* fast/exclusions/resources/simple-rectangle.js:
(createRectangleTest): Remove extra ':' from pseudo-element.
(createRectangleTestResult): Ditto.
* fast/exclusions/shape-inside/shape-inside-recursive-layout-expected.html: Added.
* fast/exclusions/shape-inside/shape-inside-recursive-layout.html: Added.

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

8 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Tue, 18 Dec 2012 18:35:42 +0000 (18:35 +0000)]
Unreviewed GTK gardening.

Removing failures for a bunch of tests that are now passing due to
various reasons.

* platform/gtk/TestExpectations:

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

8 years ago[GTK] Tests that time out are not considered as failures.
commit-queue@webkit.org [Tue, 18 Dec 2012 18:32:21 +0000 (18:32 +0000)]
[GTK] Tests that time out are not considered as failures.
https://bugs.webkit.org/show_bug.cgi?id=105318

Patch by Alberto Garcia <agarcia@igalia.com> on 2012-12-18
Reviewed by Martin Robinson.

* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(RunGtkAPITests.commandComplete):
Consider log lines that end with TIMEOUT as errors.

* Scripts/run-gtk-tests:
(TestRunner.run_tests):
Consider timeouts as failures when returning the number of failed
tests.

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

8 years agoREGRESSION(r136324): flex items with percent heights not resizing
tony@chromium.org [Tue, 18 Dec 2012 18:23:15 +0000 (18:23 +0000)]
REGRESSION(r136324): flex items with percent heights not resizing
https://bugs.webkit.org/show_bug.cgi?id=105213

Reviewed by Ojan Vafai.

Source/WebCore:

We were missing some of the logic for when to relayout a flex child. Refactor
the code in RenderBlock::layoutBlockChildren so we can use it in RenderFlexibleBox.

Test: css3/flexbox/flexitem-percent-height-change.html

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::updateNeedsLayoutAndPreferredLogicalWidthsDirtyBeforeBlockChildLayout):
Pull out logic needed by RenderFlexibleBox.
(WebCore::RenderBlock::layoutBlockChildren): Use helper method.
* rendering/RenderBlock.h:
(RenderBlock): Add updateNeedsLayoutAndPreferredLogicalWidthsDirtyBeforeBlockChildLayout.
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::layoutBlock): Pass through relayoutChildren bool.
(WebCore::RenderFlexibleBox::layoutFlexItems): Pass through relayoutChildren and mark the child as needing
layout if it has a percent height.
(WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes): We need to always layout here since we're
trying to get the preferred size.
(WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
* rendering/RenderFlexibleBox.h:

LayoutTests:

Add a test that changes the height of a flexbox with a percentage height child.

* css3/flexbox/flexitem-percent-height-change-expected.txt: Added.
* css3/flexbox/flexitem-percent-height-change.html: Added.

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

8 years agoFix position:-webkit-sticky behavior when zoomed
simon.fraser@apple.com [Tue, 18 Dec 2012 18:07:56 +0000 (18:07 +0000)]
Fix position:-webkit-sticky behavior when zoomed
https://bugs.webkit.org/show_bug.cgi?id=105251

Reviewed by Dean Jackson.

Source/WebCore:

Position sticky elements were misplaced when stickily-constrained, under zooming.
The cause was that some of the functions used to compute sticky position
took page scale into account, and some did not.

Fix by using localToContainerQuad(..., view()) to compute RenderView-relative
quads, which avoids page scale, so all the constraints math is done ignoring
page scale. This also requires that we compute a scale-free viewport rect
in stickyPositionOffset().

Test: fast/css/sticky/sticky-top-zoomed.html

* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::computeStickyPositionConstraints):
(WebCore::RenderBoxModelObject::stickyPositionOffset):

LayoutTests:

Ref test for sticky elements in a zoomed page.

This test is marked as failing for WK1, because scrollbars always show on
zoomed pages and cannot be hidden there.

* fast/css/sticky/sticky-top-zoomed-expected.html: Added.
* fast/css/sticky/sticky-top-zoomed.html: Added.
* platform/mac-wk2/TestExpectations:
* platform/mac/TestExpectations:

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

8 years agoWeb Inspector: DataGrid cell values are "clipped" in editing mode.
commit-queue@webkit.org [Tue, 18 Dec 2012 18:06:09 +0000 (18:06 +0000)]
Web Inspector: DataGrid cell values are "clipped" in editing mode.
https://bugs.webkit.org/show_bug.cgi?id=105277

Patch by Eugene Klyuchnikov <eustas@chromium.org> on 2012-12-18
Reviewed by Pavel Feldman.

UIUtils expects that "text-overflow" is not "ellipsis".

* inspector/front-end/dataGrid.css:
(.data-grid td.editing > div): Override text-overflow for editing mode.

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

8 years ago[Inspector] Add frameId for frame owner nodes.
commit-queue@webkit.org [Tue, 18 Dec 2012 18:04:41 +0000 (18:04 +0000)]
[Inspector] Add frameId for frame owner nodes.
https://bugs.webkit.org/show_bug.cgi?id=105317

Patch by Ken Kania <kkania@chromium.org> on 2012-12-18
Reviewed by Pavel Feldman.

This is needed to translate from a node ID to the execution context ID for
evaluating scripts in the associated frame.

* inspector/Inspector.json:
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::buildObjectForNode):

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

8 years ago[EFL] Allow the build system to detect EGL support.
commit-queue@webkit.org [Tue, 18 Dec 2012 18:00:25 +0000 (18:00 +0000)]
[EFL] Allow the build system to detect EGL support.
https://bugs.webkit.org/show_bug.cgi?id=105287

Patch by Kondapally Kalyan <kalyan.kondapally@intel.com> on 2012-12-18
Reviewed by Laszlo Gombos.

Currently, we don't have any way to determine if EGL is supported by the build.
This patch adds support for this. The patch doesn't make any changes to take this into
use. This will be done in another patch.

* Source/cmake/FindEGL.cmake:

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

8 years ago[Qt] Fix the ARMv7 build after r137976
msaboff@apple.com [Tue, 18 Dec 2012 17:55:41 +0000 (17:55 +0000)]
[Qt] Fix the ARMv7 build after r137976
https://bugs.webkit.org/show_bug.cgi?id=105270

Reviewed by Csaba Osztrogonác.

Add default value for Jump parameter to fix build.

* assembler/AbstractMacroAssembler.h:
(JSC::AbstractMacroAssembler::Jump::Jump):

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

8 years agoUnreviewed, adding secondary email.
pravin.d@samsung.com [Tue, 18 Dec 2012 17:32:50 +0000 (17:32 +0000)]
Unreviewed, adding secondary email.

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

8 years ago[WinCairo] Compile fix.
commit-queue@webkit.org [Tue, 18 Dec 2012 17:29:54 +0000 (17:29 +0000)]
[WinCairo] Compile fix.
https://bugs.webkit.org/show_bug.cgi?id=105175

Patch by peavo@outlook.com <peavo@outlook.com> on 2012-12-18
Reviewed by Simon Fraser.

* rendering/RenderLayer.h: Compile fixes for USE(ACCELERATED_COMPOSITING) mismatch.

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

8 years agoUnreviewed, promoting myself to committer's list
pravin.d@samsung.com [Tue, 18 Dec 2012 17:19:12 +0000 (17:19 +0000)]
Unreviewed, promoting myself to committer's list

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

8 years ago[BlackBerry] Remove the visible tile buffer from the BackingStore.
jpetsovits@rim.com [Tue, 18 Dec 2012 17:18:00 +0000 (17:18 +0000)]
[BlackBerry] Remove the visible tile buffer from the BackingStore.
https://bugs.webkit.org/show_bug.cgi?id=105302
RIM PR 260232

Reviewed by George Staikos.

The visible tile buffer was introduced as an additional
buffering solution that was necessary because other
buffers would only cover part of the screen and could
only be swapped one by one, with long blocking calls
between each newly rendered tile. By carrying an old copy
of all tiles at once, we were avoiding checkerboard and
visual artifacts during load time when much zoom-to-fit
action is going on.

These days, the visual tile buffer hurts more than it helps,
not only taking up lots of memory but also requiring
complexity that we'd rather get rid of. Now that multiple
buffers are being swapped into the user interface thread
at once, the need for the visible tile buffer is no longer
there and can be exchanged for standard geometry behavior.

This patch simply deletes the visible tile buffer to use
existing other code instead. Differences in behavior are
non-existent or negligible.

* Api/BackingStore.cpp:
(BlackBerry::WebKit::BackingStorePrivate::blitVisibleContents):
(BlackBerry::WebKit::BackingStorePrivate::transformChanged):
(BlackBerry::WebKit::BackingStorePrivate::orientationChanged):
(BlackBerry::WebKit::BackingStorePrivate::createSurfaces):
* Api/BackingStore_p.h:
(BackingStorePrivate):
* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::setViewportSize):
* WebKitSupport/SurfacePool.cpp:
(BlackBerry::WebKit::SurfacePool::SurfacePool):
(BlackBerry::WebKit::SurfacePool::initialize):
(BlackBerry::WebKit::SurfacePool::createBuffers):
(BlackBerry::WebKit::SurfacePool::releaseBuffers):
* WebKitSupport/SurfacePool.h:
(SurfacePool):

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

8 years ago[EFL] Unreviewed gardening.
thiago.santos@intel.com [Tue, 18 Dec 2012 17:00:31 +0000 (17:00 +0000)]
[EFL] Unreviewed gardening.

Added new baselines marked tests flaky due to Accessibility code
crashes.

* platform/efl-wk2/TestExpectations:
* platform/efl-wk2/editing/selection/move-by-character-6-expected.png: Added.
* platform/efl-wk2/editing/selection/move-by-character-6-expected.txt: Added.

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

8 years agoHave kFixedPointDenominator be constant across ports
eae@chromium.org [Tue, 18 Dec 2012 16:45:04 +0000 (16:45 +0000)]
Have kFixedPointDenominator be constant across ports
https://bugs.webkit.org/show_bug.cgi?id=104843

Source/WebCore:

Reviewed by Julien Chaffraix.

Currently the kFixedPointDenominator constant is set to either
64 or 1 depending on the SUBPIXEL_LAYOUT flag. As this constant
is used to limit the range of supported values this results in
inconsistencies across ports.

Change kFixedPointDenominator to always be 64 and introduce a
new constant (kEffectiveFixedPointDenominator) that varies.
This ensures that the same range of values are supported across
ports regardless of the SUBPIXEL_LAYOUT flag.

Covered by fast/css/large-numbers.html and fast/css/large-number-round-trip.html

* platform/LayoutUnit.h:
Add kEffectiveFixedPointDenominator constant and change
LayoutUnit code to use it instead of kFixedPointDenominator
which is now set to 64 regardless of the SUBPIXEL_LAYOUT flag.

LayoutTests:

Reviewed by Julien Chaffraix.

Unskip the following tests on efl, qt and gtk:
fast/css/large-number-round-trip.html
fast/css/large-numbers.html

Remove platform specific results for large-number-round-trip.html.

* fast/css/large-number-round-trip-expected.txt:
* platform/chromium/fast/css/large-number-round-trip-expected.txt: Removed.
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/mac/fast/css/large-number-round-trip-expected.txt: Removed.
* platform/qt/TestExpectations:

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

8 years agoUnreviewed, rolling out r137979.
commit-queue@webkit.org [Tue, 18 Dec 2012 16:39:15 +0000 (16:39 +0000)]
Unreviewed, rolling out r137979.
http://trac.webkit.org/changeset/137979
https://bugs.webkit.org/show_bug.cgi?id=105311

nodeName returned by the inspector protocol commands should
match one accessible fro JS (Requested by yurys_ on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-12-18

Source/WebCore:

* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::buildObjectForNode):

LayoutTests:

* inspector/elements/shadow-dom-modify-chardata-expected.txt:
* inspector/elements/shadow-root-expected.txt:
* inspector/elements/shadow-root.html:

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

8 years ago[BlackBerry] Restructure the render queue to process multiple tiles at once.
jpetsovits@rim.com [Tue, 18 Dec 2012 16:37:16 +0000 (16:37 +0000)]
[BlackBerry] Restructure the render queue to process multiple tiles at once.
https://bugs.webkit.org/show_bug.cgi?id=105199
RIM PR 260232

Reviewed by George Staikos.
Internally reviewed by Arvid Nilsson.

Since my last big commit, r136442, the BackingStore's render()
function is able to fetch multiple back buffers and swap them
into the user interface thread in one go. However, it turns out
that this is not enough to actually render to all of the
available back buffers at once. The RenderQueue class was still
working with a model based on processing one rectangle after
another.

This commit rewrites large parts of RenderQueue to issue
render() calls for multiple tiles at once. As WebCore painting
gets cheaper and blocking becomes more of an issue, this commit
does away with paints smaller than tile size and always renders
whole tiles at once. This means the demise of RenderRect.
As an additional benefit, this means we can remove the
copyPreviousContentsToTileBuffer() function which caused
potential threading issues as it was accessing a buffer
now owned by the UI thread from the WebKit thread.

RenderQueue is also smarter than before in assigning batches,
it now takes into account the number of available back buffers
for rendering as well as excludes tiles outside contents
boundaries. Regular render jobs continue being tracked as
regions (and are being issued to didRenderContent()) with only
the changed content regions. Everything else switches over to
tile index lists from previously lists of rectangles.
By default, we render as many tiles at once as we can grab
back buffers, or until a given set of jobs is done.
For high-priority jobs, render() will be called in a loop.

To allow for the necessary changes in render() and improve
reliability in the same go, we now call render() almost
exclusively through RenderQueue. Other places would often
call renderVisibleContents() in situations where rendering
is not possible, geometries don't get updated, or content
rendered notifications would not get issued to the client.
By replacing renderVisibleContents() with a scheduled
high-priority queue that's immediately being processed
(but only if possible), these problems go away.

* Api/BackingStore.cpp:
(BlackBerry::WebKit::BackingStorePrivate::resumeScreenUpdates):
(BlackBerry::WebKit::BackingStorePrivate::repaint):
(BlackBerry::WebKit::BackingStorePrivate::slowScroll):
(BlackBerry::WebKit::BackingStorePrivate::renderJob):
(BlackBerry::WebKit::BackingStorePrivate::setBackingStoreRect):
(BlackBerry::WebKit::BackingStorePrivate::updateTilesAfterBackingStoreRectChange):
(BlackBerry::WebKit::BackingStorePrivate::indexesForBackingStoreRect):
(BlackBerry::WebKit::BackingStorePrivate::clearAndUpdateTileOfNotRenderedRegion):
(BlackBerry::WebKit::BackingStorePrivate::isCurrentVisibleJob):
(BlackBerry::WebKit::BackingStorePrivate::renderDirectToWindow):
(BlackBerry::WebKit::BackingStorePrivate::render):
(BlackBerry::WebKit::BackingStorePrivate::renderAndBlitVisibleContentsImmediately):
(BlackBerry::WebKit::BackingStorePrivate::renderAndBlitImmediately):
(BlackBerry::WebKit::BackingStorePrivate::paintDefaultBackground):
(BlackBerry::WebKit::BackingStorePrivate::blitVisibleContents):
(BlackBerry::WebKit::BackingStorePrivate::compositeContents):
(BlackBerry::WebKit::BackingStorePrivate::visibleTileIndexes):
(BlackBerry::WebKit::BackingStorePrivate::resetTiles):
(BlackBerry::WebKit::BackingStorePrivate::updateTilesForScrollOrNotRenderedRegion):
(BlackBerry::WebKit::BackingStorePrivate::updateTile):
(BlackBerry::WebKit::BackingStorePrivate::transformChanged):
(BlackBerry::WebKit::BackingStorePrivate::didRenderContent):
* Api/BackingStore_p.h:
(BackingStorePrivate):
* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::setLoadState):
(BlackBerry::WebKit::WebPagePrivate::zoomAboutPoint):
(BlackBerry::WebKit::WebPagePrivate::resumeBackingStore):
* Api/WebPageCompositor.cpp:
(BlackBerry::WebKit::WebPageCompositorPrivate::animationFrameChanged):
* WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
(WebCore::FrameLoaderClientBlackBerry::dispatchDidLayout):
* WebKitSupport/RenderQueue.cpp:
(BlackBerry::WebKit::compareRectOneDirection):
(BlackBerry::WebKit::tileIndexIsLessThan):
(WebKit):
(BlackBerry::WebKit::tileIndexLessThanFunction):
(BlackBerry::WebKit::TileIndexLessThan::TileIndexLessThan):
(BlackBerry::WebKit::TileIndexLessThan::operator()):
(TileIndexLessThan):
(BlackBerry::WebKit::RenderQueue::reset):
(BlackBerry::WebKit::RenderQueue::isEmpty):
(BlackBerry::WebKit::RenderQueue::hasCurrentRegularRenderJob):
(BlackBerry::WebKit::RenderQueue::hasCurrentVisibleZoomJob):
(BlackBerry::WebKit::RenderQueue::hasCurrentVisibleScrollJob):
(BlackBerry::WebKit::RenderQueue::isCurrentVisibleZoomJob):
(BlackBerry::WebKit::RenderQueue::isCurrentVisibleZoomJobCompleted):
(BlackBerry::WebKit::RenderQueue::isCurrentVisibleScrollJob):
(BlackBerry::WebKit::RenderQueue::isCurrentVisibleScrollJobCompleted):
(BlackBerry::WebKit::RenderQueue::isCurrentRegularRenderJob):
(BlackBerry::WebKit::RenderQueue::tileIndexesIntersectingRegion):
(BlackBerry::WebKit::RenderQueue::tileIndexesFullyContainedInRegion):
(BlackBerry::WebKit::RenderQueue::tileRegion):
(BlackBerry::WebKit::RenderQueue::addToQueue):
(BlackBerry::WebKit::RenderQueue::addToRegularQueue):
(BlackBerry::WebKit::RenderQueue::addToScrollZoomQueue):
(BlackBerry::WebKit::RenderQueue::quickSort):
(BlackBerry::WebKit::RenderQueue::visibleContentChanged):
(BlackBerry::WebKit::RenderQueue::backingStoreRectChanging):
(BlackBerry::WebKit::RenderQueue::clear):
(BlackBerry::WebKit::RenderQueue::clearRegions):
(BlackBerry::WebKit::RenderQueue::clearTileIndexes):
(BlackBerry::WebKit::RenderQueue::render):
(BlackBerry::WebKit::RenderQueue::renderRegularRenderJobs):
(BlackBerry::WebKit::RenderQueue::renderScrollZoomJobs):
(BlackBerry::WebKit::RenderQueue::scrollZoomJobsCompleted):
* WebKitSupport/RenderQueue.h:
(WebKit):
(RenderQueue):
* WebKitSupport/SurfacePool.cpp:
(BlackBerry::WebKit::SurfacePool::numberOfAvailableBackBuffers):
(BlackBerry::WebKit::SurfacePool::takeBackBuffer):
* WebKitSupport/SurfacePool.h:
(SurfacePool):
* WebKitSupport/TileIndex.h:
(WebKit):

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

8 years ago[chromium] Unreviewed gardening: marking test as flaky on Linux Dbg bot.
wjmaclean@chromium.org [Tue, 18 Dec 2012 16:06:14 +0000 (16:06 +0000)]
[chromium] Unreviewed gardening: marking test as flaky on Linux Dbg bot.
http://webkit.org/b/86114

Unreviewed gardening.

* platform/chromium/TestExpectations:

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

8 years agoWeb Inspector: [Styles] Selector matches are not marked after property editing
apavlov@chromium.org [Tue, 18 Dec 2012 15:55:01 +0000 (15:55 +0000)]
Web Inspector: [Styles] Selector matches are not marked after property editing
https://bugs.webkit.org/show_bug.cgi?id=105284

Reviewed by Vsevolod Vlasov.

Once a property edit is committed, the selector markup is reset and needs to be re-applied.

* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylePropertiesSection.prototype.update):

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

8 years ago[EFL] ImageDiff does not build on WebKit2 only builds
thiago.santos@intel.com [Tue, 18 Dec 2012 15:49:25 +0000 (15:49 +0000)]
[EFL] ImageDiff does not build on WebKit2 only builds
https://bugs.webkit.org/show_bug.cgi?id=105288

Reviewed by Kenneth Rohde Christiansen.

Moved ImageDiff to the efl/ folder inside Tools/ (so we don't pollute
the folder with things which are EFL-specific.

ImageDiff will be built by default now regardless of WebKit API flavor
you choose.

* CMakeLists.txt:
* DumpRenderTree/efl/CMakeLists.txt:
* efl/ImageDiff/CMakeLists.txt: Added.
* efl/ImageDiff/ImageDiff.cpp: Renamed from Tools/DumpRenderTree/efl/ImageDiff.cpp.

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

8 years agoAdd in-band text track cues only once
eric.carlson@apple.com [Tue, 18 Dec 2012 15:23:29 +0000 (15:23 +0000)]
Add in-band text track cues only once
https://bugs.webkit.org/show_bug.cgi?id=104593

Reviewed by Dean Jackson.

Source/WebCore:

Test: media/track/track-in-band-cues-added-once.html

* html/track/InbandTextTrack.cpp:
(WebCore::InbandTextTrack::hasCue): New.
* html/track/InbandTextTrack.h:

* html/track/TextTrackCue.cpp:
(WebCore::TextTrackCue::setCueSettings): Remember the raw cue settings so they can be accessed later.
* html/track/TextTrackCue.h:

* platform/graphics/InbandTextTrackPrivateClient.h: Declare hasCue.

* platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
(WebCore::InbandTextTrackPrivateAVF::processCue): Early return if m_player has been cleared.
(WebCore::InbandTextTrackPrivateAVF::setMode): Ditto.

* platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
(WebCore::MediaPlayerPrivateAVFoundation::seek): Clear the partially accumulated cue when the seek
    starts, not when it completes.
(WebCore::MediaPlayerPrivateAVFoundation::seekCompleted): Ditto.
(WebCore::MediaPlayerPrivateAVFoundation::flushCurrentCue): Don't add a cue if it is already in the
    text track cue list.
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::clearTextTracks): Drive-by cleanup, clear the track list completely.

LayoutTests:

Test to ensure that in-band text track cues are not added to the the cue list more than once.

* media/track/track-in-band-cues-added-once-expected.txt: Added.
* media/track/track-in-band-cues-added-once.html: Added.
* platform/chromium/TestExpectations:
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/mac/TestExpectations:
* platform/qt/TestExpectations:
* platform/win/TestExpectations:

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

8 years agoWeb Inspector: [Network] Ordering of cookies displayed is nondeterministic.
commit-queue@webkit.org [Tue, 18 Dec 2012 15:01:02 +0000 (15:01 +0000)]
Web Inspector: [Network] Ordering of cookies displayed is nondeterministic.
https://bugs.webkit.org/show_bug.cgi?id=105272

Patch by Eugene Klyuchnikov <eustas@chromium.org> on 2012-12-18
Reviewed by Vsevolod Vlasov.

This patch fixes double-selection of request and sets default ordering
of cookies.

* inspector/front-end/CookiesTable.js: By default sort by name.
* inspector/front-end/NetworkPanel.js: Do not fire "select" on
mouse-click in viewing-request mode.

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

8 years ago[EFL][WK2] When creating new windows, use the opener's context
kenneth@webkit.org [Tue, 18 Dec 2012 14:42:31 +0000 (14:42 +0000)]
[EFL][WK2] When creating new windows, use the opener's context
https://bugs.webkit.org/show_bug.cgi?id=105283

Reviewed by Laszlo Gombos.

Use the context of the opener if exists.

* MiniBrowser/efl/main.c:
(on_key_down):
(on_window_create):
(window_create):
(elm_main):

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

8 years ago[WK2] Unreviewed gardening.
thiago.santos@intel.com [Tue, 18 Dec 2012 13:53:45 +0000 (13:53 +0000)]
[WK2] Unreviewed gardening.

Fixed malformed entry on the WK2 expectations file.

* platform/wk2/TestExpectations:

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

8 years agoUnreviewed, rolling out r138011.
apavlov@chromium.org [Tue, 18 Dec 2012 13:42:51 +0000 (13:42 +0000)]
Unreviewed, rolling out r138011.
http://trac.webkit.org/changeset/138011
https://bugs.webkit.org/show_bug.cgi?id=105272

WebInspector: Broke request selection in the Network panel

* inspector/front-end/CookiesTable.js:
(WebInspector.CookiesTable):
* inspector/front-end/NetworkPanel.js:
(WebInspector.NetworkPanel.prototype._toggleGridMode):
(WebInspector.NetworkPanel.prototype._toggleViewingRequestMode):
(WebInspector.NetworkDataGridNode.prototype.createCells):
(WebInspector.NetworkDataGridNode.prototype.get selectable):

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

8 years agoREGRESSION (r137607): Cannot download files, stuck in “Preparing to download”
japhet@chromium.org [Tue, 18 Dec 2012 13:04:51 +0000 (13:04 +0000)]
REGRESSION (r137607): Cannot download files, stuck in “Preparing to download”
https://bugs.webkit.org/show_bug.cgi?id=105044

Reviewed by Antti Koivisto.

The work done by DocumentLoader::mainReceivedError() changed subtly in r137607,
such that it cancels the ResourceHandle. We want to treat switching to a download
like a failure, where WebCore assumes that the load is finished, and no
cancellation is required.

No new tests, tested manually by verifying that downloading files works in
Safari Mac.

* loader/MainResourceLoader.cpp:
(WebCore::MainResourceLoader::continueAfterContentPolicy):
* platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::cancel): Remove the workaround added in r137763.

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

8 years agoWeb Inspector: [Network] Ordering of cookies displayed is nondeterministic.
commit-queue@webkit.org [Tue, 18 Dec 2012 12:57:16 +0000 (12:57 +0000)]
Web Inspector: [Network] Ordering of cookies displayed is nondeterministic.
https://bugs.webkit.org/show_bug.cgi?id=105272

Patch by Eugene Klyuchnikov <eustas@chromium.org> on 2012-12-18
Reviewed by Alexander Pavlov.

This patch fixes double-selection of request and sets default ordering
of cookies.

* inspector/front-end/CookiesTable.js: By default sort by name.
* inspector/front-end/NetworkPanel.js: Remove redundant member, make
rows "not-selectable", activate request selection on "mouse-down".

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

8 years agoUnreviewed rebaseline new test introdiced at r138003
loislo@chromium.org [Tue, 18 Dec 2012 12:49:10 +0000 (12:49 +0000)]
Unreviewed rebaseline new test introdiced at r138003

* inspector-protocol/media-query-listener-exception-expected.txt:
* platform/chromium/inspector-protocol/media-query-listener-exception-expected.txt: Copied from LayoutTests/inspector-protocol/media-query-listener-exception-expected.txt.

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

8 years ago[EFL] Unreviewed gardening
thiago.santos@intel.com [Tue, 18 Dec 2012 12:19:49 +0000 (12:19 +0000)]
[EFL] Unreviewed gardening

Skipped some accessibility because of missing bits on EFL.

* platform/efl-wk2/TestExpectations:

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

8 years ago[JSC] Refactoring CodeGeneratorJS.pm to simplify adding support for overloaded constr...
commit-queue@webkit.org [Tue, 18 Dec 2012 12:07:45 +0000 (12:07 +0000)]
[JSC] Refactoring CodeGeneratorJS.pm to simplify adding support for overloaded constructors
https://bugs.webkit.org/show_bug.cgi?id=105271

Patch by Tommy Widenflycht <tommyw@chromium.org> on 2012-12-18
Reviewed by Kentaro Hara.

This patch splits the very large function that generates constructor code into a few smaller ones.
No changes in actual generated code but some functions in the generated bindings code moves.

Existing tests cover patch.

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
(GenerateConstructorDefinitions):
(GenerateConstructorDefinition):
(GenerateConstructorSupportDefinitions):
(IsCustomConstructable):
(IsConstructable):
* bindings/scripts/test/JS/JSFloat64Array.cpp:
(WebCore::JSFloat64ArrayConstructor::constructJSFloat64Array):
(WebCore):
(WebCore::toJS):
(WebCore::JSFloat64Array::indexSetter):
* bindings/scripts/test/JS/JSTestEventConstructor.cpp:
(WebCore):
(WebCore::JSTestEventConstructorConstructor::JSTestEventConstructorConstructor):
(WebCore::JSTestEventConstructorConstructor::finishCreation):
(WebCore::JSTestEventConstructorConstructor::getOwnPropertySlot):
(WebCore::JSTestEventConstructorConstructor::getOwnPropertyDescriptor):
* bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::JSTestInterfaceConstructor::constructJSTestInterface):
(WebCore):
* bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
(WebCore):
(WebCore::JSTestNamedConstructorNamedConstructor::JSTestNamedConstructorNamedConstructor):
(WebCore::JSTestNamedConstructorNamedConstructor::finishCreation):
* bindings/scripts/test/JS/JSTestNode.cpp:
(WebCore::JSTestNodeConstructor::constructJSTestNode):
(WebCore):
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::JSTestObjConstructor::constructJSTestObj):
(WebCore):
* bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
(WebCore::JSTestOverloadedConstructorsConstructor::constructJSTestOverloadedConstructors):
(WebCore):
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
(WebCore::JSTestSerializedScriptValueInterfaceConstructor::constructJSTestSerializedScriptValueInterface):
(WebCore):

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

8 years ago[EFL][WK2] Gardening of TestWebKitAPI tests
thiago.santos@intel.com [Tue, 18 Dec 2012 11:58:46 +0000 (11:58 +0000)]
[EFL][WK2] Gardening of TestWebKitAPI tests
https://bugs.webkit.org/show_bug.cgi?id=105268

Reviewed by Kenneth Rohde Christiansen.

Some tests were marked as failing but are passing and the newly added
LayoutUnit should have it's own binary because it conflicts with the
fixture used by KURL and is failing on the bots because of that.

* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/PlatformEfl.cmake:

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

8 years ago[BlackBerry] Add support for setMuted() for media
commit-queue@webkit.org [Tue, 18 Dec 2012 11:57:23 +0000 (11:57 +0000)]
[BlackBerry] Add support for setMuted() for media
https://bugs.webkit.org/show_bug.cgi?id=105254

Patch by Max Feil <mfeil@rim.com> on 2012-12-18
Reviewed by George Staikos.

Simply pass the API call through to the platform layer.

Covered by existing tests.

* platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
(WebCore::MediaPlayerPrivate::setMuted):
(WebCore):
(WebCore::MediaPlayerPrivate::muted):
* platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h:
(MediaPlayerPrivate):
(WebCore::MediaPlayerPrivate::supportsMuting):

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

8 years agoWeb Inspector: show cached images under MemoryCache -> Images section
yurys@chromium.org [Tue, 18 Dec 2012 11:46:05 +0000 (11:46 +0000)]
Web Inspector: show cached images under MemoryCache -> Images section
https://bugs.webkit.org/show_bug.cgi?id=105261

Reviewed by Pavel Feldman.

Source/WebCore:

Provided class name and name for several objects related to CachedImage.
Changed native memory snapsho view so that MemoryCache.Image section can
be expanded into individual images.

* inspector/front-end/NativeMemorySnapshotView.js:
(WebInspector.NativeMemorySnapshotView):
(WebInspector.NativeSnapshotNode.prototype._addChildrenFromGraph):
(WebInspector.NativeHeapGraphEdge):
(WebInspector.NativeHeapGraphEdge.prototype.type):
(WebInspector.NativeHeapGraphEdge.prototype.name):
(WebInspector.NativeHeapGraphEdge.prototype.target):
(WebInspector.NativeHeapGraphEdge.prototype._getStringField):
(WebInspector.NativeHeapGraphEdge.prototype.toString):
(WebInspector.NativeHeapGraphNode.prototype.size):
(WebInspector.NativeHeapGraphNode.prototype.referencedNodes):
(WebInspector.NativeHeapGraphNode.prototype.outgoingEdges):
(WebInspector.NativeHeapGraphNode.prototype.targetOfEdge):
(WebInspector.NativeHeapGraphNode.prototype.targetsOfAllEdges):
(WebInspector.NativeHeapGraphNode.prototype._firstEdgePoistion):
(WebInspector.NativeHeapGraphNode.prototype._afterLastEdgePosition):
(WebInspector.NativeHeapGraphNode.prototype._getStringField):
(WebInspector.NativeHeapGraphNode.prototype.toString):
(WebInspector.NativeHeapGraph):
(WebInspector.NativeHeapGraph.prototype.rootNodes):
(WebInspector.NativeHeapGraph.prototype._calculateNodeEdgeIndexes):
(WebInspector.NativeHeapGraph.prototype._addDummyNode):
(WebInspector.NativeMemoryProfileType.prototype.buttonClicked.didReceiveMemorySnapshot):
(WebInspector.NativeMemoryProfileType.prototype.buttonClicked):
* loader/cache/CachedImage.cpp:
(WebCore::CachedImage::reportMemoryUsage):
* loader/cache/CachedResource.cpp:
(WebCore::CachedResource::reportMemoryUsage):
* loader/cache/MemoryCache.cpp:
(WebCore::MemoryCache::reportMemoryUsage):
* platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::reportMemoryUsage):
(WebCore::FrameData::reportMemoryUsage):
* platform/graphics/Image.cpp:
(WebCore::Image::reportMemoryUsage):
* platform/graphics/skia/MemoryInstrumentationSkia.cpp:
(reportMemoryUsage):

Source/WTF:

Use first provided name and class name. If one of the ancestors tries to overwrite
it just ignore the call.

* wtf/MemoryObjectInfo.h:
(WTF::MemoryObjectInfo::setClassName):
(WTF::MemoryObjectInfo::setName):

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

8 years agoWeb Inspector: Calculate "idle" time for CPU profiles.
caseq@chromium.org [Tue, 18 Dec 2012 11:43:35 +0000 (11:43 +0000)]
Web Inspector: Calculate "idle" time for CPU profiles.
https://bugs.webkit.org/show_bug.cgi?id=103120

Patch by Eugene Klyuchnikov <eustas@chromium.org> on 2012-12-18
Reviewed by Pavel Feldman.

CPU profiles contain a very confusing "(program)" item.
It is time when there is no JS stack.
That could be either idle time, or time when browser is doing something.

To split "(program)" item to idle and really program time we are to
calculate idle time during profiling.

* bindings/js/ScriptProfile.cpp: Added "idleTime" getter.
* bindings/js/ScriptProfile.h: Ditto.
* bindings/js/ScriptProfiler.h:
Added getter of thread-local map of currently written profiles.
* bindings/v8/ScriptProfile.cpp: Added "idleTime" getter.
* bindings/v8/ScriptProfile.h: Ditto.
* bindings/v8/ScriptProfiler.cpp:
(WebCore::ScriptProfiler::start): Put profile name to map.
(WebCore::ScriptProfiler::stop): Remove profile name from map;
pass idleTime to profile constructor.
* bindings/v8/ScriptProfiler.h:
Added getter of thread-local map of currently written profiles.
* inspector/Inspector.json: Added "idleTime" field to profile.
* inspector/InspectorController.cpp: Pass hooks to profiler agent.
* inspector/InspectorProfilerAgent.cpp:
Add idle time to currently written profiles.
* inspector/InspectorProfilerAgent.h:
Added member to hold reference to map of currently written profiles.
* inspector/InspectorTimelineAgent.h:
Cleanup.
* inspector/ScriptProfile.idl:
Add "idleTime" member.

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