summaryrefslogtreecommitdiffstats
path: root/chrome/renderer
diff options
context:
space:
mode:
authorjcivelli@chromium.org <jcivelli@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-08-02 20:50:05 +0000
committerjcivelli@chromium.org <jcivelli@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-08-02 20:50:05 +0000
commit66d944367cef021fcdf9735304d2dbbcbdf734b2 (patch)
tree86827b139a32159f606bf05106476d2dd7479bd9 /chrome/renderer
parent83c7113a3eeb46aac0d338f8c6260d00331c3766 (diff)
downloadchromium_src-66d944367cef021fcdf9735304d2dbbcbdf734b2.zip
chromium_src-66d944367cef021fcdf9735304d2dbbcbdf734b2.tar.gz
chromium_src-66d944367cef021fcdf9735304d2dbbcbdf734b2.tar.bz2
Merging r53384 to the 472 branch.
Original review: http://codereview.chromium.org/3026002 Few TranslateManager changes: - Always show a "translating..." infobar when initiating a translation from the context menu, or when the translation is automatic (always translate option). It does not make sense not to show one, as translation may take several seconds and no having any feedback during that time is confusing (also this is what translate in toolbar does). - Don't enable the translate context menu until we get the page language. This is an effort to ensure the translate infobar delegate always get an original language. - Makes the translate manager deals correctly with unknown languages to avoid a crasher (bug 49018) BUG=49018 TEST=See bug. And also, start a translation from the context menu, while the page is being translated a "translating..." infobar should be shown. Also, tests that when a language was selected for "always translate", navigating to a page in that language triggers a "translating..." infobar. Review URL: http://codereview.chromium.org/3034028 git-svn-id: svn://svn.chromium.org/chrome/branches/472/src@54600 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer')
-rw-r--r--chrome/renderer/render_view.cc7
-rw-r--r--chrome/renderer/render_view.h3
-rw-r--r--chrome/renderer/translate_helper.cc3
-rw-r--r--chrome/renderer/translate_helper_unittest.cc3
4 files changed, 6 insertions, 10 deletions
diff --git a/chrome/renderer/render_view.cc b/chrome/renderer/render_view.cc
index 67a9fff..0e5c264 100644
--- a/chrome/renderer/render_view.cc
+++ b/chrome/renderer/render_view.cc
@@ -263,9 +263,6 @@ static const char* const kUnreachableWebDataURL =
static const char* const kBackForwardNavigationScheme = "history";
-// static
-const char* const RenderView::kUnknownLanguageCode = "und";
-
static void GetRedirectChain(WebDataSource* ds, std::vector<GURL>* result) {
WebVector<WebURL> urls;
ds->redirectChain(urls);
@@ -371,9 +368,9 @@ static std::string DetermineTextLanguage(const string16& text) {
// Text with less than 100 bytes will probably not provide good results.
// Report it as unknown language.
if (text.length() < 100)
- return RenderView::kUnknownLanguageCode;
+ return chrome::kUnknownLanguageCode;
- std::string language = RenderView::kUnknownLanguageCode;
+ std::string language = chrome::kUnknownLanguageCode;
int num_languages = 0;
bool is_reliable = false;
Language cld_language =
diff --git a/chrome/renderer/render_view.h b/chrome/renderer/render_view.h
index 89c4c1b..06892cf 100644
--- a/chrome/renderer/render_view.h
+++ b/chrome/renderer/render_view.h
@@ -570,9 +570,6 @@ class RenderView : public RenderWidget,
std::string* json_retval);
virtual WebKit::WebCookieJar* GetCookieJar();
- // The language code used when the page language is unknown.
- static const char* const kUnknownLanguageCode;
-
// Please do not add your stuff randomly to the end here. If there is an
// appropriate section, add it there. If not, there are some random functions
// nearer to the top you can add it to.
diff --git a/chrome/renderer/translate_helper.cc b/chrome/renderer/translate_helper.cc
index 5075917..4f5c89b 100644
--- a/chrome/renderer/translate_helper.cc
+++ b/chrome/renderer/translate_helper.cc
@@ -5,6 +5,7 @@
#include "chrome/renderer/translate_helper.h"
#include "base/compiler_specific.h"
+#include "chrome/common/chrome_constants.h"
#include "chrome/renderer/render_view.h"
#include "third_party/WebKit/WebKit/chromium/public/WebFrame.h"
#include "third_party/WebKit/WebKit/chromium/public/WebScriptSource.h"
@@ -58,7 +59,7 @@ void TranslateHelper::TranslatePage(int page_id,
page_id_ = page_id;
// If the source language is undetermined, we'll let the translate element
// detect it.
- source_lang_ = (source_lang != RenderView::kUnknownLanguageCode) ?
+ source_lang_ = (source_lang != chrome::kUnknownLanguageCode) ?
source_lang : kAutoDetectionLanguage;
target_lang_ = target_lang;
diff --git a/chrome/renderer/translate_helper_unittest.cc b/chrome/renderer/translate_helper_unittest.cc
index eef25fb..0221006 100644
--- a/chrome/renderer/translate_helper_unittest.cc
+++ b/chrome/renderer/translate_helper_unittest.cc
@@ -2,6 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+#include "chrome/common/chrome_constants.h"
#include "chrome/renderer/translate_helper.h"
#include "chrome/test/render_view_test.h"
#include "testing/gmock/include/gmock/gmock.h"
@@ -189,7 +190,7 @@ TEST_F(TranslateHelperTest, UndefinedSourceLang) {
.WillRepeatedly(Return(true));
translate_helper_->TranslatePage(view_->page_id(),
- RenderView::kUnknownLanguageCode, "fr",
+ chrome::kUnknownLanguageCode, "fr",
std::string());
MessageLoop::current()->RunAllPending();