From 1b29dfb8abd31c1e5339aef202e2c618bbddc9ad Mon Sep 17 00:00:00 2001 From: Rahul Sharma Date: Mon, 1 Aug 2016 16:25:08 +0530 Subject: [PATCH] Dispatch events to service worker object and refactor html tests --- .../script/dom/serviceworkercontainer.rs | 4 ++- .../script/dom/serviceworkerglobalscope.rs | 9 ++++-- tests/html/service-worker/assets/tty.gif | Bin 62998 -> 0 bytes tests/html/service-worker/dashboard_helper.js | 3 ++ tests/html/service-worker/demo_iframe.html | 2 +- tests/html/service-worker/dummy.js | 1 - tests/html/service-worker/iframe_sw.js | 8 ++++- tests/html/service-worker/index.html | 28 +++++++++++------- tests/html/service-worker/sw.js | 1 - tests/html/service-worker/sw_dashboard.js | 11 +++++-- tests/html/service-worker/sw_profile.js | 9 +++++- 11 files changed, 55 insertions(+), 21 deletions(-) delete mode 100644 tests/html/service-worker/assets/tty.gif create mode 100644 tests/html/service-worker/dashboard_helper.js delete mode 100644 tests/html/service-worker/dummy.js diff --git a/components/script/dom/serviceworkercontainer.rs b/components/script/dom/serviceworkercontainer.rs index 17fea7100be..4487c064fe1 100644 --- a/components/script/dom/serviceworkercontainer.rs +++ b/components/script/dom/serviceworkercontainer.rs @@ -6,6 +6,7 @@ use dom::bindings::codegen::Bindings::ServiceWorkerContainerBinding::Registratio use dom::bindings::codegen::Bindings::ServiceWorkerContainerBinding::{ServiceWorkerContainerMethods, Wrap}; use dom::bindings::error::{Error, Fallible}; use dom::bindings::global::GlobalRef; +use dom::bindings::inheritance::Castable; use dom::bindings::js::{JS, MutNullableHeap, Root}; use dom::bindings::reflector::{Reflectable, reflect_dom_object}; use dom::bindings::str::USVString; @@ -41,7 +42,8 @@ pub trait Controllable { impl Controllable for ServiceWorkerContainer { fn set_controller(&self, active_worker: &ServiceWorker) { - self.controller.set(Some(active_worker)) + self.controller.set(Some(active_worker)); + self.upcast::().fire_simple_event("controllerchange"); } } diff --git a/components/script/dom/serviceworkerglobalscope.rs b/components/script/dom/serviceworkerglobalscope.rs index c6a238ac10f..dc8a8788a61 100644 --- a/components/script/dom/serviceworkerglobalscope.rs +++ b/components/script/dom/serviceworkerglobalscope.rs @@ -15,6 +15,7 @@ use dom::bindings::js::{Root, RootCollection}; use dom::bindings::refcounted::LiveDOMReferences; use dom::bindings::reflector::Reflectable; use dom::bindings::str::DOMString; +use dom::eventtarget::EventTarget; use dom::messageevent::MessageEvent; use dom::serviceworker::TrustedServiceWorkerAddress; use dom::workerglobalscope::WorkerGlobalScope; @@ -161,11 +162,9 @@ impl ServiceWorkerGlobalScope { let (devtools_mpsc_chan, devtools_mpsc_port) = channel(); ROUTER.route_ipc_receiver_to_mpsc_sender(devtools_receiver, devtools_mpsc_chan); - // TODO XXXcreativcoder use this timer_ipc_port, when we have a service worker instance here let (timer_ipc_chan, _timer_ipc_port) = ipc::channel().unwrap(); let (timer_chan, timer_port) = channel(); - let global = ServiceWorkerGlobalScope::new( init, url, pipeline_id, devtools_mpsc_port, runtime, own_sender, receiver, @@ -178,7 +177,6 @@ impl ServiceWorkerGlobalScope { } scope.execute_script(DOMString::from(source)); - // Service workers are time limited spawn_named("SWTimeoutThread".to_owned(), move || { let sw_lifetime_timeout = PREFS.get("dom.serviceworker.timeout_seconds").as_u64().unwrap(); @@ -186,6 +184,7 @@ impl ServiceWorkerGlobalScope { let _ = timer_chan.send(()); }); + scope.upcast::().fire_simple_event("activate"); let reporter_name = format!("service-worker-reporter-{}", random::()); scope.mem_profiler_chan().run_with_memory_reporting(|| { while let Ok(event) = global.receive_event() { @@ -250,6 +249,10 @@ impl ServiceWorkerGlobalScope { reports_chan.send(reports); }, Response(mediator) => { + // TODO XXXcreativcoder This will eventually use a FetchEvent interface to fire event + // when we have the Request and Response dom api's implemented + // https://slightlyoff.github.io/ServiceWorker/spec/service_worker_1/index.html#fetch-event-section + self.upcast::().fire_simple_event("fetch"); let _ = mediator.response_chan.send(None); } } diff --git a/tests/html/service-worker/assets/tty.gif b/tests/html/service-worker/assets/tty.gif deleted file mode 100644 index 7c9b2c26c6582c8e26418ceb5c387d3fe5f9907e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 62998 zcmdSAS5#C@*Dktfx}nKANf4DRSwyl8G|=QAp@{+_AW1|rs10hWG11%L(0TS&dN`DTZoDEF6A8&8ZJp%UfJ7%viI)Y%K&>U=K`bf zfK&RYQ2MJyQj~N8uj3TPc;<_x7hHSEC91>b=M(%eMZSE?+;6ylaX};#w z^W(Mf;WG8&xAGIUdCLVefy3eI>guWp6&-C&JsoX*eSKr3p}Dy^(#XK-skybK#oL#r zHa0f)w$B|M9Ubg#-CSK9UU|5?yZih5`+9r2zqAk1q>0d_i8rK8LDHt1(#0Dw=2_4e zTG4;BVW_ZWtgvUTvSX~VXDoejFUd(R)I~est$*nsAPDuA&me%`I9R|eT=Z$Av}4di zJCu-RtcZ1jsBM~L_|b*C?+mCG9fNHAtB*?a$?5&l#GmwoUHW1ylix4aYSxeYH3YeQDuI9eo0aO z$Kt}$($eaRk9E}*#q}-K)zvKxb#2WJpIV!0+CFu4v|_tE>N~nxx;_u~ejXX@#SRP% z^!HAV4$XWSTbP+#S(urbo*Ww=U0YdP|F*KZ{%vPt?dR_1&%Ldq{q57^gVU4ai_@cv zi{IDRSO3J(|1X<67ho{)U(N5}2)w;)Je*yDJAX*Dl=Pn{%IheJ3JT-n{r$-QAJhIb zVE`x&@E~GARONI9L23BR`m1t3hfv;A%Rp4;^+Yf}a9HZE&hLw1R}5!Sttl8t;CWJN zHc(SIlp_3WFhjMrXe3?Y_0G~j?T4{!SP(I*T3zu(J|cn7e6X(M%Lko&wM@18(&>-L zT8HJq`j4}fmY>5})f>v@YwbyTiF587B}p>+@XAc6&K9t?cn?Hfd9JU7mQ%Vr6~Z4k1zxT!7Q_pg00HcNg#Jn5FII&rTi7>vUX>5g{VTOCx-J2>^hQLh9br6QH z;5h)&n|jOW?fNaUxU~^t zs5{AQd0-Ze(bQc?ik}&QCI$K-dmbkgoNMoM{%FnHyunO9P=1GX$`pP>=T2gEOZEuP z-?o$u+14p^(sABR*c9)lRxiDse(0y((TE4%Zqt1w8Vt za~-e;9Y=&KRp&!hJSYsNM2{z7DbEqIecZ{y6{&;qHJ1SJIDomlAx@mPROh^+q?!t= zP;)3A9!S5bCAHWp0|ugl6xr`p_j7&RtLcyaJ?oG;BC?2IysoE0Bq1f04P-5essJ7W z1kP|HiCY7x7O@f%9`dP~P~uX$*a&`l8A>5IUzPn(3@GjpB3MAHQ_e|M<)%(I$7DiC zG+hq@7#iL6I%#S;^I&|91=NFWd{bQ!pRMYY<^)NMHsSqE!oPKBIgxtHFkaU<5`GS| zco)o2vjobF%Iy6RQNrAFJhX0I>EHkQLf&)5@%jv($z~pL|D%E;cXz|Bj5UYbA<$a37viVV}^S>yz1cdPE*r>WH-OrH%^VdyIHQY?Q<% z^78MhbZ8jP?!{6=$$e>?vDMr)Us|Jvpp>}B z3nL^Y_~CLpH#t*Snf{mc)NLEXCU zV9|)<_9G)I_5?wxBRTlOudH+2@CUh`_y{FFaI%ICN#rUh9GbI6-%tgwrUzvnFDW=y z!2o_YDgyHU#l5}ox;10H%W+z_{tj|tjnvvspMOtP_ zs6N+y36G16#6DH%QBp6?0jQ8{>anX}L!B;sk0S^n?dk`LTzS0F3vqMgniEBA zS@DbyNVnry6dQ&^!z`-tAqZFY*C-TzMo!Vn;aythy%!WT_aNU36d>ix3Zil6Lmtk; zBvh0M_n4^(sNKT}_|lc=WE^i9CIWavt#J3-c*<^IrZZ&Ui?IPlMCO4Zv9z93q_caLLvga9xc|$@IB1)ZY)S@x( zhd>kAxU|{f4e{2C5!dM2j7^PAsl|&?@6p<<-@}`7R~KU_^17UPjR<+>%Q1{xT^_@m zE%<}WiCDwh{Ck?)YNnTysiSp86y_0{ewSZdvXuB>nmc-%&GZQ~w==hB0|?75r>lw* zK0dqIfsS9!P*t6ldyVW`TwTuA5S&$d2<#!pZq4+)^{9!^+ZN*liN~FUvIwpOg5E|T% z3&4xC1U@tHsQ3sazHyCez5XE_(>!da^($@hdP8EYdDLt4SJu__CXAwGJVfi{{btJ+ zqSAXZh5SVCT49~*vCrU}E|RChH#^9&mYK%U(+a|)dp_bZ2@eM?3Aax$p(xU;{Tj+nyhODpcQDyDtUPWx(M5qDNa zFC*Ll!|*!c{dn3Sbr7O`y~h0KykEQHIOVBJS5N@)_y+~XqS5Oe(?6GUV;yIWxUo0Y z2@30pp>ii5Rzoe?+OM{>KV8m_;m%s0UKMjoejEFPyIlN(J0JUm`z_?PoN&#+J4=$< z_YRCi5qP7ZsVHKk(-9$xZ`PNDF@RbkfEF1*AL@rwaqDpPVVDbGI}c!I47`i*%C^+x z3MDS7A}+Qh=C>!lcOEFr7$hnYBzEpr7)$aqF6d{q;lsHgx$__xBbt@RxiBY4xj#rD z6|L5U)|f*d8nG!i1vRds^^q7uZwzwFM~M-mmx{4C$5=83TO&P9`!O3Lm}jZM4o$&M zbHNXcg3UtFE)pT`$PiEakb<0twmczTb0KffLr}%&LICqBG&sOJ6c?Hr8jcKbWyJV5 zg~l?5#Y=>3&xWelhbE?mr8R|RApIWM2iwhs79kDBzpdq?lhMIX!sJv!IfJ&!&?#+>zs zQgBA6c*k7N#o(IW&Cg-}NW_ATV;31>52~XGnqx`lW2?EN%p^#fR%2<6xUq%K^< z2O^~}5@1Y;pMvABcoLO;5)s>gka42we4>_Qg6u`2o@5eNb7JdOg8us?ljc~sPm<|H zlBH_wwnUVbakA}2v|&jU(kIzzK6#2U$%QG!Z9CFcGR4y;r9Cwn6qe#YpE6M#6Wx^j zRx%aM6!r~~jCr3LUK09DGA808HTFe_@B7$5ruWG{?=6rism<>*d@xZ=shLb^c?0MK z-iUmkv|`nuwD)Oc^J#2NX%$TAH6^GcXsUx`dei%K0>$+K@5$m23#RNdpX`v7xOSg}^Z9I?s*lN+^u&v7ut|>nYzAm2i=ZWk zw8f);K8NyF?nBAQB;H(l-&}E{wCk{3mW5pCY|@YI+`CeFS7$jKzIi-SiL_~X{0n(} zY2kD`d7{2~TvGYse0ke*S$BN%Wu)?oQ*)RX@)ZVi9!eD`JLD+&7N{*`tF{zq5oc>& z7U*4O>Pi(F@?}EbXBxE>9vK&!T^4@YF0_;?s^KlN@hvKOQDomzlv`5dbXk$=F&QSDe*1 zSj|3^dW*S+<0^#Aw1#IfBp@ZnZVOk%dsXvZvPM|C_Jw`5m|rc4eXT@mZ7XlB%vG&c zaV<=`?u@$*?pL>y;;0-^r!n*94mHjsFi`L(v(f8Dm7+IrRM&k%hsmD6e3=4XW7fu{Ag zwt0oL!FFnfncD@8TPIE1$#H7!GwJObDXj~O?bW^QE6g2gVeMpEyHl4ky)2vTaVacj|FM1B}*@_bgzwBjjez0o%CLZ;cBO)UdF3lSB+{nnLbL> zKF_u)?~Fb|lDv+AKHSfU92(O8jor2&js7*}tdo+SP_zE~r)^Oz{W1Riab@k@>H|qm z?S2^pr!4~+ER|W;1N*lI^D-(5%m&we2a8E7O4|mP76vOK%d1$1rlf}INXv~gDjQ`! zt+x&pISzG1mNmEKcMX4PHyh4OFO&}-Ch;F0_HXXI9&WfbGD-Sz%50?6cVy0~bfIk| zZ((F*sbrO9^u5&Rx>?DF|7cv==+08{-qL8u<>;YI@v+R5rAfpCk&;A-wjXPcN%AR zu4k5=)H0dmD#sPDX}0mQj^ACL)VQ7$zQKyhe$g}gB5vLzk@-bBVp7IAU+(6M=&dP* z@#P)+Gd=}`&@2j-muKN$yTYE&%)Jaz4t4<+Gio*V{b=l-wsa(2+ZMy4`9rD zO`_()1f~lX=N>H1#yV%CWaovX=ggevc}(ZiqI&t$=QG=TZOmtKHETi!<_cx2O}(c} z_UFo$7aZH>EXfvK{O4*l7hmx&Mn*0&46&^HEVh*|%!e&>2~-7zW@62ka68r2AD1Xw zCv*0f2yjF5ld@F-jnioJW#WkWp|a&1Gq%e8o|+jl>y zHL_i$|YC6zq$Ahi%wCHTlX|xR~Ae;&0J^1ed8WoPYz$#8BM;B{qdn? z-Ej0{cJrcfN2$Tek1W0)mK{l(w^pC66vynY+jW$x-T&rz@Z$k)LofV?+vtdc#pV*r zrgudF&bnh$^Ww+b(KQyft=+Os^l1Kb@}-dI;;_*l5n9FJ3!5<=2{Dda335}(Z?}~* zx6`twyjHeD`L=U9N;2ej`IHwNBLcCYN=!uG~Tlg8xsfAj9o2qsTw?d!DcFGXh! zUax@h#yCHQm1^782J zS6teq#W8#3Ax}*H#n#b%?E;h9X?EN(R_j-M?r{BQKTkl=Uc z9;xTyk3%BAo;#nP$Hr6zJ-#sJy-0o>oSJ<>YI>3Jr#S1+#XGjkyqLuFrjzEO z!#Ii{o9yMWm&eVIZw!oYX0+o+vv2M+-7NhH@Ug%88uNbTF^+)|ck3lC!x*=t9kBNm zM}3Yv%&wh#{D(XYC;0Nu8qwX3!oKC<3 zo2vW0SFhRi4VdY8raX#MGYkG+?}u8lfO!X+>B)vh+C%3R?E5F1T3NDhaNt||Tbg=z zqTaGd>Tl~6X=ch{ZW-+8ml~8?^rRW=8kQHxutDA@?jmcRk7OyO8}6GlI4^f#h8k#* zaU9=QdeV)4T6Da*!9iG%!ZXe8aSN;&$Rq3CDAvcpEXKz+;YwuRsnv~t*^Xw)zQYl) znw;1NV#w^cGEGh$X3EV!1+%8-y=W`)w@jWXY3Q=0J!1-UE?ti^~g%f^@ zySe#8DBPKN@|j-_j{+_%4`Hy0>D*^T3o8(D7YK_Jl9dT7l090lQtT2u5r$K#a8$#) z1@Di;>5Ocul^D!HM@md~1=Y&T&+0@}SiRPDyY*a}_qy0ZIBF30K7T$!aHiPQsD6)k z7ggi^P(Url^ARhmF3>o&8$ejGE~+8Y$MLK5b`Z8o%>rEQU5Q=n z18v#uw%6K^|A58RhqTlm=qOSs)gda!HR^O#ZkJbUBe)CeCZU}5Vox+5)mP@5cDPmO zXsK}4>mQAR4WxB7pVu20C44?HFt#hKuNTs#tuZwB`jJ$N^n-{at^VxrAWVam#EqX{ zNF|Iv&&G%^)V@t>FmbHhFPUF3>}fE4`6;RdY1hTsX!hD*hbKjUM7q)3>uc0jpLQdr z(ZcU1U8srw?;nqh-&{c?R!s;CjVyyG$j_dl8Em~LZ_hq&v07Grq_Y1t$`1YKx&KL^Z;p} zA45K2{r5oB@&fuMdhSKZ2LfTc(#qaTsgJcAEsn^5wmHY@zL{HV#RJOH&d67%Nax0{ z!BO^U--=pY=5vC_T-two#yEHUA!w_0@5+*P{Y>$4&#LwbyzNyVUiy88?ssq7+=hPg zIUSh^ZMMDMn<86$J)!dG^>MeVitOo!2E%rbS!3%Pk9oT>9?ylBeK&U&UvIYm4)pvj zd%hIF(BVCQv@+)XBZd3r(fa!kHs8XC=nmf>adu0-`){<3el;`_X1i;*Q+)DY_`&(r z|J3xh|MuzE-`7@Oeg%KRjcPKzVEDbidHdDgOG(2&;LxTg=gufXu-O%^I0Qzpp!w>` z(GonNEJI{iWlLLUNnj8xPv$9X!*XH?6(LZdN{+R}RWsr)Z+u+Ll!>&d`$?H_bArvS1J%sl_FTvExul$Qx&+ZXHdO(!Bm$D4;pQ z;yf>PY)OyLy;=Ra;FtH~SgxdK)sd&5FX^+xwi4-eBQ~C27~19_5*=e6d&Da>$)5o^9?~MsYx=W#PlODm#TqU?pw9Gv<~|%wdXB47~F%x2R*!j&_T`D zMNbMOA$%x@(ur__>EhG*ZPj+BFZtpga*E~-x|vc2C$Q6uM}-cC6VLP<91=@RAiG|o zJDUFF56bLLwbaekW-9Zh%O_QL)PG$Vwy1q5l1*|jKUKqJWP+Zh!2f38Ag$@ne5V=C ztWMUipCFsN^{Zo+qj=>?HT>_=*Q7ird*&Q&FzlK9(BUDE@B|ZbEP3XE>S^Jl^a0~9 z4QCH9=DW(~(xzkHcausGKlnAPiH+Bi8$K;-@N)T$Spc(5@l+M+e+DAf*k+rTi>cya1;x#@J1R@8{N40Ud1n2qO98VQxzCT=OYeEXFFc{ z0G?jWm?IbY`qTE8s9A;Z7~25iPN$;hkT%PjDu#kD5aA%sVLHMf_j;OM*Pxqu%}YK; zVTx6KF#X-NC^$Qah@Cu)CeIpOm3oIuS;QWu@gB#-UC{fYS;SZjMk$2Z?3FZ(h#=Ja z=5ThmNZJz?1JQfNMFH;TlRu8nZi~OI-OQ^Nte%kI^t=<=%+4=@j55i0DuK+Y1;-@&e2X5$P?T@UNlW(W zde$Xyi$3F@Wt`MY7PEL8X)E$l2@h&jY1Lj5VZPNp^+DOA)S%tLu(4&T=&i@c=d!!{ zpQL8$dh5%aGaW6mFJ}sZPs_Ymcc0R<&bA3QR3^P~vaR%G7{fiR$dB54@n~_OsRJTp zlj&^X?#Hp9^-##g%Hd@MbLRNlv-;_F7f)Q{;&S;$L*sXW1E+kG#kIGd?HICsuiq^T zHw5RUuj6(CcJo$uM7=v5+g&a5eP_ujylbw^UCo6|zcD;|*dx;MD%xx5ds(t~Khw&~ zuy+{@w^Td?Tby0oJ^dKw--qwwAGo}G%{!gPmcL*??e z!8^ajv4b$bU4;!#?nf&}7Qfp!Zw?mDe7-{7{Y?9{e7M|jHAwO47<(VLB=@KFE9YbH zcILm?&KQ{=4?g(}Yp)z<5VmjrX1naThg&&{dL-NYGV6Ts%4{o}L3Z2frI-EhZW^b* zdD)VztEvRq-A_iBKXpa?^|w~e`&4lA=@lN;_ny*eXusvP4)gdJ^JY(-P>!!D%YQdT z_EN`7>eok#x8;w`uT?g0eveU{{cQYt^JGl+WJLSz>Vw-?n%YWp30dzhLT>-rvXjD* ze7eS$)?@E%RD_*ewVdF8%9n=dr9zBjJBbQ9iR(H^u$`n+on-5sGtw}qz~htFL5*yQO@azn7l{F&)%nQlR9Rp=@5)Yw6w}g6_A3_uJO>1l!0s zwIPCRl%n*N!`u49{gr20l`(C-L1u_ZnE{lI^5Vz7x9$Te>u_V#!21H#H~K0**nx~G zRnNBWO#MfC_5*3OgSi}od18Y)`aNObfdGD0I}OzYxNMw8|J1X7`;(qtKZF%adz_f6 zF;=a3Pc2>_QPL*aW2zi~qLyT%_Ka55E>fwcpuhYY(VT&3*b{e_8EnJ$%Fm5k0++1SnA7$&j5S9-)g1I=aMV+cdtHkU*q^ziA%xdn9k zYH@**TMbf_&_7EP31!2hv_&^3y4)kZYi+viXp9sv%5xrwa0hfk;pCZc=rsJ%G@Oj} zOAqO=hm#^V%YmSy*nLZ)K=u22`~$uw*d0 zq}Ru6Xc3A5Pz(6`llq~kkLF{J^`;+sG}>6lpN%Zom>X~wnz;TLvoRlWQ(8!=gCM;@ z_>2KU?0CkOI;P%e0EU7V2O4{$r20{y&_HArM5GwBiiY3-6vWgUC0PYPiUX0USY%V6 z;ko9j6GrHSS1sygg~phL+TN#IcU}`hyVaUQ7Bc*Nd#rJ zN=_wf4tQB3z`}A;B@}=H);7-}eC;?(K`20o0#tSIfJ1-;0U@-Uv8aOJRsF4=fe5Qm z2molU4V21R1gcQ?fp4?~h6mv@;^J1ca^I-MH6_m$^fRX=H&!2so7r$0z-$MIf>n)E z1Gz#m`hP2aRexJx4ILiQhQ3`|#u(bNev8OL5tYbl57Y7~DpL4b@> zF%HpKxXzq0P6ER@z5*ZDl0E#&dHB`16YYol@v3Zntgo&Sx@1^oGITOb+Z| z(FpThy2zeBdRorbin*D%WZE>=X^xc(nf_qi)Rbu{svHwRTXRk z8PC~F-q=h8i$6-vVmvT7p%9jh+Mk0vjV6dv9-yP##Zk z?jE}?q@%j*=yfynUiqBtT+kk79x)7lOAm4{f}dfqO5;I@r65!X+!Tr72*qj^KQ%%G zx<%{%eL>Vsm?9u=EWm-{=mWFBW4bNI9w*C=DcKHt`5Bk;j_)$ITL))5=!PxIhG(QJ z`g82=Ki!`44Du&w|?V|p?Bumf28$t+sNzb(#j&nU0|9Ontp?Z828f-5mXJDlH z^H9*SLTPDNu5VHkvYG*=wqFO%M|dcM*8Ne?OiU;JvKHGOJNKv#B@Xzep@rZW)tbAD zh=d4M0fgtfrpb=RP<-B;qc>A~qXfT%2`6CA!zl9&thmYq*Qk^7EZh>k+J;G;?}if*6Ldr)*KHD0CP7O z1Ef}{cn9j<-XXY+(&7xz;W0Jag3uiPv}l3=I+CSDrg|x7FMgj;e(-$q;mqml3DYNc zH+~ef9wQlQroZ~iG!~>vphafB#{>1^0Y>!!K*k@{jcdSscKNcEInG}MRzn|ld!oq5 zmWTH}iIpLnw7-H>ytg=B_ky(^KK}LE-`kkd#8?8u(QjeE^VQ_g&KP)lWB~dp`_;I~ z*0fVGdV17^-A+@&PBjq{pM;fQ0OgNtpw8w~rt$adCXA6M6560YBVbN@%blW=02LMO zbBNv}52v3e4niKz+KyUAmrfxsFKka)JGsq9UV>K_SX0p!s6a$cr7Gp&!^t`5gV|NL?_0#@DId=+xKN+AQuXv zk6dRZd@jIfzBZ+^N{i1Mi_t=%zO)AdIS|~`$Pb!TkgD0z{l8N*3PUaN1JQ>5dv8F$ zAEg?LA%=_!Jiaa%nO@gCUz)w~DCp~pv>o?2f6TrAAO&K`4(5Q(?M|mKs`|Huzgc0ye(Gv2qw)Ld`sMfh**~~V6C7cv1&ENEpC^_fOsX9LS)GiSjDFg#r9;j55rwso=08oN zDNL!L;r8tT#VQ$ngys@Aq&+(X_gOT9`fu5j1YnXVRIr1b5LktU(ayD6QkSK25GaAq zdFO;zzfdDzAye&iTS&XX_SHUa=k)$um33ddfa4keLYVAisU6-!&*@iDn zl^WH$?5Ex5vuJjosBpd#KUiw<`gO2>_2_W5JA_8a5ivFQmqMhm+iC`W}tj|1j+@Pb_I;ltN@X#G&73L6J-sBat->X_-ak+C;Yxdvr8+1u>v6%A(U37Y$e+jajX1-)IS`J_+sl2P z6+paT@}}d^nVyga&7Ri2t`U}(j#;+!e`+DPU>H^KH!Rd)Dt7)bcjm5*0>O2Hf`T~s$o>wj% z*A*Xs*6*BItK;yhD8Xt%G!}TSEo->Nil#|%QX%=xB1aMIp92!%7G_hHiqFi_83r~( z4W6X~H7M%)ouXjwT8ne#a`>M+;bznbTA-z$#pY_4=43qKjhiz-Q#FH3` zjtXpo&%O~nj zamQCCUFOIIIyg<4Pc8E}M zmudBAAfrq??qMLHE3N75W3YP4bBJJ1=k~^`2 z*ySpc5+8+>-Or;+Xi{Was0yZSyF;Y1CC}PR8KPd0OQ(p0^RdODKk_>~4*`0Dw6 zYZ+?lq%B3mIl`wi;mOS3w|Z*^UPZs+XJ#!iQjs`_i}7j8XZ>-m;&mDqgOTB2xi_OC z!-ms~3npE^x0~80Pc0hnXTx!qw?q~0b{yk=0_St1f)`ZBh6Y;QnJi6Ye85%Y;Vi{T zV)UX;w8%A(&;5>I3C$3TTwI95HK%Y;Nv|I0K}1K!8nqvjqLpaEd#sZ!b>)|Ct`YL6 zs)8RBFTzHQt3dP=*IW{xd9}VD-VH2fhwzSuje3+m$=vm~<5de7^=?SW-1g^|S`O3J z!@kZcgh62Vd^-AQ>l^}E9@y8Cu{RY@vVQ%&a`>HhB22F?kG`EpncE>eGTAzx`Ukhl zcC)s}8BM`i8@J+}v`ODA_grGu5;fg4;^e%OjGYW#UcI>RjN`fwB~V_aiFr*u8$DcX zBLDh4xETRsn~slnvf+#nhxpdNgQEW&>yHD}f)oPXqYox~LoSm^m>j-(L`8MU!bux9kxN zetLdVb-CAKFCO2IAbx^Kt`1Y;wqs^q=utDI%R1$MLFG6xrIuV@lDQ@MfKSKZJgGKg zdC%UN#00I@kpBHzz%@u(OE~U@c+W#YXSV<|bDl@dL+w3o>3+55OTjJO^GbrAR_04i zMvoTvD_pHSB9Ue15>^W)c>t z@-=1~@sA!&){g`bWh^a_Hg)wXRRr~bEe;GHwb9c*34BGhytW$H)pmY}QRH9y8;=_J z8zW&#W#;>QcHNu=cK6l35o!Bd_lkFjM87Wk&ibpVPYx#%8$cSaHSFCle+G_=k@>FW z4x*K)sE&Fpvd;TRazL)4Ch4Qha}J8;0X3Xx>Sz89kp!P!Nr-BhURyfhgYzDjx3#Y9 zWlO)hn@2r69%TJ0+mxLR9<2pcXWnSA$oGYh`^$;t(Ufl~J!qMzAcg{enH&%vp!@&9 zc6xN@vB4`-n~LK z6>fjx>!~L^LuwrUo=|k{b`IO)jL9j>56|#rZZlb)GV)M>vy^EJ=dCF*`1$ZVT5)2$ z>Okl-20gVw;R6NAM-Z~}FDmSKY_v)WBT%%;N;_-Jbu;pOZMw|#@rn;hbWgrDnW)I) zoO1{Tm{xRhex!V%$ZLM+8{6!mMDQ|&d4bys)H8~utPYrHP%>xgmprIn-ay%=Cd))kc&yu=~Cqs zgRbXt@cA>Wc>fTfrPCyZ{x(taB_c#X!NRU^rFX8vogg9d;1I(%!or;ZsWAJK7<_y7 zC3e!2PI-J~%K`(XH%`JRicqpH05Bla14(GL2pPWJ1IznbvTWb zSiC5SlOn6wz#xM)Cwp1SrJ6h7Ka7U}F=;BQ_wZw5ldGC` z(v}NIt0gC?Zt06XQ(~^Vkf#VZk?*vYDdXx-&^e;YSBf&m22cdCh@dn`S0VjCK)t$Y zIt+Y_4@6io+bV50T*$L~k-BaqxGD?;uzRx?Q9Yp-(M^=Mj5VR;)FfT+HF~>@)@iUC~m8C-PK|M(ZJe2~6FUO3c^Nh)%cTsMK_lL*3?Y4)188 zIfQSVV_$&cga{4h+?MKu`ob*$1?KkH2_4o1FuNDsVOY5ArROeIZ0Lj_iIjApA!an)on&V zcb*pwRRGi6?;j#|U>ETSx-Si$tP*t17igw2V zu4qD?L(Hk`U5xuTxZdFdS`ryY`FtG|N%cMU!)+(qhkn+I=e=|hhwSf=e3sw)e}~|? zV$JCS!rAw1sFsjm*8nD#!~<-==$nbV5zoTEUp@@&7uk5^yr9-CRz(M3OI(AtV4G6Z zU|A*(NXlKjEff@`tdsjJgPLFzKm~5~^ikC)8V}wQ2@9~_(Uw2aC@%HP$~1^4#$!Yg z!8XMLZ0=!7^z=}F*9JCD`hiW0aWlFBFp`nI> zx-2i*wRA=m?~G5VrotXayQ1kQ6Q zRsow@XmL1D9K&tlJr(VCSC0_yJL2u?BasV;FkSNm2-=C~I$5G>RYOK02fIhkZ;2;* zgii<^M+xI?mwT=8Dc6Vrrvl3OPX{M5LEj8H2et!W?I_}l!?;I8P+BBSG%CSB@-T9S z#~Ao*+~PT(4CrwL0LA()HK=3AT`P)&MSD9v@OS;9+N$T$sx&6tVbML}oaS_4x9OWr z7?WN$GBtm;4y_tpq3#385Pfq_8CsgV^}Cs^IbJ35aHd9qfrA`TAq)cjv!)RIdrc9- zy9JN|M1R+mhX6)3_k>7~$O=kB?AW~x2GbJK-F1R1<@Km)^Q#pU>wZfJCTI7|&?~XT zM)N$JG#-f8g8hR@@^8$CcnknJK>8O`AHWdNo`+#OgP@O-VEsC&-ND^j8kcp2mWqT) z#jrWiLH5to+3Zke5r;c}i!B76PQ`0q@U1A-EXtHLYQ~YZ&`9Bsb0GPPHtHl%g zzZP?Wzx3dNX^HOz<0;}0FfZG2SfB-O2!1t1Pn*RuJKY?@;X>rhUaU2cccMCt^xC<94rRG%2sIjM2 zrs_t7MK{1uFvXsMfDAcFzE?Fx3WO4`rE)&ka%ZCc@iODT#pwQTF%SNF`J-4NHMcN` zhOcbh9$iIEe9thRx_S*pOV4RNoLV)h9L*pfuCbLcaDuF!Le>t#E5<+wq zH1Io>M*qWsZ8x#C)3#CykdmS@T;;BMjxoGT)u5R3LDlaXbzd(iGn(ws-zF!e;tMR; zC9CAJ2=l%?l;(beDna*b9nnW8kKwq6Rm29_6}G?`a1qO z3?*PBhtoD}YRF9#B=h57bxWf_!QR5076WSkW(Act;z_{QW9_{ z=CH@oCiyF<5(AMsMBLf>dPI1DMBF`NAXaAp_Ei7Qco=Ws57@nIgkB)*p2RT`T`I5e zGfr`0co>afu&%;Ad^&a_Ku_m*fI|i(Jdgyqf&yY-#H#CwFDH$O=rZ&bf?)n?c?vOq zFGQ^?yiUTxPzMHyCMXmd2H>mcpAZt_^N$xhc^^&_;^UKc0{94LDHH)7c{hv#$0BA4 zR`xfT>Lb8EcU`0;1zcy@^QkTQ@LxUz;D3AT#=Q*UAMax)yRHK8YfWhT^XV=ou2mi?X65Ff&NJaLtoHc{jY6Ajd|ljJ3%Wu+Pj%N~HoV7B^` zS%ihM6HlVRy_1BNg;G(CNNDMh`8k3T#vMB^TK&i=rBx^fc_0ePn?K_BqqBc3rZ|oKuD#27xE#*ApmaI|*nnCY+w) zBPm+8!0e}SEDuH;JFP_PJG+@3V!!ngi|Ts^YX_-qQ-C7yqAjkI_@%HS zz=D2!1A&pb#KK7D4ncr>8HgXL$ke+jOjOWCw*E|&N#;T9Eq5NS2e1hF&e-}uojfA^ zSDicr?6E=;x$GIKOzAtyl&XK@$QU|CGy?{xsnGx~zn=-?%8mxp68tRTi;sm`9HbJzIOTT-@dMW%R_i+(>6+^U`Gg490TQ`x$|pJ z1iUJ>i-jQfC3`v~*Ba}kv6E7tLy<_d>4QKx8rPO3Z=T+klTwS^HKhK#JSpp5VA}R` zXLP$|N!sg8gsKhQk$Ofl(MFOgygfB?$<9ufz+mq3?J*Dzw+G_r#yxQqr#KTyjIj@+iu%d@Rq(J7J2SV0EAlk#vdU}a7%D*I(E3cQ; zq3~SDqwYa1eIeRPtI-y=KdlI7gfi7QwsgsnA(3o-0BQ z`VQJ9*2*9kkz&PPe*Ww6m~Tq#OCk|CfZPpFu?T}g?pTxLJ}ieU?SaZ0Fy*g(SbAK8 zXAjx>;OK*#Qu{|fmx_GCA?8XM_8aNZkN|DcgFBBQ^3x&ip)=;GjlvC-*1!e)3KR(J zMd@C+%NVFoT(oKsBY%OUq74Fj+x+#DzZTpc2%u0;R(uBbV-FofkBBk^G7hqcvM zfrc!1oak{lX=Rhc6v~NWRULx%V3a!)w`+ME!W2Ban=?RwzqFBMi8Qh%O;#jn9FucM zx$YA5pz<(5RMPQh>-q4X3FT&iau7E^oX%Rb0*nVBlse^=kfF+s9zxC9w#SM;LAn=w zLVma!n;~~`a^i&#QBHS019du7c`HHgJ@>#pv0INpr0H?Hg@Y2ZTAY-KoQFxYyp9{X z)nkHsXi%+Qz!lwAQ-d7CyE1d~Rr&zBxivgy6@UvJ#1ss})<^aM9-R-@>rzD&7E5Bt zo7(zhwufS?YcGNepO%~ss*`X5_H7M_&s<-^1&;&|!mmVz%AhKDPz!QeetAg{1nkGK za>L;l{%lW#F*_5A_NH4R9yZC3^?68 zpuhzCMZ6Wm*^);(`|LOTJR_E~4cVjlAOK?1_tp#wuZ3wx&$->HjS#u9hn4}Pq|QqV zU6D|w(y)j>GN)<^;hf6|>>w;&E9>VC6tq~nPYr{Vn=ytFu)(poS4D)i^15nM@|%es zxpgU1RygYk!b_`tS_Hg1nqSnz(VoZEQ?PqO0~DTPPQ?2f1Yma5YIBL3X#rvy604w3 zxNt?NLLf!P+LGp_95&8O+bscjlw!_FdXCCbSY zA(sT{=4QGfBqb>L3?IaQ^55gXt58#j90Vj+kO0J4u!|EekbXg?R^LO(n@}2v6Tw6R zY5plqkr(-7i)5`9oaaIuD$RpJ!awDqWVk9lBD@$u%Jw9q*8{1Y6F?fZ*-hySKZp2! zz&lU|IN&F!YXYfuYlpA*Xu)|Ud~oDZ z-Iv8JN+N#zHkJh>-M#H~+bAwf)+iOuJjTJ((AL%HJ6vpwO9MY|J`F}{!Bccl3Fe0B zoyJm~oyVm5Ul1?u`{g|Why0gQy+vDo2{rhd>N!Bty*Q)}u#*hJ2*VxVlk793M+6@% zo`lJq^kP!Pp@pNx;u@F4wFA>>4w*8S0^`;>(p66b=cv}l76*xw_9*&?_>w|g`-1kRv?%O|wpP-^DJ^UQFW z2u}*a^BN{-`Rb~{m^+d9fh-2y`M!5t!?i4RJyyAO@qft{7bVLI-zKmFC%6i08^wRh z7CYdM8Zf}kqv#yjESFhW3kO>z>FdAuQ`)-zLxJ-4N~}CygD!gP`$zaLdaEL6MMFp zs)G7MI@8zaxdvs^%0AO`+`1 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

8fwm^iZi}pt11TzmSWPvd$z# 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

j5#!m?7CMtGwO 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 Qk3vlVFAcWLLcxl^0VsbCeE - An iframe + Servo Browser Engine

diff --git a/tests/html/service-worker/dummy.js b/tests/html/service-worker/dummy.js deleted file mode 100644 index e627bfc5539..00000000000 --- a/tests/html/service-worker/dummy.js +++ /dev/null @@ -1 +0,0 @@ -console.log("dummy test file"); \ No newline at end of file diff --git a/tests/html/service-worker/iframe_sw.js b/tests/html/service-worker/iframe_sw.js index c57a92d7bf3..d9c76b8d6f1 100644 --- a/tests/html/service-worker/iframe_sw.js +++ b/tests/html/service-worker/iframe_sw.js @@ -1 +1,7 @@ -console.log("iframe service worker active"); \ No newline at end of file +self.addEventListener('activate', function(e) { + console.log("iframe service worker active"); +}); + +self.addEventListener('fetch', function(e) { + console.log("A fetch event detected by /iframe service worker"); +}); \ No newline at end of file diff --git a/tests/html/service-worker/index.html b/tests/html/service-worker/index.html index ab11b754f31..1b38ffafd3b 100644 --- a/tests/html/service-worker/index.html +++ b/tests/html/service-worker/index.html @@ -6,38 +6,46 @@

This page tests the registration and initialization of Service Workers in Servo.

-
- Go to Dashboard - Go to Profile + +

- - - + Go to Dashboard + Go to Profile +
+ + +
+ \ No newline at end of file diff --git a/tests/html/service-worker/sw.js b/tests/html/service-worker/sw.js index df748f34ebb..e69de29bb2d 100644 --- a/tests/html/service-worker/sw.js +++ b/tests/html/service-worker/sw.js @@ -1 +0,0 @@ -console.log("root service worker: active"); \ No newline at end of file diff --git a/tests/html/service-worker/sw_dashboard.js b/tests/html/service-worker/sw_dashboard.js index 1d18a5d47dd..472fe03cca1 100644 --- a/tests/html/service-worker/sw_dashboard.js +++ b/tests/html/service-worker/sw_dashboard.js @@ -1,2 +1,9 @@ -importScripts('dummy.js'); -console.log("dashboard service worker: active"); +importScripts('dashboard_helper.js'); + +self.addEventListener('activate', function(e) { + status_from_dashboard(); +}); + +self.addEventListener('fetch', function(e) { + console.log("A fetch event detected by /dashboard service worker"); +}); \ No newline at end of file diff --git a/tests/html/service-worker/sw_profile.js b/tests/html/service-worker/sw_profile.js index 10e206ce01a..8834ece7719 100644 --- a/tests/html/service-worker/sw_profile.js +++ b/tests/html/service-worker/sw_profile.js @@ -1 +1,8 @@ -console.log("profile service worker: active"); \ No newline at end of file + +self.addEventListener('activate', function(e) { + console.log("profile service worker active"); +}); + +self.addEventListener('fetch', function(e) { + console.log("A fetch event detected by /profile service worker"); +}); \ No newline at end of file