[Metrics] Make MetricsStateManager take a callback param to check if UMA is enabled.
[chromium-blink-merge.git] / chrome / browser / ui / cocoa / tab_contents / favicon_util_mac.mm
blob16fd648b94d6b5bfd21b9ebbdc8fa2bbab554c13
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.
5 #include "chrome/browser/ui/cocoa/tab_contents/favicon_util_mac.h"
7 #include "chrome/browser/favicon/favicon_tab_helper.h"
8 #include "grit/ui_resources.h"
9 #include "ui/base/resource/resource_bundle.h"
11 namespace mac {
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   }
26   ResourceBundle& rb = ResourceBundle::GetSharedInstance();
27   return rb.GetNativeImageNamed(IDR_DEFAULT_FAVICON).ToNSImage();
30 }  // namespace mac