| 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 326 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 337 void ExtensionAPI::InitDefaultConfiguration() { | 337 void ExtensionAPI::InitDefaultConfiguration() { |
| 338 RegisterDependencyProvider( | 338 RegisterDependencyProvider( |
| 339 "manifest", BaseFeatureProvider::GetManifestFeatures()); | 339 "manifest", BaseFeatureProvider::GetManifestFeatures()); |
| 340 RegisterDependencyProvider( | 340 RegisterDependencyProvider( |
| 341 "permission", BaseFeatureProvider::GetPermissionFeatures()); | 341 "permission", BaseFeatureProvider::GetPermissionFeatures()); |
| 342 | 342 |
| 343 // Schemas to be loaded from resources. | 343 // Schemas to be loaded from resources. |
| 344 CHECK(unloaded_schemas_.empty()); | 344 CHECK(unloaded_schemas_.empty()); |
| 345 RegisterSchema("app", ReadFromResource( | 345 RegisterSchema("app", ReadFromResource( |
| 346 IDR_EXTENSION_API_JSON_APP)); | 346 IDR_EXTENSION_API_JSON_APP)); |
| 347 RegisterSchema("bookmarks", ReadFromResource( | |
| 348 IDR_EXTENSION_API_JSON_BOOKMARKS)); | |
| 349 RegisterSchema("bookmarkManagerPrivate", ReadFromResource( | 347 RegisterSchema("bookmarkManagerPrivate", ReadFromResource( |
| 350 IDR_EXTENSION_API_JSON_BOOKMARKMANAGERPRIVATE)); | 348 IDR_EXTENSION_API_JSON_BOOKMARKMANAGERPRIVATE)); |
| 351 RegisterSchema("browserAction", ReadFromResource( | 349 RegisterSchema("browserAction", ReadFromResource( |
| 352 IDR_EXTENSION_API_JSON_BROWSERACTION)); | 350 IDR_EXTENSION_API_JSON_BROWSERACTION)); |
| 353 RegisterSchema("browsingData", ReadFromResource( | 351 RegisterSchema("browsingData", ReadFromResource( |
| 354 IDR_EXTENSION_API_JSON_BROWSINGDATA)); | 352 IDR_EXTENSION_API_JSON_BROWSINGDATA)); |
| 355 RegisterSchema("chromeosInfoPrivate", ReadFromResource( | 353 RegisterSchema("chromeosInfoPrivate", ReadFromResource( |
| 356 IDR_EXTENSION_API_JSON_CHROMEOSINFOPRIVATE)); | 354 IDR_EXTENSION_API_JSON_CHROMEOSINFOPRIVATE)); |
| 357 RegisterSchema("cloudPrintPrivate", ReadFromResource( | |
| 358 IDR_EXTENSION_API_JSON_CLOUDPRINTPRIVATE)); | |
| 359 RegisterSchema("commands", ReadFromResource( | 355 RegisterSchema("commands", ReadFromResource( |
| 360 IDR_EXTENSION_API_JSON_COMMANDS)); | 356 IDR_EXTENSION_API_JSON_COMMANDS)); |
| 361 RegisterSchema("contentSettings", ReadFromResource( | |
| 362 IDR_EXTENSION_API_JSON_CONTENTSETTINGS)); | |
| 363 RegisterSchema("contextMenus", ReadFromResource( | |
| 364 IDR_EXTENSION_API_JSON_CONTEXTMENUS)); | |
| 365 RegisterSchema("cookies", ReadFromResource( | |
| 366 IDR_EXTENSION_API_JSON_COOKIES)); | |
| 367 RegisterSchema("debugger", ReadFromResource( | |
| 368 IDR_EXTENSION_API_JSON_DEBUGGER)); | |
| 369 RegisterSchema("declarativeWebRequest", ReadFromResource( | 357 RegisterSchema("declarativeWebRequest", ReadFromResource( |
| 370 IDR_EXTENSION_API_JSON_DECLARATIVE_WEBREQUEST)); | 358 IDR_EXTENSION_API_JSON_DECLARATIVE_WEBREQUEST)); |
| 371 RegisterSchema("devtools", ReadFromResource( | 359 RegisterSchema("devtools", ReadFromResource( |
| 372 IDR_EXTENSION_API_JSON_DEVTOOLS)); | 360 IDR_EXTENSION_API_JSON_DEVTOOLS)); |
| 373 RegisterSchema("events", ReadFromResource( | |
| 374 IDR_EXTENSION_API_JSON_EVENTS)); | |
| 375 RegisterSchema("experimental.accessibility", ReadFromResource( | 361 RegisterSchema("experimental.accessibility", ReadFromResource( |
| 376 IDR_EXTENSION_API_JSON_EXPERIMENTAL_ACCESSIBILITY)); | 362 IDR_EXTENSION_API_JSON_EXPERIMENTAL_ACCESSIBILITY)); |
| 377 RegisterSchema("experimental.app", ReadFromResource( | 363 RegisterSchema("experimental.app", ReadFromResource( |
| 378 IDR_EXTENSION_API_JSON_EXPERIMENTAL_APP)); | 364 IDR_EXTENSION_API_JSON_EXPERIMENTAL_APP)); |
| 379 RegisterSchema("experimental.history", ReadFromResource( | |
| 380 IDR_EXTENSION_API_JSON_EXPERIMENTAL_HISTORY)); | |
| 381 RegisterSchema("experimental.infobars", ReadFromResource( | 365 RegisterSchema("experimental.infobars", ReadFromResource( |
| 382 IDR_EXTENSION_API_JSON_EXPERIMENTAL_INFOBARS)); | 366 IDR_EXTENSION_API_JSON_EXPERIMENTAL_INFOBARS)); |
| 383 RegisterSchema("experimental.input.virtualKeyboard", ReadFromResource( | 367 RegisterSchema("experimental.input.virtualKeyboard", ReadFromResource( |
| 384 IDR_EXTENSION_API_JSON_EXPERIMENTAL_INPUT_VIRTUALKEYBOARD)); | 368 IDR_EXTENSION_API_JSON_EXPERIMENTAL_INPUT_VIRTUALKEYBOARD)); |
| 385 RegisterSchema("experimental.power", ReadFromResource( | 369 RegisterSchema("experimental.power", ReadFromResource( |
| 386 IDR_EXTENSION_API_JSON_EXPERIMENTAL_POWER)); | 370 IDR_EXTENSION_API_JSON_EXPERIMENTAL_POWER)); |
| 387 RegisterSchema("experimental.processes", ReadFromResource( | 371 RegisterSchema("experimental.processes", ReadFromResource( |
| 388 IDR_EXTENSION_API_JSON_EXPERIMENTAL_PROCESSES)); | 372 IDR_EXTENSION_API_JSON_EXPERIMENTAL_PROCESSES)); |
| 389 RegisterSchema("experimental.record", ReadFromResource( | |
| 390 IDR_EXTENSION_API_JSON_EXPERIMENTAL_RECORD)); | |
| 391 RegisterSchema("experimental.rlz", ReadFromResource( | 373 RegisterSchema("experimental.rlz", ReadFromResource( |
| 392 IDR_EXTENSION_API_JSON_EXPERIMENTAL_RLZ)); | 374 IDR_EXTENSION_API_JSON_EXPERIMENTAL_RLZ)); |
| 393 RegisterSchema("runtime", ReadFromResource( | 375 RegisterSchema("runtime", ReadFromResource( |
| 394 IDR_EXTENSION_API_JSON_RUNTIME)); | 376 IDR_EXTENSION_API_JSON_RUNTIME)); |
| 395 RegisterSchema("experimental.speechInput", ReadFromResource( | 377 RegisterSchema("experimental.speechInput", ReadFromResource( |
| 396 IDR_EXTENSION_API_JSON_EXPERIMENTAL_SPEECHINPUT)); | 378 IDR_EXTENSION_API_JSON_EXPERIMENTAL_SPEECHINPUT)); |
| 397 RegisterSchema("extension", ReadFromResource( | 379 RegisterSchema("extension", ReadFromResource( |
| 398 IDR_EXTENSION_API_JSON_EXTENSION)); | 380 IDR_EXTENSION_API_JSON_EXTENSION)); |
| 399 RegisterSchema("fileBrowserHandler", ReadFromResource( | 381 RegisterSchema("fileBrowserHandler", ReadFromResource( |
| 400 IDR_EXTENSION_API_JSON_FILEBROWSERHANDLER)); | 382 IDR_EXTENSION_API_JSON_FILEBROWSERHANDLER)); |
| 401 RegisterSchema("fileBrowserHandlerInternal", ReadFromResource( | |
| 402 IDR_EXTENSION_API_JSON_FILEBROWSERHANDLERINTERNAL)); | |
| 403 RegisterSchema("fileBrowserPrivate", ReadFromResource( | 383 RegisterSchema("fileBrowserPrivate", ReadFromResource( |
| 404 IDR_EXTENSION_API_JSON_FILEBROWSERPRIVATE)); | 384 IDR_EXTENSION_API_JSON_FILEBROWSERPRIVATE)); |
| 405 RegisterSchema("fontSettings", ReadFromResource( | |
| 406 IDR_EXTENSION_API_JSON_FONTSSETTINGS)); | |
| 407 RegisterSchema("history", ReadFromResource( | |
| 408 IDR_EXTENSION_API_JSON_HISTORY)); | |
| 409 RegisterSchema("i18n", ReadFromResource( | |
| 410 IDR_EXTENSION_API_JSON_I18N)); | |
| 411 RegisterSchema("idle", ReadFromResource( | 385 RegisterSchema("idle", ReadFromResource( |
| 412 IDR_EXTENSION_API_JSON_IDLE)); | 386 IDR_EXTENSION_API_JSON_IDLE)); |
| 413 RegisterSchema("input.ime", ReadFromResource( | 387 RegisterSchema("input.ime", ReadFromResource( |
| 414 IDR_EXTENSION_API_JSON_INPUT_IME)); | 388 IDR_EXTENSION_API_JSON_INPUT_IME)); |
| 415 RegisterSchema("inputMethodPrivate", ReadFromResource( | 389 RegisterSchema("inputMethodPrivate", ReadFromResource( |
| 416 IDR_EXTENSION_API_JSON_INPUTMETHODPRIVATE)); | 390 IDR_EXTENSION_API_JSON_INPUTMETHODPRIVATE)); |
| 417 RegisterSchema("managedModePrivate", ReadFromResource( | 391 RegisterSchema("managedModePrivate", ReadFromResource( |
| 418 IDR_EXTENSION_API_JSON_MANAGEDMODEPRIVATE)); | 392 IDR_EXTENSION_API_JSON_MANAGEDMODEPRIVATE)); |
| 419 RegisterSchema("management", ReadFromResource( | |
| 420 IDR_EXTENSION_API_JSON_MANAGEMENT)); | |
| 421 RegisterSchema("mediaPlayerPrivate", ReadFromResource( | 393 RegisterSchema("mediaPlayerPrivate", ReadFromResource( |
| 422 IDR_EXTENSION_API_JSON_MEDIAPLAYERPRIVATE)); | 394 IDR_EXTENSION_API_JSON_MEDIAPLAYERPRIVATE)); |
| 423 RegisterSchema("metricsPrivate", ReadFromResource( | 395 RegisterSchema("metricsPrivate", ReadFromResource( |
| 424 IDR_EXTENSION_API_JSON_METRICSPRIVATE)); | 396 IDR_EXTENSION_API_JSON_METRICSPRIVATE)); |
| 425 RegisterSchema("echoPrivate", ReadFromResource( | 397 RegisterSchema("echoPrivate", ReadFromResource( |
| 426 IDR_EXTENSION_API_JSON_ECHOPRIVATE)); | 398 IDR_EXTENSION_API_JSON_ECHOPRIVATE)); |
| 427 RegisterSchema("omnibox", ReadFromResource( | 399 RegisterSchema("omnibox", ReadFromResource( |
| 428 IDR_EXTENSION_API_JSON_OMNIBOX)); | 400 IDR_EXTENSION_API_JSON_OMNIBOX)); |
| 429 RegisterSchema("pageAction", ReadFromResource( | 401 RegisterSchema("pageAction", ReadFromResource( |
| 430 IDR_EXTENSION_API_JSON_PAGEACTION)); | 402 IDR_EXTENSION_API_JSON_PAGEACTION)); |
| 431 RegisterSchema("pageActions", ReadFromResource( | 403 RegisterSchema("pageActions", ReadFromResource( |
| 432 IDR_EXTENSION_API_JSON_PAGEACTIONS)); | 404 IDR_EXTENSION_API_JSON_PAGEACTIONS)); |
| 433 RegisterSchema("pageCapture", ReadFromResource( | |
| 434 IDR_EXTENSION_API_JSON_PAGECAPTURE)); | |
| 435 RegisterSchema("permissions", ReadFromResource( | 405 RegisterSchema("permissions", ReadFromResource( |
| 436 IDR_EXTENSION_API_JSON_PERMISSIONS)); | 406 IDR_EXTENSION_API_JSON_PERMISSIONS)); |
| 437 RegisterSchema("privacy", ReadFromResource( | 407 RegisterSchema("privacy", ReadFromResource( |
| 438 IDR_EXTENSION_API_JSON_PRIVACY)); | 408 IDR_EXTENSION_API_JSON_PRIVACY)); |
| 439 RegisterSchema("proxy", ReadFromResource( | 409 RegisterSchema("proxy", ReadFromResource( |
| 440 IDR_EXTENSION_API_JSON_PROXY)); | 410 IDR_EXTENSION_API_JSON_PROXY)); |
| 441 RegisterSchema("scriptBadge", ReadFromResource( | 411 RegisterSchema("scriptBadge", ReadFromResource( |
| 442 IDR_EXTENSION_API_JSON_SCRIPTBADGE)); | 412 IDR_EXTENSION_API_JSON_SCRIPTBADGE)); |
| 443 RegisterSchema("storage", ReadFromResource( | |
| 444 IDR_EXTENSION_API_JSON_STORAGE)); | |
| 445 RegisterSchema("systemPrivate", ReadFromResource( | 413 RegisterSchema("systemPrivate", ReadFromResource( |
| 446 IDR_EXTENSION_API_JSON_SYSTEMPRIVATE)); | 414 IDR_EXTENSION_API_JSON_SYSTEMPRIVATE)); |
| 447 RegisterSchema("tabs", ReadFromResource( | |
| 448 IDR_EXTENSION_API_JSON_TABS)); | |
| 449 RegisterSchema("terminalPrivate", ReadFromResource( | 415 RegisterSchema("terminalPrivate", ReadFromResource( |
| 450 IDR_EXTENSION_API_JSON_TERMINALPRIVATE)); | 416 IDR_EXTENSION_API_JSON_TERMINALPRIVATE)); |
| 451 RegisterSchema("test", ReadFromResource( | 417 RegisterSchema("test", ReadFromResource( |
| 452 IDR_EXTENSION_API_JSON_TEST)); | 418 IDR_EXTENSION_API_JSON_TEST)); |
| 453 RegisterSchema("topSites", ReadFromResource( | 419 RegisterSchema("topSites", ReadFromResource( |
| 454 IDR_EXTENSION_API_JSON_TOPSITES)); | 420 IDR_EXTENSION_API_JSON_TOPSITES)); |
| 455 RegisterSchema("ttsEngine", ReadFromResource( | 421 RegisterSchema("ttsEngine", ReadFromResource( |
| 456 IDR_EXTENSION_API_JSON_TTSENGINE)); | 422 IDR_EXTENSION_API_JSON_TTSENGINE)); |
| 457 RegisterSchema("tts", ReadFromResource( | 423 RegisterSchema("tts", ReadFromResource( |
| 458 IDR_EXTENSION_API_JSON_TTS)); | 424 IDR_EXTENSION_API_JSON_TTS)); |
| 459 RegisterSchema("types", ReadFromResource( | 425 RegisterSchema("types", ReadFromResource( |
| 460 IDR_EXTENSION_API_JSON_TYPES)); | 426 IDR_EXTENSION_API_JSON_TYPES)); |
| 461 RegisterSchema("wallpaperPrivate", ReadFromResource( | 427 RegisterSchema("wallpaperPrivate", ReadFromResource( |
| 462 IDR_EXTENSION_API_JSON_WALLPAPERPRIVATE)); | 428 IDR_EXTENSION_API_JSON_WALLPAPERPRIVATE)); |
| 463 RegisterSchema("webNavigation", ReadFromResource( | |
| 464 IDR_EXTENSION_API_JSON_WEBNAVIGATION)); | |
| 465 RegisterSchema("webRequest", ReadFromResource( | |
| 466 IDR_EXTENSION_API_JSON_WEBREQUEST)); | |
| 467 RegisterSchema("webRequestInternal", ReadFromResource( | 429 RegisterSchema("webRequestInternal", ReadFromResource( |
| 468 IDR_EXTENSION_API_JSON_WEBREQUESTINTERNAL)); | 430 IDR_EXTENSION_API_JSON_WEBREQUESTINTERNAL)); |
| 469 RegisterSchema("webSocketProxyPrivate", ReadFromResource( | 431 RegisterSchema("webSocketProxyPrivate", ReadFromResource( |
| 470 IDR_EXTENSION_API_JSON_WEBSOCKETPROXYPRIVATE)); | 432 IDR_EXTENSION_API_JSON_WEBSOCKETPROXYPRIVATE)); |
| 471 RegisterSchema("webstore", ReadFromResource( | 433 RegisterSchema("webstore", ReadFromResource( |
| 472 IDR_EXTENSION_API_JSON_WEBSTORE)); | 434 IDR_EXTENSION_API_JSON_WEBSTORE)); |
| 473 RegisterSchema("webstorePrivate", ReadFromResource( | 435 RegisterSchema("webstorePrivate", ReadFromResource( |
| 474 IDR_EXTENSION_API_JSON_WEBSTOREPRIVATE)); | 436 IDR_EXTENSION_API_JSON_WEBSTOREPRIVATE)); |
| 475 RegisterSchema("windows", ReadFromResource( | |
| 476 IDR_EXTENSION_API_JSON_WINDOWS)); | |
| 477 | 437 |
| 478 // Schemas to be loaded via JSON generated from IDL files. | 438 // Schemas to be loaded via JSON generated from IDL files. |
| 479 GeneratedSchemas::Get(&unloaded_schemas_); | 439 GeneratedSchemas::Get(&unloaded_schemas_); |
| 480 } | 440 } |
| 481 | 441 |
| 482 void ExtensionAPI::RegisterSchema(const std::string& name, | 442 void ExtensionAPI::RegisterSchema(const std::string& name, |
| 483 const base::StringPiece& source) { | 443 const base::StringPiece& source) { |
| 484 unloaded_schemas_[name] = source; | 444 unloaded_schemas_[name] = source; |
| 485 } | 445 } |
| 486 | 446 |
| (...skipping 370 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 857 | 817 |
| 858 void ExtensionAPI::LoadAllSchemas() { | 818 void ExtensionAPI::LoadAllSchemas() { |
| 859 while (unloaded_schemas_.size()) { | 819 while (unloaded_schemas_.size()) { |
| 860 std::map<std::string, base::StringPiece>::iterator it = | 820 std::map<std::string, base::StringPiece>::iterator it = |
| 861 unloaded_schemas_.begin(); | 821 unloaded_schemas_.begin(); |
| 862 LoadSchema(it->first, it->second); | 822 LoadSchema(it->first, it->second); |
| 863 } | 823 } |
| 864 } | 824 } |
| 865 | 825 |
| 866 } // namespace extensions | 826 } // namespace extensions |
| OLD | NEW |