diff options
Diffstat (limited to 'chrome/utility')
-rw-r--r-- | chrome/utility/utility_thread.cc | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/chrome/utility/utility_thread.cc b/chrome/utility/utility_thread.cc index 269a86b..2330fd5 100644 --- a/chrome/utility/utility_thread.cc +++ b/chrome/utility/utility_thread.cc @@ -4,6 +4,7 @@ #include "chrome/utility/utility_thread.h" +#include "base/values.h" #include "chrome/common/child_process.h" #include "chrome/common/extensions/extension_unpacker.h" #include "chrome/common/render_messages.h" @@ -32,9 +33,13 @@ void UtilityThread::OnControlMessageReceived(const IPC::Message& msg) { void UtilityThread::OnUnpackExtension(const FilePath& extension_path) { ExtensionUnpacker unpacker(extension_path); - bool success = unpacker.Run(); - Send(new UtilityHostMsg_UnpackExtension_Reply(success, - unpacker.error_message())); + if (unpacker.Run()) { + Send(new UtilityHostMsg_UnpackExtension_Succeeded( + *unpacker.parsed_manifest(), unpacker.decoded_images())); + } else { + Send(new UtilityHostMsg_UnpackExtension_Failed( + unpacker.error_message())); + } ChildProcess::current()->ReleaseProcess(); } |