1// Copyright 2014 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#include "chrome/browser/ui/browser_content_translate_driver_observer.h" 6 7#include "chrome/browser/translate/chrome_translate_client.h" 8#include "chrome/browser/ui/browser.h" 9#include "chrome/browser/ui/browser_window.h" 10#include "chrome/browser/ui/tabs/tab_strip_model.h" 11#include "components/translate/core/browser/language_state.h" 12 13BrowserContentTranslateDriverObserver::BrowserContentTranslateDriverObserver( 14 Browser* browser) : browser_(browser) { 15} 16 17BrowserContentTranslateDriverObserver:: 18 ~BrowserContentTranslateDriverObserver() { 19} 20 21void BrowserContentTranslateDriverObserver::OnIsPageTranslatedChanged( 22 content::WebContents* source) { 23 if (source == browser_->tab_strip_model()->GetActiveWebContents()) { 24 ChromeTranslateClient* chrome_translate_client = 25 ChromeTranslateClient::FromWebContents(source); 26 translate::LanguageState& language_state = 27 chrome_translate_client->GetLanguageState(); 28 browser_->window()->SetTranslateIconToggled( 29 language_state.IsPageTranslated()); 30 } 31} 32 33void BrowserContentTranslateDriverObserver::OnTranslateEnabledChanged( 34 content::WebContents* source) { 35 if (source == browser_->tab_strip_model()->GetActiveWebContents()) 36 browser_->window()->UpdateToolbar(source); 37} 38