diff --git a/CHANGES.rst b/CHANGES.rst index 947b9afb..55e328b2 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -1,3 +1,9 @@ +pywb 0.7.3 changelist +~~~~~~~~~~~~~~~~~~~~~ + +* More compresensive client side ``src`` attribute rewriting (via wombat.js), additional server-side HTML tag rewriting. + + pywb 0.7.2 changelist ~~~~~~~~~~~~~~~~~~~~~ diff --git a/README.rst b/README.rst index 1d9c8b57..cf81f3f8 100644 --- a/README.rst +++ b/README.rst @@ -1,4 +1,4 @@ -PyWb 0.7.2 +PyWb 0.7.3 ========== .. image:: https://travis-ci.org/ikreymer/pywb.png?branch=develop diff --git a/pywb/rewrite/html_rewriter.py b/pywb/rewrite/html_rewriter.py index 3e92bf6a..246c037b 100644 --- a/pywb/rewrite/html_rewriter.py +++ b/pywb/rewrite/html_rewriter.py @@ -30,6 +30,8 @@ class HTMLRewriterMixin(object): 'base': {'href': defmod}, 'blockquote': {'cite': defmod}, 'body': {'background': 'im_'}, + 'button': {'formaction': defmod}, + 'command': {'icon': 'im_'}, 'del': {'cite': defmod}, 'embed': {'src': 'oe_'}, 'head': {'': defmod}, # for head rewriting @@ -37,7 +39,8 @@ class HTMLRewriterMixin(object): 'img': {'src': 'im_', 'srcset': 'im_'}, 'ins': {'cite': defmod}, - 'input': {'src': 'im_'}, + 'input': {'src': 'im_', + 'formaction': defmod}, 'form': {'action': defmod}, 'frame': {'src': 'fr_'}, 'link': {'href': 'oe_'}, @@ -49,7 +52,8 @@ class HTMLRewriterMixin(object): 'ref': {'href': 'oe_'}, 'script': {'src': 'js_'}, 'source': {'src': 'oe_'}, - 'video': {'src': 'oe_'}, + 'video': {'src': 'oe_', + 'poster': 'im_'}, 'div': {'data-src': defmod, 'data-uri': defmod}, diff --git a/pywb/static/wombat.js b/pywb/static/wombat.js index 18ffafb7..ef715195 100644 --- a/pywb/static/wombat.js +++ b/pywb/static/wombat.js @@ -105,6 +105,8 @@ _WBWombat = (function() { "http:/" + prefix, "https:/" + prefix]; } + var SRC_TAGS = ["IMG", "SCRIPT", "VIDEO", "AUDIO", "SOURCE", "EMBED", "INPUT"]; + //============================================ function rewrite_url_(url) { // If undefined, just return it @@ -692,7 +694,7 @@ _WBWombat = (function() { } override_attr(created, "src"); - } else if (created.tagName == "IMG" || created.tagName == "VIDEO" || created.tagName == "AUDIO") { + } else if (created.tagName && starts_with(created.tagName, SRC_TAGS)) { override_attr(created, "src"); } // } else if (created.tagName == "A") { diff --git a/setup.py b/setup.py index 7370802d..aaeefa6e 100755 --- a/setup.py +++ b/setup.py @@ -34,7 +34,7 @@ class PyTest(TestCommand): setup( name='pywb', - version='0.7.2', + version='0.7.3', url='https://github.com/ikreymer/pywb', author='Ilya Kreymer', author_email='ikreymer@gmail.com',