diff options
Diffstat (limited to 'Tools/iExploder')
-rw-r--r-- | Tools/iExploder/htdocs/config.rb | 6 | ||||
-rw-r--r-- | Tools/iExploder/htdocs/cssproperties.in | 426 | ||||
-rw-r--r-- | Tools/iExploder/htdocs/cssvalues.in | 339 | ||||
-rw-r--r-- | Tools/iExploder/htdocs/htmlattrs.in | 373 | ||||
-rw-r--r-- | Tools/iExploder/htdocs/htmltags.in | 155 | ||||
-rw-r--r-- | Tools/iExploder/htdocs/htmlvalues.in | 35 | ||||
-rwxr-xr-x | Tools/iExploder/htdocs/iexploder.cgi | 45 | ||||
-rw-r--r-- | Tools/iExploder/htdocs/iexploder.rb | 337 | ||||
-rw-r--r-- | Tools/iExploder/htdocs/index.html | 34 | ||||
-rwxr-xr-x | Tools/iExploder/htdocs/webserver.rb | 75 | ||||
-rwxr-xr-x | Tools/iExploder/iexploder-1.7.2/tools/update_html_tags_from_sources.sh | 22 | ||||
-rwxr-xr-x | Tools/iExploder/tools/lasthit.rb | 53 | ||||
-rwxr-xr-x | Tools/iExploder/tools/osx_last_crash.rb | 48 | ||||
-rwxr-xr-x | Tools/iExploder/tools/showtest.rb | 43 |
14 files changed, 11 insertions, 1980 deletions
diff --git a/Tools/iExploder/htdocs/config.rb b/Tools/iExploder/htdocs/config.rb deleted file mode 100644 index d9e7e1b..0000000 --- a/Tools/iExploder/htdocs/config.rb +++ /dev/null @@ -1,6 +0,0 @@ -# Configuration for iExploder.. not generally tuned. - -$HTML_MAX_TAGS = 96; -$HTML_MAX_ATTRS = 4; -$CSS_MAX_PROPS = 5; - diff --git a/Tools/iExploder/htdocs/cssproperties.in b/Tools/iExploder/htdocs/cssproperties.in deleted file mode 100644 index d49eb8e..0000000 --- a/Tools/iExploder/htdocs/cssproperties.in +++ /dev/null @@ -1,426 +0,0 @@ -# From WebKit svn r66165 (WebCore/css/CSSPropertyNames.in) --webkit-animation --webkit-animation-delay --webkit-animation-direction --webkit-animation-duration --webkit-animation-fill-mode --webkit-animation-iteration-count --webkit-animation-name --webkit-animation-play-state --webkit-animation-timing-function --webkit-appearance --webkit-backface-visibility --webkit-background-clip --webkit-background-composite --webkit-background-origin --webkit-background-size --webkit-border-end --webkit-border-end-color --webkit-border-end-style --webkit-border-end-width --webkit-border-fit --webkit-border-horizontal-spacing --webkit-border-image --webkit-border-radius --webkit-border-start --webkit-border-start-color --webkit-border-start-style --webkit-border-start-width --webkit-border-vertical-spacing --webkit-box-align --webkit-box-direction --webkit-box-flex --webkit-box-flex-group --webkit-box-lines --webkit-box-ordinal-group --webkit-box-orient --webkit-box-pack --webkit-box-reflect --webkit-box-shadow --webkit-color-correction --webkit-column-break-after --webkit-column-break-before --webkit-column-break-inside --webkit-column-count --webkit-column-gap --webkit-column-rule --webkit-column-rule-color --webkit-column-rule-style --webkit-column-rule-width --webkit-column-span --webkit-column-width --webkit-columns --webkit-font-size-delta --webkit-font-smoothing --webkit-highlight --webkit-hyphenate-character --webkit-hyphenate-locale --webkit-hyphens --webkit-line-break --webkit-line-clamp --webkit-margin-bottom-collapse --webkit-margin-collapse --webkit-margin-end --webkit-margin-start --webkit-margin-top-collapse --webkit-marquee --webkit-marquee-direction --webkit-marquee-increment --webkit-marquee-repetition --webkit-marquee-speed --webkit-marquee-style --webkit-mask --webkit-mask-attachment --webkit-mask-box-image --webkit-mask-clip --webkit-mask-composite --webkit-mask-image --webkit-mask-origin --webkit-mask-position --webkit-mask-position-x --webkit-mask-position-y --webkit-mask-repeat --webkit-mask-repeat-x --webkit-mask-repeat-y --webkit-mask-size --webkit-match-nearest-mail-blockquote-color --webkit-nbsp-mode --webkit-padding-end --webkit-padding-start --webkit-perspective --webkit-perspective-origin --webkit-perspective-origin-x --webkit-perspective-origin-y --webkit-rtl-ordering --webkit-text-decorations-in-effect --webkit-text-fill-color --webkit-text-security --webkit-text-size-adjust --webkit-text-stroke --webkit-text-stroke-color --webkit-text-stroke-width --webkit-transform --webkit-transform-origin --webkit-transform-origin-x --webkit-transform-origin-y --webkit-transform-origin-z --webkit-transform-style --webkit-transition --webkit-transition-delay --webkit-transition-duration --webkit-transition-property --webkit-transition-timing-function --webkit-user-drag --webkit-user-modify --webkit-user-select --webkit-variable-declaration-block -background -background-attachment -background-clip -background-color -background-image -background-origin -background-position -background-position-x -background-position-y -background-repeat -background-repeat-x -background-repeat-y -background-size -border -border-bottom -border-bottom-color -border-bottom-left-radius -border-bottom-right-radius -border-bottom-style -border-bottom-width -border-collapse -border-color -border-left -border-left-color -border-left-style -border-left-width -border-radius -border-right -border-right-color -border-right-style -border-right-width -border-spacing -border-style -border-top -border-top-color -border-top-left-radius -border-top-right-radius -border-top-style -border-top-width -border-width -bottom -box-sizing -caption-side -clear -clip -color -content -counter-increment -counter-reset -cursor -direction -display -empty-cells -float -font -font-family -font-size -font-stretch -font-style -font-variant -font-weight -height -left -letter-spacing -line-height -list-style -list-style-image -list-style-position -list-style-type -margin -margin-bottom -margin-left -margin-right -margin-top -max-height -max-width -min-height -min-width -opacity -orphans -outline -outline-color -outline-offset -outline-style -outline-width -overflow -overflow-x -overflow-y -padding -padding-bottom -padding-left -padding-right -padding-top -page -page-break-after -page-break-before -page-break-inside -pointer-events -position -quotes -resize -right -size -src -table-layout -text-align -text-decoration -text-indent -text-line-through -text-line-through-color -text-line-through-mode -text-line-through-style -text-line-through-width -text-overflow -text-overline -text-overline-color -text-overline-mode -text-overline-style -text-overline-width -text-rendering -text-shadow -text-transform -text-underline -text-underline-color -text-underline-mode -text-underline-style -text-underline-width -top -unicode-bidi -unicode-range -vertical-align -visibility -white-space -widows -width -word-break -word-spacing -word-wrap -z-index -zoom - -# CSS3 properties - http://www.css3.info/preview/ -background-clip -background-origin -border-image -border-radius -box-shadow -box-sizing -column-count -column-gap -column-min-width -column-rule -column-rule-color -column-rule-style -column-rule-width -column-space-distribution -column-span -column-width -column-width-policy - -# Removed from WebKit between r53119 and r66165 --webkit-binding - -# Removed from WebKit between r44660 and r53119 --webkit-border-bottom-left-radius --webkit-border-bottom-right-radius --webkit-border-top-left-radius --webkit-border-top-right-radius - -# Removed from WebKit between r24523 and r44660 --webkit-dashboard-region -scrollbar-3dlight-color -scrollbar-arrow-color -scrollbar-darkshadow-color -scrollbar-face-color -scrollbar-highlight-color -scrollbar-shadow-color -scrollbar-track-color - -# All of the following are from khtml's cssproperties.in as of 19oct2004, but are no longer in WebKit --khtml-border-horizontal-spacing --khtml-border-vertical-spacing --khtml-flow-mode --khtml-marquee --khtml-marquee-direction --khtml-marquee-increment --khtml-marquee-repetition --khtml-marquee-speed --khtml-marquee-style --khtml-text-decoration-color --khtml-user-input -scrollbar-base-color - -# Internet Explorer 6.0 - http://msdn.microsoft.com/workshop/author/css/reference/attributes.asp -filter:progid: -filter: -ime-mode -layout-flow -layout-grid -layout-grid-char -layout-grid-line -layout-grid-mode -layout-grid-type -line-break -overflow-x -overflow-y -pagebreakafter -pagebreakbefore -ruby-align -ruby-overhang -ruby-position -text-autospace -text-justify -text-kashida-space -text-underline-position -word-break -writing-mode -zoom - -# from http://msdn.microsoft.com/library/default.asp?url=/workshop/author/filter/reference/reference.asp -filter:progid:DXImageTransform.Microsoft.AlphaImageLoader( -filter:progid:DXImageTransform.Microsoft.Blur( -filter:progid:DXImageTransform.Microsoft.MotionBlur( -filter:progid:DXImageTransform.Microsoft.Gradient( -filter:progid:DXImageTransform.Microsoft.Pixelate( - -# From Mozilla Firefox CVS on 2006-04-15 (layout/style/nsCSSPropList.h) -# grep "^CSS_PROP" nsCSSPropList.h | grep -v "_SVG" |cut -d, -f1 | cut -d\( -f2 | sort -++ /tmp/moz Tue Apr 18 13:45:30 2006 --moz-appearance --moz-background-clip --moz-background-inline-policy --moz-background-origin --moz-binding --moz-border-bottom-colors --moz-border-left-colors --moz-border-radius --moz-border-radius-bottomleft --moz-border-radius-bottomright --moz-border-radius-topleft --moz-border-radius-topright --moz-border-right-colors --moz-border-top-colors --moz-box-align --moz-box-direction --moz-box-flex --moz-box-ordinal-group --moz-box-orient --moz-box-pack --moz-box-sizing --moz-column-count --moz-column-gap --moz-column-width --moz-float-edge --moz-force-broken-image-icon --moz-image-region --moz-margin-end --moz-margin-start --moz-outline-radius --moz-outline-radius-bottomleft --moz-outline-radius-bottomright --moz-outline-radius-topleft --moz-outline-radius-topright --moz-padding-end --moz-padding-start --moz-user-focus --moz-user-input --moz-user-modify --moz-user-select --x-background-x-position --x-background-y-position -azimuth -cue -cue-after -cue-before -elevation -font-size-adjust -margin-end-value -margin-left-ltr-source -margin-left-rtl-source -margin-left-value -margin-right-ltr-source -margin-right-rtl-source -margin-right-value -margin-start-value -marker -marker-offset -marks -padding-end-value -padding-left-ltr-source -padding-left-rtl-source -padding-left-value -padding-right-ltr-source -padding-right-rtl-source -padding-right-value -padding-start-value -pause -pause-after -pause-before -pitch -pitch-range -richness -speak -speak-header -speak-numeral -speak-punctuation -speech-rate -stress -voice-family -volume diff --git a/Tools/iExploder/htdocs/cssvalues.in b/Tools/iExploder/htdocs/cssvalues.in deleted file mode 100644 index c19f78f..0000000 --- a/Tools/iExploder/htdocs/cssvalues.in +++ /dev/null @@ -1,339 +0,0 @@ -"Trebuchet MS",Verdana, Arial, Helvetica, sans-serif -#339933 !important !important !important -#9999999999999999999999999999999999999999999 --5, -5, -5 --9999% --999999999999999999999999999% --999999999999999999999999999em --999999999999999999999999999px --9999em --9999px --webkit-activelink --webkit-auto --webkit-baseline-middle --webkit-body --webkit-box --webkit-center --webkit-focus-ring-color --webkit-inline-box --webkit-left --webkit-link --webkit-marquee --webkit-nowrap --webkit-overlay --webkit-right --webkit-text --webkit-xxx-large -0 -0 auto -0 fixed -2% -90000000000000000000000000000000000000000000% -9999999999999999999999 -99999999999999999999999999999999999999 auto -99999999999999999999999999999999999999999999px -999999px solid #fff -above -absolute -activeborder -activecaption -after-white-space -ahead -alternate -always -appworkspace -aqua -armenian -attr("ATTRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA") -auto -avoid -background -backwards -baseline -below -bidi-override -black -blink -block -block clear -block width -block-axis -blue -bold -bolder -border -border-box -both -bottom -break-word -button -button-bevel -buttonface -buttonhighlight -buttonshadow -buttontext -capitalize -caption -captiontext -caret -center -checkbox -circle -cjk-ideographic -clip -clip:rect(-0px -2000000px -200000px -0px) -clip:rect(0px 2000000px 200000px 0px) -close-quote -collapse -compact -condensed -content -content-box -continuous -crop -cross -crosshair -cursive -dashed -decimal -decimal-leading-zero -default -disc -discard -dot-dash -dot-dot-dash -dotted -double -down -e-resize -element -ellipsis -embed -end -expanded -extra-condensed -extra-expanded -fantasy -fast -fixed -forwards -fuchsia -georgian -gray -graytext -green -grey -groove -hand -hebrew -help -helvetica, arial, Courier New, Courier, Mono, Blah, Blah, Blah -hidden -hide -higher -highlight -highlighttext -hiragana -hiragana-iroha -horizontal -icon -ignore -inactiveborder -inactivecaption -inactivecaptiontext -infinite -infobackground -infotext -inherit -initial -inline -inline-axis -inline-block -inline-table -inset -inside -intrinsic -invert -italic -justify -katakana -katakana-iroha -landscape -large -larger -left -level -lighter -lime -line-through -list-item -listbox -listitem -logical -loud -lower -lower-alpha -lower-greek -lower-latin -lower-roman -lowercase -ltr -marker -maroon -match -medium -menu -menulist -menulist-button -menulist-text -menulist-textfield -menutext -message-box -middle -min-intrinsic -mix -monospace -move -multiple -n-resize -narrower -navy -ne-resize -no-close -no-close-quote -no-open-quote -no-repeat -none -normal -normal !important -nowrap -nw-resize -oblique -olive -once -open-quote -orange -outset -outside -overline -padding -pointer -portrait -pre -pre-line -pre-wrap -purple -push-button -radio -read-only -read-write -read-write-plaintext-only -red -relative -repeat -repeat-x -repeat-y -reverse -rgb(9999999999, 999999999, 9999999999999) -ridge -right -round -rtl -run-in -s-resize -sans-serif -scroll -scrollbar -scrollbarbutton-down -scrollbarbutton-left -scrollbarbutton-right -scrollbarbutton-up -scrollbargripper-horizontal -scrollbargripper-vertical -scrollbarthumb-horizontal -scrollbarthumb-vertical -scrollbartrack-horizontal -scrollbartrack-vertical -se-resize -searchfield -searchfield-close -searchfield-results -semi-condensed -semi-expanded -separate -serif -show -silver -single -skip-white-space -slide -slider-horizontal -slider-vertical -sliderthumb-horizontal -sliderthumb-vertical -slow -small -small-caps -small-caption -smaller -solid -space -square -square-button -start -static -status-bar -stretch -sub -super -sw-resize -table -table-caption -table-cell -table-column -table-column-group -table-footer-group -table-header-group -table-row -table-row-group -teal -text -text-bottom -text-top -textfield -thick -thick dashed yellow -thick dotted blue -thin -threeddarkshadow -threedface -threedhighlight -threedlightshadow -threedshadow -top -transparent -ultra-condensed -ultra-expanded -underline -unfurl -up -upper-alpha -upper-latin -upper-roman -uppercase -vertical -visible -visual -w-resize -wait -wave -white -wider -window -windowframe -windowtext -x-large -x-small -xx-large -xx-small -yellow diff --git a/Tools/iExploder/htdocs/htmlattrs.in b/Tools/iExploder/htdocs/htmlattrs.in deleted file mode 100644 index 0dc8116..0000000 --- a/Tools/iExploder/htdocs/htmlattrs.in +++ /dev/null @@ -1,373 +0,0 @@ -# From WebKit svn r66165 (WebCore/html/HTMLAttributeNames.in) -abbr -accept -accept_charset -accesskey -action -align -alink -alt -archive -aria-activedescendant -aria-atomic -aria-busy -aria-checked -aria-controls -aria-describedby -aria-disabled -aria-dropeffect -aria-expanded -aria-flowto -aria-grabbed -aria-haspopup -aria-help -aria-hidden -aria-label -aria-labeledby -aria-labelledby -aria-level -aria-live -aria-multiselectable -aria-orientation -aria-owns -aria-pressed -aria-readonly -aria-relevant -aria-required -aria-selected -aria-valuemax -aria-valuemin -aria-valuenow -aria-valuetext -async -autocomplete -autofocus -autoplay -autosave -axis -background -behavior -bgcolor -bgproperties -border -bordercolor -cellborder -cellpadding -cellspacing -challenge -char -charoff -charset -checked -cite -class -classid -clear -code -codebase -codetype -color -cols -colspan -compact -composite -content -contenteditable -controls -coords -data -datetime -declare -defer -dir -direction -disabled -draggable -enctype -end -event -expanded -face -focused -for -formnovalidate -frame -frameborder -headers -height -hidden -high -href -hreflang -hspace -http_equiv -id -incremental -indeterminate -ismap -keytype -label -lang -language -leftmargin -link -list -longdesc -loop -loopend -loopstart -low -lowsrc -manifest -marginheight -marginwidth -max -maxlength -mayscript -media -method -min -multiple -name -nohref -noresize -noshade -novalidate -nowrap -object -onabort -onbeforecopy -onbeforecut -onbeforeload -onbeforepaste -onbeforeprocess -onbeforeunload -onblur -oncanplay -oncanplaythrough -onchange -onclick -oncontextmenu -oncopy -oncut -ondblclick -ondrag -ondragend -ondragenter -ondragleave -ondragover -ondragstart -ondrop -ondurationchange -onemptied -onended -onerror -onfocus -onfocusin -onfocusout -onhashchange -oninput -oninvalid -onkeydown -onkeypress -onkeyup -onload -onloadeddata -onloadedmetadata -onloadstart -onmousedown -onmousemove -onmouseout -onmouseover -onmouseup -onmousewheel -onoffline -ononline -onorientationchange -onpagehide -onpageshow -onpaste -onpause -onplay -onplaying -onpopstate -onprogress -onratechange -onreset -onresize -onscroll -onsearch -onseeked -onseeking -onselect -onselectstart -onstalled -onstorage -onsubmit -onsuspend -ontimeupdate -ontouchcancel -ontouchend -ontouchmove -ontouchstart -onunload -onvolumechange -onwaiting -onwebkitanimationend -onwebkitanimationiteration -onwebkitanimationstart -onwebkitbeginfullscreen -onwebkitendfullscreen -onwebkittransitionend -optimum -pattern -placeholder -playcount -pluginurl -poster -precision -preload -primary -profile -progress -prompt -readonly -rel -required -results -rev -role -rows -rowspan -rules -sandbox -scheme -scope -scrollamount -scrolldelay -scrolling -selected -shape -size -sortable -sortdirection -span -speech -spellcheck -src -standby -start -step -style -summary -tabindex -tableborder -target -text -title -top -topmargin -truespeed -type -usemap -valign -value -valuetype -version -viewsource -vlink -vspace -webkitdirectory -width -wrap - -# Removed from WebKit between r53119 and r56558 -autobuffer - -# Removed from WebKit between r14011 and r53119 -left -pagex -pagey -plain -pluginpage -pluginspage - -# was in khtml in 2004, but is no longer in WebCore -accept-charset -html -http-equiv -nosave -oversrc -unknown -visibility -z-index - -# From Mozilla CVS 2006-04-15 (mozilla/layout/style/xbl-marquee) -bounce -finish -onbounce -onfinish -onstart - - -# IE specific, from msdn.microsoft.com/workshop/author/dhtml/reference/properties -acceptcharset -allowtransparency -balance -choff -datafld -dataformatas -datapagesize -datasrc -dynsrc -framespacing -galleryimg -hidefocus -methods -scroll -units -urn -volume - -# From Mozilla CVS 2006-04-15 (mozilla/content/base/src/nsGkAtomList.h) -# To get these, I used: -# ggrep -r "Get.*Attr" * | perl -ne 'if (/nsHTMLAtoms::(\w+)/) { \ -# system("grep \\($1, content/base/src/nsGkAtomList.h"); }' \ -# | cut -d\" -f2 | sort -u -autocheck -base -bottommargin -event -font-weight -handler -layout -observer -ping -point-size -rightmargin -variable - -# events from Mozilla CVS 2006-04-15 (mozilla/content/base/src/nsGkAtomList.h) -# cat nsGkAtomList.h | grep GK_ATOM | cut -d\" -f2 | egrep "^on[a-z]+" -onzoom -onunderflow -ontext -onset -onpopupshown -onpopupshowing -onpopuphiding -onpopuphidden -onpaint -onpageshow -onpagehide -onoverflowchanged -onoverflow -onget -ondraggesture -ondragexit -ondragdrop -oncompositionstart -oncompositionend -oncommandupdate -oncommand -onclose diff --git a/Tools/iExploder/htdocs/htmltags.in b/Tools/iExploder/htdocs/htmltags.in deleted file mode 100644 index 319d528..0000000 --- a/Tools/iExploder/htdocs/htmltags.in +++ /dev/null @@ -1,155 +0,0 @@ -# From WebKit svn r66165 (WebCore/html/HTMLTagNames.in) -a -abbr -acronym -address -applet -area -article -aside -audio -b -base -basefont -bdo -bgsound -big -blockquote -body -br -button -canvas -caption -center -cite -code -col -colgroup -command -datagrid -datalist -dcell -dcol -dd -del -details -dfn -dir -div -dl -drow -dt -em -embed -fieldset -figcaption -figure -font -footer -form -frame -frameset -h1 -h2 -h3 -h4 -h5 -h6 -head -header -hgroup -hr -html -i -iframe -image -img -input -ins -isindex -kbd -keygen -label -layer -legend -li -link -listing -map -mark -marquee -menu -meta -meter -nav -nobr -noembed -noframes -nolayer -noscript -noscript -object -ol -optgroup -option -p -param -plaintext -pre -progress -q -rp -rt -ruby -s -samp -script -section -select -small -source -span -strike -strong -style -sub -summary -sup -table -tbody -td -textarea -tfoot -th -thead -title -tr -track -tt -u -ul -var -video -wbr -xmp - -# This was in khtml in 10-2004 -ilayer - -# Additions from Mozilla CVS, 2006-04-18. -# mozilla/parser/htmlparser/public/nsHTMLTagList.h -bgsound -blink -multicol -spacer - -# The following tags used to be in Mozilla in 10-2004, now removed -counter -endnote -parsererror -server -sound -sourcetext - -# From Internet Explorer - http://msdn.microsoft.com/workshop/author/html/reference/elements.asp -xml diff --git a/Tools/iExploder/htdocs/htmlvalues.in b/Tools/iExploder/htdocs/htmlvalues.in deleted file mode 100644 index d54984f..0000000 --- a/Tools/iExploder/htdocs/htmlvalues.in +++ /dev/null @@ -1,35 +0,0 @@ -# Many of the following are from mangleme.cgi.c's make_up_value() function -# -* -_blank -_parent -_self -_top -about: -about:plugins -file: -http: -jar: -javascript: -left -top -%n%n%n%n%n -ftp: -right -wysiwyg: -bottom -none -ldap: -%i %i -999999999,9999999,999999999,9999999,999999999,9999999,999999999,9999999,9 -999999999,9999999,9 -999999999,9999999 -true -false -_SEARCH -javascript -off -on -vbscript -password -image diff --git a/Tools/iExploder/htdocs/iexploder.cgi b/Tools/iExploder/htdocs/iexploder.cgi deleted file mode 100755 index 89e099c..0000000 --- a/Tools/iExploder/htdocs/iexploder.cgi +++ /dev/null @@ -1,45 +0,0 @@ -#!/usr/bin/ruby -# iExploder - Generates bad HTML files to perform QA for web browsers. -# Developed for the Mozilla Foundation. -##################### -# -# Copyright (c) 2006 Thomas Stromberg <thomas%stromberg.org> -# -# This software is provided 'as-is', without any express or implied warranty. -# In no event will the authors be held liable for any damages arising from the -# use of this software. -# -# Permission is granted to anyone to use this software for any purpose, -# including commercial applications, and to alter it and redistribute it -# freely, subject to the following restrictions: -# -# 1. The origin of this software must not be misrepresented; you must not -# claim that you wrote the original software. If you use this software in a -# product, an acknowledgment in the product documentation would be appreciated -# but is not required. -# -# 2. Altered source versions must be plainly marked as such, and must not be -# misrepresented as being the original software. -# -# 3. This notice may not be removed or altered from any source distribution. - -require 'cgi'; -require 'iexploder'; -require 'config'; - -### THE INTERACTION ################################## -ie = IExploder.new($HTML_MAX_TAGS, $HTML_MAX_ATTRS, $CSS_MAX_PROPS) -ie.readTagFiles() - -cgi = CGI.new("html4"); -ie.url=ENV['SCRIPT_NAME'] || '?' -ie.test_num = cgi.params['test'][0].to_i -ie.subtest_num = cgi.params['subtest'][0].to_i || 0 -ie.random_mode = cgi.params['random'][0] -ie.lookup_mode = cgi.params['lookup'][0] -ie.stop_num = cgi.params['stop'][0].to_i || 0 -ie.setRandomSeed - -cgi.out('type' => 'text/html') do - ie.buildPage() -end diff --git a/Tools/iExploder/htdocs/iexploder.rb b/Tools/iExploder/htdocs/iexploder.rb deleted file mode 100644 index eee3e38..0000000 --- a/Tools/iExploder/htdocs/iexploder.rb +++ /dev/null @@ -1,337 +0,0 @@ -# iExploder - Generates bad HTML files to perform QA for web browsers. -# Developed for the Mozilla Foundation. -##################### -# -# Copyright (c) 2006 Thomas Stromberg <thomas%stromberg.org> -# -# This software is provided 'as-is', without any express or implied warranty. -# In no event will the authors be held liable for any damages arising from the -# use of this software. -# -# Permission is granted to anyone to use this software for any purpose, -# including commercial applications, and to alter it and redistribute it -# freely, subject to the following restrictions: -# -# 1. The origin of this software must not be misrepresented; you must not -# claim that you wrote the original software. If you use this software in a -# product, an acknowledgment in the product documentation would be appreciated -# but is not required. -# -# 2. Altered source versions must be plainly marked as such, and must not be -# misrepresented as being the original software. -# -# 3. This notice may not be removed or altered from any source distribution. - -$VERSION="1.3.2" - -class IExploder - attr_accessor :test_num, :subtest_num, :lookup_mode, :random_mode, :url - attr_accessor :offset, :lines, :stop_num - - def initialize(max_tags, max_attrs, max_props) - @htmlMaxTags = max_tags - @htmlMaxAttrs = max_attrs - @cssMaxProps = max_props - @mangledTagTotal = 0 - @stop_num = 0 - end - - def setRandomSeed - if @test_num > 0 - srand(@test_num) - else - srand - end - end - - - def readTagFiles - # These if statements are so that mod_ruby doesn't have to reload the files - # each time - - if (! @cssTags) - @cssTags = readTagFile('cssproperties.in'); - end - - if (! @htmlTags) - @htmlTags = readTagFile('htmltags.in'); - end - if (! @htmlAttr) - @htmlAttr = readTagFile('htmlattrs.in'); - end - - if (! @htmlValues) - @htmlValues = readTagFile('htmlvalues.in'); - end - - if (! @cssValues) - @cssValues = readTagFile('cssvalues.in'); - end - - end - - - def readTagFile(filename) - list = Array.new - File.new(filename).readlines.each { |line| - line.chop! - - # Don't include comments. - if (line !~ /^# /) && (line.length > 0) - list << line - end - } - return list - end - - # based on make_up_value, essentially. - def inventValue - value = rand(19); - case value - when 1..3 then return (@htmlValues[rand(@htmlValues.length)]) - when 4..5 then return (@htmlValues[rand(@htmlValues.length)] + inventValue()) - when 6 then return (@htmlValues[rand(@htmlValues.length)] + "//" + inventValue()) - when 7 then return '' - # this may return negative argument? - when 8..10 then return rand(255).chr * (rand(256)+8) - when 11 then return rand(255).chr * (rand(2048)+8) - when 12 then return "#" + rand(999999).to_s - when 13 then return rand(999999).to_s + "%" - when 14..15 then return "&" + rand(999999).to_s + ";" - # filters - when 16 then - return inventValue() + "=" + inventValue() - - # this my return undefined method + for nil:NilClass - when 17 then return inventValue() + "," + inventValue() - else - if rand(5) > 3 - return "-" + rand(999999).to_s - else - return rand(999999).to_s - end - end - end - - # based on make_up_value, essentially. - def inventCssValue(tag) - value = rand(23); - case value - when 1..10 then return @cssValues[rand(@cssValues.length)] - when 11 then return '' - when 12 then return rand(255).chr * (rand(8192)+8) - when 13 - length = rand(1024) + 8 - return (rand(255).chr * length) + " " + (rand(255).chr * length) + " " + (rand(255).chr * length) - when 14 then return (rand(255).chr * (rand(1024)+3)) + "px" - when 15 then return (rand(255).chr * (rand(1024)+3)) + "em" - when 16 then return "url(" + inventValue() + ")" - when 17..18 then return "#" + rand(999999999).to_s - when 19 then return "-" + rand(99999999).to_s - else return rand(99999999).to_s; - end - end - - - def mangleTag(tag) - @mangledTagTotal += 1 - out = '' - - # 20% chance of closing a tag instead of opening it. This - # still counts against @mangledTagTotal, however. - if rand(10) > 8 - out = "</" + tag + ">" - return out - end - - # we're opening it. - out = "<" + tag - - # forgot the space between the tag and the attributes - if rand(15) > 1 - out << ' ' - end - - attrNum = rand(@htmlMaxAttrs) + 1 - - 1.upto(attrNum) { - attr = @htmlAttr[rand(@htmlAttr.length)] - - out << attr - - # 7.5% of the time we skip the = sign. Don't prefix it - # if the attribute ends with a ( however. - - - if rand(15) > 1 - out << '=' - end - - # sometimes quote it, sometimes not. I doubt the importance - # of this test, but mangleme-1.2 added it, and adding more - # random-ness never hurt anything but time. I'll do it less often. - quote = rand(2) - if (quote > 1) - out << "\"" - end - - out << inventValue() - - # end the quote when you are done - if (quote > 1) - out << "\" " - end - - # 5% chance we skip the space at the end of the name - if rand(20) > 1 - out << ' ' - end - - } - - # CSS styles! - if rand(4) > 1 - out << " style=\"" - 1.upto(rand(@cssMaxProps)+1) { - out << @cssTags[rand(@cssTags.length)] - - # very small chance we let the tag run on. - if rand(50) > 1 - out << ": " - end - - out << inventCssValue(tag) - # we almost always put the ; there. - if rand(50) > 1 - out << '; ' - end - } - out << "\"" - end - - out << ">\n" - - # support our local troops! - if (@subtest_num > 0) && filterSubTest() - if tag =~ /html|body|head/ - return '<' + tag + '>' - else - return "<x-#@mangledTagTotal>\n" - end - else - return out - end - end - #end - - def filterSubTest() - result = 1 - if (@mangledTagTotal >= @offset) && (@mangledTagTotal < (@offset + @lines)) - result = nil - end - return result - end - - def nextTestNum() - if random_mode - n = rand(99999999) - else - if @test_num - n = @test_num + 1 - else - n = 1 - end - end - return n - end - - # If we are at line 30 with 8 extra lines, there is no point to try line 31 - # with 8 lines as well.. skip back to 1 and bump up the line count. - def nextSubTestNum() - if (@offset + @lines) > @htmlMaxTags - nextNum = ((@lines * 2 -1)) * @htmlMaxTags - else - nextNum = @subtest_num + 1 - end - return nextNum - end - - - def buildPage - if (! @test_num) || (@test_num < 1) - @test_num = 1 - end - next_num=nextTestNum() - @lines = @subtest_num.div(@htmlMaxTags) + 1 - @offset = @subtest_num.modulo(@htmlMaxTags) - - # building the HTML - bodyText = mangleTag('html') - bodyText << "\n<head>\n" - - # Only do redirects if lookup=1 has not been specified. - if (! @lookup_mode) && (@lines <= @htmlMaxTags) && (@stop_num != @test_num) - newpage = @url + "?" - if @subtest_num > 0 - newpage << "test=" << @test_num.to_s << "&subtest=" << nextSubTestNum().to_s - else - newpage << "test=" << next_num.to_s - end - - if @random_mode - newpage << "&random=1" - end - - if @stop_num > 0 - newpage << "&stop=" << @stop_num.to_s - end - - bodyText << "\t<META HTTP-EQUIV=\"Refresh\" content=\"0;URL=#{newpage}\">\n" - # use both techniques, because you never know how you might be corrupting yourself. - bodyText << "\t<script language=\"javascript\">setTimeout('window.location=\"#{newpage}\"', 1000);</script>\n" - end - - bodyText << "\t" << mangleTag('meta') - bodyText << "\t" << mangleTag('meta') - bodyText << "\t" << mangleTag('link') - - bodyText << "\t<title>[#@test_num] iExploder #{$VERSION} - #{inventValue()}</title>\n" - bodyText << "</head>\n\n" - - # What tags will we be messing with ###################### - tagList = [ 'body'] - - # we already have 5 tags? - 1.upto(@htmlMaxTags - 5 ) { tagList << @htmlTags[rand(@htmlTags.length)] } - - tagList.each { |tag| - bodyText << mangleTag(tag) - bodyText << inventValue() + "\n" - } - bodyText << "</body>\n</html>" - end -end - - - -if $0 == __FILE__ - max=ARGV[0].to_i - puts "testing #{max} tags" - test = IExploder.new(max, 5, 5) - test.readTagFiles() - test.test_num=1 - test.subtest_num=1 - counter=0 - test.lines=0 - - while test.lines < max - test.lines = test.subtest_num.div(max) + 1 - test.offset = test.subtest_num.modulo(max) - test.subtest_num=test.nextSubTestNum - counter = counter + 1 - puts "[#{counter}] subtest #{test.subtest_num} is #{test.lines} lines with #{test.offset} offset" - end - - puts "for #{max} tests, you will have #{counter} iterations until #{test.subtest_num}" -end - diff --git a/Tools/iExploder/htdocs/index.html b/Tools/iExploder/htdocs/index.html deleted file mode 100644 index 849bc6b..0000000 --- a/Tools/iExploder/htdocs/index.html +++ /dev/null @@ -1,34 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html> -<head> - <title>iExploder 1.3.2</title> -</head> -<body> -<h2>iExploder: Web Browser Quality Assurance Tester</h2> -<small>Written by <a href="http://toadstool.se/">Thomas Strömberg</a> for the -<a href="http://www.mozilla.org/firefox/">Mozilla FireFox</a> project</small> - - -<ul> - <li><a href="iexploder.cgi">Start test sequence from the beginning!</a></li> - <li><a href="iexploder.cgi?random=1">Start test sequence in random</a></li> - <li>Start testing from a test number: - <form method="get" action="iexploder.cgi" name="test"> - Test: <input size="9" name="test" value="1"> Subtest: <input size="2" name="subtest" value=""> - <input value="Start" type="submit"> - </form> - </li> - - <li>Lookup a single test number: - <form method="get" action="iexploder.cgi" name="test"> - <input type="hidden" name="lookup" value="1"> - Test: <input size="9" name="test" value="1"> Subtest: <input size="2" name="subtest" value=""> - <input value="Lookup" type="submit"></form> - </li> -</ul> - -If your browser crashes, please contact thomas%stromberg.org! - -</body> -</html> - diff --git a/Tools/iExploder/htdocs/webserver.rb b/Tools/iExploder/htdocs/webserver.rb deleted file mode 100755 index 5176172..0000000 --- a/Tools/iExploder/htdocs/webserver.rb +++ /dev/null @@ -1,75 +0,0 @@ -#!/usr/bin/ruby -# iExploder - Generates bad HTML files to perform QA for web browsers. -# Developed for the Mozilla Foundation. -##################### -# -# Copyright (c) 2006 Thomas Stromberg <thomas%stromberg.org> -# -# This software is provided 'as-is', without any express or implied warranty. -# In no event will the authors be held liable for any damages arising from the -# use of this software. -# -# Permission is granted to anyone to use this software for any purpose, -# including commercial applications, and to alter it and redistribute it -# freely, subject to the following restrictions: -# -# 1. The origin of this software must not be misrepresented; you must not -# claim that you wrote the original software. If you use this software in a -# product, an acknowledgment in the product documentation would be appreciated -# but is not required. -# -# 2. Altered source versions must be plainly marked as such, and must not be -# misrepresented as being the original software. -# -# 3. This notice may not be removed or altered from any source distribution. - -require 'webrick' -require 'iexploder'; -require 'config'; - -include WEBrick -### THE INTERACTION ################################## -$ie_preload = IExploder.new($HTML_MAX_TAGS, $HTML_MAX_ATTRS, $CSS_MAX_PROPS) -$ie_preload.readTagFiles() -$ie_preload.url='/iexploder.cgi' - -if ARGV[0] - port = ARGV[0].to_i -else - port = 2000 -end - -puts "* iExploder #{$VERSION} will be available at http://localhost:#{port}" -puts "* Max Tags: #$HTML_MAX_TAGS Max Attrs: #$HTML_MAX_ATTRS Max Props: #$CSS_MAX_PROPS" -puts - -s = HTTPServer.new( :Port => port ) -class IEServlet < HTTPServlet::AbstractServlet - def do_GET(req, res) - ie = $ie_preload.dup - ie.test_num = req.query['test'].to_i - ie.subtest_num = req.query['subtest'].to_i || 0 - ie.random_mode = req.query['random'] - ie.lookup_mode = req.query['lookup'] - ie.stop_num = req.query['stop'].to_i - ie.setRandomSeed - - res['Content-Type'] = 'text/html' - res.body = ie.buildPage() - end -end - -class IEForm < HTTPServlet::AbstractServlet - def do_GET(req, res) - res['Content-Type'] = 'text/html' - res.body = File.open("index.html").readlines.join("\n") - end -end - - - -s.mount("/iexploder.cgi", IEServlet) -s.mount("/", IEForm) -trap("INT") { s.shutdown } - -s.start diff --git a/Tools/iExploder/iexploder-1.7.2/tools/update_html_tags_from_sources.sh b/Tools/iExploder/iexploder-1.7.2/tools/update_html_tags_from_sources.sh index f681743..39707f7 100755 --- a/Tools/iExploder/iexploder-1.7.2/tools/update_html_tags_from_sources.sh +++ b/Tools/iExploder/iexploder-1.7.2/tools/update_html_tags_from_sources.sh @@ -25,22 +25,22 @@ fi if [ -d "$src_dir/WebKit" ]; then # Tested as of WebKit-r55454 source_name="webkit" - grep -v "^#" $src_dir/WebCore/css/CSSPropertyNames.in > ${tmp_prefix}.css-properties - grep -v "^#" $src_dir/WebCore/css/CSSValueKeywords.in > ${tmp_prefix}.css-values - grep -v "^#" $src_dir/WebCore/html/HTMLAttributeNames.in | cut -d" " -f1 | \ + grep -v "^#" $src_dir/Source/WebCore/css/CSSPropertyNames.in > ${tmp_prefix}.css-properties + grep -v "^#" $src_dir/Source/WebCore/css/CSSValueKeywords.in > ${tmp_prefix}.css-values + grep -v "^#" $src_dir/Source/WebCore/html/HTMLAttributeNames.in | cut -d" " -f1 | \ egrep -v "^namespace\w*=" > ${tmp_prefix}.html-attrs - grep -v "^#" $src_dir/WebCore/html/HTMLTagNames.in | cut -d" " -f1 | \ + grep -v "^#" $src_dir/Source/WebCore/html/HTMLTagNames.in | cut -d" " -f1 | \ egrep -v "^namespace\w*=" > ${tmp_prefix}.html-tags - egrep "equalIgnoringCase" $src_dir/WebCore/html/HTML*.cpp | \ + egrep "equalIgnoringCase" $src_dir/Source/WebCore/html/HTML*.cpp | \ ruby -e '$stdin.readlines.join("").scan(/\"([\w-]+)"/) { |tag| puts tag }' > ${tmp_prefix}.html-values - grep -r "protocolIs" $src_dir/WebCore/* | ruby -e '$stdin.readlines.join("").scan(/\"([\w-]+)"/) { |tag| puts "#{tag}:" }' > ${tmp_prefix}.protocols - grep "map->add" $src_dir/WebCore/html/HTMLInputElement.cpp | cut -d\" -f2 >> ${tmp_prefix}.html-values - grep "AtomicString,.*Header, (" $src_dir/WebCore/platform/network/ResourceResponseBase.cpp | cut -d\" -f2 > ${tmp_prefix}.headers + grep -r "protocolIs" $src_dir/Source/WebCore/* | ruby -e '$stdin.readlines.join("").scan(/\"([\w-]+)"/) { |tag| puts "#{tag}:" }' > ${tmp_prefix}.protocols + grep "map->add" $src_dir/Source/WebCore/html/HTMLInputElement.cpp | cut -d\" -f2 >> ${tmp_prefix}.html-values + grep "AtomicString,.*Header, (" $src_dir/Source/WebCore/platform/network/ResourceResponseBase.cpp | cut -d\" -f2 > ${tmp_prefix}.headers grep -o -r 'httpHeaderField(".*"' $src_dir | cut -d\" -f2 >> ${tmp_prefix}.headers - egrep -r '"[-\+a-z]+/[-\+a-z]+"' $src_dir/WebCore | ruby -e '$stdin.readlines.join("").scan(/\"([afimtvwx][\w\+-]+\/[\w\+-]+)"/) { puts $1 }' > ${tmp_prefix}.mime-types - grep DEFINE_STATIC $src_dir/WebCore/css/CSSSelector.cpp | cut -d\" -f2 \ + egrep -r '"[-\+a-z]+/[-\+a-z]+"' $src_dir/Source/WebCore | ruby -e '$stdin.readlines.join("").scan(/\"([afimtvwx][\w\+-]+\/[\w\+-]+)"/) { puts $1 }' > ${tmp_prefix}.mime-types + grep DEFINE_STATIC $src_dir/Source/WebCore/css/CSSSelector.cpp | cut -d\" -f2 \ > ${tmp_prefix}.css-pseudo - egrep -o '"@.*?\"' $src_dir/WebCore/css/CSSParser.cpp | cut -d\" -f2 | cut -d"{" -f1 | \ + egrep -o '"@.*?\"' $src_dir/Source/WebCore/css/CSSParser.cpp | cut -d\" -f2 | cut -d"{" -f1 | \ sed s/" "// > ${tmp_prefix}.css-atrules elif [ -d "$src_dir/xpcom" ]; then # Tested as of Sep 1 2010 diff --git a/Tools/iExploder/tools/lasthit.rb b/Tools/iExploder/tools/lasthit.rb deleted file mode 100755 index b569deb..0000000 --- a/Tools/iExploder/tools/lasthit.rb +++ /dev/null @@ -1,53 +0,0 @@ -#!/usr/bin/ruby -# lasthit, part of iExploder -# -# Shows statistics about recent agents that have tested with iExploder. -# It takes all or part of an apache logfile via stdin, and outputs a list -# of all the agents who tested within that section, what their last test -# was, and how many tests they have done. - -# The usefulness is finding out where a browser crashed. - - -hostHash = Hash.new - -if (ARGV[0]) - file = File.open(ARGV[0]) -else - file = $stdin -end - -file.readlines.each { |line| - if (line =~ /^(.*?) .*iexploder.*?test=(\d+).* HTTP.* \"(.*?)\"$/) - host = $1 - testnum = $2 - agent = $3 - if (! hostHash[host]) - hostHash[host] = Hash.new - end - if (! hostHash[host][agent]) - hostHash[host][agent] = Hash.new - hostHash[host][agent]['total'] = 0 - end - - hostHash[host][agent]['last'] = testnum - if line =~ /subtest=(\d+)/ - hostHash[host][agent]['subtest'] = $1 - else - hostHash[host][agent]['subtest'] = '' - end - hostHash[host][agent]['total'] = hostHash[host][agent]['total'] + 1 - end -} - -printf("%14.14s | %8.8s | %3.3s | %8.8s | %s\n", - "IP", "Test", "SubTest", "Total", "Agent") -puts "---------------------------------------------------------------------------" -hostHash.each_key { |host| - - hostHash[host].each_key { |agent| - printf("%14.14s | %8.8s | %3.3s | %8.8s | %s\n", - host, hostHash[host][agent]['last'], hostHash[host][agent]['subtest'], hostHash[host][agent]['total'], agent); - } -} - diff --git a/Tools/iExploder/tools/osx_last_crash.rb b/Tools/iExploder/tools/osx_last_crash.rb deleted file mode 100755 index 5b62c6d..0000000 --- a/Tools/iExploder/tools/osx_last_crash.rb +++ /dev/null @@ -1,48 +0,0 @@ -#!/usr/bin/ruby -# Gives you information about the most recent crash for each application -# that has crashed within the last 2 days - -$LogDir=ENV['HOME'] + '/Library/Logs/CrashReporter' -$Days=1 -$StackCount=5 - -files=`find #$LogDir -mtime -#$Days -type f | grep -v synergy` -files.each { |filename| - filename.chop! - record = 0 - date='' - stackTrace = [] - - File.open(filename).readlines.each { |line| - #puts line - - if line =~ /^Date.*(200.*)/ - date = $1 - end - - if line =~ /^Thread \d+ Crashed/ - record = 1 - # reset the stack trace - stackTrace = [] - end - - if record - stackTrace << line - record = record + 1 - - # stop recording after $StackCount lines - if record > ($StackCount + 2) - record = nil - end - end - } - - puts File.basename(filename) + " - " + date - puts "===================================================" - stackTrace.each { |line| - puts line - } - puts "" -} - - diff --git a/Tools/iExploder/tools/showtest.rb b/Tools/iExploder/tools/showtest.rb deleted file mode 100755 index af6b101..0000000 --- a/Tools/iExploder/tools/showtest.rb +++ /dev/null @@ -1,43 +0,0 @@ -#!/usr/bin/ruby -# showtest.rb - simple CLI interface to grab a testcase -##################### -# -# Copyright (c) 2006 Thomas Stromberg <thomas%stromberg.org> -# -# This software is provided 'as-is', without any express or implied warranty. -# In no event will the authors be held liable for any damages arising from the -# use of this software. -# -# Permission is granted to anyone to use this software for any purpose, -# including commercial applications, and to alter it and redistribute it -# freely, subject to the following restrictions: -# -# 1. The origin of this software must not be misrepresented; you must not -# claim that you wrote the original software. If you use this software in a -# product, an acknowledgment in the product documentation would be appreciated -# but is not required. -# -# 2. Altered source versions must be plainly marked as such, and must not be -# misrepresented as being the original software. -# -# 3. This notice may not be removed or altered from any source distribution. - -Dir.chdir('../htdocs') -require 'iexploder'; -require 'config'; - -### THE INTERACTION ################################## -ie = IExploder.new($HTML_MAX_TAGS, $HTML_MAX_ATTRS, $CSS_MAX_PROPS) -ie.readTagFiles() - -if ! ARGV[0] - puts "syntax: showtest.rb [test#] [subtest#]" - exit -end - -ie.test_num = ARGV[0].to_i -ie.subtest_num = ARGV[1].to_i || 0 -ie.lookup_mode = 1 -ie.setRandomSeed - -puts ie.buildPage() |