15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved.
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file.
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "content/public/browser/web_contents_delegate.h"
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "base/compiler_specific.h"
85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "base/logging.h"
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "base/memory/singleton.h"
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "content/public/browser/render_view_host.h"
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "content/public/browser/web_contents.h"
125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "content/public/common/url_constants.h"
135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "content/public/common/bindings_policy.h"
145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ui/gfx/rect.h"
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace content {
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)WebContentsDelegate::WebContentsDelegate() {
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)WebContents* WebContentsDelegate::OpenURLFromTab(WebContents* source,
225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                                                 const OpenURLParams& params) {
235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return NULL;
245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool WebContentsDelegate::IsPopupOrPanel(const WebContents* source) const {
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return false;
285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)bool WebContentsDelegate::CanOverscrollContent() const { return false; }
312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)gfx::Rect WebContentsDelegate::GetRootWindowResizerRect() const {
335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return gfx::Rect();
345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool WebContentsDelegate::ShouldSuppressDialogs() {
375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return false;
385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
400529e5d033099cbfc42635f6f6183833b09dff6eBen Murdochbool WebContentsDelegate::ShouldPreserveAbortedURLs(WebContents* source) {
410529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch  return false;
420529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch}
430529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch
445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool WebContentsDelegate::AddMessageToConsole(WebContents* source,
455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                                              int32 level,
46a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)                                              const base::string16& message,
475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                                              int32 line_no,
48a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)                                              const base::string16& source_id) {
495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return false;
505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void WebContentsDelegate::BeforeUnloadFired(WebContents* web_contents,
535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                                            bool proceed,
545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                                            bool* proceed_to_fire_unload) {
555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  *proceed_to_fire_unload = true;
565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
582a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)bool WebContentsDelegate::ShouldFocusLocationBarByDefault(WebContents* source) {
592a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  return false;
602a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}
612a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool WebContentsDelegate::ShouldFocusPageAfterCrash() {
635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return true;
645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
662a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)bool WebContentsDelegate::TakeFocus(WebContents* source, bool reverse) {
675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return false;
685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)int WebContentsDelegate::GetExtraRenderViewHeight() const {
715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return 0;
725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
74c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)void WebContentsDelegate::CanDownload(
75c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)    RenderViewHost* render_view_host,
76cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)    const GURL& url,
77c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)    const std::string& request_method,
78c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)    const base::Callback<void(bool)>& callback) {
79c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  callback.Run(true);
805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool WebContentsDelegate::HandleContextMenu(
835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    const content::ContextMenuParams& params) {
845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return false;
855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void WebContentsDelegate::ViewSourceForTab(WebContents* source,
885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                                           const GURL& page_url) {
895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  // Fall back implementation based entirely on the view-source scheme.
905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  // It suffers from http://crbug.com/523 and that is why browser overrides
915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  // it with proper implementation.
92868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  GURL url = GURL(kViewSourceScheme + std::string(":") + page_url.spec());
935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  OpenURLFromTab(source, OpenURLParams(url, Referrer(),
945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                                       NEW_FOREGROUND_TAB,
951320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                                       ui::PAGE_TRANSITION_LINK, false));
965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void WebContentsDelegate::ViewSourceForFrame(WebContents* source,
995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                                             const GURL& frame_url,
10090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)                                             const PageState& page_state) {
1015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  // Same as ViewSourceForTab, but for given subframe.
102868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  GURL url = GURL(kViewSourceScheme + std::string(":") + frame_url.spec());
1035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  OpenURLFromTab(source, OpenURLParams(url, Referrer(),
1045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                                       NEW_FOREGROUND_TAB,
1051320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                                       ui::PAGE_TRANSITION_LINK, false));
1065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
1075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool WebContentsDelegate::PreHandleKeyboardEvent(
1095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    WebContents* source,
1105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    const NativeWebKeyboardEvent& event,
1115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    bool* is_keyboard_shortcut) {
1125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return false;
1135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
1145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1155d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)bool WebContentsDelegate::PreHandleGestureEvent(
1165d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    WebContents* source,
1175d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    const blink::WebGestureEvent& event) {
1185d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  return false;
1195d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)}
1205d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
1217d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)bool WebContentsDelegate::CanDragEnter(
1227d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)    WebContents* source,
123eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch    const DropData& data,
124f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)    blink::WebDragOperationsMask operations_allowed) {
1257d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  return true;
1267d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)}
1277d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)
1285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool WebContentsDelegate::OnGoToEntryOffset(int offset) {
1295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return true;
1305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
1315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool WebContentsDelegate::ShouldCreateWebContents(
1335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    WebContents* web_contents,
1345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    int route_id,
1355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    WindowContainerType window_container_type,
136a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)    const base::string16& frame_name,
1377dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch    const GURL& target_url,
1383551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)    const std::string& partition_id,
1393551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)    SessionStorageNamespace* session_storage_namespace) {
1405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return true;
1415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
1425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)JavaScriptDialogManager* WebContentsDelegate::GetJavaScriptDialogManager() {
1445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return NULL;
1455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
1465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
147d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)bool WebContentsDelegate::EmbedsFullscreenWidget() const {
148d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)  return false;
149d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)}
150d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)
1515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool WebContentsDelegate::IsFullscreenForTabOrPending(
1525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    const WebContents* web_contents) const {
1535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return false;
1545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
1555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)content::ColorChooser* WebContentsDelegate::OpenColorChooser(
157a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)    WebContents* web_contents,
158a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)    SkColor color,
159a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)    const std::vector<ColorSuggestion>& suggestions) {
1605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return NULL;
1615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
1625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
16358537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)void WebContentsDelegate::RequestMediaAccessPermission(
16458537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)    WebContents* web_contents,
16558537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)    const MediaStreamRequest& request,
16658537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)    const MediaResponseCallback& callback) {
1671320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  LOG(ERROR) << "WebContentsDelegate::RequestMediaAccessPermission: "
1681320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci             << "Not supported.";
169a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  callback.Run(MediaStreamDevices(),
1701320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci               MEDIA_DEVICE_NOT_SUPPORTED,
171a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)               scoped_ptr<MediaStreamUI>());
17258537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)}
17358537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)
1741320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccibool WebContentsDelegate::CheckMediaAccessPermission(
1751320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    WebContents* web_contents,
1761320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    const GURL& security_origin,
1771320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    MediaStreamType type) {
1781320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  LOG(ERROR) << "WebContentsDelegate::CheckMediaAccessPermission: "
1791320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci             << "Not supported.";
1801320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  return false;
1811320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci}
1821320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
1832a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)bool WebContentsDelegate::RequestPpapiBrokerPermission(
1845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    WebContents* web_contents,
1852a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    const GURL& url,
1862a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    const base::FilePath& plugin_path,
1872a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    const base::Callback<void(bool)>& callback) {
1882a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  return false;
1895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
1905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)WebContentsDelegate::~WebContentsDelegate() {
1925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  while (!attached_contents_.empty()) {
1935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    WebContents* web_contents = *attached_contents_.begin();
1945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    web_contents->SetDelegate(NULL);
1955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  }
1965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  DCHECK(attached_contents_.empty());
1975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
1985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void WebContentsDelegate::Attach(WebContents* web_contents) {
2005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  DCHECK(attached_contents_.find(web_contents) == attached_contents_.end());
2015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  attached_contents_.insert(web_contents);
2025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
2035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void WebContentsDelegate::Detach(WebContents* web_contents) {
2055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  DCHECK(attached_contents_.find(web_contents) != attached_contents_.end());
2065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  attached_contents_.erase(web_contents);
2075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
2085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
209424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)gfx::Size WebContentsDelegate::GetSizeForNewRenderView(
210010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)   WebContents* web_contents) const {
211424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)  return gfx::Size();
212424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)}
213424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)
2140529e5d033099cbfc42635f6f6183833b09dff6eBen Murdochbool WebContentsDelegate::IsNeverVisible(WebContents* web_contents) {
2150529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch  return false;
2160529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch}
2170529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch
2185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}  // namespace content
219