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

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

Issue 7589002: Fix a crash in the translate info bar. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 years, 4 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 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_infobar_delegate.h" 5 #include "chrome/browser/translate/translate_infobar_delegate.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/metrics/histogram.h" 9 #include "base/metrics/histogram.h"
10 #include "chrome/browser/browser_process.h" 10 #include "chrome/browser/browser_process.h"
(...skipping 17 matching lines...) Expand all
28 Type type, 28 Type type,
29 TabContents* tab_contents, 29 TabContents* tab_contents,
30 const std::string& original_language, 30 const std::string& original_language,
31 const std::string& target_language) { 31 const std::string& target_language) {
32 DCHECK_NE(TRANSLATION_ERROR, type); 32 DCHECK_NE(TRANSLATION_ERROR, type);
33 // The original language can only be "unknown" for the "translating" 33 // The original language can only be "unknown" for the "translating"
34 // infobar, which is the case when the user started a translation from the 34 // infobar, which is the case when the user started a translation from the
35 // context menu. 35 // context menu.
36 DCHECK(type == TRANSLATING || 36 DCHECK(type == TRANSLATING ||
37 original_language != chrome::kUnknownLanguageCode); 37 original_language != chrome::kUnknownLanguageCode);
38 if ((original_language != chrome::kUnknownLanguageCode && 38 // This must be validated by our callers.
Peter Kasting 2011/08/08 22:09:49 Nit: How about this for comments and checks: In h
MAD 2011/08/09 14:19:41 Done.
39 !TranslateManager::IsSupportedLanguage(original_language)) || 39 CHECK((original_language == chrome::kUnknownLanguageCode ||
40 !TranslateManager::IsSupportedLanguage(target_language)) 40 TranslateManager::IsSupportedLanguage(original_language)) &&
41 return NULL; 41 TranslateManager::IsSupportedLanguage(target_language));
42 TranslateInfoBarDelegate* delegate = 42 TranslateInfoBarDelegate* delegate =
43 new TranslateInfoBarDelegate(type, TranslateErrors::NONE, tab_contents, 43 new TranslateInfoBarDelegate(type, TranslateErrors::NONE, tab_contents,
44 original_language, target_language); 44 original_language, target_language);
45 DCHECK_NE(kNoIndex, delegate->target_language_index()); 45 DCHECK_NE(kNoIndex, delegate->target_language_index());
46 return delegate; 46 return delegate;
47 } 47 }
48 48
49 TranslateInfoBarDelegate* TranslateInfoBarDelegate::CreateErrorDelegate( 49 TranslateInfoBarDelegate* TranslateInfoBarDelegate::CreateErrorDelegate(
50 TranslateErrors::Type error, 50 TranslateErrors::Type error,
51 TabContents* tab_contents, 51 TabContents* tab_contents,
(...skipping 329 matching lines...) Expand 10 before | Expand all | Expand 10 after
381 381
382 TranslateInfoBarDelegate* 382 TranslateInfoBarDelegate*
383 TranslateInfoBarDelegate::AsTranslateInfoBarDelegate() { 383 TranslateInfoBarDelegate::AsTranslateInfoBarDelegate() {
384 return this; 384 return this;
385 } 385 }
386 386
387 std::string TranslateInfoBarDelegate::GetPageHost() { 387 std::string TranslateInfoBarDelegate::GetPageHost() {
388 NavigationEntry* entry = tab_contents_->controller().GetActiveEntry(); 388 NavigationEntry* entry = tab_contents_->controller().GetActiveEntry();
389 return entry ? entry->url().HostNoBrackets() : std::string(); 389 return entry ? entry->url().HostNoBrackets() : std::string();
390 } 390 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698