IndexedDB: ASSERT hit calling open from callback in Worker
https://bugs.webkit.org/show_bug.cgi?id=90832

Reviewed by Kentaro Hara.

Source/WebCore:

GroupSettings are used to provide the backing store path in some
ports. Accessing those settings from a Worker was added, but the
access referenced thread startup data that is cleared before the
run loop, so an IDBFactory.open() call executed asynchronously
would dereference a null pointer. Plumb the settings startup
data into the context itself, like all of the other properties.

Test: storage/indexeddb/open-twice-workers.html

* Modules/indexeddb/IDBFactory.cpp:
(WebCore::IDBFactory::open):
* workers/DedicatedWorkerContext.cpp:
(WebCore::DedicatedWorkerContext::DedicatedWorkerContext):
* workers/DedicatedWorkerContext.h:
(WebCore::DedicatedWorkerContext::create):
(DedicatedWorkerContext):
* workers/DedicatedWorkerThread.cpp:
(WebCore::DedicatedWorkerThread::createWorkerContext):
* workers/DedicatedWorkerThread.h:
(DedicatedWorkerThread):
* workers/SharedWorkerContext.cpp:
(WebCore::SharedWorkerContext::SharedWorkerContext):
* workers/SharedWorkerContext.h:
(WebCore::SharedWorkerContext::create):
(SharedWorkerContext):
* workers/SharedWorkerThread.cpp:
(WebCore::SharedWorkerThread::createWorkerContext):
* workers/SharedWorkerThread.h:
(SharedWorkerThread):
* workers/WorkerContext.cpp:
(WebCore::WorkerContext::WorkerContext):
* workers/WorkerContext.h:
(WebCore::WorkerContext::groupSettings):
(WorkerContext):
* workers/WorkerThread.cpp:
(WebCore::WorkerThread::workerThread):
* workers/WorkerThread.h:
(WorkerThread):

LayoutTests:

Call IDBFactory.open() twice from a worker - once from the initial worker
script evaluation, and once in a callback after the worker thread data
has been purged.

* storage/indexeddb/open-twice-workers-expected.txt: Added.
* storage/indexeddb/open-twice-workers.html: Added.
* storage/indexeddb/resources/open-twice.js: Added.
(test):
(openAnother):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122463 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Parse the viewport meta tag like iOS
https://bugs.webkit.org/show_bug.cgi?id=72722

Reviewed by Alexey Proskuryakov.

Our parsing appears to match iOS already.  This patch simply adds tests
that show that we agree on these cases.

* fast/viewport/viewport-133-expected.txt: Added.
* fast/viewport/viewport-133.html: Added.
* fast/viewport/viewport-134-expected.txt: Added.
* fast/viewport/viewport-134.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122464 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: beautify find bar looks, simplify search update routines.
https://bugs.webkit.org/show_bug.cgi?id=91087

Reviewed by Vsevolod Vlasov.

This change updates the looks to the one on the screenshots and simplifies match count update routines.

* inspector/front-end/SearchController.js:
(WebInspector.SearchController.onMatchesMouseDown):
(WebInspector.SearchController):
(WebInspector.SearchController.prototype.activePanelChanged.performPanelSearch):
(WebInspector.SearchController.prototype.activePanelChanged):
(WebInspector.SearchController.prototype._updateSearchNavigationButtonState):
(WebInspector.SearchController.prototype._updateSearchMatchesCountAndCurrentMatchIndex):
(WebInspector.SearchController.prototype._onKeyDown):
(WebInspector.SearchController.prototype._onInput):
(WebInspector.SearchController.prototype._onNextButtonSearch):
(WebInspector.SearchController.prototype._onPrevButtonSearch):
(WebInspector.SearchController.prototype._performSearch):
* inspector/front-end/inspector.css:
(#search):
(#search:focus):
(.toolbar-search-navigation-controls):
(.toolbar-search-navigation):
(.toolbar-search-navigation.enabled:hover):
(.toolbar-search-navigation.enabled, .toolbar-search-navigation.enabled:active):
(.toolbar-search):
(.toolbar-search-control):
(.search-results-matches):
(.inspector-footer):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122465 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: fix native memory instrumentation code for the bindings instrumentation.
https://bugs.webkit.org/show_bug.cgi?id=91096

The instrumented class has to have instrumentation method which reports class size and type and
the member objects and pointers.

Sample:
void Node::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
    memoryObjectInfo->reportObjectInfo(this, MemoryInstrumentation::DOM); // report object size and type.
    TreeShared<Node, ContainerNode>::reportMemoryUsage(memoryObjectInfo); // call base class instrumentation.
    ScriptWrappable::reportMemoryUsage(memoryObjectInfo); // call base class instrumentation.
    memoryObjectInfo->reportPointer(m_document, MemoryInstrumentation::DOM); // report uninstrumented pointer.
    memoryObjectInfo->reportInstrumentedPointer(m_next); // report instrumented pointer.
    memoryObjectInfo->reportInstrumentedObject(m_anObject); // report instrumented object.
}

Reviewed by Pavel Feldman.

Existing tests for native memory instrumentation.

* bindings/v8/DOMDataStore.cpp:
(WebCore::DOMDataStore::reportMemoryUsage):
* bindings/v8/DOMDataStore.h:
(WebCore):
(DOMDataStore):
* bindings/v8/IntrusiveDOMWrapperMap.h:
(WebCore::ChunkedTable::reportMemoryUsage):
* bindings/v8/ScriptProfiler.cpp:
(WebCore::ScriptProfiler::collectBindingMemoryInfo):
* bindings/v8/V8Binding.cpp:
(WebCore::V8BindingPerIsolateData::reportMemoryUsage):
(WebCore::StringCache::reportMemoryUsage):
* bindings/v8/V8Binding.h:
(WebCore):
(StringCache):
(V8BindingPerIsolateData):
* bindings/v8/V8DOMMap.h:
(WebCore):
(AbstractWeakReferenceMap):
* inspector/InspectorMemoryAgent.cpp:
(WebCore):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122466 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] Implement disableImageLoading in DRT
https://bugs.webkit.org/show_bug.cgi?id=87973

Patch by Arnaud Renevier <arno@renevier.net> on 2012-07-12
Reviewed by Martin Robinson.

Tools:

* DumpRenderTree/gtk/DumpRenderTree.cpp:
(resetDefaultsToConsistentValues):
* DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
(LayoutTestController::disableImageLoading):

LayoutTests:

Add TEXT expectation to favicon-loads-with-icon-loading-override.html
which was only working by accident.

* platform/gtk/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122467 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed r122460 inspector closure compilation fix follow up.

* inspector/front-end/RevisionHistoryView.js:
(WebInspector.RevisionHistoryView):

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