One more thing, Concerning this: http://codereview.chromium.org/17637/show
For instance I just converted
static SkBitmap default_favicon_;
to a pointer
static SkBitmap* default_favicon_;
and removed this:
SkBitmap BrowserView::default_favicon_;
Should I have done this instead?
static LazyInstance<SkBitmap> default_favicon_(base::LINKER_INITIALIZER);
SkBitmap* BrowserView::default_favicon() {
return rb.GetBitmapNamed(IDR_DEFAULT_FAVICON);
}
Then when I instantiate it, I should just do the following:
default_favicon_.Get().default_favicon();
I was following the lazy_instance.h, so any help is appreciated!
On Tue, Jan 13, 2009 at 12:13 AM, Mohamed Mansour
<[email protected]>wrote:
> I sent a review to see what I did is correct, if so, I will follow the same
> approach and complete the rest. If not, I hope someone will lead me to the
> right direction.
>
> On IRC:"<jamesr> yeah - declare a static accessor for that field and then
> when it is first called initialize a pointer or something like that"
> Then
> "<evmar> or use base::lazy_instance"
> "<evmar> m0, jamesr: usually you should just use a pointer unless you need
> thread safety"
>
> I didn't know how to use lazy_instance, if someone can clarify that for me.
>
> Thanks!
>
> On Mon, Jan 12, 2009 at 6:01 PM, Dean McNamee <[email protected]> wrote:
>
>>
>> There are some static initializers that should be fixed.
>>
>> UI:
>>
>> _dynamic_initializer_for__views__DialogClientView__dialog_button_font___
>> _dynamic_initializer_for__views__DefaultNonClientView__title_font___
>> _dynamic_initializer_for__BrowserView__default_favicon___
>> _dynamic_initializer_for__BrowserView__otr_avatar___
>> _dynamic_initializer_for__ConstrainedWindowNonClientView__title_font___
>> _dynamic_initializer_for__SadTabView__title_font___
>> _dynamic_initializer_for__SadTabView__message_font___
>> _dynamic_initializer_for__SadTabView__title___
>> _dynamic_initializer_for__SadTabView__message___
>> _dynamic_initializer_for__title_font__
>> _dynamic_initializer_for__AeroGlassWindowResources__app_top_left___
>> _dynamic_initializer_for__AeroGlassWindowResources__app_top_center___
>> _dynamic_initializer_for__AeroGlassWindowResources__app_top_right___
>> _dynamic_initializer_for__AeroGlassNonClientView__distributor_logo___
>> _dynamic_initializer_for__OpaqueNonClientView__distributor_logo___
>> _dynamic_initializer_for__OpaqueNonClientView__app_top_left___
>> _dynamic_initializer_for__OpaqueNonClientView__app_top_center___
>> _dynamic_initializer_for__OpaqueNonClientView__app_top_right___
>> _dynamic_initializer_for__OpaqueNonClientView__title_font___
>> _anonymous_namespace____dynamic_initializer_for__smallSystemFont__
>> _anonymous_namespace____dynamic_initializer_for__menuFont__
>> _anonymous_namespace____dynamic_initializer_for__labelFont__
>>
>>
>> others (a few of these might be v8):
>>
>> anonymous_namespace____dynamic_initializer_for___Module__
>> _dynamic_initializer_for__g_plugin_channels___
>> _anonymous_namespace____dynamic_initializer_for__all_hosts__
>> _dynamic_initializer_for__CacheManagerHost__kRendererInactiveThreshold__
>> chrome_browser_net___dynamic_initializer_for__off_the_record_observer__
>> chrome_browser_net___dynamic_initializer_for__dns_resolution_observer__
>> _dynamic_initializer_for__chrome_url_data_manager__
>> _dynamic_initializer_for__BrowserList__browsers___
>> _dynamic_initializer_for__BrowserList__observers___
>> _dynamic_initializer_for__BrowserList__dependent_windows___
>> _dynamic_initializer_for__BrowserList__last_active_browsers___
>> _dynamic_initializer_for__ChromeThread__lock___
>> _dynamic_initializer_for__chrome_browser_net__DnsHostInfo__kNullDuration__
>>
>> _dynamic_initializer_for__chrome_browser_net__DnsHostInfo__kCacheExpirationDuration__
>>
>> _dynamic_initializer_for__chrome_browser_net__DnsHostInfo__kMaxNonNetworkDnsLookupDuration__
>> _dynamic_initializer_for__URLFetcherProtectManager__protect_manager___
>> _dynamic_initializer_for__URLFetcherProtectManager__lock___
>> _dynamic_initializer_for__g_process_template__
>> _dynamic_initializer_for__URLRequestMockHTTPJob__base_path___
>> _dynamic_initializer_for__URLRequestSlowDownloadJob__kPendingRequests__
>>
>> _anonymous_namespace____dynamic_initializer_for__canonical_encoding_name_map_singleton__
>> _dynamic_initializer_for___anonymous_namespace___PaintTimer__kTimeout__
>> _dynamic_initializer_for__kGoogleDomainUrl__
>> _dynamic_initializer_for__kGoogleDomainSecureCookieId__
>> _dynamic_initializer_for__BrowsingInstance__profile_site_instance_map___
>> _dynamic_initializer_for__BrowserURLHandler__url_handlers___
>> _dynamic_initializer_for__kHistoryHost__
>> _dynamic_initializer_for__g_live_objects__
>> _dynamic_initializer_for__g_root_objects__
>> _dynamic_initializer_for__static_template_map__
>> _dynamic_initializer_for__static_npobject_map__
>> IPC___dynamic_initializer_for__dummy_event__
>> _dynamic_initializer_for__ThumbnailScore__kUpdateThumbnailTime__
>> sub_1901EA0
>> sub_1902010
>> _dynamic_initializer_for__NPAPI__PluginHost__singleton___
>> _dynamic_initializer_for__windowless_queue__
>> _dynamic_initializer_for__WebPluginDelegateImpl__throttle_queue___
>>
>> _dynamic_initializer_for__WebPluginDelegateImpl__iat_patch_track_popup_menu___
>> _dynamic_initializer_for__WebPluginDelegateImpl__iat_patch_set_cursor___
>> _dynamic_initializer_for__NPAPI__PluginList__singleton___
>>
>> _dynamic_initializer_for__NPAPI__PluginInstance__plugin_instance_tls_index___
>> webkit_glue___dynamic_initializer_for__html_entity_map_singleton__
>> webkit_glue___dynamic_initializer_for__xml_entity_map_singleton__
>> _dynamic_initializer_for__reg__
>> _dynamic_initializer_for__gLinearGradientReg__
>> _dynamic_initializer_for__gRadialGradientReg__
>> _dynamic_initializer_for__gSweepGradientReg__
>> _dynamic_initializer_for__gPixelRefMutex__
>> _dynamic_initializer_for__gGCGlobals__
>> _dynamic_initializer_for__gBitmapProcShaderReg__
>> _dynamic_initializer_for__gBootStrap__
>> _dynamic_initializer_for__BaseShellDialogImpl__owners___
>> _dynamic_initializer_for__FileDisplayArea__default_folder_icon___
>> _dynamic_initializer_for__CustomHomePagesTableModel__default_favicon___
>> _dynamic_initializer_for__Tab__kTabClassName__
>> std___dynamic_initializer_for__classic_locale__
>> _dynamic_initializer_for__Watchdog__static_lock___
>> _dynamic_initializer_for__tracked_objects__ThreadData__list_lock___
>> WebCore___dynamic_initializer_for__pluginCache__
>> WebCore___dynamic_initializer_for__outlineCache__
>> _dynamic_initializer_for__g_url_request_job_tracker__
>> _dynamic_initializer_for__gReg__
>>
>> >>
>>
>
--~--~---------~--~----~------------~-------~--~----~
Chromium Developers mailing list: [email protected]
View archives, change email options, or unsubscribe:
http://groups.google.com/group/chromium-dev
-~----------~----~----~----~------~----~------~--~---