void QtBuiltinBundlePage::didClearWindowForFrame(WKBundleFrameRef frame, WKBundleScriptWorldRef world) { if (!WKBundleFrameIsMainFrame(frame) || WKBundleScriptWorldNormalWorld() != world) return; JSGlobalContextRef context = WKBundleFrameGetJavaScriptContextForWorld(frame, world); registerNavigatorQtObject(context); }
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"); }
virtual void initialize(WKBundleRef bundle, WKTypeRef userData) { assert(WKGetTypeID(userData) == WKBundlePageGroupGetTypeID()); WKBundlePageGroupRef pageGroup = static_cast<WKBundlePageGroupRef>(userData); WKRetainPtr<WKStringRef> source(AdoptWK, WKStringCreateWithUTF8CString("alert('an alert');")); WKBundleAddUserScript(bundle, pageGroup, WKBundleScriptWorldNormalWorld(), source.get(), 0, 0, 0, kWKInjectAtDocumentStart, kWKInjectInAllFrames); }
void QtBuiltinBundlePage::didClearWindowForFrame(WKBundleFrameRef frame, WKBundleScriptWorldRef world) { if (!WKBundleFrameIsMainFrame(frame) || WKBundleScriptWorldNormalWorld() != world) return; JSGlobalContextRef context = WKBundleFrameGetJavaScriptContextForWorld(frame, world); registerNavigatorQtObject(context); #ifdef HAVE_WEBCHANNEL registerNavigatorQtWebChannelTransportObject(context); #endif }
void InjectedBundlePage::didClearWindowForFrame(WKBundleFrameRef frame, WKBundleScriptWorldRef world) { if (!InjectedBundle::shared().isTestRunning()) return; if (WKBundleScriptWorldNormalWorld() != world) return; JSGlobalContextRef context = WKBundleFrameGetJavaScriptContextForWorld(frame, world); JSObjectRef window = JSContextGetGlobalObject(context); JSValueRef exception = 0; InjectedBundle::shared().layoutTestController()->makeWindowObject(context, window, &exception); InjectedBundle::shared().gcController()->makeWindowObject(context, window, &exception); InjectedBundle::shared().eventSendingController()->makeWindowObject(context, window, &exception); }
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"); }