1 // Copyright (c) 2012 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/cocoa/tab_contents/favicon_util_mac.h" 6 7 #include "chrome/browser/favicon/favicon_tab_helper.h" 8 #include "grit/ui_resources.h" 9 #include "ui/base/resource/resource_bundle.h" 10 11 namespace mac { 12 13 NSImage* FaviconForWebContents(content::WebContents* contents) { 14 FaviconTabHelper* favicon_tab_helper = 15 contents ? FaviconTabHelper::FromWebContents(contents) 16 : NULL; 17 if (favicon_tab_helper && favicon_tab_helper->FaviconIsValid()) { 18 NSImage* image = favicon_tab_helper->GetFavicon().AsNSImage(); 19 // The |image| could be nil if the bitmap is null. In that case, fallback 20 // to the default image. 21 if (image) { 22 return image; 23 } 24 } 25 26 ResourceBundle& rb = ResourceBundle::GetSharedInstance(); 27 return rb.GetNativeImageNamed(IDR_DEFAULT_FAVICON).ToNSImage(); 28 } 29 30 } // namespace mac 31