OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 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/component_updater/flash_component_installer.h" | 5 #include "chrome/browser/component_updater/flash_component_installer.h" |
6 | 6 |
7 #include <string.h> | 7 #include <string.h> |
8 | 8 |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 256 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
267 } | 267 } |
268 | 268 |
269 bool PepperFlashComponentInstaller::Install( | 269 bool PepperFlashComponentInstaller::Install( |
270 const base::DictionaryValue& manifest, | 270 const base::DictionaryValue& manifest, |
271 const base::FilePath& unpack_path) { | 271 const base::FilePath& unpack_path) { |
272 Version version; | 272 Version version; |
273 if (!CheckPepperFlashManifest(manifest, &version)) | 273 if (!CheckPepperFlashManifest(manifest, &version)) |
274 return false; | 274 return false; |
275 if (current_version_.CompareTo(version) > 0) | 275 if (current_version_.CompareTo(version) > 0) |
276 return false; | 276 return false; |
277 if (!file_util::PathExists(unpack_path.Append( | 277 if (!base::PathExists(unpack_path.Append( |
278 chrome::kPepperFlashPluginFilename))) | 278 chrome::kPepperFlashPluginFilename))) |
279 return false; | 279 return false; |
280 // Passed the basic tests. Time to install it. | 280 // Passed the basic tests. Time to install it. |
281 base::FilePath path = | 281 base::FilePath path = |
282 GetPepperFlashBaseDirectory().AppendASCII(version.GetString()); | 282 GetPepperFlashBaseDirectory().AppendASCII(version.GetString()); |
283 if (file_util::PathExists(path)) | 283 if (base::PathExists(path)) |
284 return false; | 284 return false; |
285 if (!base::Move(unpack_path, path)) | 285 if (!base::Move(unpack_path, path)) |
286 return false; | 286 return false; |
287 // Installation is done. Now tell the rest of chrome. Both the path service | 287 // Installation is done. Now tell the rest of chrome. Both the path service |
288 // and to the plugin service. | 288 // and to the plugin service. |
289 current_version_ = version; | 289 current_version_ = version; |
290 PathService::Override(chrome::DIR_PEPPER_FLASH_PLUGIN, path); | 290 PathService::Override(chrome::DIR_PEPPER_FLASH_PLUGIN, path); |
291 path = path.Append(chrome::kPepperFlashPluginFilename); | 291 path = path.Append(chrome::kPepperFlashPluginFilename); |
292 BrowserThread::PostTask( | 292 BrowserThread::PostTask( |
293 BrowserThread::UI, FROM_HERE, | 293 BrowserThread::UI, FROM_HERE, |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
351 pepflash.version = version; | 351 pepflash.version = version; |
352 pepflash.pk_hash.assign(kSha2Hash, &kSha2Hash[sizeof(kSha2Hash)]); | 352 pepflash.pk_hash.assign(kSha2Hash, &kSha2Hash[sizeof(kSha2Hash)]); |
353 if (cus->RegisterComponent(pepflash) != ComponentUpdateService::kOk) { | 353 if (cus->RegisterComponent(pepflash) != ComponentUpdateService::kOk) { |
354 NOTREACHED() << "Pepper Flash component registration failed."; | 354 NOTREACHED() << "Pepper Flash component registration failed."; |
355 } | 355 } |
356 } | 356 } |
357 | 357 |
358 void StartPepperFlashUpdateRegistration(ComponentUpdateService* cus) { | 358 void StartPepperFlashUpdateRegistration(ComponentUpdateService* cus) { |
359 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE)); | 359 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE)); |
360 base::FilePath path = GetPepperFlashBaseDirectory(); | 360 base::FilePath path = GetPepperFlashBaseDirectory(); |
361 if (!file_util::PathExists(path)) { | 361 if (!base::PathExists(path)) { |
362 if (!file_util::CreateDirectory(path)) { | 362 if (!file_util::CreateDirectory(path)) { |
363 NOTREACHED() << "Could not create Pepper Flash directory."; | 363 NOTREACHED() << "Could not create Pepper Flash directory."; |
364 return; | 364 return; |
365 } | 365 } |
366 } | 366 } |
367 | 367 |
368 Version version(kNullVersion); | 368 Version version(kNullVersion); |
369 std::vector<base::FilePath> older_dirs; | 369 std::vector<base::FilePath> older_dirs; |
370 if (GetPepperFlashDirectory(&path, &version, &older_dirs)) { | 370 if (GetPepperFlashDirectory(&path, &version, &older_dirs)) { |
371 path = path.Append(chrome::kPepperFlashPluginFilename); | 371 path = path.Append(chrome::kPepperFlashPluginFilename); |
372 if (file_util::PathExists(path)) { | 372 if (base::PathExists(path)) { |
373 BrowserThread::PostTask( | 373 BrowserThread::PostTask( |
374 BrowserThread::UI, FROM_HERE, | 374 BrowserThread::UI, FROM_HERE, |
375 base::Bind(&RegisterPepperFlashWithChrome, path, version)); | 375 base::Bind(&RegisterPepperFlashWithChrome, path, version)); |
376 } else { | 376 } else { |
377 version = Version(kNullVersion); | 377 version = Version(kNullVersion); |
378 } | 378 } |
379 } | 379 } |
380 | 380 |
381 BrowserThread::PostTask( | 381 BrowserThread::PostTask( |
382 BrowserThread::UI, FROM_HERE, | 382 BrowserThread::UI, FROM_HERE, |
(...skipping 13 matching lines...) Expand all Loading... |
396 #if defined(GOOGLE_CHROME_BUILD) && !defined(OS_LINUX) | 396 #if defined(GOOGLE_CHROME_BUILD) && !defined(OS_LINUX) |
397 // Component updated flash supersedes bundled flash therefore if that one | 397 // Component updated flash supersedes bundled flash therefore if that one |
398 // is disabled then this one should never install. | 398 // is disabled then this one should never install. |
399 CommandLine* cmd_line = CommandLine::ForCurrentProcess(); | 399 CommandLine* cmd_line = CommandLine::ForCurrentProcess(); |
400 if (cmd_line->HasSwitch(switches::kDisableBundledPpapiFlash)) | 400 if (cmd_line->HasSwitch(switches::kDisableBundledPpapiFlash)) |
401 return; | 401 return; |
402 BrowserThread::PostTask(BrowserThread::FILE, FROM_HERE, | 402 BrowserThread::PostTask(BrowserThread::FILE, FROM_HERE, |
403 base::Bind(&StartPepperFlashUpdateRegistration, cus)); | 403 base::Bind(&StartPepperFlashUpdateRegistration, cus)); |
404 #endif | 404 #endif |
405 } | 405 } |
OLD | NEW |