Changeset 113013 in webkit


Ignore:
Timestamp:
Apr 3, 2012 5:07:53 AM (12 years ago)
Author:
yurys@chromium.org
Message:

Web Inspector: Database::Database::id field in the protocol should have type integer not string
https://bugs.webkit.org/show_bug.cgi?id=83003

Reviewed by Pavel Feldman.

Changed DOM storage and database identifier type from int to String. This
is aligned with other domains and gives us more flexibility.

  • bindings/js/JSInjectedScriptHostCustom.cpp:

(WebCore::JSInjectedScriptHost::databaseId):
(WebCore::JSInjectedScriptHost::storageId):

  • bindings/v8/custom/V8InjectedScriptHostCustom.cpp:

(WebCore::V8InjectedScriptHost::databaseIdCallback):
(WebCore::V8InjectedScriptHost::storageIdCallback):

  • inspector/InjectedScriptHost.cpp:

(WebCore::InjectedScriptHost::databaseIdImpl):
(WebCore::InjectedScriptHost::storageIdImpl):

  • inspector/InjectedScriptHost.h:

(InjectedScriptHost):

  • inspector/InjectedScriptHost.idl:
  • inspector/Inspector.json:
  • inspector/InspectorDOMStorageAgent.cpp:

(WebCore::InspectorDOMStorageAgent::getDOMStorageEntries):
(WebCore::InspectorDOMStorageAgent::setDOMStorageItem):
(WebCore::InspectorDOMStorageAgent::removeDOMStorageItem):
(WebCore::InspectorDOMStorageAgent::storageId):
(WebCore::InspectorDOMStorageAgent::getDOMStorageResourceForId):

  • inspector/InspectorDOMStorageAgent.h:

(InspectorDOMStorageAgent):

  • inspector/InspectorDOMStorageResource.cpp:

(WebCore::InspectorDOMStorageResource::InspectorDOMStorageResource):
(WebCore::InspectorDOMStorageResource::bind):

  • inspector/InspectorDOMStorageResource.h:

(WebCore::InspectorDOMStorageResource::id):
(InspectorDOMStorageResource):

  • inspector/InspectorDatabaseAgent.cpp:

(WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
(WebCore::InspectorDatabaseAgent::executeSQL):
(WebCore::InspectorDatabaseAgent::databaseId):
(WebCore::InspectorDatabaseAgent::databaseForId):

  • inspector/InspectorDatabaseAgent.h:

(InspectorDatabaseAgent):

  • inspector/InspectorDatabaseResource.cpp:

(WebCore::InspectorDatabaseResource::InspectorDatabaseResource):
(WebCore::InspectorDatabaseResource::bind):

  • inspector/InspectorDatabaseResource.h:

(WebCore::InspectorDatabaseResource::id):
(InspectorDatabaseResource):

Location:
trunk/Source/WebCore
Files:
15 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r113009 r113013  
     12012-04-03  Yury Semikhatsky  <yurys@chromium.org>
     2
     3        Web Inspector: Database::Database::id field in the protocol should have type integer not string
     4        https://bugs.webkit.org/show_bug.cgi?id=83003
     5
     6        Reviewed by Pavel Feldman.
     7
     8        Changed DOM storage and database identifier type from int to String. This
     9        is aligned with other domains and gives us more flexibility.
     10
     11        * bindings/js/JSInjectedScriptHostCustom.cpp:
     12        (WebCore::JSInjectedScriptHost::databaseId):
     13        (WebCore::JSInjectedScriptHost::storageId):
     14        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
     15        (WebCore::V8InjectedScriptHost::databaseIdCallback):
     16        (WebCore::V8InjectedScriptHost::storageIdCallback):
     17        * inspector/InjectedScriptHost.cpp:
     18        (WebCore::InjectedScriptHost::databaseIdImpl):
     19        (WebCore::InjectedScriptHost::storageIdImpl):
     20        * inspector/InjectedScriptHost.h:
     21        (InjectedScriptHost):
     22        * inspector/InjectedScriptHost.idl:
     23        * inspector/Inspector.json:
     24        * inspector/InspectorDOMStorageAgent.cpp:
     25        (WebCore::InspectorDOMStorageAgent::getDOMStorageEntries):
     26        (WebCore::InspectorDOMStorageAgent::setDOMStorageItem):
     27        (WebCore::InspectorDOMStorageAgent::removeDOMStorageItem):
     28        (WebCore::InspectorDOMStorageAgent::storageId):
     29        (WebCore::InspectorDOMStorageAgent::getDOMStorageResourceForId):
     30        * inspector/InspectorDOMStorageAgent.h:
     31        (InspectorDOMStorageAgent):
     32        * inspector/InspectorDOMStorageResource.cpp:
     33        (WebCore::InspectorDOMStorageResource::InspectorDOMStorageResource):
     34        (WebCore::InspectorDOMStorageResource::bind):
     35        * inspector/InspectorDOMStorageResource.h:
     36        (WebCore::InspectorDOMStorageResource::id):
     37        (InspectorDOMStorageResource):
     38        * inspector/InspectorDatabaseAgent.cpp:
     39        (WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
     40        (WebCore::InspectorDatabaseAgent::executeSQL):
     41        (WebCore::InspectorDatabaseAgent::databaseId):
     42        (WebCore::InspectorDatabaseAgent::databaseForId):
     43        * inspector/InspectorDatabaseAgent.h:
     44        (InspectorDatabaseAgent):
     45        * inspector/InspectorDatabaseResource.cpp:
     46        (WebCore::InspectorDatabaseResource::InspectorDatabaseResource):
     47        (WebCore::InspectorDatabaseResource::bind):
     48        * inspector/InspectorDatabaseResource.h:
     49        (WebCore::InspectorDatabaseResource::id):
     50        (InspectorDatabaseResource):
     51
    1522012-04-03  Nikolas Zimmermann  <nzimmermann@rim.com>
    253
  • trunk/Source/WebCore/bindings/js/JSInjectedScriptHostCustom.cpp

    r111739 r113013  
    257257    Database* database = toDatabase(exec->argument(0));
    258258    if (database)
    259         return jsNumber(impl()->databaseIdImpl(database));
     259        return jsString(exec, impl()->databaseIdImpl(database));
    260260#endif
    261261    return jsUndefined();
     
    268268    Storage* storage = toStorage(exec->argument(0));
    269269    if (storage)
    270         return jsNumber(impl()->storageIdImpl(storage));
     270        return jsString(exec, impl()->storageIdImpl(storage));
    271271    return jsUndefined();
    272272}
  • trunk/Source/WebCore/bindings/v8/custom/V8InjectedScriptHostCustom.cpp

    r112390 r113013  
    269269    Database* database = V8Database::toNative(v8::Handle<v8::Object>::Cast(args[0]));
    270270    if (database)
    271         return v8::Number::New(host->databaseIdImpl(database));
     271        return v8StringOrUndefined(host->databaseIdImpl(database));
    272272#endif
    273273    return v8::Undefined();
     
    282282    Storage* storage = V8Storage::toNative(v8::Handle<v8::Object>::Cast(args[0]));
    283283    if (storage)
    284         return v8::Number::New(host->storageIdImpl(storage));
     284        return v8StringOrUndefined(host->storageIdImpl(storage));
    285285    return v8::Undefined();
    286286}
  • trunk/Source/WebCore/inspector/InjectedScriptHost.cpp

    r111529 r113013  
    147147
    148148#if ENABLE(SQL_DATABASE)
    149 int InjectedScriptHost::databaseIdImpl(Database* database)
     149String InjectedScriptHost::databaseIdImpl(Database* database)
    150150{
    151151    if (m_databaseAgent)
    152152        return m_databaseAgent->databaseId(database);
    153     return 0;
     153    return String();
    154154}
    155155#endif
    156156
    157 int InjectedScriptHost::storageIdImpl(Storage* storage)
     157String InjectedScriptHost::storageIdImpl(Storage* storage)
    158158{
    159159    if (m_domStorageAgent)
    160160        return m_domStorageAgent->storageId(storage);
    161     return 0;
     161    return String();
    162162}
    163163
  • trunk/Source/WebCore/inspector/InjectedScriptHost.h

    r111533 r113013  
    9999    void copyText(const String& text);
    100100#if ENABLE(SQL_DATABASE)
    101     int databaseIdImpl(Database*);
     101    String databaseIdImpl(Database*);
    102102#endif
    103     int storageIdImpl(Storage*);
     103    String storageIdImpl(Storage*);
    104104#if ENABLE(WORKERS)
    105105    long nextWorkerId();
  • trunk/Source/WebCore/inspector/InjectedScriptHost.idl

    r111529 r113013  
    4646        [Custom] Array getEventListeners(in Node node);
    4747
    48         [Custom] int databaseId(in DOMObject database);
    49         [Custom] int storageId(in DOMObject storage);
     48        [Custom] DOMString databaseId(in DOMObject database);
     49        [Custom] DOMString storageId(in DOMObject storage);
    5050
    5151#if defined(ENABLE_WORKERS) && ENABLE_WORKERS
  • trunk/Source/WebCore/inspector/Inspector.json

    r112864 r113013  
    883883        "types": [
    884884            {
     885                "id": "DatabaseId",
     886                "type": "string",
     887                "description": "Unique identifier of Database object.",
     888                "hidden": true
     889            },
     890            {
    885891                "id": "Database",
    886892                "type": "object",
     
    888894                "hidden": true,
    889895                "properties": [
    890                     { "name": "id", "type": "string", "description": "Database ID." },
     896                    { "name": "id", "$ref": "DatabaseId", "description": "Database ID." },
    891897                    { "name": "domain", "type": "string", "description": "Database domain." },
    892898                    { "name": "name", "type": "string", "description": "Database name." },
     
    912918                "name": "getDatabaseTableNames",
    913919                "parameters": [
    914                     { "name": "databaseId", "type": "integer" }
     920                    { "name": "databaseId", "$ref": "DatabaseId" }
    915921                ],
    916922                "returns": [
     
    921927                "name": "executeSQL",
    922928                "parameters": [
    923                     { "name": "databaseId", "type": "integer" },
     929                    { "name": "databaseId", "$ref": "DatabaseId" },
    924930                    { "name": "query", "type": "string" }
    925931                ],
     
    11111117        "types": [
    11121118            {
     1119                "id": "StorageId",
     1120                "type": "string",
     1121                "description": "Unique identifier of DOM storage entry.",
     1122                "hidden": true
     1123            },
     1124            {
    11131125                "id": "Entry",
    11141126                "type": "object",
     
    11181130                    { "name": "host", "type": "string", "description": "Domain name." },
    11191131                    { "name": "isLocalStorage", "type": "boolean", "description": "True for local storage." },
    1120                     { "name": "id", "type": "number", "description": "Entry id for further reference." }
     1132                    { "name": "id", "$ref": "StorageId", "description": "Entry id for further reference." }
    11211133                ]
    11221134            }
     
    11341146                "name": "getDOMStorageEntries",
    11351147                "parameters": [
    1136                     { "name": "storageId", "type": "integer" }
     1148                    { "name": "storageId", "$ref": "StorageId" }
    11371149                ],
    11381150                "returns": [
     
    11431155                "name": "setDOMStorageItem",
    11441156                "parameters": [
    1145                     { "name": "storageId", "type": "integer" },
     1157                    { "name": "storageId", "$ref": "StorageId" },
    11461158                    { "name": "key", "type": "string" },
    11471159                    { "name": "value", "type": "string" }
     
    11541166                "name": "removeDOMStorageItem",
    11551167                "parameters": [
    1156                     { "name": "storageId", "type": "integer" },
     1168                    { "name": "storageId", "$ref": "StorageId" },
    11571169                    { "name": "key", "type": "string" }
    11581170                ],
     
    11721184                "name": "updateDOMStorage",
    11731185                "parameters": [
    1174                     { "name": "storageId", "type": "integer" }
     1186                    { "name": "storageId",  "$ref": "StorageId" }
    11751187                ]
    11761188            }
  • trunk/Source/WebCore/inspector/InspectorDOMStorageAgent.cpp

    r110854 r113013  
    109109}
    110110
    111 void InspectorDOMStorageAgent::getDOMStorageEntries(ErrorString*, int storageId, RefPtr<InspectorArray>& entries)
     111void InspectorDOMStorageAgent::getDOMStorageEntries(ErrorString*, const String& storageId, RefPtr<InspectorArray>& entries)
    112112{
    113113    InspectorDOMStorageResource* storageResource = getDOMStorageResourceForId(storageId);
     
    130130}
    131131
    132 void InspectorDOMStorageAgent::setDOMStorageItem(ErrorString*, int storageId, const String& key, const String& value, bool* success)
     132void InspectorDOMStorageAgent::setDOMStorageItem(ErrorString*, const String& storageId, const String& key, const String& value, bool* success)
    133133{
    134134    InspectorDOMStorageResource* storageResource = getDOMStorageResourceForId(storageId);
     
    140140}
    141141
    142 void InspectorDOMStorageAgent::removeDOMStorageItem(ErrorString*, int storageId, const String& key, bool* success)
     142void InspectorDOMStorageAgent::removeDOMStorageItem(ErrorString*, const String& storageId, const String& key, bool* success)
    143143{
    144144    InspectorDOMStorageResource* storageResource = getDOMStorageResourceForId(storageId);
     
    149149}
    150150
    151 int InspectorDOMStorageAgent::storageId(Storage* storage)
     151String InspectorDOMStorageAgent::storageId(Storage* storage)
    152152{
    153153    ASSERT(storage);
     
    160160            return it->first;
    161161    }
    162     return 0;
     162    return String();
    163163}
    164164
    165 InspectorDOMStorageResource* InspectorDOMStorageAgent::getDOMStorageResourceForId(int storageId)
     165InspectorDOMStorageResource* InspectorDOMStorageAgent::getDOMStorageResourceForId(const String& storageId)
    166166{
    167167    DOMStorageResourcesMap::iterator it = m_resources.find(storageId);
  • trunk/Source/WebCore/inspector/InspectorDOMStorageAgent.h

    r106777 r113013  
    6565    virtual void enable(ErrorString*);
    6666    virtual void disable(ErrorString*);
    67     virtual void getDOMStorageEntries(ErrorString*, int storageId, RefPtr<InspectorArray>& entries);
    68     virtual void setDOMStorageItem(ErrorString*, int storageId, const String& key, const String& value, bool* success);
    69     virtual void removeDOMStorageItem(ErrorString*, int storageId, const String& key, bool* success);
     67    virtual void getDOMStorageEntries(ErrorString*, const String& storageId, RefPtr<InspectorArray>& entries);
     68    virtual void setDOMStorageItem(ErrorString*, const String& storageId, const String& key, const String& value, bool* success);
     69    virtual void removeDOMStorageItem(ErrorString*, const String& storageId, const String& key, bool* success);
    7070
    7171    // Called from the injected script.
    72     int storageId(Storage*);
     72    String storageId(Storage*);
    7373
    7474    // Called from InspectorInstrumentation
     
    7878    InspectorDOMStorageAgent(InstrumentingAgents*, InspectorState*);
    7979
    80     InspectorDOMStorageResource* getDOMStorageResourceForId(int storageId);
     80    InspectorDOMStorageResource* getDOMStorageResourceForId(const String& storageId);
    8181
    82     typedef HashMap<int, RefPtr<InspectorDOMStorageResource> > DOMStorageResourcesMap;
     82    typedef HashMap<String, RefPtr<InspectorDOMStorageResource> > DOMStorageResourcesMap;
    8383    DOMStorageResourcesMap m_resources;
    8484    InspectorFrontend* m_frontend;
  • trunk/Source/WebCore/inspector/InspectorDOMStorageResource.cpp

    r110500 r113013  
    5858    , m_frame(frame)
    5959    , m_frontend(0)
    60     , m_id(s_nextUnusedId++)
     60    , m_id(String::number(s_nextUnusedId++))
    6161    , m_reportingChangesToFrontend(false)
    6262{
     
    7676    jsonObject->setString("host", m_frame->document()->securityOrigin()->host());
    7777    jsonObject->setBoolean("isLocalStorage", m_isLocalStorage);
    78     jsonObject->setNumber("id", m_id);
     78    jsonObject->setString("id", m_id);
    7979    m_frontend->addDOMStorage(jsonObject);
    8080}
  • trunk/Source/WebCore/inspector/InspectorDOMStorageResource.h

    r110500 r113013  
    6565
    6666        bool isSameHostAndType(Frame*, bool isLocalStorage) const;
    67         int id() const { return m_id; }
     67        String id() const { return m_id; }
    6868        StorageArea* storageArea() const { return m_storageArea.get(); }
    6969        Frame* frame() const { return m_frame.get(); }
     
    7777        RefPtr<Frame> m_frame;
    7878        InspectorFrontend::DOMStorage* m_frontend;
    79         int m_id;
     79        String m_id;
    8080        bool m_reportingChangesToFrontend;
    8181
  • trunk/Source/WebCore/inspector/InspectorDatabaseAgent.cpp

    r110854 r113013  
    292292}
    293293
    294 void InspectorDatabaseAgent::getDatabaseTableNames(ErrorString* error, int databaseId, RefPtr<InspectorArray>& names)
     294void InspectorDatabaseAgent::getDatabaseTableNames(ErrorString* error, const String& databaseId, RefPtr<InspectorArray>& names)
    295295{
    296296    if (!m_enabled) {
     
    308308}
    309309
    310 void InspectorDatabaseAgent::executeSQL(ErrorString* error, int databaseId, const String& query, bool* success, int* transactionId)
     310void InspectorDatabaseAgent::executeSQL(ErrorString* error, const String& databaseId, const String& query, bool* success, int* transactionId)
    311311{
    312312    if (!m_enabled) {
     
    329329}
    330330
    331 int InspectorDatabaseAgent::databaseId(Database* database)
     331String InspectorDatabaseAgent::databaseId(Database* database)
    332332{
    333333    for (DatabaseResourcesMap::iterator it = m_resources.begin(); it != m_resources.end(); ++it) {
     
    335335            return it->first;
    336336    }
    337     return 0;
     337    return String();
    338338}
    339339
     
    347347}
    348348
    349 Database* InspectorDatabaseAgent::databaseForId(int databaseId)
     349Database* InspectorDatabaseAgent::databaseForId(const String& databaseId)
    350350{
    351351    DatabaseResourcesMap::iterator it = m_resources.find(databaseId);
  • trunk/Source/WebCore/inspector/InspectorDatabaseAgent.h

    r106780 r113013  
    6767    virtual void enable(ErrorString*);
    6868    virtual void disable(ErrorString*);
    69     virtual void getDatabaseTableNames(ErrorString*, int databaseId, RefPtr<InspectorArray>& names);
    70     virtual void executeSQL(ErrorString*, int databaseId, const String& query, bool* success, int* transactionId);
     69    virtual void getDatabaseTableNames(ErrorString*, const String& databaseId, RefPtr<InspectorArray>& names);
     70    virtual void executeSQL(ErrorString*, const String& databaseId, const String& query, bool* success, int* transactionId);
    7171
    7272    // Called from the injected script.
    73     int databaseId(Database*);
     73    String databaseId(Database*);
    7474
    7575    void didOpenDatabase(PassRefPtr<Database>, const String& domain, const String& name, const String& version);
     
    7777    explicit InspectorDatabaseAgent(InstrumentingAgents*, InspectorState*);
    7878
    79     Database* databaseForId(int databaseId);
     79    Database* databaseForId(const String& databaseId);
    8080    InspectorDatabaseResource* findByFileName(const String& fileName);
    8181
    82     typedef HashMap<int, RefPtr<InspectorDatabaseResource> > DatabaseResourcesMap;
     82    typedef HashMap<String, RefPtr<InspectorDatabaseResource> > DatabaseResourcesMap;
    8383    DatabaseResourcesMap m_resources;
    8484    RefPtr<FrontendProvider> m_frontendProvider;
  • trunk/Source/WebCore/inspector/InspectorDatabaseResource.cpp

    r110854 r113013  
    5050InspectorDatabaseResource::InspectorDatabaseResource(PassRefPtr<Database> database, const String& domain, const String& name, const String& version)
    5151    : m_database(database)
    52     , m_id(nextUnusedId++)
     52    , m_id(String::number(nextUnusedId++))
    5353    , m_domain(domain)
    5454    , m_name(name)
     
    6060{
    6161    RefPtr<InspectorObject> jsonObject = InspectorObject::create();
    62     jsonObject->setNumber("id", m_id);
     62    jsonObject->setString("id", m_id);
    6363    jsonObject->setString("domain", m_domain);
    6464    jsonObject->setString("name", m_name);
  • trunk/Source/WebCore/inspector/InspectorDatabaseResource.h

    r95901 r113013  
    5050    Database* database() { return m_database.get(); }
    5151    void setDatabase(PassRefPtr<Database> database) { m_database = database; }
    52     int id() const { return m_id; }
     52    String id() const { return m_id; }
    5353
    5454private:
     
    5656
    5757    RefPtr<Database> m_database;
    58     int m_id;
     58    String m_id;
    5959    String m_domain;
    6060    String m_name;
Note: See TracChangeset for help on using the changeset viewer.