| Index: Source/WebCore/loader/cache/CachedCSSStyleSheet.cpp
 | 
| ===================================================================
 | 
| --- Source/WebCore/loader/cache/CachedCSSStyleSheet.cpp	(revision 126669)
 | 
| +++ Source/WebCore/loader/cache/CachedCSSStyleSheet.cpp	(working copy)
 | 
| @@ -59,10 +59,13 @@
 | 
|  void CachedCSSStyleSheet::didAddClient(CachedResourceClient* c)
 | 
|  {
 | 
|      ASSERT(c->resourceClientType() == CachedStyleSheetClient::expectedType());
 | 
| +    // CachedResource::didAddClient() must be before setCSSStyleSheet(),
 | 
| +    // because setCSSStyleSheet() may cause scripts to be executed, which could destroy 'c' if it is an instance of HTMLLinkElement.
 | 
| +    // see the comment of HTMLLinkElement::setCSSStyleSheet.
 | 
| +    CachedResource::didAddClient(c);
 | 
| +
 | 
|      if (!isLoading())
 | 
|          static_cast<CachedStyleSheetClient*>(c)->setCSSStyleSheet(m_resourceRequest.url(), m_response.url(), m_decoder->encoding().name(), this);
 | 
| -
 | 
| -    CachedResource::didAddClient(c);
 | 
|  }
 | 
|  
 | 
|  void CachedCSSStyleSheet::setEncoding(const String& chs)
 | 
| 
 |