| 33 | namespace inliner |
| 34 | { |
| 35 | Handler::Handler(const TSIOBufferReader r, ats::io::IOSinkPointer &&i) |
| 36 | : ioSink_(std::move(i)), |
| 37 | sink_(ioSink_->branch()), |
| 38 | sink2_(sink_->branch()), |
| 39 | reader_(TSIOBufferReaderClone(r)), |
| 40 | counter_(0), |
| 41 | abort_(false) |
| 42 | { |
| 43 | assert(ioSink_); |
| 44 | assert(sink_); |
| 45 | assert(sink_->data_); |
| 46 | assert(sink2_); |
| 47 | assert(sink2_->data_); |
| 48 | assert(reader_ != nullptr); |
| 49 | *sink_ << "<script>" |
| 50 | "var a=document,b=a.getElementsByTagName(\"img\"),c=b.length,w=window,d=function(){var " |
| 51 | "m=w.addEventListener,n=w.attachEvent;return " |
| 52 | "m?function(k){m(\"load\",k)}:n?function(k){n(\"onload\",k)}:function(k){k()}}(),e=function(){var " |
| 53 | "m=window,n=a.documentElement,k=a.getElementsByTagName(\"body\")[0];return " |
| 54 | "function(l){l=l.getBoundingClientRect();return " |
| 55 | "0<=l.top&&0<=l.left&&l.bottom<=(m.innerHeight||n.clientHeight||k.clientHeight)&&l.right<=(m.innerWidth||n." |
| 56 | "clientWidth||k.clientWidth)}}();function f(m,n){var k=new Image;k.onload=function(){k=null;n(m)};k.src=m}function " |
| 57 | "g(m,n){var k,l;for(k=0;k<c;++k)l=b[k],0===l.className.indexOf(m+\" \")&&n(l)}function " |
| 58 | "h(m,n){f(n,function(k){g(m,function(l){l.src=k})})}function i(m,n){function k(k){var " |
| 59 | "l;for(l=0;l<q;l++)p[l].src=k}var " |
| 60 | "l=!1,p=[],q;g(m,function(k){l|=e(k);p.push(k)});q=p.length;l?f(n,k):d(function(){f(n,k)})};" |
| 61 | "</script>"; |
| 62 | } |
| 63 | |
| 64 | size_t |
| 65 | Handler::bypass(const size_t s, const size_t o) |
nothing calls this directly
no test coverage detected