| Index: Source/core/loader/appcache/ApplicationCacheHost.cpp
|
| diff --git a/Source/core/loader/appcache/ApplicationCacheHost.cpp b/Source/core/loader/appcache/ApplicationCacheHost.cpp
|
| index 669eb54d5f253ddc127069658f1a9e1e28eb9781..610649c1dd921afde716b7dbe8bc2704dc692c2b 100644
|
| --- a/Source/core/loader/appcache/ApplicationCacheHost.cpp
|
| +++ b/Source/core/loader/appcache/ApplicationCacheHost.cpp
|
| @@ -88,12 +88,12 @@ void ApplicationCacheHost::willStartLoadingMainResource(ResourceRequest& request
|
| WrappedResourceRequest wrapped(request);
|
|
|
| const WebApplicationCacheHost* spawningHost = 0;
|
| - LocalFrame* spawningFrame = frame.tree().parent();
|
| - if (!spawningFrame)
|
| + Frame* spawningFrame = frame.tree().parent();
|
| + if (!spawningFrame || !spawningFrame->isLocalFrame())
|
| spawningFrame = frame.loader().opener();
|
| - if (!spawningFrame)
|
| + if (!spawningFrame || !spawningFrame->isLocalFrame())
|
| spawningFrame = &frame;
|
| - if (DocumentLoader* spawningDocLoader = spawningFrame->loader().documentLoader())
|
| + if (DocumentLoader* spawningDocLoader = toLocalFrame(spawningFrame)->loader().documentLoader())
|
| spawningHost = spawningDocLoader->applicationCacheHost() ? spawningDocLoader->applicationCacheHost()->m_host.get() : 0;
|
|
|
| m_host->willStartMainResourceRequest(wrapped, spawningHost);
|
|
|