Skip to content

Commit 8f57ce6

Browse files
committed
Improved top rewriting, addressing #54
1 parent 4c08a6a commit 8f57ce6

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

pywb/rewrite/regex_rewriters.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ def __init__(self, rewriter, rules=[], prefix='WB_wombat_'):
136136
(r'(?<=document\.)cookie', RegexRewriter.add_prefix(prefix), 0),
137137

138138
#todo: move to mixin?
139-
(r'(?:[\s=(){]|^)(top)(?:[\s!=}()]|$)',
139+
(r'(?:[\s=(){]|^)(top)\s*(?:[!}()]|==|$)',
140140
RegexRewriter.add_prefix(prefix), 1),
141141

142142
(r'(?<=window\.)top',

pywb/rewrite/test/test_regex_rewriters.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,16 @@
4545
>>> _test_js('document_domain = "anotherdomain.com"; window.document.domain = "example.com"')
4646
'document_domain = "anotherdomain.com"; window.document.WB_wombat_domain = "example.com"'
4747
48+
# top test
49+
>>> _test_js('window.top != window')
50+
'window.WB_wombat_top != window'
51+
52+
>>> _test_js('top != window')
53+
'WB_wombat_top != window'
54+
55+
>>> _test_js('top = top + 5')
56+
'top = top + 5'
57+
4858
# protocol-rel escapes
4959
>>> _test_js('"//example.com/"')
5060
'"/web/20131010/http://example.com/"'

0 commit comments

Comments
 (0)