Jonathan Dixon
unread,Oct 17, 2012, 8:14:38 PM10/17/12Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to Thiago Farina, John Abd-El-Malek, sgu...@chromium.org, conten...@chromium.org, boliu
In navigation_controller_impl.cc there are many unconditional calls to NotificationService::current()->Notify() -- i.e. that do not guard against current() returning NULL .
Therefore it seems to be a pre-requisite of using content API that the UI thread must have installed a NotificationService?
I can't work out in chrome who it is the creates and owns that instance. 3 candidates are listed below (but the _mac one clearly isn't it, and the other two look unlikely)
chrome/browser/password_manager/password_store_mac.cc: notification_service_.reset(content::NotificationService::Create());
chrome/browser/sync/glue/typed_url_change_processor.cc: notification_service_.reset(content::NotificationService::Create());
chrome/browser/webdata/web_database.cc: notification_service_.reset(content::NotificationService::Create());
Background is, for android webview, we're trying to remove dependency on the chrome code, which means we need to explicitly create our own one. If it makes sense to do so, I'd like to do this in a way consistent with chrome.
Alternative is we start adding NULL checks in navigation_controller_impl.cc... e.g.