11e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved. 21e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 31e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)// found in the LICENSE file. 41e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) 51e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)#include "chrome/browser/ui/translate/translate_bubble_factory.h" 61e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) 71e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)#include "chrome/browser/ui/browser_finder.h" 81e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)#include "chrome/browser/ui/browser_window.h" 91e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) 101e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)namespace { 111e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) 121e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)void ShowDefault(BrowserWindow* window, 131e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) content::WebContents* web_contents, 14c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch translate::TranslateStep step, 155f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) translate::TranslateErrors::Type error_type) { 161e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) // |window| might be null when testing. 171e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) if (!window) 181e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) return; 195f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) window->ShowTranslateBubble(web_contents, step, error_type, false); 201e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)} 211e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) 221e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)} // namespace 231e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) 241e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)TranslateBubbleFactory::~TranslateBubbleFactory() { 251e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)} 261e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) 271e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)// static 281e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)void TranslateBubbleFactory::Show(BrowserWindow* window, 291e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) content::WebContents* web_contents, 30c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch translate::TranslateStep step, 315f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) translate::TranslateErrors::Type error_type) { 321e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) if (current_factory_) { 335d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) current_factory_->ShowImplementation( 345d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) window, web_contents, step, error_type); 351e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) return; 361e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) } 371e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) 385d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) ShowDefault(window, web_contents, step, error_type); 391e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)} 401e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) 411e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)// static 421e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)void TranslateBubbleFactory::SetFactory(TranslateBubbleFactory* factory) { 431e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) current_factory_ = factory; 441e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)} 451e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) 461e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)// static 471e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)TranslateBubbleFactory* TranslateBubbleFactory::current_factory_ = NULL; 48