void DOMWindowExtensionBasic::willDestroyGlobalObjectForDOMWindowExtension(WKBundleDOMWindowExtensionRef extension) { m_numberOfDestroyedExtensions++; updateExtensionStateRecord(extension, Destroyed); sendBundleMessage("WillDestroyGlobalObjectForDOMWindowExtension called"); if (m_numberOfDestroyedExtensions == 6) { sendExtensionStateMessage(); sendBundleMessage("TestComplete"); } WKRelease(extension); }
void DOMWindowExtensionNoCache::willDestroyGlobalObjectForDOMWindowExtension(WKBundleDOMWindowExtensionRef extension) { sendBundleMessage("WillDestroyDOMWindowExtensionToGlobalObject called"); updateExtensionStateRecord(extension, Destroyed); m_extensionToRecordMap.remove(extension); WKRelease(extension); }
void DOMWindowExtensionNoCache::globalObjectIsAvailableForFrame(WKBundleFrameRef frame, WKBundleScriptWorldRef world) { WKBundleDOMWindowExtensionRef extension = WKBundleDOMWindowExtensionCreate(frame, world); int index = 0; bool standard; standard = world == WKBundleScriptWorldNormalWorld(); bool mainFrame = !WKBundleFrameGetParentFrame(frame); switch (m_numberMainFrameLoads) { case 0: index = mainFrame ? (standard ? 0 : 1) : (standard ? 2 : 3); break; case 1: index = standard ? 4 : 5; break; case 2: index = mainFrame ? (standard ? 6 : 7) : (standard ? 8 : 9); break; default: ASSERT_NOT_REACHED(); break; } m_extensionToRecordMap.set(extension, index); updateExtensionStateRecord(extension, Connected); sendBundleMessage("GlobalObjectIsAvailableForFrame called"); }
void DOMWindowExtensionBasic::willDestroyPage(WKBundleRef, WKBundlePageRef) { HashMap<WKBundleDOMWindowExtensionRef, int>::iterator it = m_extensionToRecordMap.begin(); HashMap<WKBundleDOMWindowExtensionRef, int>::iterator end = m_extensionToRecordMap.end(); for (; it != end; ++it) { updateExtensionStateRecord(it->key, Removed); WKRelease(it->key); } m_extensionToRecordMap.clear(); sendExtensionStateMessage(); sendBundleMessage("TestComplete"); }
void DOMWindowExtensionBasic::didCreateGlobalObjectForFrame(WKBundleFrameRef frame, WKBundleScriptWorldRef world) { WKBundleDOMWindowExtensionRef extension = WKBundleDOMWindowExtensionCreate(frame, world); int index; bool standard; standard = world == WKBundleScriptWorldNormalWorld(); if (WKBundleFrameGetParentFrame(frame)) index = standard ? 2 : 3; else index = m_finishedOneMainFrameLoad ? (standard ? 4 : 5) : (standard ? 0 : 1); m_extensionToRecordMap.set(extension, index); updateExtensionStateRecord(extension, Connected); sendBundleMessage("DidCreateGlobalObjectForFrame called"); }
void DOMWindowExtensionBasic::didReconnectDOMWindowExtensionToGlobalObject(WKBundleDOMWindowExtensionRef extension) { updateExtensionStateRecord(extension, Connected); sendBundleMessage("DidReconnectDOMWindowExtensionToGlobalObject called"); }
void DOMWindowExtensionBasic::willDisconnectDOMWindowExtensionFromGlobalObject(WKBundleDOMWindowExtensionRef extension) { updateExtensionStateRecord(extension, Disconnected); sendBundleMessage("WillDisconnectDOMWindowExtensionFromGlobalObject called"); }