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 |