diff --git a/web/webkit/src/main/scala/net/liftweb/http/LiftMerge.scala b/web/webkit/src/main/scala/net/liftweb/http/LiftMerge.scala index 07605e1af9..8945fe1546 100644 --- a/web/webkit/src/main/scala/net/liftweb/http/LiftMerge.scala +++ b/web/webkit/src/main/scala/net/liftweb/http/LiftMerge.scala @@ -196,12 +196,6 @@ private[http] trait LiftMerge { headChildren += nl } - for { - e <- S.cometAtEnd() - } { - _fixHtml(e, true, false, false, true, false, false, true, false) - } - // Appends ajax script to body if (LiftRules.autoIncludeAjaxCalc.vend().apply(this)) { bodyChildren += diff --git a/web/webkit/src/main/scala/net/liftweb/http/LiftSession.scala b/web/webkit/src/main/scala/net/liftweb/http/LiftSession.scala index 09926b2bac..460fd00528 100644 --- a/web/webkit/src/main/scala/net/liftweb/http/LiftSession.scala +++ b/web/webkit/src/main/scala/net/liftweb/http/LiftSession.scala @@ -2356,9 +2356,7 @@ class LiftSession(private[http] val _contextPath: String, val uniqueId: String, ca ! PerformSetupComet2(Empty) - val node: Elem = ca.buildSpan(NodeSeq.Empty) - - S.addCometAtEnd(node) + S.addComet(ca) ca ! SetDeltaPruner(lastWhenDeltaPruner) @@ -2828,9 +2826,7 @@ class LiftSession(private[http] val _contextPath: String, val uniqueId: String, ca ! SetDeltaPruner(lastWhenDeltaPruner) - val node: Elem = ca.buildSpan(NodeSeq.Empty) - - S.addCometAtEnd(node) + S.addComet(ca) val currentReq: Box[Req] = S.request.map(_.snapshot) diff --git a/web/webkit/src/main/scala/net/liftweb/http/S.scala b/web/webkit/src/main/scala/net/liftweb/http/S.scala index d2c409a797..b65f87d63f 100644 --- a/web/webkit/src/main/scala/net/liftweb/http/S.scala +++ b/web/webkit/src/main/scala/net/liftweb/http/S.scala @@ -362,7 +362,11 @@ trait S extends HasParams with Loggable with UserAgentCalculator { */ private object _tailTags extends TransientRequestVar(new ListBuffer[Elem]) - private object _cometTags extends TransientRequestVar(new ListBuffer[Elem]) + // Set of CometVersionPairs for comets that should be tracked on + // the page that is currently being rendered or that called this AJAX + // callback. + private[http] object requestCometVersions extends TransientRequestVar[Set[CometVersionPair]](Set.empty) + private object p_queryLog extends TransientRequestVar(new ListBuffer[(String, Long)]) private object p_notice extends TransientRequestVar(new ListBuffer[(NoticeType.Value, NodeSeq, Box[String])]) @@ -797,14 +801,12 @@ trait S extends HasParams with Loggable with UserAgentCalculator { */ def atEndOfBody(): List[Elem] = _tailTags.is.toList - def addCometAtEnd(elem: Elem): Unit = _cometTags.is += elem - - // Set of CometVersionPairs for comets that should be tracked on - // the page that is currently being rendered or that called this AJAX - // callback. - private[http] object requestCometVersions extends TransientRequestVar[Set[CometVersionPair]](Set.empty) - - private def trackComet(cometActor: LiftCometActor) = { + /** + * Add a comet to the list of comets that should be registered to + * receive updates on the page currently being rendered or on the page + * that invoked the currently running callback. + */ + def addComet(cometActor: LiftCometActor): Unit = { requestCometVersions.set( requestCometVersions.is + CVP(cometActor.uniqueId, cometActor.lastListenerTime) ) @@ -832,7 +834,7 @@ trait S extends HasParams with Loggable with UserAgentCalculator { cometActor <- session.findOrCreateComet(cometType, cometName, cometHtml, cometAttributes) } yield { if (receiveUpdatesOnPage) - trackComet(cometActor) + addComet(cometActor) cometActor } @@ -859,14 +861,12 @@ trait S extends HasParams with Loggable with UserAgentCalculator { cometActor <- session.findOrCreateComet[T](cometName, cometHtml, cometAttributes) } yield { if (receiveUpdatesOnPage) - trackComet(cometActor) + addComet(cometActor) cometActor } } - def cometAtEnd(): List[Elem] = _cometTags.is.toList - /** * Sometimes it's helpful to accumute JavaScript as part of servicing * a request. For example, you may want to accumulate the JavaScript