| 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/browser/extensions/api/management/management_api.h" | 5 #include "chrome/browser/extensions/api/management/management_api.h" |
| 6 | 6 |
| 7 #include <map> | 7 #include <map> |
| 8 #include <string> | 8 #include <string> |
| 9 | 9 |
| 10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
| (...skipping 574 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 585 event_name = events::kOnExtensionEnabled; | 585 event_name = events::kOnExtensionEnabled; |
| 586 break; | 586 break; |
| 587 case chrome::NOTIFICATION_EXTENSION_UNLOADED: | 587 case chrome::NOTIFICATION_EXTENSION_UNLOADED: |
| 588 event_name = events::kOnExtensionDisabled; | 588 event_name = events::kOnExtensionDisabled; |
| 589 break; | 589 break; |
| 590 default: | 590 default: |
| 591 NOTREACHED(); | 591 NOTREACHED(); |
| 592 return; | 592 return; |
| 593 } | 593 } |
| 594 | 594 |
| 595 ListValue args; | 595 scoped_ptr<ListValue> args(new ListValue()); |
| 596 if (event_name == events::kOnExtensionUninstalled) { | 596 if (event_name == events::kOnExtensionUninstalled) { |
| 597 args.Append(Value::CreateStringValue( | 597 args->Append(Value::CreateStringValue( |
| 598 content::Details<const extensions::Extension>(details).ptr()->id())); | 598 content::Details<const extensions::Extension>(details).ptr()->id())); |
| 599 } else { | 599 } else { |
| 600 const Extension* extension = NULL; | 600 const Extension* extension = NULL; |
| 601 if (event_name == events::kOnExtensionDisabled) { | 601 if (event_name == events::kOnExtensionDisabled) { |
| 602 extension = content::Details<extensions::UnloadedExtensionInfo>( | 602 extension = content::Details<extensions::UnloadedExtensionInfo>( |
| 603 details)->extension; | 603 details)->extension; |
| 604 } else { | 604 } else { |
| 605 extension = content::Details<const Extension>(details).ptr(); | 605 extension = content::Details<const Extension>(details).ptr(); |
| 606 } | 606 } |
| 607 CHECK(extension); | 607 CHECK(extension); |
| 608 ExtensionService* service = profile->GetExtensionService(); | 608 ExtensionService* service = profile->GetExtensionService(); |
| 609 args.Append(CreateExtensionInfo(*extension, service)); | 609 args->Append(CreateExtensionInfo(*extension, service)); |
| 610 } | 610 } |
| 611 | 611 |
| 612 std::string args_json; | |
| 613 base::JSONWriter::Write(&args, &args_json); | |
| 614 | |
| 615 profile->GetExtensionEventRouter()->DispatchEventToRenderers( | 612 profile->GetExtensionEventRouter()->DispatchEventToRenderers( |
| 616 event_name, args_json, NULL, GURL(), extensions::EventFilteringInfo()); | 613 event_name, args.Pass(), NULL, GURL(), extensions::EventFilteringInfo()); |
| 617 } | 614 } |
| OLD | NEW |