Commit 716859c5 authored by tkent@chromium.org's avatar tkent@chromium.org

Oilpan: Prepare to move InspectorDatabaseResource to Oilpan heap.

BUG=347902

Review URL: https://codereview.chromium.org/205853002

git-svn-id: svn://svn.chromium.org/blink/trunk@169623 bbb929c8-8fbe-4397-9dbb-9b2b20218538
parent bb98b40c
......@@ -198,7 +198,7 @@ void InspectorDatabaseAgent::didOpenDatabase(PassRefPtrWillBeRawPtr<Database> da
return;
}
RefPtr<InspectorDatabaseResource> resource = InspectorDatabaseResource::create(database, domain, name, version);
RefPtrWillBeRawPtr<InspectorDatabaseResource> resource = InspectorDatabaseResource::create(database, domain, name, version);
m_resources.set(resource->id(), resource);
// Resources are only bound while visible.
if (m_frontend && m_enabled)
......@@ -245,8 +245,8 @@ void InspectorDatabaseAgent::enable(ErrorString*)
m_enabled = true;
m_state->setBoolean(DatabaseAgentState::databaseAgentEnabled, m_enabled);
DatabaseResourcesMap::iterator databasesEnd = m_resources.end();
for (DatabaseResourcesMap::iterator it = m_resources.begin(); it != databasesEnd; ++it)
DatabaseResourcesHeapMap::iterator databasesEnd = m_resources.end();
for (DatabaseResourcesHeapMap::iterator it = m_resources.begin(); it != databasesEnd; ++it)
it->value->bind(m_frontend);
}
......@@ -304,7 +304,7 @@ void InspectorDatabaseAgent::executeSQL(ErrorString*, const String& databaseId,
InspectorDatabaseResource* InspectorDatabaseAgent::findByFileName(const String& fileName)
{
for (DatabaseResourcesMap::iterator it = m_resources.begin(); it != m_resources.end(); ++it) {
for (DatabaseResourcesHeapMap::iterator it = m_resources.begin(); it != m_resources.end(); ++it) {
if (it->value->database()->fileName() == fileName)
return it->value.get();
}
......@@ -313,7 +313,7 @@ InspectorDatabaseResource* InspectorDatabaseAgent::findByFileName(const String&
Database* InspectorDatabaseAgent::databaseForId(const String& databaseId)
{
DatabaseResourcesMap::iterator it = m_resources.find(databaseId);
DatabaseResourcesHeapMap::iterator it = m_resources.find(databaseId);
if (it == m_resources.end())
return 0;
return it->value->database();
......
......@@ -75,8 +75,8 @@ private:
InspectorDatabaseResource* findByFileName(const String& fileName);
InspectorFrontend::Database* m_frontend;
typedef HashMap<String, RefPtr<InspectorDatabaseResource> > DatabaseResourcesMap;
DatabaseResourcesMap m_resources;
typedef WillBePersistentHeapHashMap<String, RefPtrWillBeMember<InspectorDatabaseResource> > DatabaseResourcesHeapMap;
DatabaseResourcesHeapMap m_resources;
bool m_enabled;
};
......
......@@ -38,9 +38,9 @@ namespace WebCore {
static int nextUnusedId = 1;
PassRefPtr<InspectorDatabaseResource> InspectorDatabaseResource::create(PassRefPtrWillBeRawPtr<Database> database, const String& domain, const String& name, const String& version)
PassRefPtrWillBeRawPtr<InspectorDatabaseResource> InspectorDatabaseResource::create(PassRefPtrWillBeRawPtr<Database> database, const String& domain, const String& name, const String& version)
{
return adoptRef(new InspectorDatabaseResource(database, domain, name, version));
return adoptRefWillBeNoop(new InspectorDatabaseResource(database, domain, name, version));
}
InspectorDatabaseResource::InspectorDatabaseResource(PassRefPtrWillBeRawPtr<Database> database, const String& domain, const String& name, const String& version)
......@@ -52,6 +52,11 @@ InspectorDatabaseResource::InspectorDatabaseResource(PassRefPtrWillBeRawPtr<Data
{
}
void InspectorDatabaseResource::trace(Visitor* visitor)
{
visitor->trace(m_database);
}
void InspectorDatabaseResource::bind(InspectorFrontend::Database* frontend)
{
RefPtr<TypeBuilder::Database::Database> jsonObject = TypeBuilder::Database::Database::create()
......
......@@ -42,9 +42,10 @@ namespace WebCore {
class Database;
class InspectorFrontend;
class InspectorDatabaseResource : public RefCounted<InspectorDatabaseResource> {
class InspectorDatabaseResource : public RefCountedWillBeGarbageCollectedFinalized<InspectorDatabaseResource> {
public:
static PassRefPtr<InspectorDatabaseResource> create(PassRefPtrWillBeRawPtr<Database>, const String& domain, const String& name, const String& version);
static PassRefPtrWillBeRawPtr<InspectorDatabaseResource> create(PassRefPtrWillBeRawPtr<Database>, const String& domain, const String& name, const String& version);
void trace(Visitor*);
void bind(InspectorFrontend::Database*);
Database* database() { return m_database.get(); }
......@@ -54,7 +55,7 @@ public:
private:
InspectorDatabaseResource(PassRefPtrWillBeRawPtr<Database>, const String& domain, const String& name, const String& version);
RefPtrWillBePersistent<Database> m_database;
RefPtrWillBeMember<Database> m_database;
String m_id;
String m_domain;
String m_name;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment