{"push_id":625473897,"size":1000,"distinct_size":12,"ref":"refs/heads/30","head":"ee9069c324c28091e935bfbc23dd86b712ea0bb7","before":"f26f880a33d9e79def3e9b04528f70e3bca3b27f","commits":[{"sha":"a2dda9de89a8c898db5499dc1d5af134a463cc5d","author":{"email":"57c88a0ae43cebcc69364c6995bb6dfd4480da41@michaelpiatek.com","name":"Michael Piatek"},"message":"New trace infrastructure to distinguish IPRO from preemptive rewrites.","distinct":false,"url":"https://api.github.com/repos/pagespeed/mod_pagespeed/commits/a2dda9de89a8c898db5499dc1d5af134a463cc5d"},{"sha":"f74289e210202760abb9820cb2cff630beeaeb13","author":{"email":"57c88a0ae43cebcc69364c6995bb6dfd4480da41@michaelpiatek.com","name":"Michael Piatek"},"message":"Rename Ajax -> InPlace Step one.  File and class names.","distinct":false,"url":"https://api.github.com/repos/pagespeed/mod_pagespeed/commits/f74289e210202760abb9820cb2cff630beeaeb13"},{"sha":"ee8e45044255b28db03173d469da758e21dac6d4","author":{"email":"e71773a9724be7c114f3c9592720fd960a75d365@google.com","name":"Maks Orlovich"},"message":"Add an apparent missing dependency that sometimes cause\ntrouble with parallel builds. We need any included protos\nto be compiled in advance as the build target also does the\nsed'ing of the .proto -- and the processed result in genfiles/\nis what's needed for the include, not the original.","distinct":false,"url":"https://api.github.com/repos/pagespeed/mod_pagespeed/commits/ee8e45044255b28db03173d469da758e21dac6d4"},{"sha":"a944a7087879bf2b89f666c68a6731dfa977c525","author":{"email":"6d2d57c9dd0580d8ea1d46506c6884823162d487@google.com","name":"mmohabey@google.com"},"message":"Moving flush early flow tests out of proxy_interface_test.cc (mmohabey)\nAdding inline-images-logic within blink flow (anupama)","distinct":false,"url":"https://api.github.com/repos/pagespeed/mod_pagespeed/commits/a944a7087879bf2b89f666c68a6731dfa977c525"},{"sha":"e9c4edc4c42f5384f43e2b2b660f60249bcbe76e","author":{"email":"12156f98eb223352e0821fd4b14496249fac52bd@google.com","name":"Jud Porter"},"message":"Initial critical image beaconing implementation. This CL provides the critical_images_beacon filter to inject the beacon JS, and an option, ModPagespeedCriticalImagesBeaconEnabled, to control this behavior. By default, adding the critical image beaconing is currently disabled.","distinct":false,"url":"https://api.github.com/repos/pagespeed/mod_pagespeed/commits/e9c4edc4c42f5384f43e2b2b660f60249bcbe76e"},{"sha":"41706ec84085047617bf8078d8577103868ea616","author":{"email":"c3f6b7d9de5243f9f0884ee043fd42ff9df5f177@gmail.com","name":"Josh Marantz"},"message":"Centralizing/simplifying the way that RewriteDrivers are created,\nwhich take into account both query-params & the spdy-ness of a\nrequest.\n\nAdd using_spdy to RequestContext, and add request_rec* to a new\nApacheRequestContext subclass so we don't have to squirrel that around\nas much.\n\nThis is all supportive to a later change to centralizing handling of\nquery-param processing and enable us to use\nResourceFetch::BlockingFetch in unit-tests to get it to better\ncorrelate with the way things work in mod_pagespeed.","distinct":false,"url":"https://api.github.com/repos/pagespeed/mod_pagespeed/commits/41706ec84085047617bf8078d8577103868ea616"},{"sha":"15f865c2cb2faca3d62841564edda0f37fef6a34","author":{"email":"537cbfa6928eff6ff1b5579761c3b860b215fcc1@google.com","name":"bolian@google.com"},"message":"Make GetScreenResolution return default values if device_cache does not exist.","distinct":false,"url":"https://api.github.com/repos/pagespeed/mod_pagespeed/commits/15f865c2cb2faca3d62841564edda0f37fef6a34"},{"sha":"1e069e7ec50a82a8af8938441c488cca888d6a13","author":{"email":"537cbfa6928eff6ff1b5579761c3b860b215fcc1@google.com","name":"bolian@google.com"},"message":"Fix split_html problem on IE9.","distinct":false,"url":"https://api.github.com/repos/pagespeed/mod_pagespeed/commits/1e069e7ec50a82a8af8938441c488cca888d6a13"},{"sha":"c16b730dac8b275cdf63ca94e65c609bd657a2b7","author":{"email":"537cbfa6928eff6ff1b5579761c3b860b215fcc1@google.com","name":"bolian@google.com"},"message":"IPRO metadata cache changes.  See doc for InPlaceRewriteContext::EncodeUserAgentIntoResourceContext for details.","distinct":false,"url":"https://api.github.com/repos/pagespeed/mod_pagespeed/commits/c16b730dac8b275cdf63ca94e65c609bd657a2b7"},{"sha":"81fcb6d24ed64ef9019ba39d2afd2395d2f9eea3","author":{"email":"35b927b6169ea896e2295b1c1a685bb6fe770224@google.com","name":"Josh Karlin"},"message":"ModPagespeed can now be on, off, and unplugged.\n\nUnplugged doesn't yet do anything.","distinct":false,"url":"https://api.github.com/repos/pagespeed/mod_pagespeed/commits/81fcb6d24ed64ef9019ba39d2afd2395d2f9eea3"},{"sha":"34b71c05d10d423d0058c7f065d5ea42b5baaf5c","author":{"email":"afa2bca931d74dc823305688f3dc1ca8ae62bdcc@google.com","name":"nikhilmadan@google.com"},"message":"Rewrite JS in Characters() hook. Since we are guaranteed by HtmlParse that we will always get only one Characters() block in a <style> element, we can rewrite that inline script immediately.","distinct":false,"url":"https://api.github.com/repos/pagespeed/mod_pagespeed/commits/34b71c05d10d423d0058c7f065d5ea42b5baaf5c"},{"sha":"8bcdc1006df50bda0f7653a377c901b8c4cf97f3","author":{"email":"c3f6b7d9de5243f9f0884ee043fd42ff9df5f177@gmail.com","name":"Josh Marantz"},"message":"Fix test-race by using a sync-point on the Fetch Done() callback.","distinct":false,"url":"https://api.github.com/repos/pagespeed/mod_pagespeed/commits/8bcdc1006df50bda0f7653a377c901b8c4cf97f3"},{"sha":"d62d3d218705b62b597fd243118c47e8a9809175","author":{"email":"c3f6b7d9de5243f9f0884ee043fd42ff9df5f177@gmail.com","name":"Josh Marantz"},"message":"Fix race-condition found in event/2.4 valgrind system tests.\n\nIn the absence of this fix, I get failures on about 1/3 of valgrind\ntests.\n\nAdds debug scaffolding to rewrite_driver/rewrite_context.","distinct":false,"url":"https://api.github.com/repos/pagespeed/mod_pagespeed/commits/d62d3d218705b62b597fd243118c47e8a9809175"},{"sha":"6cc8156b98cb2f7cc62a037baaabe15de10654ce","author":{"email":"c3f6b7d9de5243f9f0884ee043fd42ff9df5f177@gmail.com","name":"Josh Marantz"},"message":"Fixed leaked_drivers failure found in system testing.  The URL of the\nleaked driver was:\nhttp://domain_hyperlinks_off.example.com/mod_pagespeed_test/rewrite_domains.html,\nwhich had a detached rewrite with partition key\nrname/ce_1jfHXnFYzU_EA9cv6iin/http://src.example.com/image.png@@_\n\nOf course there is no such thing as src.example.com/image.png but were\ntrying to fetch it from the live internet and failing.  Based on the\nnormally-stable behavior of our system I think we were doing that\nproperly, but we must have been doing that too slowly on some test\nmachines, and therefore leaking the driver due to our time-bound\nshutdown flow.  So I added a debug.conf.template change to PassThrough\nmode to avoid attempting to fetch the resource in the first place.\n\nAlso fixes races because were not setting psatest as the blocking-rewrite key\nfor some VirtualHosts that need it.","distinct":false,"url":"https://api.github.com/repos/pagespeed/mod_pagespeed/commits/6cc8156b98cb2f7cc62a037baaabe15de10654ce"},{"sha":"69e0914f36d308f69ec7ecac40e579032c8637e2","author":{"email":"e71773a9724be7c114f3c9592720fd960a75d365@google.com","name":"Maks Orlovich"},"message":"Detangle the RefCounted<T> impl from Chromium guts, \nmaking it use AtomicInt32 directly. This makes it \neasier to port to other platforms.\n\nCleanup some of the AtomicInt32 API: making the naming\nmore compliant with the style guide, and make the barrier\nsemantics explicit. Fix a couple spots that needed barriers\nas a result.","distinct":false,"url":"https://api.github.com/repos/pagespeed/mod_pagespeed/commits/69e0914f36d308f69ec7ecac40e579032c8637e2"},{"sha":"603ef22d6008bafb7a1ceb47ebc414fa5c0aaef7","author":{"email":"c3f6b7d9de5243f9f0884ee043fd42ff9df5f177@gmail.com","name":"Josh Marantz"},"message":"Avoid lifetime issues with the request_rec* which is a concern for\ncloned drivers.","distinct":false,"url":"https://api.github.com/repos/pagespeed/mod_pagespeed/commits/603ef22d6008bafb7a1ceb47ebc414fa5c0aaef7"},{"sha":"4e8b227d1feda35594da307028ac3046ee271192","author":{"email":"e71773a9724be7c114f3c9592720fd960a75d365@google.com","name":"Maks Orlovich"},"message":"Make it easier to hook in a ServerContext subclass \nfor CreateServerContext()-using platforms that need \nto override ApplySessionFetchers.","distinct":false,"url":"https://api.github.com/repos/pagespeed/mod_pagespeed/commits/4e8b227d1feda35594da307028ac3046ee271192"},{"sha":"86e8994f9d6b4f647d7bfcfb64495c9b4f931c72","author":{"email":"e71773a9724be7c114f3c9592720fd960a75d365@google.com","name":"Maks Orlovich"},"message":"Fully separate out RefCounted<T> from Chromium's\nscoped_refptr<T> for portability reasons.","distinct":false,"url":"https://api.github.com/repos/pagespeed/mod_pagespeed/commits/86e8994f9d6b4f647d7bfcfb64495c9b4f931c72"},{"sha":"3ce60afa079d34c3c46318f8a779b32103defe18","author":{"email":"0be2212be42ff619fbf94c815cf020fe2f16dd96@google.com","name":"Shawn Ligocki"},"message":"Second half of IPRO in mod_pagespeed change. Records resources and inserts them into the cache in the Apache output filter flow if they were not in cache in the handle_as_inplace() handler.\n\nMajor TODOs:\n1) We don't distinguish between cache misses and RememberNotCacheable in handle_as_inplace(), thus non-cacheable resources will be recorded (extra string copy) every time they are loaded in Apache (with IPRO on).\n2) We should initiate IPRO rewrite immediately after storing input in cache (currently it takes 3 loads to get a resource IPRO rewritten).","distinct":false,"url":"https://api.github.com/repos/pagespeed/mod_pagespeed/commits/3ce60afa079d34c3c46318f8a779b32103defe18"},{"sha":"e660eceb15f02e50d1674765c8130ea1748e5ec5","author":{"email":"57c88a0ae43cebcc69364c6995bb6dfd4480da41@michaelpiatek.com","name":"Michael Piatek"},"message":"Implement {png,gif}-to-webp-{lossy,lossless}-{with,without}-alpha","distinct":false,"url":"https://api.github.com/repos/pagespeed/mod_pagespeed/commits/e660eceb15f02e50d1674765c8130ea1748e5ec5"}]}