Changeset 70109 in webkit


Ignore:
Timestamp:
Oct 19, 2010 4:40:58 PM (14 years ago)
Author:
andersca@apple.com
Message:

Fix MiniBrowser crashes during startup and shutdown
https://bugs.webkit.org/show_bug.cgi?id=47954

Reviewed by Sam Weinig.

  • UIProcess/WebContext.cpp:

(WebKit::WebContext::sharedProcessContext):
Initialize the main thread.

(WebKit::WebContext::create):
Ditto.

(WebKit::WebContext::WebContext):
Add the language observer here so we know that it will always be set up.

(WebKit::WebContext::ensureWebProcess):
Remove code.

  • UIProcess/WebContext.h:
Location:
trunk/WebKit2
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebKit2/ChangeLog

    r70098 r70109  
     12010-10-19  Anders Carlsson  <andersca@apple.com>
     2
     3        Reviewed by Sam Weinig.
     4
     5        Fix MiniBrowser crashes during startup and shutdown
     6        https://bugs.webkit.org/show_bug.cgi?id=47954
     7
     8        * UIProcess/WebContext.cpp:
     9        (WebKit::WebContext::sharedProcessContext):
     10        Initialize the main thread.
     11       
     12        (WebKit::WebContext::create):
     13        Ditto.
     14
     15        (WebKit::WebContext::WebContext):
     16        Add the language observer here so we know that it will always be set up.
     17
     18        (WebKit::WebContext::ensureWebProcess):
     19        Remove code.
     20
     21        * UIProcess/WebContext.h:
     22
    1232010-10-19  Anders Carlsson  <andersca@apple.com>
    224
  • trunk/WebKit2/UIProcess/WebContext.cpp

    r70095 r70109  
    6262WebContext* WebContext::sharedProcessContext()
    6363{
     64    WTF::initializeMainThread();
    6465    RunLoop::initializeMainRunLoop();
    6566    static WebContext* context = adoptRef(new WebContext(ProcessModelSharedSecondaryProcess, String())).leakRef();
     
    7677PassRefPtr<WebContext> WebContext::create(const String& injectedBundlePath)
    7778{
     79    WTF::initializeMainThread();
    7880    RunLoop::initializeMainRunLoop();
    7981    return adoptRef(new WebContext(ProcessModelSecondaryProcess, injectedBundlePath));
     
    8991#endif
    9092{
    91     RunLoop::initializeMainRunLoop();
     93    addLanguageChangeObserver(this, languageChanged);
    9294
    9395    m_preferences = WebPreferences::shared();
     
    125127}
    126128
    127 static void languageChanged(void* context)
    128 {
    129     WebProcessProxy* process = static_cast<WebContext*>(context)->process();
    130     if (process)
    131         process->send(Messages::WebProcess::LanguageChanged(defaultLanguage()), 0);
     129void WebContext::languageChanged(void* context)
     130{
     131    static_cast<WebContext*>(context)->languageChanged();
     132}
     133
     134void WebContext::languageChanged()
     135{
     136    if (!hasValidProcess())
     137        return;
     138
     139    m_process->send(Messages::WebProcess::LanguageChanged(defaultLanguage()), 0);
    132140}
    133141
     
    160168    parameters.shouldTrackVisitedLinks = m_historyClient.shouldTrackVisitedLinks();
    161169    parameters.cacheModel = m_cacheModel;
    162 
    163170    parameters.languageCode = defaultLanguage();
    164     addLanguageChangeObserver(this, languageChanged);
    165 
    166171    parameters.applicationCacheDirectory = applicationCacheDirectory();
    167172
  • trunk/WebKit2/UIProcess/WebContext.h

    r69661 r70109  
    128128    void platformInitializeWebProcess(WebProcessCreationParameters&);
    129129
     130    static void languageChanged(void* context);
     131    void languageChanged();
     132
    130133    ProcessModel m_processModel;
    131134   
Note: See TracChangeset for help on using the changeset viewer.