[WK2] [WTR] WebKitTestRunner needs TestRunner.workerThreadCount
https://bugs.webkit.org/show_bug.cgi?id=96388

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-09-12
Reviewed by Kenneth Rohde Christiansen.

Source/WebKit2:

Added WKBundleGetWorkerThreadCount() function to Injected Bundle private API.

* WebProcess/InjectedBundle/API/c/WKBundle.cpp:
(WKBundleGetWorkerThreadCount):
* WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::workerThreadCount): Returns count of worker threads.
(WebKit):
* WebProcess/InjectedBundle/InjectedBundle.h:
(InjectedBundle):

Tools:

Exported TestRunner.workerThreadCount as readonly attribute.

* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp: Added workerThreadCount() method implementation.
(WTR::TestRunner::workerThreadCount): Returns count of worker threads.
(WTR):
* WebKitTestRunner/InjectedBundle/TestRunner.h: Added workerThreadCount() method.
(TestRunner):

LayoutTests:

Unskipped corresponding tests.

* platform/wk2/Skipped:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@128278 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: NMI move String* instrumentation to wtf.
https://bugs.webkit.org/show_bug.cgi?id=96405

Reviewed by Yury Semikhatsky.

This instrumentation is solving the problem with substrings and removes traits based code which is hard to upstream.

Source/WebCore:

* dom/WebCoreMemoryInstrumentation.cpp:
(WebCore):
* dom/WebCoreMemoryInstrumentation.h:
(WebCore):

* dom/WebCoreMemoryInstrumentation.cpp:
(WebCore):
* dom/WebCoreMemoryInstrumentation.h:
(WebCore):
* inspector/MemoryInstrumentationImpl.cpp:
(WebCore::MemoryInstrumentationImpl::countObjectSize):
* platform/SharedBuffer.cpp:
(WebCore::SharedBuffer::reportMemoryUsage):

Source/WebKit/chromium:

Tested by webkit_unit_tests.

* tests/MemoryInstrumentationTest.cpp:
(WebCore::InstrumentedUndefined::reportMemoryUsage):
(WebCore::TEST):

Source/WTF:

Tested by webkit_unit_tests.

* wtf/MemoryInstrumentation.h:
(WebCore):
(WebCore::MemoryInstrumentation::addRootObject):
(WebCore::MemoryObjectInfo::reportObjectInfo):
(WebCore::MemoryClassInfo::MemoryClassInfo):
* wtf/text/AtomicString.h:
(AtomicString):
(WTF::AtomicString::reportMemoryUsage):
* wtf/text/StringImpl.h:
(StringImpl):
(WTF::StringImpl::reportMemoryUsage):
* wtf/text/WTFString.h:
(String):
(WTF::String::reportMemoryUsage):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@128279 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[WK2][WKTR] TestRunner needs to implement dumpApplicationCacheDelegateCallbacks
https://bugs.webkit.org/show_bug.cgi?id=96374

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-09-12
Reviewed by Kenneth Rohde Christiansen.

Source/WebKit2:

Add Bundle C API to reset the application cache quota
for a given origin.

Add new reachedApplicationCacheOriginQuota callback
to WKBundlePageUIClient which is called from
WebChromeClient::reachedApplicationCacheOriginQuota().

Those are needed by WebKitTestRunner to dump
information about the application cache callbacks
if instructed to.

* Shared/APIClientTraits.cpp:
(WebKit):
* Shared/APIClientTraits.h:
* WebProcess/InjectedBundle/API/c/WKBundle.cpp:
(WKBundleSetApplicationCacheOriginQuota):
(WKBundleResetApplicationCacheOriginQuota):
* WebProcess/InjectedBundle/API/c/WKBundlePage.h:
* WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::resetApplicationCacheOriginQuota):
(WebKit):
* WebProcess/InjectedBundle/InjectedBundle.h:
(InjectedBundle):
* WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
(WebKit::InjectedBundlePageUIClient::didReachApplicationCacheOriginQuota):
(WebKit):
* WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
(WebKit):
(InjectedBundlePageUIClient):
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::reachedApplicationCacheOriginQuota):

Tools:

Implement support for dumpApplicationCacheDelegateCallbacks
and disallowIncreaseForApplicationCacheQuota in
WebKitTestRunner and properly dump the information
expected by the tests.

If the application cache quota is reached for a given
security origin, WebKitTestRunner will reset the quota
to its default value, unless intructed not to via
disallowIncreaseForApplicationCacheQuota().

* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::InjectedBundlePage::InjectedBundlePage):
(WTR::InjectedBundlePage::didReachApplicationCacheOriginQuota):
(WTR):
* WebKitTestRunner/InjectedBundle/InjectedBundlePage.h:
(InjectedBundlePage):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::TestRunner):
(WTR::TestRunner::disallowIncreaseForApplicationCacheQuota):
(WTR):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
(WTR::TestRunner::dumpApplicationCacheDelegateCallbacks):
(TestRunner):
(WTR::TestRunner::shouldDisallowIncreaseForApplicationCacheQuota):
(WTR::TestRunner::shouldDumpApplicationCacheDelegateCallbacks):

LayoutTests:

Unskip test cases that are passing now that WebKitTestRunner
implements dumpApplicationCacheDelegateCallbacks and
disallowIncreaseForApplicationCacheQuota.

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

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@128280 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: Implement search and filtering on Timeline panel
https://bugs.webkit.org/show_bug.cgi?id=95445

Patch by Eugene Klyuchnikov <eustas.bug@gmail.com> on 2012-09-12
Reviewed by Yury Semikhatsky.

Implemented textual search/filtering on Timeline panel.
Fixed "revealRecordAt" - now it scans all records in window,
now only visible ones.

* inspector/front-end/TimelineOverviewPane.js:
(WebInspector.TimelineWindowFilter):
Extracted from TimelineOverviewPane class.
* inspector/front-end/TimelinePanel.js:
(WebInspector.TimelinePanel):
(WebInspector.TimelinePanel.prototype.revealRecordAt):
Used DFS to scan records.
(WebInspector.TimelinePanel.prototype._revealRecord):
Extracted common code.
(WebInspector.TimelineSearchFilter):
Implemented search and filtration.

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