| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/common/extensions/api/extension_api.h" | 5 #include "chrome/common/extensions/api/extension_api.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <string> | 8 #include <string> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 154 const DictionaryValue* schema = NULL; | 154 const DictionaryValue* schema = NULL; |
| 155 { | 155 { |
| 156 Value* value = NULL; | 156 Value* value = NULL; |
| 157 schema_list->Remove(schema_list->GetSize() - 1, &value); | 157 schema_list->Remove(schema_list->GetSize() - 1, &value); |
| 158 CHECK(value->IsType(Value::TYPE_DICTIONARY)); | 158 CHECK(value->IsType(Value::TYPE_DICTIONARY)); |
| 159 schema = static_cast<const DictionaryValue*>(value); | 159 schema = static_cast<const DictionaryValue*>(value); |
| 160 } | 160 } |
| 161 | 161 |
| 162 CHECK(schema->GetString("namespace", &schema_namespace)); | 162 CHECK(schema->GetString("namespace", &schema_namespace)); |
| 163 schemas_[schema_namespace] = make_linked_ptr(schema); | 163 schemas_[schema_namespace] = make_linked_ptr(schema); |
| 164 unloaded_schemas_.erase(schema_namespace); | 164 CHECK_EQ(1u, unloaded_schemas_.erase(schema_namespace)); |
| 165 | 165 |
| 166 // Populate |{completely,partially}_unprivileged_apis_|. | 166 // Populate |{completely,partially}_unprivileged_apis_|. |
| 167 // | 167 // |
| 168 // For "partially", only need to look at functions/events; even though | 168 // For "partially", only need to look at functions/events; even though |
| 169 // there are unprivileged properties (e.g. in extensions), access to those | 169 // there are unprivileged properties (e.g. in extensions), access to those |
| 170 // never reaches C++ land. | 170 // never reaches C++ land. |
| 171 if (schema->HasKey("unprivileged")) { | 171 if (schema->HasKey("unprivileged")) { |
| 172 completely_unprivileged_apis_.insert(schema_namespace); | 172 completely_unprivileged_apis_.insert(schema_namespace); |
| 173 } else if (HasUnprivilegedChild(schema, "functions") || | 173 } else if (HasUnprivilegedChild(schema, "functions") || |
| 174 HasUnprivilegedChild(schema, "events")) { | 174 HasUnprivilegedChild(schema, "events")) { |
| (...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 288 RegisterSchema("experimental.identity", ReadFromResource( | 288 RegisterSchema("experimental.identity", ReadFromResource( |
| 289 IDR_EXTENSION_API_JSON_EXPERIMENTAL_IDENTITY)); | 289 IDR_EXTENSION_API_JSON_EXPERIMENTAL_IDENTITY)); |
| 290 RegisterSchema("experimental.infobars", ReadFromResource( | 290 RegisterSchema("experimental.infobars", ReadFromResource( |
| 291 IDR_EXTENSION_API_JSON_EXPERIMENTAL_INFOBARS)); | 291 IDR_EXTENSION_API_JSON_EXPERIMENTAL_INFOBARS)); |
| 292 RegisterSchema("experimental.input.ui", ReadFromResource( | 292 RegisterSchema("experimental.input.ui", ReadFromResource( |
| 293 IDR_EXTENSION_API_JSON_EXPERIMENTAL_INPUT_UI)); | 293 IDR_EXTENSION_API_JSON_EXPERIMENTAL_INPUT_UI)); |
| 294 RegisterSchema("experimental.input.virtualKeyboard", ReadFromResource( | 294 RegisterSchema("experimental.input.virtualKeyboard", ReadFromResource( |
| 295 IDR_EXTENSION_API_JSON_EXPERIMENTAL_INPUT_VIRTUALKEYBOARD)); | 295 IDR_EXTENSION_API_JSON_EXPERIMENTAL_INPUT_VIRTUALKEYBOARD)); |
| 296 RegisterSchema("experimental.keybinding", ReadFromResource( | 296 RegisterSchema("experimental.keybinding", ReadFromResource( |
| 297 IDR_EXTENSION_API_JSON_EXPERIMENTAL_KEYBINDING)); | 297 IDR_EXTENSION_API_JSON_EXPERIMENTAL_KEYBINDING)); |
| 298 RegisterSchema("experimental.managedMode", ReadFromResource( | |
| 299 IDR_EXTENSION_API_JSON_EXPERIMENTAL_MANAGEDMODE)); | |
| 300 RegisterSchema("experimental.offscreenTabs", ReadFromResource( | 298 RegisterSchema("experimental.offscreenTabs", ReadFromResource( |
| 301 IDR_EXTENSION_API_JSON_EXPERIMENTAL_OFFSCREENTABS)); | 299 IDR_EXTENSION_API_JSON_EXPERIMENTAL_OFFSCREENTABS)); |
| 302 RegisterSchema("experimental.processes", ReadFromResource( | 300 RegisterSchema("experimental.processes", ReadFromResource( |
| 303 IDR_EXTENSION_API_JSON_EXPERIMENTAL_PROCESSES)); | 301 IDR_EXTENSION_API_JSON_EXPERIMENTAL_PROCESSES)); |
| 304 RegisterSchema("experimental.rlz", ReadFromResource( | 302 RegisterSchema("experimental.rlz", ReadFromResource( |
| 305 IDR_EXTENSION_API_JSON_EXPERIMENTAL_RLZ)); | 303 IDR_EXTENSION_API_JSON_EXPERIMENTAL_RLZ)); |
| 306 RegisterSchema("experimental.runtime", ReadFromResource( | 304 RegisterSchema("experimental.runtime", ReadFromResource( |
| 307 IDR_EXTENSION_API_JSON_EXPERIMENTAL_RUNTIME)); | 305 IDR_EXTENSION_API_JSON_EXPERIMENTAL_RUNTIME)); |
| 308 RegisterSchema("experimental.speechInput", ReadFromResource( | 306 RegisterSchema("experimental.speechInput", ReadFromResource( |
| 309 IDR_EXTENSION_API_JSON_EXPERIMENTAL_SPEECHINPUT)); | 307 IDR_EXTENSION_API_JSON_EXPERIMENTAL_SPEECHINPUT)); |
| 310 RegisterSchema("experimental.webRequest", ReadFromResource( | 308 RegisterSchema("experimental.webRequest", ReadFromResource( |
| 311 IDR_EXTENSION_API_JSON_EXPERIMENTAL_WEBREQUEST)); | 309 IDR_EXTENSION_API_JSON_EXPERIMENTAL_WEBREQUEST)); |
| 312 RegisterSchema("extension", ReadFromResource( | 310 RegisterSchema("extension", ReadFromResource( |
| 313 IDR_EXTENSION_API_JSON_EXTENSION)); | 311 IDR_EXTENSION_API_JSON_EXTENSION)); |
| 314 RegisterSchema("fileBrowserHandler", ReadFromResource( | 312 RegisterSchema("fileBrowserHandler", ReadFromResource( |
| 315 IDR_EXTENSION_API_JSON_FILEBROWSERHANDLER)); | 313 IDR_EXTENSION_API_JSON_FILEBROWSERHANDLER)); |
| 316 RegisterSchema("fileBrowserPrivate", ReadFromResource( | 314 RegisterSchema("fileBrowserPrivate", ReadFromResource( |
| 317 IDR_EXTENSION_API_JSON_FILEBROWSERPRIVATE)); | 315 IDR_EXTENSION_API_JSON_FILEBROWSERPRIVATE)); |
| 318 RegisterSchema("history", ReadFromResource( | 316 RegisterSchema("history", ReadFromResource( |
| 319 IDR_EXTENSION_API_JSON_HISTORY)); | 317 IDR_EXTENSION_API_JSON_HISTORY)); |
| 320 RegisterSchema("i18n", ReadFromResource( | 318 RegisterSchema("i18n", ReadFromResource( |
| 321 IDR_EXTENSION_API_JSON_I18N)); | 319 IDR_EXTENSION_API_JSON_I18N)); |
| 322 RegisterSchema("idle", ReadFromResource( | 320 RegisterSchema("idle", ReadFromResource( |
| 323 IDR_EXTENSION_API_JSON_IDLE)); | 321 IDR_EXTENSION_API_JSON_IDLE)); |
| 324 RegisterSchema("input.ime", ReadFromResource( | 322 RegisterSchema("input.ime", ReadFromResource( |
| 325 IDR_EXTENSION_API_JSON_INPUT_IME)); | 323 IDR_EXTENSION_API_JSON_INPUT_IME)); |
| 326 RegisterSchema("inputMethodPrivate", ReadFromResource( | 324 RegisterSchema("inputMethodPrivate", ReadFromResource( |
| 327 IDR_EXTENSION_API_JSON_INPUTMETHODPRIVATE)); | 325 IDR_EXTENSION_API_JSON_INPUTMETHODPRIVATE)); |
| 326 RegisterSchema("managedModePrivate", ReadFromResource( |
| 327 IDR_EXTENSION_API_JSON_MANAGEDMODEPRIVATE)); |
| 328 RegisterSchema("management", ReadFromResource( | 328 RegisterSchema("management", ReadFromResource( |
| 329 IDR_EXTENSION_API_JSON_MANAGEMENT)); | 329 IDR_EXTENSION_API_JSON_MANAGEMENT)); |
| 330 RegisterSchema("mediaPlayerPrivate", ReadFromResource( | 330 RegisterSchema("mediaPlayerPrivate", ReadFromResource( |
| 331 IDR_EXTENSION_API_JSON_MEDIAPLAYERPRIVATE)); | 331 IDR_EXTENSION_API_JSON_MEDIAPLAYERPRIVATE)); |
| 332 RegisterSchema("metricsPrivate", ReadFromResource( | 332 RegisterSchema("metricsPrivate", ReadFromResource( |
| 333 IDR_EXTENSION_API_JSON_METRICSPRIVATE)); | 333 IDR_EXTENSION_API_JSON_METRICSPRIVATE)); |
| 334 RegisterSchema("echoPrivate", ReadFromResource( | 334 RegisterSchema("echoPrivate", ReadFromResource( |
| 335 IDR_EXTENSION_API_JSON_ECHOPRIVATE)); | 335 IDR_EXTENSION_API_JSON_ECHOPRIVATE)); |
| 336 RegisterSchema("omnibox", ReadFromResource( | 336 RegisterSchema("omnibox", ReadFromResource( |
| 337 IDR_EXTENSION_API_JSON_OMNIBOX)); | 337 IDR_EXTENSION_API_JSON_OMNIBOX)); |
| (...skipping 376 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 714 } | 714 } |
| 715 } | 715 } |
| 716 | 716 |
| 717 void ExtensionAPI::LoadAllSchemas() { | 717 void ExtensionAPI::LoadAllSchemas() { |
| 718 while (unloaded_schemas_.size()) { | 718 while (unloaded_schemas_.size()) { |
| 719 LoadSchema(unloaded_schemas_.begin()->second); | 719 LoadSchema(unloaded_schemas_.begin()->second); |
| 720 } | 720 } |
| 721 } | 721 } |
| 722 | 722 |
| 723 } // namespace extensions | 723 } // namespace extensions |
| OLD | NEW |