Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(56)

Side by Side Diff: chrome/browser/translate/translate_tab_helper.cc

Issue 216923006: Add a component updater for the CLD2 data file. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase onto latest master Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2011 The Chromium Authors. All rights reserved. 1 // Copyright 2011 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/translate/translate_tab_helper.h" 5 #include "chrome/browser/translate/translate_tab_helper.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/prefs/pref_service.h" 8 #include "base/prefs/pref_service.h"
9 #include "base/strings/string_split.h" 9 #include "base/strings/string_split.h"
10 #include "chrome/browser/chrome_notification_types.h" 10 #include "chrome/browser/chrome_notification_types.h"
(...skipping 25 matching lines...) Expand all
36 #if defined(CLD2_DYNAMIC_MODE) 36 #if defined(CLD2_DYNAMIC_MODE)
37 #include "base/files/file.h" 37 #include "base/files/file.h"
38 #include "base/path_service.h" 38 #include "base/path_service.h"
39 #include "chrome/common/chrome_constants.h" 39 #include "chrome/common/chrome_constants.h"
40 #include "chrome/common/chrome_paths.h" 40 #include "chrome/common/chrome_paths.h"
41 #include "content/public/browser/browser_thread.h" 41 #include "content/public/browser/browser_thread.h"
42 #include "content/public/browser/render_process_host.h" 42 #include "content/public/browser/render_process_host.h"
43 #include "content/public/browser/render_view_host.h" 43 #include "content/public/browser/render_view_host.h"
44 #endif 44 #endif
45 45
46 #if defined(CLD2_IS_COMPONENT)
47 #include "chrome/browser/component_updater/cld_component_installer.h"
48 #endif
49
46 namespace { 50 namespace {
47 51
48 // The maximum number of attempts we'll do to see if the page has finshed 52 // The maximum number of attempts we'll do to see if the page has finshed
49 // loading before giving up the translation 53 // loading before giving up the translation
50 const int kMaxTranslateLoadCheckAttempts = 20; 54 const int kMaxTranslateLoadCheckAttempts = 20;
51 55
52 } // namespace 56 } // namespace
53 57
54 DEFINE_WEB_CONTENTS_USER_DATA_KEY(TranslateTabHelper); 58 DEFINE_WEB_CONTENTS_USER_DATA_KEY(TranslateTabHelper);
55 59
(...skipping 324 matching lines...) Expand 10 before | Expand all | Expand 10 after
380 DCHECK(!content::BrowserThread::CurrentlyOn(content::BrowserThread::IO)); 384 DCHECK(!content::BrowserThread::CurrentlyOn(content::BrowserThread::IO));
381 DCHECK(!content::BrowserThread::CurrentlyOn(content::BrowserThread::UI)); 385 DCHECK(!content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
382 386
383 { 387 {
384 base::AutoLock lock(s_file_lock_.Get()); 388 base::AutoLock lock(s_file_lock_.Get());
385 if (s_cached_file_) 389 if (s_cached_file_)
386 return; // Already done, duplicate request 390 return; // Already done, duplicate request
387 } 391 }
388 392
389 base::FilePath path; 393 base::FilePath path;
394 #if defined(CLD2_IS_COMPONENT)
395 if (!component_updater::GetLatestCldDataFile(&path))
396 return;
397 #else
390 if (!PathService::Get(chrome::DIR_USER_DATA, &path)) { 398 if (!PathService::Get(chrome::DIR_USER_DATA, &path)) {
391 LOG(WARNING) << "Unable to locate user data directory"; 399 LOG(WARNING) << "Unable to locate user data directory";
392 return; // Chrome isn't properly installed. 400 return; // Chrome isn't properly installed.
393 } 401 }
394
395 // If the file exists, we can send an IPC-safe construct back to the 402 // If the file exists, we can send an IPC-safe construct back to the
396 // renderer process immediately. 403 // renderer process immediately.
397 path = path.Append(chrome::kCLDDataFilename); 404 path = path.Append(chrome::kCLDDataFilename);
398 if (!base::PathExists(path)) 405 if (!base::PathExists(path))
399 return; 406 return;
407 #endif
400 408
401 // Attempt to open the file for reading. 409 // Attempt to open the file for reading.
402 scoped_ptr<base::File> file( 410 scoped_ptr<base::File> file(
403 new base::File(path, base::File::FLAG_OPEN | base::File::FLAG_READ)); 411 new base::File(path, base::File::FLAG_OPEN | base::File::FLAG_READ));
404 if (!file->IsValid()) { 412 if (!file->IsValid()) {
405 LOG(WARNING) << "CLD data file exists but cannot be opened"; 413 LOG(WARNING) << "CLD data file exists but cannot be opened";
406 return; 414 return;
407 } 415 }
408 416
409 base::File::Info file_info; 417 base::File::Info file_info;
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
522 if (GetLanguageState().InTranslateNavigation()) 530 if (GetLanguageState().InTranslateNavigation())
523 return; 531 return;
524 } 532 }
525 533
526 TranslateBubbleFactory::Show( 534 TranslateBubbleFactory::Show(
527 browser->window(), web_contents(), step, error_type); 535 browser->window(), web_contents(), step, error_type);
528 #else 536 #else
529 NOTREACHED(); 537 NOTREACHED();
530 #endif 538 #endif
531 } 539 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698