summaryrefslogtreecommitdiffstats
path: root/chrome/test/data
diff options
context:
space:
mode:
authorinitial.commit <initial.commit@0039d316-1c4b-4281-b951-d872f2087c98>2008-07-26 23:55:29 +0000
committerinitial.commit <initial.commit@0039d316-1c4b-4281-b951-d872f2087c98>2008-07-26 23:55:29 +0000
commit09911bf300f1a419907a9412154760efd0b7abc3 (patch)
treef131325fb4e2ad12c6d3504ab75b16dd92facfed /chrome/test/data
parent586acc5fe142f498261f52c66862fa417c3d52d2 (diff)
downloadchromium_src-09911bf300f1a419907a9412154760efd0b7abc3.zip
chromium_src-09911bf300f1a419907a9412154760efd0b7abc3.tar.gz
chromium_src-09911bf300f1a419907a9412154760efd0b7abc3.tar.bz2
Add chrome to the repository.
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/test/data')
-rw-r--r--chrome/test/data/animate1.gifbin0 -> 19021 bytes
-rw-r--r--chrome/test/data/animate2.gifbin0 -> 10906 bytes
-rw-r--r--chrome/test/data/animate3.gifbin0 -> 1769 bytes
-rw-r--r--chrome/test/data/animated-gifs.html8
-rw-r--r--chrome/test/data/cancelled_redirect_test.html28
-rw-r--r--chrome/test/data/columns.html23
-rw-r--r--chrome/test/data/constrained_files/constrained_window.html17
-rw-r--r--chrome/test/data/constrained_files/constrained_window_onload_moveto.html17
-rw-r--r--chrome/test/data/constrained_files/constrained_window_onload_resizeto.html17
-rw-r--r--chrome/test/data/constrained_files/target0.html8
-rw-r--r--chrome/test/data/constrained_files/target1.html6
-rw-r--r--chrome/test/data/constrained_files/target_onload_moveto.html8
-rw-r--r--chrome/test/data/constrained_files/target_onload_resizeto.html9
-rw-r--r--chrome/test/data/content-disposition-empty.html4
-rw-r--r--chrome/test/data/content-disposition-empty.html.mock-http-headers6
-rw-r--r--chrome/test/data/content-disposition-inline.html4
-rw-r--r--chrome/test/data/content-disposition-inline.html.mock-http-headers6
-rw-r--r--chrome/test/data/content-sniffer-test0.html4
-rw-r--r--chrome/test/data/content-sniffer-test0.html.mock-http-headers4
-rw-r--r--chrome/test/data/content-sniffer-test1.html4
-rw-r--r--chrome/test/data/content-sniffer-test1.html.mock-http-headers5
-rw-r--r--chrome/test/data/content-sniffer-test2.html4
-rw-r--r--chrome/test/data/content-sniffer-test2.html.mock-http-headers5
-rw-r--r--chrome/test/data/content-sniffer-test3-frame.txt0
-rw-r--r--chrome/test/data/content-sniffer-test3-frame.txt.mock-http-headers3
-rw-r--r--chrome/test/data/content-sniffer-test3.html16
-rw-r--r--chrome/test/data/content-sniffer-test3.html.mock-http-headers5
-rw-r--r--chrome/test/data/cookie1.html11
-rw-r--r--chrome/test/data/download-test1.libbin0 -> 271920 bytes
-rw-r--r--chrome/test/data/download-test1.lib.mock-http-headers5
-rw-r--r--chrome/test/data/download-test2.html4
-rw-r--r--chrome/test/data/download-test2.html.mock-http-headers5
-rw-r--r--chrome/test/data/download-test3.html0
-rw-r--r--chrome/test/data/download-test3.html.mock-http-headers6
-rw-r--r--chrome/test/data/empty.html0
-rw-r--r--chrome/test/data/file_client_redirect.html8
-rw-r--r--chrome/test/data/find_in_page/framedata_general.html13
-rw-r--r--chrome/test/data/find_in_page/framedata_left.html21
-rw-r--r--chrome/test/data/find_in_page/frames.html12
-rw-r--r--chrome/test/data/find_in_page/user-select.html6
-rw-r--r--chrome/test/data/firefox2_nss/README7
-rw-r--r--chrome/test/data/firefox2_nss/freebl3.dllbin0 -> 200829 bytes
-rw-r--r--chrome/test/data/firefox2_nss/nspr4.dllbin0 -> 161392 bytes
-rw-r--r--chrome/test/data/firefox2_nss/nss3.dllbin0 -> 378472 bytes
-rw-r--r--chrome/test/data/firefox2_nss/plc4.dllbin0 -> 34424 bytes
-rw-r--r--chrome/test/data/firefox2_nss/plds4.dllbin0 -> 30320 bytes
-rw-r--r--chrome/test/data/firefox2_nss/softokn3.dllbin0 -> 254060 bytes
-rw-r--r--chrome/test/data/firefox2_profile/bookmarks.html37
-rw-r--r--chrome/test/data/firefox2_profile/cert8.dbbin0 -> 65536 bytes
-rw-r--r--chrome/test/data/firefox2_profile/cookies.txt10
-rw-r--r--chrome/test/data/firefox2_profile/history.dat16
-rw-r--r--chrome/test/data/firefox2_profile/key3.dbbin0 -> 16384 bytes
-rw-r--r--chrome/test/data/firefox2_profile/prefs.js209
-rw-r--r--chrome/test/data/firefox2_profile/signons2.txt29
-rw-r--r--chrome/test/data/firefox3_nss/README13
-rw-r--r--chrome/test/data/firefox3_nss/freebl3.dllbin0 -> 233472 bytes
-rw-r--r--chrome/test/data/firefox3_nss/mozcrt19.dllbin0 -> 710144 bytes
-rw-r--r--chrome/test/data/firefox3_nss/nspr4.dllbin0 -> 198144 bytes
-rw-r--r--chrome/test/data/firefox3_nss/nss3.dllbin0 -> 697856 bytes
-rw-r--r--chrome/test/data/firefox3_nss/nssdbm3.dllbin0 -> 103936 bytes
-rw-r--r--chrome/test/data/firefox3_nss/nssutil3.dllbin0 -> 87552 bytes
-rw-r--r--chrome/test/data/firefox3_nss/plc4.dllbin0 -> 20480 bytes
-rw-r--r--chrome/test/data/firefox3_nss/plds4.dllbin0 -> 17408 bytes
-rw-r--r--chrome/test/data/firefox3_nss/softokn3.dllbin0 -> 151552 bytes
-rw-r--r--chrome/test/data/firefox3_nss/sqlite3.dllbin0 -> 414208 bytes
-rw-r--r--chrome/test/data/firefox3_profile/cert8.dbbin0 -> 65536 bytes
-rw-r--r--chrome/test/data/firefox3_profile/cookies.sqlitebin0 -> 2048 bytes
-rw-r--r--chrome/test/data/firefox3_profile/key3.dbbin0 -> 16384 bytes
-rw-r--r--chrome/test/data/firefox3_profile/places.sqlitebin0 -> 131072 bytes
-rw-r--r--chrome/test/data/firefox3_profile/prefs.js32
-rw-r--r--chrome/test/data/firefox3_profile/search.sqlitebin0 -> 2048 bytes
-rw-r--r--chrome/test/data/firefox3_profile/secmod.dbbin0 -> 16384 bytes
-rw-r--r--chrome/test/data/firefox3_profile/signons3.txt18
-rw-r--r--chrome/test/data/focus/page_steals_focus.html55
-rw-r--r--chrome/test/data/focus/page_with_focus.html24
-rw-r--r--chrome/test/data/focus/typical_page.html47
-rw-r--r--chrome/test/data/frame_dom_access/frame_dom_access.html6
-rw-r--r--chrome/test/data/frame_dom_access/frame_level_1.html6
-rw-r--r--chrome/test/data/frame_dom_access/frame_level_2.html5
-rw-r--r--chrome/test/data/google/google.html17
-rw-r--r--chrome/test/data/google/logo.gifbin0 -> 8558 bytes
-rw-r--r--chrome/test/data/google/x2.gifbin0 -> 83 bytes
-rw-r--r--chrome/test/data/http_to_file.html5
-rw-r--r--chrome/test/data/icon_util/128_X_128_icon.icobin0 -> 67646 bytes
-rw-r--r--chrome/test/data/icon_util/16_X_16_icon.icobin0 -> 1150 bytes
-rw-r--r--chrome/test/data/ie@cookie[1].txt69
-rw-r--r--chrome/test/data/iframe.html4
-rw-r--r--chrome/test/data/iframe_in_empty_frame.html18
-rw-r--r--chrome/test/data/iframe_in_empty_frame.js3
-rw-r--r--chrome/test/data/inspector/dummy.js3
-rw-r--r--chrome/test/data/inspector/test1.html4
-rw-r--r--chrome/test/data/inspector/test2.html5
-rw-r--r--chrome/test/data/interstitial_page/google.html17
-rw-r--r--chrome/test/data/interstitial_page/interstitial.html7
-rw-r--r--chrome/test/data/interstitial_page/logo.gifbin0 -> 8558 bytes
-rw-r--r--chrome/test/data/interstitial_page/shopping.html123
-rw-r--r--chrome/test/data/interstitial_page/shopping_files/froogle.css1
-rw-r--r--chrome/test/data/interstitial_page/shopping_files/hp0.gifbin0 -> 4277 bytes
-rw-r--r--chrome/test/data/interstitial_page/shopping_files/hp1.gifbin0 -> 2953 bytes
-rw-r--r--chrome/test/data/interstitial_page/shopping_files/hp2.gifbin0 -> 2702 bytes
-rw-r--r--chrome/test/data/interstitial_page/shopping_files/hp3.gifbin0 -> 1410 bytes
-rw-r--r--chrome/test/data/interstitial_page/x2.gifbin0 -> 83 bytes
-rw-r--r--chrome/test/data/npapi/arguments.html40
-rw-r--r--chrome/test/data/npapi/execute_script_delete_in_npn_evaluate.html39
-rw-r--r--chrome/test/data/npapi/execute_script_delete_in_paint.html39
-rw-r--r--chrome/test/data/npapi/get_javascript_url.html26
-rw-r--r--chrome/test/data/npapi/geturl.html26
-rw-r--r--chrome/test/data/npapi/layout_test_plugin.html17
-rw-r--r--chrome/test/data/npapi/many_plugins.html94
-rw-r--r--chrome/test/data/npapi/new_fails.html30
-rw-r--r--chrome/test/data/npapi/npapi.js28
-rw-r--r--chrome/test/data/npapi/npobject_lifetime_test.html58
-rw-r--r--chrome/test/data/npapi/npobject_lifetime_test_second_instance.html20
-rw-r--r--chrome/test/data/npapi/npobject_proxy.html28
-rw-r--r--chrome/test/data/npapi/self_delete_plugin_geturl.html37
-rw-r--r--chrome/test/data/npapi/self_delete_plugin_invoke.html33
-rw-r--r--chrome/test/data/npapi/self_delete_plugin_stream.html34
-rw-r--r--chrome/test/data/npapi/verify_plugin_window_rect.html30
-rw-r--r--chrome/test/data/omnibox_tests.xml38
-rw-r--r--chrome/test/data/onunload_cookie.html18
-rw-r--r--chrome/test/data/pref_service/overlay.json22
-rw-r--r--chrome/test/data/pref_service/read.json7
-rw-r--r--chrome/test/data/pref_service/write.golden.json7
-rw-r--r--chrome/test/data/printing/alert_small.pngbin0 -> 764 bytes
-rw-r--r--chrome/test/data/printing/cleardot.gifbin0 -> 43 bytes
-rw-r--r--chrome/test/data/printing/click_me.pngbin0 -> 787 bytes
-rw-r--r--chrome/test/data/printing/iframe.emfbin0 -> 54656 bytes
-rw-r--r--chrome/test/data/printing/iframe.htm29
-rw-r--r--chrome/test/data/printing/iframe.pngbin0 -> 4003 bytes
-rw-r--r--chrome/test/data/printing/popup_delayed_print.emfbin0 -> 41108 bytes
-rw-r--r--chrome/test/data/printing/popup_delayed_print.htm13
-rw-r--r--chrome/test/data/printing/popup_delayed_print.pngbin0 -> 5644 bytes
-rw-r--r--chrome/test/data/printing/popup_delayed_print_child.htm14
-rw-r--r--chrome/test/data/printing/sadtab.pngbin0 -> 422 bytes
-rw-r--r--chrome/test/data/printing/test1.emfbin0 -> 4276 bytes
-rw-r--r--chrome/test/data/printing/test1.html20
-rw-r--r--chrome/test/data/printing/test1.pngbin0 -> 6482 bytes
-rw-r--r--chrome/test/data/printing/test1_cleartype.pngbin0 -> 10735 bytes
-rw-r--r--chrome/test/data/printing/test2.emfbin0 -> 54656 bytes
-rw-r--r--chrome/test/data/printing/test2.html10
-rw-r--r--chrome/test/data/printing/test2.pngbin0 -> 4003 bytes
-rw-r--r--chrome/test/data/printing/test3.emfbin0 -> 1860 bytes
-rw-r--r--chrome/test/data/printing/test3.html8
-rw-r--r--chrome/test/data/printing/test3.pngbin0 -> 3535 bytes
-rw-r--r--chrome/test/data/printing/test4.emfbin0 -> 6488 bytes
-rw-r--r--chrome/test/data/printing/test4.html10
-rw-r--r--chrome/test/data/printing/test4.pngbin0 -> 5558 bytes
-rw-r--r--chrome/test/data/printing/test5.emfbin0 -> 18532 bytes
-rw-r--r--chrome/test/data/printing/test5.html18
-rw-r--r--chrome/test/data/printing/test5.pngbin0 -> 3752 bytes
-rw-r--r--chrome/test/data/profiles/chrome_prefs/History0
-rw-r--r--chrome/test/data/profiles/chrome_prefs/Preferences15
-rw-r--r--chrome/test/data/profiles/sample/Full Text Indexbin0 -> 78848 bytes
-rw-r--r--chrome/test/data/profiles/sample/Historybin0 -> 19456 bytes
-rw-r--r--chrome/test/data/profiles/sample/Preferences1
-rw-r--r--chrome/test/data/profiles/sample/Thumbnailsbin0 -> 102400 bytes
-rw-r--r--chrome/test/data/profiles/sample/Visited Linksbin0 -> 131072 bytes
-rw-r--r--chrome/test/data/profiles/sample/Web Databin0 -> 40960 bytes
-rw-r--r--chrome/test/data/profiles/typical_history/Default/Cookiesbin0 -> 6144 bytes
-rw-r--r--chrome/test/data/profiles/typical_history/Default/Full Text Indexbin0 -> 20480 bytes
-rw-r--r--chrome/test/data/profiles/typical_history/Default/Historybin0 -> 14778368 bytes
-rw-r--r--chrome/test/data/profiles/typical_history/Default/Preferences11
-rw-r--r--chrome/test/data/profiles/typical_history/Default/Thumbnailsbin0 -> 32768 bytes
-rw-r--r--chrome/test/data/profiles/typical_history/Default/Visited Linksbin0 -> 131072 bytes
-rw-r--r--chrome/test/data/profiles/typical_history/README.txt14
-rw-r--r--chrome/test/data/profiles/window_placement/Local State11
-rw-r--r--chrome/test/data/purify/ignore.txt6
-rw-r--r--chrome/test/data/purify/ipc_tests.exe_MLK.txt0
-rw-r--r--chrome/test/data/purify/ipc_tests.exe_UMR.txt157
-rw-r--r--chrome/test/data/purify/unit_tests.exe.gtest.txt2
-rw-r--r--chrome/test/data/purify/unit_tests.exe_FIM.txt0
-rw-r--r--chrome/test/data/purify/unit_tests.exe_FIM_flakey.txt12
-rw-r--r--chrome/test/data/purify/unit_tests.exe_IPR.txt0
-rw-r--r--chrome/test/data/purify/unit_tests.exe_MLK.txt0
-rw-r--r--chrome/test/data/purify/unit_tests.exe_MLK_flakey.txt97
-rw-r--r--chrome/test/data/purify/unit_tests.exe_UMR.txt0
-rw-r--r--chrome/test/data/purify/unit_tests.exe_UMR_flakey.txt100
-rw-r--r--chrome/test/data/read_cookies.html35
-rw-r--r--chrome/test/data/ref_redirect.html8
-rw-r--r--chrome/test/data/resource.h23
-rw-r--r--chrome/test/data/resource.rc80
-rw-r--r--chrome/test/data/safe_browsing/download_update.py33
-rw-r--r--chrome/test/data/safe_browsing/initial/000goog-malware-shavar_sbin0 -> 97375 bytes
-rw-r--r--chrome/test/data/safe_browsing/initial/001goog-malware-shavar_sbin0 -> 127598 bytes
-rw-r--r--chrome/test/data/safe_browsing/initial/002goog-malware-shavar_sbin0 -> 143562 bytes
-rw-r--r--chrome/test/data/safe_browsing/initial/003goog-malware-shavar_sbin0 -> 123490 bytes
-rw-r--r--chrome/test/data/safe_browsing/initial/004goog-malware-shavar_sbin0 -> 152038 bytes
-rw-r--r--chrome/test/data/safe_browsing/initial/005goog-malware-shavar_sbin0 -> 167281 bytes
-rw-r--r--chrome/test/data/safe_browsing/initial/006goog-malware-shavar_sbin0 -> 168447 bytes
-rw-r--r--chrome/test/data/safe_browsing/initial/007goog-malware-shavar_sbin0 -> 171361 bytes
-rw-r--r--chrome/test/data/safe_browsing/initial/008goog-malware-shavar_sbin0 -> 155878 bytes
-rw-r--r--chrome/test/data/safe_browsing/initial/009goog-malware-shavar_sbin0 -> 169394 bytes
-rw-r--r--chrome/test/data/safe_browsing/initial/010goog-malware-shavar_abin0 -> 198030 bytes
-rw-r--r--chrome/test/data/safe_browsing/initial/011goog-malware-shavar_abin0 -> 72219 bytes
-rw-r--r--chrome/test/data/safe_browsing/initial/012goog-malware-shavar_abin0 -> 115525 bytes
-rw-r--r--chrome/test/data/safe_browsing/initial/013goog-malware-shavar_abin0 -> 178066 bytes
-rw-r--r--chrome/test/data/safe_browsing/initial/014goog-malware-shavar_abin0 -> 57907 bytes
-rw-r--r--chrome/test/data/safe_browsing/initial/015goog-phish-shavar_sbin0 -> 273 bytes
-rw-r--r--chrome/test/data/safe_browsing/initial/016goog-phish-shavar_sbin0 -> 269 bytes
-rw-r--r--chrome/test/data/safe_browsing/initial/017goog-phish-shavar_sbin0 -> 255 bytes
-rw-r--r--chrome/test/data/safe_browsing/initial/018goog-phish-shavar_sbin0 -> 442 bytes
-rw-r--r--chrome/test/data/safe_browsing/initial/019goog-phish-shavar_sbin0 -> 347 bytes
-rw-r--r--chrome/test/data/safe_browsing/initial/020goog-phish-shavar_sbin0 -> 887 bytes
-rw-r--r--chrome/test/data/safe_browsing/initial/021goog-phish-shavar_sbin0 -> 196 bytes
-rw-r--r--chrome/test/data/safe_browsing/initial/022goog-phish-shavar_sbin0 -> 395 bytes
-rw-r--r--chrome/test/data/safe_browsing/initial/023goog-phish-shavar_sbin0 -> 260 bytes
-rw-r--r--chrome/test/data/safe_browsing/initial/024goog-phish-shavar_sbin0 -> 260 bytes
-rw-r--r--chrome/test/data/safe_browsing/initial/025goog-phish-shavar_sbin0 -> 388 bytes
-rw-r--r--chrome/test/data/safe_browsing/initial/026goog-phish-shavar_sbin0 -> 461 bytes
-rw-r--r--chrome/test/data/safe_browsing/initial/027goog-phish-shavar_sbin0 -> 423 bytes
-rw-r--r--chrome/test/data/safe_browsing/initial/028goog-phish-shavar_sbin0 -> 186 bytes
-rw-r--r--chrome/test/data/safe_browsing/initial/029goog-phish-shavar_sbin0 -> 282 bytes
-rw-r--r--chrome/test/data/safe_browsing/initial/030goog-phish-shavar_sbin0 -> 182 bytes
-rw-r--r--chrome/test/data/safe_browsing/initial/031goog-phish-shavar_sbin0 -> 625 bytes
-rw-r--r--chrome/test/data/safe_browsing/initial/032goog-phish-shavar_sbin0 -> 269 bytes
-rw-r--r--chrome/test/data/safe_browsing/initial/033goog-phish-shavar_sbin0 -> 243 bytes
-rw-r--r--chrome/test/data/safe_browsing/initial/034goog-phish-shavar_sbin0 -> 381 bytes
-rw-r--r--chrome/test/data/safe_browsing/initial/035goog-phish-shavar_sbin0 -> 361 bytes
-rw-r--r--chrome/test/data/safe_browsing/initial/036goog-phish-shavar_sbin0 -> 289 bytes
-rw-r--r--chrome/test/data/safe_browsing/initial/037goog-phish-shavar_sbin0 -> 292 bytes
-rw-r--r--chrome/test/data/safe_browsing/initial/038goog-phish-shavar_sbin0 -> 306 bytes
-rw-r--r--chrome/test/data/safe_browsing/initial/039goog-phish-shavar_sbin0 -> 271 bytes
-rw-r--r--chrome/test/data/safe_browsing/initial/040goog-phish-shavar_sbin0 -> 655 bytes
-rw-r--r--chrome/test/data/safe_browsing/initial/041goog-phish-shavar_sbin0 -> 494 bytes
-rw-r--r--chrome/test/data/safe_browsing/initial/042goog-phish-shavar_sbin0 -> 2084 bytes
-rw-r--r--chrome/test/data/safe_browsing/initial/043goog-phish-shavar_sbin0 -> 328 bytes
-rw-r--r--chrome/test/data/safe_browsing/initial/044goog-phish-shavar_sbin0 -> 1973 bytes
-rw-r--r--chrome/test/data/safe_browsing/initial/045goog-phish-shavar_sbin0 -> 2809 bytes
-rw-r--r--chrome/test/data/safe_browsing/initial/046goog-phish-shavar_sbin0 -> 15562 bytes
-rw-r--r--chrome/test/data/safe_browsing/initial/047goog-phish-shavar_sbin0 -> 6933 bytes
-rw-r--r--chrome/test/data/safe_browsing/initial/048goog-phish-shavar_abin0 -> 7385 bytes
-rw-r--r--chrome/test/data/safe_browsing/initial/049goog-phish-shavar_abin0 -> 14177 bytes
-rw-r--r--chrome/test/data/safe_browsing/initial/050goog-phish-shavar_abin0 -> 17844 bytes
-rw-r--r--chrome/test/data/safe_browsing/initial/051goog-phish-shavar_abin0 -> 12683 bytes
-rw-r--r--chrome/test/data/safe_browsing/initial/052goog-phish-shavar_abin0 -> 1026 bytes
-rw-r--r--chrome/test/data/safe_browsing/old/SafeBrowsingbin0 -> 53770240 bytes
-rw-r--r--chrome/test/data/safe_browsing/old/postdata2
-rw-r--r--chrome/test/data/safe_browsing/old/response48
-rw-r--r--chrome/test/data/safe_browsing/old/updates/000goog-malware-shavar_sbin0 -> 168447 bytes
-rw-r--r--chrome/test/data/safe_browsing/old/updates/001goog-malware-shavar_sbin0 -> 171361 bytes
-rw-r--r--chrome/test/data/safe_browsing/old/updates/002goog-malware-shavar_sbin0 -> 155878 bytes
-rw-r--r--chrome/test/data/safe_browsing/old/updates/003goog-malware-shavar_sbin0 -> 169394 bytes
-rw-r--r--chrome/test/data/safe_browsing/old/updates/004goog-malware-shavar_sbin0 -> 169488 bytes
-rw-r--r--chrome/test/data/safe_browsing/old/updates/005goog-malware-shavar_sbin0 -> 120198 bytes
-rw-r--r--chrome/test/data/safe_browsing/old/updates/006goog-malware-shavar_sbin0 -> 167736 bytes
-rw-r--r--chrome/test/data/safe_browsing/old/updates/007goog-malware-shavar_sbin0 -> 71568 bytes
-rw-r--r--chrome/test/data/safe_browsing/old/updates/008goog-malware-shavar_abin0 -> 177464 bytes
-rw-r--r--chrome/test/data/safe_browsing/old/updates/009goog-malware-shavar_abin0 -> 127616 bytes
-rw-r--r--chrome/test/data/safe_browsing/old/updates/010goog-malware-shavar_abin0 -> 33211 bytes
-rw-r--r--chrome/test/data/safe_browsing/old/updates/011goog-phish-shavar_sbin0 -> 12998 bytes
-rw-r--r--chrome/test/data/safe_browsing/old/updates/012goog-phish-shavar_sbin0 -> 13506 bytes
-rw-r--r--chrome/test/data/safe_browsing/old/updates/013goog-phish-shavar_sbin0 -> 14079 bytes
-rw-r--r--chrome/test/data/safe_browsing/old/updates/014goog-phish-shavar_sbin0 -> 19250 bytes
-rw-r--r--chrome/test/data/safe_browsing/old/updates/015goog-phish-shavar_sbin0 -> 12842 bytes
-rw-r--r--chrome/test/data/safe_browsing/old/updates/016goog-phish-shavar_sbin0 -> 11214 bytes
-rw-r--r--chrome/test/data/safe_browsing/old/updates/017goog-phish-shavar_sbin0 -> 13766 bytes
-rw-r--r--chrome/test/data/safe_browsing/old/updates/018goog-phish-shavar_sbin0 -> 15249 bytes
-rw-r--r--chrome/test/data/safe_browsing/old/updates/019goog-phish-shavar_sbin0 -> 587 bytes
-rw-r--r--chrome/test/data/safe_browsing/old/updates/020goog-phish-shavar_sbin0 -> 482 bytes
-rw-r--r--chrome/test/data/safe_browsing/old/updates/021goog-phish-shavar_sbin0 -> 418 bytes
-rw-r--r--chrome/test/data/safe_browsing/old/updates/022goog-phish-shavar_sbin0 -> 295 bytes
-rw-r--r--chrome/test/data/safe_browsing/old/updates/023goog-phish-shavar_sbin0 -> 580 bytes
-rw-r--r--chrome/test/data/safe_browsing/old/updates/024goog-phish-shavar_sbin0 -> 1512 bytes
-rw-r--r--chrome/test/data/safe_browsing/old/updates/025goog-phish-shavar_sbin0 -> 358 bytes
-rw-r--r--chrome/test/data/safe_browsing/old/updates/026goog-phish-shavar_sbin0 -> 305 bytes
-rw-r--r--chrome/test/data/safe_browsing/old/updates/027goog-phish-shavar_sbin0 -> 182 bytes
-rw-r--r--chrome/test/data/safe_browsing/old/updates/028goog-phish-shavar_sbin0 -> 2542 bytes
-rw-r--r--chrome/test/data/safe_browsing/old/updates/029goog-phish-shavar_sbin0 -> 322 bytes
-rw-r--r--chrome/test/data/safe_browsing/old/updates/030goog-phish-shavar_sbin0 -> 396 bytes
-rw-r--r--chrome/test/data/safe_browsing/old/updates/031goog-phish-shavar_sbin0 -> 357 bytes
-rw-r--r--chrome/test/data/safe_browsing/old/updates/032goog-phish-shavar_sbin0 -> 379 bytes
-rw-r--r--chrome/test/data/safe_browsing/old/updates/033goog-phish-shavar_sbin0 -> 494 bytes
-rw-r--r--chrome/test/data/safe_browsing/old/updates/034goog-phish-shavar_sbin0 -> 10839 bytes
-rw-r--r--chrome/test/data/safe_browsing/old/updates/035goog-phish-shavar_sbin0 -> 11796 bytes
-rw-r--r--chrome/test/data/safe_browsing/old/updates/036goog-phish-shavar_sbin0 -> 12724 bytes
-rw-r--r--chrome/test/data/safe_browsing/old/updates/037goog-phish-shavar_sbin0 -> 3133 bytes
-rw-r--r--chrome/test/data/safe_browsing/old/updates/038goog-phish-shavar_abin0 -> 7835 bytes
-rw-r--r--chrome/test/data/safe_browsing/old/updates/039goog-phish-shavar_abin0 -> 10287 bytes
-rw-r--r--chrome/test/data/safe_browsing/old/updates/040goog-phish-shavar_abin0 -> 12242 bytes
-rw-r--r--chrome/test/data/safe_browsing/old/updates/041goog-phish-shavar_abin0 -> 12879 bytes
-rw-r--r--chrome/test/data/safe_browsing/old/updates/042goog-phish-shavar_abin0 -> 12572 bytes
-rw-r--r--chrome/test/data/save_page/1.css3
-rw-r--r--chrome/test/data/save_page/1.pngbin0 -> 1285 bytes
-rw-r--r--chrome/test/data/save_page/a.htm10
-rw-r--r--chrome/test/data/save_page/b.htm12
-rw-r--r--chrome/test/data/serializer_nested_test.js17
-rw-r--r--chrome/test/data/serializer_test.js8
-rw-r--r--chrome/test/data/serializer_test_nowhitespace.js1
-rw-r--r--chrome/test/data/server-unavailable.html1
-rw-r--r--chrome/test/data/server-unavailable.html.mock-http-headers2
-rw-r--r--chrome/test/data/session_history/bot1.html6
-rw-r--r--chrome/test/data/session_history/bot2.html6
-rw-r--r--chrome/test/data/session_history/bot3.html7
-rw-r--r--chrome/test/data/session_history/form.html31
-rw-r--r--chrome/test/data/session_history/fragment.html12
-rw-r--r--chrome/test/data/session_history/frames.html45
-rw-r--r--chrome/test/data/session_history/no-title.html1
-rw-r--r--chrome/test/data/session_history/post.html28
-rw-r--r--chrome/test/data/session_history/replace.html4
-rw-r--r--chrome/test/data/session_history/top.html8
-rw-r--r--chrome/test/data/ssl/bad_iframe.html10
-rw-r--r--chrome/test/data/ssl/google.html4
-rw-r--r--chrome/test/data/ssl/google_files/logo.gifbin0 -> 8558 bytes
-rw-r--r--chrome/test/data/ssl/page_with_dynamic_mixed_contents.html36
-rw-r--r--chrome/test/data/ssl/page_with_mixed_contents.html9
-rw-r--r--chrome/test/data/ssl/page_with_refs.html21
-rw-r--r--chrome/test/data/ssl/page_with_unsafe_contents.html30
-rw-r--r--chrome/test/data/ssl/set_foo.js1
-rw-r--r--chrome/test/data/sync_xmlhttprequest.html32
-rw-r--r--chrome/test/data/sync_xmlhttprequest_during_unload.html20
-rw-r--r--chrome/test/data/title1.html4
-rw-r--r--chrome/test/data/title2.html4
-rw-r--r--chrome/test/data/viewsource/test.html11
-rw-r--r--chrome/test/data/window.close.html53
314 files changed, 2977 insertions, 0 deletions
diff --git a/chrome/test/data/animate1.gif b/chrome/test/data/animate1.gif
new file mode 100644
index 0000000..2de64b0
--- /dev/null
+++ b/chrome/test/data/animate1.gif
Binary files differ
diff --git a/chrome/test/data/animate2.gif b/chrome/test/data/animate2.gif
new file mode 100644
index 0000000..2a4233d
--- /dev/null
+++ b/chrome/test/data/animate2.gif
Binary files differ
diff --git a/chrome/test/data/animate3.gif b/chrome/test/data/animate3.gif
new file mode 100644
index 0000000..21f9c05
--- /dev/null
+++ b/chrome/test/data/animate3.gif
Binary files differ
diff --git a/chrome/test/data/animated-gifs.html b/chrome/test/data/animated-gifs.html
new file mode 100644
index 0000000..98b2f1c
--- /dev/null
+++ b/chrome/test/data/animated-gifs.html
@@ -0,0 +1,8 @@
+<html>
+<head><title>animated gif test</title></head>
+<body>
+<img src="animate1.gif">
+<img src="animate2.gif">
+<img src="animate3.gif">
+</body>
+</html>
diff --git a/chrome/test/data/cancelled_redirect_test.html b/chrome/test/data/cancelled_redirect_test.html
new file mode 100644
index 0000000..633db40
--- /dev/null
+++ b/chrome/test/data/cancelled_redirect_test.html
@@ -0,0 +1,28 @@
+<!--Test file for ClientCancelled redirect_uitest. This tests that a location change when a pending
+client redirect exists (in this case a meta-refresh) isn't flagged as a client redirect. The timeout
+for the meta-refresh is large so that it can't happen during this test; we just want it to be scheduled.
+We can't use a body onload to do the location change, because this will end up firing before the
+meta-refresh timer is scheduled, so we use a non-zero timeout of 1msec for this. -->
+<html>
+ <head>
+ <meta http-equiv="refresh" content="20000">
+ <script>
+ // Function to simulate a user clicking on the button, so
+ // the anchor navigation is not flagged as a redirect.
+ function clickButton() {
+ var node = document.getElementById("mybutton");
+ var evt = document.createEvent("MouseEvents");
+ evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0,
+ false, false, false, false, 0, null);
+ node.dispatchEvent(evt)
+ }
+ function changeLocAfterTimeout() {
+ setTimeout("clickButton()", 1);
+ }
+ </script>
+ </head>
+ <body onload="changeLocAfterTimeout()">
+ <input type="button" id="mybutton" onclick="document.location='#myanchor'"/>
+ <a name="myanchor">Anchor</a><br/>
+ </body>
+</html>
diff --git a/chrome/test/data/columns.html b/chrome/test/data/columns.html
new file mode 100644
index 0000000..84b688d
--- /dev/null
+++ b/chrome/test/data/columns.html
@@ -0,0 +1,23 @@
+<html><head><title>Column test</title></head><body>
+<h1>Column test</h1>
+
+<p>This tests that we do multi-column layout and don't crash. The issue is
+that WebKit creates a NULL platform graphics context pointer, and expects
+GraphicsContext to work with it, disabling paint.</p>
+
+<div style="border: 2px solid rgb(34, 136, 17); -webkit-column-count: 2;
+-moz-column-count: 2; -webkit-column-rule: 2px solid rgb(34, 136, 17);
+-moz-column-rule: 4px solid rgb(34, 136, 17)">WebKit now has some very basic
+support for multiple columns from CSS3. In fact, if you&#8217;re reading this
+blog entry, you will see that it has been broken up into two columns in the
+latest WebKit nightly and in Firefox.<br />
+
+<div style="margin: 1em 0">The properties supported at this time are columns,
+column-gap, column-count and column-width. Column rules are not yet supported
+and neither are column breaks.</div> At this time any stacking context children
+like relative positioned content or content that uses opacity will position
+impoperly (as though the column didn&#8217;t exist. If you decide to use this
+feature, watch out for that.<br /> <div style="margin-top:1em"><b>Update</b>:
+Column rules are now supported. This blog entry now has one!</div>
+
+</body></html>
diff --git a/chrome/test/data/constrained_files/constrained_window.html b/chrome/test/data/constrained_files/constrained_window.html
new file mode 100644
index 0000000..1f4810a
--- /dev/null
+++ b/chrome/test/data/constrained_files/constrained_window.html
@@ -0,0 +1,17 @@
+<HTML>
+ <HEAD>
+ <TITLE>
+ Parent Window
+ </TITLE>
+<SCRIPT TYPE="text/javascript" LANGUAGE="JavaScript">
+<!-- Begin
+function enter(url, x, y) {
+ window.open(url,'','height=320,width=300,left='+x+',top='+y);
+}
+// End -->
+</SCRIPT>
+
+ <BODY
+ onload="enter('target0.html', 10, 10); enter('target1.html', 100, 100)">
+ </BODY>
+ </HTML>
diff --git a/chrome/test/data/constrained_files/constrained_window_onload_moveto.html b/chrome/test/data/constrained_files/constrained_window_onload_moveto.html
new file mode 100644
index 0000000..9da3aa6
--- /dev/null
+++ b/chrome/test/data/constrained_files/constrained_window_onload_moveto.html
@@ -0,0 +1,17 @@
+<HTML>
+ <HEAD>
+ <TITLE>
+ Parent Window
+ </TITLE>
+<SCRIPT TYPE="text/javascript" LANGUAGE="JavaScript">
+<!-- Begin
+function enter(url, x, y) {
+ window.open(url,'','height=320,width=300,left='+x+',top='+y);
+}
+// End -->
+</SCRIPT>
+
+ <BODY
+ onload="enter('target_onload_moveto.html', 100, 100);">
+ </BODY>
+ </HTML>
diff --git a/chrome/test/data/constrained_files/constrained_window_onload_resizeto.html b/chrome/test/data/constrained_files/constrained_window_onload_resizeto.html
new file mode 100644
index 0000000..e1990f3
--- /dev/null
+++ b/chrome/test/data/constrained_files/constrained_window_onload_resizeto.html
@@ -0,0 +1,17 @@
+<HTML>
+ <HEAD>
+ <TITLE>
+ Parent Window
+ </TITLE>
+<SCRIPT TYPE="text/javascript" LANGUAGE="JavaScript">
+<!-- Begin
+function enter(url, x, y) {
+ window.open(url,'','height=320,width=300,left='+x+',top='+y);
+}
+// End -->
+</SCRIPT>
+
+ <BODY onClick="enter('target_onload_resizeto.html', 100, 100);">
+
+ </BODY>
+</HTML>
diff --git a/chrome/test/data/constrained_files/target0.html b/chrome/test/data/constrained_files/target0.html
new file mode 100644
index 0000000..8185d9d
--- /dev/null
+++ b/chrome/test/data/constrained_files/target0.html
@@ -0,0 +1,8 @@
+<HTML>
+ <HEAD>
+ <TITLE> Constrained Window 0 </TITLE>
+ </HEAD>
+ <BODY>
+ This page should be used to pop up a constrained window.
+ </BODY>
+</HTML>
diff --git a/chrome/test/data/constrained_files/target1.html b/chrome/test/data/constrained_files/target1.html
new file mode 100644
index 0000000..d4c2dba
--- /dev/null
+++ b/chrome/test/data/constrained_files/target1.html
@@ -0,0 +1,6 @@
+
+<HTML>
+ <HEAD>
+ <TITLE> Constrained Window 1 </TITLE>
+ </HEAD>
+</HTML>
diff --git a/chrome/test/data/constrained_files/target_onload_moveto.html b/chrome/test/data/constrained_files/target_onload_moveto.html
new file mode 100644
index 0000000..02ade91
--- /dev/null
+++ b/chrome/test/data/constrained_files/target_onload_moveto.html
@@ -0,0 +1,8 @@
+<HTML>
+ <HEAD>
+ <TITLE> window.moveTo() Test </TITLE>
+ </HEAD>
+ <BODY onLoad="window.opener.focus(); window.moveTo(20, 20);">
+ This page shouldn't be able to force its own display by moving itself after creation.
+ </BODY>
+</HTML>
diff --git a/chrome/test/data/constrained_files/target_onload_resizeto.html b/chrome/test/data/constrained_files/target_onload_resizeto.html
new file mode 100644
index 0000000..e19f144
--- /dev/null
+++ b/chrome/test/data/constrained_files/target_onload_resizeto.html
@@ -0,0 +1,9 @@
+<HTML>
+ <HEAD>
+ <TITLE> window.resizeTo() Test </TITLE>
+ </HEAD>
+ <BODY onClick="window.opener.focus(); window.resizeTo(200, 200);">
+ This page's content bounds should start at 320, 300 because that's hat it was opeend with.
+ After click, the window's bounds should be equal to 200, 200 and the content bounds smaller then that.
+ </BODY>
+</HTML>
diff --git a/chrome/test/data/content-disposition-empty.html b/chrome/test/data/content-disposition-empty.html
new file mode 100644
index 0000000..7dd9c0f
--- /dev/null
+++ b/chrome/test/data/content-disposition-empty.html
@@ -0,0 +1,4 @@
+<html>
+<head><title>success</title></head>
+<body>this page should be displayed instead of downloaded</body>
+</html>
diff --git a/chrome/test/data/content-disposition-empty.html.mock-http-headers b/chrome/test/data/content-disposition-empty.html.mock-http-headers
new file mode 100644
index 0000000..1d114d5
--- /dev/null
+++ b/chrome/test/data/content-disposition-empty.html.mock-http-headers
@@ -0,0 +1,6 @@
+HTTP/1.1 200 OK
+Content-Type: text/html
+Content-Length: 116
+Content-Disposition: filename="foo.html"
+Date: Mon, 13 Nov 2006 21:38:09 GMT
+Expires: Tue, 14 Nov 2006 19:23:58 GMT
diff --git a/chrome/test/data/content-disposition-inline.html b/chrome/test/data/content-disposition-inline.html
new file mode 100644
index 0000000..7dd9c0f
--- /dev/null
+++ b/chrome/test/data/content-disposition-inline.html
@@ -0,0 +1,4 @@
+<html>
+<head><title>success</title></head>
+<body>this page should be displayed instead of downloaded</body>
+</html>
diff --git a/chrome/test/data/content-disposition-inline.html.mock-http-headers b/chrome/test/data/content-disposition-inline.html.mock-http-headers
new file mode 100644
index 0000000..6846a51
--- /dev/null
+++ b/chrome/test/data/content-disposition-inline.html.mock-http-headers
@@ -0,0 +1,6 @@
+HTTP/1.1 200 OK
+Content-Type: text/html
+Content-Length: 116
+Content-Disposition: inline; filename="foo.html"
+Date: Mon, 13 Nov 2006 21:38:09 GMT
+Expires: Tue, 14 Nov 2006 19:23:58 GMT
diff --git a/chrome/test/data/content-sniffer-test0.html b/chrome/test/data/content-sniffer-test0.html
new file mode 100644
index 0000000..597a51b
--- /dev/null
+++ b/chrome/test/data/content-sniffer-test0.html
@@ -0,0 +1,4 @@
+<html>
+<head><title>Content Sniffer Test 0</title></head>
+<body>We should sniff this content as HTML.</body>
+</html>
diff --git a/chrome/test/data/content-sniffer-test0.html.mock-http-headers b/chrome/test/data/content-sniffer-test0.html.mock-http-headers
new file mode 100644
index 0000000..0e1e649
--- /dev/null
+++ b/chrome/test/data/content-sniffer-test0.html.mock-http-headers
@@ -0,0 +1,4 @@
+HTTP/1.1 200 OK
+Content-Length: 121
+Date: Mon, 13 Nov 2006 21:38:09 GMT
+Expires: Tue, 14 Nov 2006 19:23:58 GMT
diff --git a/chrome/test/data/content-sniffer-test1.html b/chrome/test/data/content-sniffer-test1.html
new file mode 100644
index 0000000..c3bfc9b
--- /dev/null
+++ b/chrome/test/data/content-sniffer-test1.html
@@ -0,0 +1,4 @@
+<html>
+<head><title>Content Sniffer Test 1</title></head>
+<body>We should not sniff this content as HTML.</body>
+</html>
diff --git a/chrome/test/data/content-sniffer-test1.html.mock-http-headers b/chrome/test/data/content-sniffer-test1.html.mock-http-headers
new file mode 100644
index 0000000..bbc82cdf
--- /dev/null
+++ b/chrome/test/data/content-sniffer-test1.html.mock-http-headers
@@ -0,0 +1,5 @@
+HTTP/1.1 200 OK
+Content-Type: text/plain; charset=utf-8
+Content-Length: 125
+Date: Mon, 13 Nov 2006 21:38:09 GMT
+Expires: Tue, 14 Nov 2006 19:23:58 GMT
diff --git a/chrome/test/data/content-sniffer-test2.html b/chrome/test/data/content-sniffer-test2.html
new file mode 100644
index 0000000..c4b99f8
--- /dev/null
+++ b/chrome/test/data/content-sniffer-test2.html
@@ -0,0 +1,4 @@
+<html>
+<head><title>Content Sniffer Test 2</title></head>
+<body>We should not sniff this as HTML as server says its a GIF.</body>
+</html>
diff --git a/chrome/test/data/content-sniffer-test2.html.mock-http-headers b/chrome/test/data/content-sniffer-test2.html.mock-http-headers
new file mode 100644
index 0000000..081626d
--- /dev/null
+++ b/chrome/test/data/content-sniffer-test2.html.mock-http-headers
@@ -0,0 +1,5 @@
+HTTP/1.1 200 OK
+Content-Type: image/gif
+Content-Length: 142
+Date: Mon, 13 Nov 2006 21:38:09 GMT
+Expires: Tue, 14 Nov 2006 19:23:58 GMT
diff --git a/chrome/test/data/content-sniffer-test3-frame.txt b/chrome/test/data/content-sniffer-test3-frame.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/chrome/test/data/content-sniffer-test3-frame.txt
diff --git a/chrome/test/data/content-sniffer-test3-frame.txt.mock-http-headers b/chrome/test/data/content-sniffer-test3-frame.txt.mock-http-headers
new file mode 100644
index 0000000..7ad4001
--- /dev/null
+++ b/chrome/test/data/content-sniffer-test3-frame.txt.mock-http-headers
@@ -0,0 +1,3 @@
+HTTP/1.1 200 OK
+Content-Length: 0
+Date: Tue, 22 Apr 2008 22:56:55 GMT
diff --git a/chrome/test/data/content-sniffer-test3.html b/chrome/test/data/content-sniffer-test3.html
new file mode 100644
index 0000000..67046e8
--- /dev/null
+++ b/chrome/test/data/content-sniffer-test3.html
@@ -0,0 +1,16 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
+<title>Content Sniffer Test 3</title>
+</head>
+<body>
+<script id="sc">
+var iframe = document.createElement('iframe');
+iframe.frameBorder = iframe.width = iframe.height = 0;
+iframe.src = "http://mock.http/content-sniffer-test3-frame.txt";
+document.body.appendChild(iframe);
+</script>
+<pre>Do NOT download!!</pre>
+</body>
+</html> \ No newline at end of file
diff --git a/chrome/test/data/content-sniffer-test3.html.mock-http-headers b/chrome/test/data/content-sniffer-test3.html.mock-http-headers
new file mode 100644
index 0000000..a2e08d5
--- /dev/null
+++ b/chrome/test/data/content-sniffer-test3.html.mock-http-headers
@@ -0,0 +1,5 @@
+HTTP/1.1 200 OK
+Content-Length: 487
+Date: Tue, 22 Apr 2008 22:56:55 GMT
+Content-Length: 333
+Content-Type: text/html
diff --git a/chrome/test/data/cookie1.html b/chrome/test/data/cookie1.html
new file mode 100644
index 0000000..3c7dccf
--- /dev/null
+++ b/chrome/test/data/cookie1.html
@@ -0,0 +1,11 @@
+<html>
+<head>
+<script>
+function setCookie() {
+ document.cookie = 'foo=baz';
+}
+</script>
+</head>
+<body onload="setCookie();">
+</body>
+</html>
diff --git a/chrome/test/data/download-test1.lib b/chrome/test/data/download-test1.lib
new file mode 100644
index 0000000..9d22027
--- /dev/null
+++ b/chrome/test/data/download-test1.lib
Binary files differ
diff --git a/chrome/test/data/download-test1.lib.mock-http-headers b/chrome/test/data/download-test1.lib.mock-http-headers
new file mode 100644
index 0000000..63aef68
--- /dev/null
+++ b/chrome/test/data/download-test1.lib.mock-http-headers
@@ -0,0 +1,5 @@
+HTTP/1.1 200 OK
+Content-Type: application/octet-stream; charset=utf-8
+Content-Length: 271920
+Date: Mon, 13 Nov 2006 21:38:09 GMT
+Expires: Tue, 14 Nov 2006 19:23:58 GMT
diff --git a/chrome/test/data/download-test2.html b/chrome/test/data/download-test2.html
new file mode 100644
index 0000000..1a6714e
--- /dev/null
+++ b/chrome/test/data/download-test2.html
@@ -0,0 +1,4 @@
+<html>
+<head><title>Download Test #2</title></head>
+<body>This file should not actually download.</body>
+</html>
diff --git a/chrome/test/data/download-test2.html.mock-http-headers b/chrome/test/data/download-test2.html.mock-http-headers
new file mode 100644
index 0000000..fa7ff58
--- /dev/null
+++ b/chrome/test/data/download-test2.html.mock-http-headers
@@ -0,0 +1,5 @@
+HTTP/1.1 200 OK
+Content-Type: text/html; charset=utf-8
+Content-Length: 113
+Date: Mon, 13 Nov 2006 21:38:09 GMT
+Expires: Tue, 14 Nov 2006 19:23:58 GMT
diff --git a/chrome/test/data/download-test3.html b/chrome/test/data/download-test3.html
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/chrome/test/data/download-test3.html
diff --git a/chrome/test/data/download-test3.html.mock-http-headers b/chrome/test/data/download-test3.html.mock-http-headers
new file mode 100644
index 0000000..3a2e781
--- /dev/null
+++ b/chrome/test/data/download-test3.html.mock-http-headers
@@ -0,0 +1,6 @@
+HTTP/1.1 200 OK
+Content-Type: text/html; charset=utf-8
+Content-Disposition: attachment; filename="download-test3-attachment.html"
+Content-Length: 0
+Date: Mon, 13 Nov 2006 21:38:09 GMT
+Expires: Tue, 14 Nov 2006 19:23:58 GMT
diff --git a/chrome/test/data/empty.html b/chrome/test/data/empty.html
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/chrome/test/data/empty.html
diff --git a/chrome/test/data/file_client_redirect.html b/chrome/test/data/file_client_redirect.html
new file mode 100644
index 0000000..61dc261
--- /dev/null
+++ b/chrome/test/data/file_client_redirect.html
@@ -0,0 +1,8 @@
+<!--
+Test file for empty referrer client redirects, e.g https>http, file>http.
+See ClientEmptyReferrerRedirectTest in redirect_uitest.cc
+-->
+<html>
+<head></head>
+<body onload="document.location='http://localhost:1337'"></body>
+</html>
diff --git a/chrome/test/data/find_in_page/framedata_general.html b/chrome/test/data/find_in_page/framedata_general.html
new file mode 100644
index 0000000..8e8a82d
--- /dev/null
+++ b/chrome/test/data/find_in_page/framedata_general.html
@@ -0,0 +1,13 @@
+<html>
+<head>
+<title>Frames</title>
+</head>
+
+<body>
+
+horse <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
+goat<br>
+goat<br><br><br><br><br><br><br><br><br><br><br><br><br><br>
+<input type="text"/>
+</body>
+</html> \ No newline at end of file
diff --git a/chrome/test/data/find_in_page/framedata_left.html b/chrome/test/data/find_in_page/framedata_left.html
new file mode 100644
index 0000000..794c6cf
--- /dev/null
+++ b/chrome/test/data/find_in_page/framedata_left.html
@@ -0,0 +1,21 @@
+<html>
+<head>
+<title>Frames</title>
+</head>
+
+<body>
+
+cat <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
+dog <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
+<input type="text" value="text in box"><br>
+
+g <br>
+go <br>
+goo <br>
+google <br>
+goog <br>
+googl <br>
+<br>
+Hreggvi&eth;ur
+</body>
+</html> \ No newline at end of file
diff --git a/chrome/test/data/find_in_page/frames.html b/chrome/test/data/find_in_page/frames.html
new file mode 100644
index 0000000..f89c6e5
--- /dev/null
+++ b/chrome/test/data/find_in_page/frames.html
@@ -0,0 +1,12 @@
+<html>
+
+<frameset cols="25%,25%,25%,25%">
+
+ <frame src="framedata_left.html">
+ <frame src="framedata_general.html">
+ <frame src="framedata_general.html">
+ <frame src="framedata_general.html">
+
+</frameset>
+
+</html>
diff --git a/chrome/test/data/find_in_page/user-select.html b/chrome/test/data/find_in_page/user-select.html
new file mode 100644
index 0000000..fccceb4
--- /dev/null
+++ b/chrome/test/data/find_in_page/user-select.html
@@ -0,0 +1,6 @@
+<html><head></head>
+<body style="-webkit-user-select: none;">
+This is some un-selectable text. Try finding a character in it
+and verify that we don't crash.
+</body>
+</html>
diff --git a/chrome/test/data/firefox2_nss/README b/chrome/test/data/firefox2_nss/README
new file mode 100644
index 0000000..745832e
--- /dev/null
+++ b/chrome/test/data/firefox2_nss/README
@@ -0,0 +1,7 @@
+The NSPR and NSS DLLs in this directory (freebl3.dll, nspr4.dll, nss3.dll,
+plc4.dll, plds4.dll, and softokn3.dll) come from the Firefox 2.0.0.x
+distribution for Windows.
+
+The source code of NSPR and NSS, which you may use, modify, and distribute, is
+available to you free-of-charge from www.mozilla.org under the Mozilla Public
+License and other open source software licenses.
diff --git a/chrome/test/data/firefox2_nss/freebl3.dll b/chrome/test/data/firefox2_nss/freebl3.dll
new file mode 100644
index 0000000..6e562d8
--- /dev/null
+++ b/chrome/test/data/firefox2_nss/freebl3.dll
Binary files differ
diff --git a/chrome/test/data/firefox2_nss/nspr4.dll b/chrome/test/data/firefox2_nss/nspr4.dll
new file mode 100644
index 0000000..5ff4cc5
--- /dev/null
+++ b/chrome/test/data/firefox2_nss/nspr4.dll
Binary files differ
diff --git a/chrome/test/data/firefox2_nss/nss3.dll b/chrome/test/data/firefox2_nss/nss3.dll
new file mode 100644
index 0000000..c7d0546
--- /dev/null
+++ b/chrome/test/data/firefox2_nss/nss3.dll
Binary files differ
diff --git a/chrome/test/data/firefox2_nss/plc4.dll b/chrome/test/data/firefox2_nss/plc4.dll
new file mode 100644
index 0000000..c4492c8
--- /dev/null
+++ b/chrome/test/data/firefox2_nss/plc4.dll
Binary files differ
diff --git a/chrome/test/data/firefox2_nss/plds4.dll b/chrome/test/data/firefox2_nss/plds4.dll
new file mode 100644
index 0000000..e10c683
--- /dev/null
+++ b/chrome/test/data/firefox2_nss/plds4.dll
Binary files differ
diff --git a/chrome/test/data/firefox2_nss/softokn3.dll b/chrome/test/data/firefox2_nss/softokn3.dll
new file mode 100644
index 0000000..159957c
--- /dev/null
+++ b/chrome/test/data/firefox2_nss/softokn3.dll
Binary files differ
diff --git a/chrome/test/data/firefox2_profile/bookmarks.html b/chrome/test/data/firefox2_profile/bookmarks.html
new file mode 100644
index 0000000..84020ad
--- /dev/null
+++ b/chrome/test/data/firefox2_profile/bookmarks.html
@@ -0,0 +1,37 @@
+<!DOCTYPE NETSCAPE-Bookmark-file-1>
+<!-- This is an automatically generated file.
+ It will be read and overwritten.
+ DO NOT EDIT! -->
+<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
+<TITLE>Bookmarks</TITLE>
+<H1 LAST_MODIFIED="1206681701">Bookmarks</H1>
+
+<DL><p>
+ <DT><H3 LAST_MODIFIED="1206681655" PERSONAL_TOOLBAR_FOLDER="true" ID="rdf:#$FvPhC3">Bookmarks Toolbar Folder</H3>
+<DD>Add bookmarks to this folder to see them displayed on the Bookmarks Toolbar
+ <DL><p>
+ <DT><H3 ADD_DATE="1206681467" LAST_MODIFIED="1206681524" ID="rdf:#$F2zO.2">Folder</H3>
+<DD>This folder will be displayed on toolbar.
+ <DL><p>
+ <DT><A HREF="http://on.toolbar/bookmark/folder" ADD_DATE="1206681362" LAST_MODIFIED="1206681414" ID="rdf:#$E2zO.2">On Toolbar's Subfolder</A>
+ </DL><p>
+ <DT><A HREF="http://on.toolbar/bookmark" ADD_DATE="1206681362" LAST_MODIFIED="1206681414" ID="rdf:#$E2zO.2">On Bookmark Toolbar</A>
+ </DL><p>
+ <HR>
+ <DT><H3 ADD_DATE="1206681467" LAST_MODIFIED="1206681701" ID="rdf:#$H2zO.2">Folder</H3>
+ <DL><p>
+ <DT><A HREF="http://domain/" ADD_DATE="1206681681" LAST_MODIFIED="1206681699" ID="rdf:#$I2zO.2">New Bookmark</A>
+ </DL><p>
+ <DT><A HREF="http://domain.com/q?a=%22er%22&b=< >" ADD_DATE="1205904876" LAST_MODIFIED="1206681294" ID="rdf:#$3XrQI1">&lt;Name&gt;</A>
+ <DT><A HREF="http://www.google.com/" ADD_DATE="1206681298" LAST_MODIFIED="1206681734" SHORTCUTURL="google" WEB_PANEL="true" ID="rdf:#$D2zO.2">Google Home Page</A>
+<DD>Google Home Page
+ <DT><A HREF="http://chinese.site.cn/path?query=1#ref" ADD_DATE="1206681555" LAST_MODIFIED="1206681598" ID="rdf:#$G2zO.2">中文</A>
+ <DT><H3 ADD_DATE="1207558707" LAST_MODIFIED="1207558746" ID="rdf:#$guhL42">&lt; &gt; &amp; &quot; &#39; \ /</H3>
+<DD>&lt; &gt; &amp; &quot; &#39; \ /
+ <DL><p>
+ <DT><A HREF="http://g.cn/" ADD_DATE="1207558728" LAST_MODIFIED="1207558736" SHORTCUTURL="&lt; &gt; &amp; &quot; &#39; \ /" ID="rdf:#$huhL42">&lt; &gt; &amp; &quot; &#39; \ /</A>
+<DD>&lt; &gt; &amp; &quot; &#39; \ /
+ </DL><p>
+ <DT><A HREF="http://localhost:8080/test/hello.html" ADD_DATE="1212447159" LAST_VISIT="1212447251" LAST_MODIFIED="1212447248" SHORTCUTURL="post" ICON="data:" POST_DATA="lname%3D%25s" LAST_CHARSET="UTF-8" ID="rdf:#$weKaR3">Test Post keyword</A>
+ <DT><A HREF="mailto:username@host" ADD_DATE="1213257065" LAST_MODIFIED="1213257105" ID="rdf:#$U8bjH1">mail</A>
+</DL><p>
diff --git a/chrome/test/data/firefox2_profile/cert8.db b/chrome/test/data/firefox2_profile/cert8.db
new file mode 100644
index 0000000..ac40a33
--- /dev/null
+++ b/chrome/test/data/firefox2_profile/cert8.db
Binary files differ
diff --git a/chrome/test/data/firefox2_profile/cookies.txt b/chrome/test/data/firefox2_profile/cookies.txt
new file mode 100644
index 0000000..2a7249f
--- /dev/null
+++ b/chrome/test/data/firefox2_profile/cookies.txt
@@ -0,0 +1,10 @@
+# HTTP Cookie File
+# http://www.netscape.com/newsref/std/cookie_spec.html
+# This is a generated file! Do not edit.
+# To delete cookies, use the Cookie Manager.
+
+www.google.com FALSE /calendar/ FALSE 1237629519 S dasher_cpanel=sRewracv:calendar=_9TWj_US
+.domain TRUE /path/sub_path/ FALSE 1221083160 name value
+#HttpOnly_.en.site.com TRUE / FALSE 1269432000 KEY KEY=KEY
+.~~local~~ TRUE /C:/code-chrome-new/data/page_cycler/intl1/fc2.com/ FALSE 1490482342 cnt_7081_nv 1
+ FALSE /C:/Documents%20and%20Settings/filecookie/ FALSE 1211314466 AAA2 ZZZZZZZZZZZZ
diff --git a/chrome/test/data/firefox2_profile/history.dat b/chrome/test/data/firefox2_profile/history.dat
new file mode 100644
index 0000000..b2f6a83
--- /dev/null
+++ b/chrome/test/data/firefox2_profile/history.dat
@@ -0,0 +1,16 @@
+// <!-- <mdb:mork:z v="1.4"/> -->
+< <(a=c)> // (f=iso-8859-1)
+ (8A=Typed)(8B=LastPageVisited)(8C=ByteOrder)
+ (80=ns:history:db:row:scope:history:all)
+ (81=ns:history:db:table:kind:history)(82=URL)(83=Referrer)
+ (84=LastVisitDate)(85=FirstVisitDate)(86=VisitCount)(87=Name)
+ (88=Hostname)(89=Hidden)>
+
+<(80=LE)(81=http://en-us.www.mozilla.com/)
+ (82=1205364946314923)(83=en-us.www.mozilla.com)(84
+ =F$00i$00r$00e$00f$00o$00x$00 $00U$00p$00d$00a$00t$00e$00d$00)>
+{1:^80 {(k^81:c)(s=9)[1(^8C=LE)]}
+ [2(^82^81)(^84^82)(^85^82)(^88^83)(^87^84)]}
+
+@$${2{@
+@$$}2}@ \ No newline at end of file
diff --git a/chrome/test/data/firefox2_profile/key3.db b/chrome/test/data/firefox2_profile/key3.db
new file mode 100644
index 0000000..2e3b9f4
--- /dev/null
+++ b/chrome/test/data/firefox2_profile/key3.db
Binary files differ
diff --git a/chrome/test/data/firefox2_profile/prefs.js b/chrome/test/data/firefox2_profile/prefs.js
new file mode 100644
index 0000000..1ed35e3
--- /dev/null
+++ b/chrome/test/data/firefox2_profile/prefs.js
@@ -0,0 +1,209 @@
+# Mozilla User Preferences
+
+/* Do not edit this file.
+ *
+ * If you make changes to this file while the application is running,
+ * the changes will be overwritten when the application exits.
+ *
+ * To make a manual change to preferences, you can visit the URL about:config
+ * For more information, see http://www.mozilla.org/unix/customizing.html#prefs
+ */
+
+user_pref("accessibility.typeaheadfind.flashBar", 0);
+user_pref("app.update.lastUpdateTime.addon-background-update-timer", 1210196026);
+user_pref("app.update.lastUpdateTime.background-update-timer", 1210196626);
+user_pref("app.update.lastUpdateTime.blocklist-background-update-timer", 1210194826);
+user_pref("app.update.lastUpdateTime.microsummary-generator-update-timer", 1196114739);
+user_pref("app.update.lastUpdateTime.restart-nag-timer", 1208477359);
+user_pref("app.update.lastUpdateTime.search-engine-update-timer", 1210227671);
+user_pref("browser.download.dir", "C:\\Downloads");
+user_pref("browser.download.downloadDir", "C:\\Downloads");
+user_pref("browser.download.folderList", 2);
+user_pref("browser.download.lastDir", "C:\\Documents and Settings\\jcampan\\Desktop");
+user_pref("browser.download.manager.alertOnEXEOpen", true);
+user_pref("browser.download.manager.showWhenStarting", false);
+user_pref("browser.download.save_converter_index", 0);
+user_pref("browser.feeds.showFirstRunUI", false);
+user_pref("browser.history_expire_days.mirror", 9);
+user_pref("browser.migration.version", 1);
+user_pref("browser.places.createdDefaultQueries", true);
+user_pref("browser.places.createdSmartBookmarks", true);
+user_pref("browser.places.importBookmarksHTML", false);
+user_pref("browser.places.importDefaults", false);
+user_pref("browser.places.migratePostDataAnnotations", false);
+user_pref("browser.places.updateRecentTagsUri", false);
+user_pref("browser.preferences.advanced.selectedTabIndex", 0);
+user_pref("browser.preferences.privacy.selectedTabIndex", 0);
+user_pref("browser.search.defaultenginename", "Google");
+user_pref("browser.search.defaulturl", "http://www.google.com/search?lr=&ie=UTF-8&oe=UTF-8&q=");
+user_pref("browser.search.selectedEngine", "Webster");
+user_pref("browser.search.useDBForOrder", true);
+user_pref("browser.shell.checkDefaultBrowser", false);
+user_pref("browser.startup.homepage", "http://www.google.com/");
+user_pref("browser.startup.homepage_override.mstone", "rv:1.9b5");
+user_pref("browser.startup.page", 3);
+user_pref("extensions.adblockplus.checkedadblockinstalled", true);
+user_pref("extensions.adblockplus.checkedtoolbar", true);
+user_pref("extensions.adblockplus.showsubscriptions", false);
+user_pref("extensions.enabledItems", "{d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}:0.7.5.4,{77b819fa-95ad-4f2c-ac7c-486b356188a9}:1.5.20080310,{c45c406e-ab73-11d8-be73-000a95be3b12}:1.1.5,{972ce4c6-7e08-4474-a285-3208198ce6fd}:2.0");
+user_pref("extensions.lastAppVersion", "3.0b5");
+user_pref("extensions.piclens.InstanceId", "8A6zSIlUX0q0VBf/iJvL/Q==");
+user_pref("extensions.piclens.UpdateInfo", "H4sIAAAAAAAAC+1WwWoCMRT8m1wqZbVQ6GEPVtqTgtTFHmQPcTN1g9mk5GXd+vdNdkWqYi+lUkvY20xe3rzMDjxyxkLMHHc0hyVpdHrPqHmBFrCwgagpHTBdV2Ne66IEpQkjD09hpQmV1mWyQtq/HfSTwR1ukuSBOeO4mspiDE0tm4QbJkYgs1yTdL4RdeBQZGVdLUdKFusdNCu5xTMglrxYfyWeNF8qnBzdNdrjBG6D0sdttn1Hukh6B1/O8CGdZydwpRFHfM4Kox20G5Vcr3D+2EaiCawfasflzPlZj7GGKzUs2onP3HUsrzp8p5OqnKnWiw6mfSdSUmDeyeomX3zX6KyA3p+v8mX/dbKc8c1qFpwMwfmRkb2LyY6dfvZjxve7vFNt0MaGi5izmLPo1C/m7I1LBRGiFheTa15MCAqFg3j1G21cM6/dzSa6eP0ufgI#");
+user_pref("extensions.piclens.Version", "1.6.2.1605");
+user_pref("extensions.update.notifyUser", false);
+user_pref("google.toolbar.AUTOFILL_Preferences", "highlight\ntrue\nfullName\n\nemail\n\ndefaultPhone\n\nalternativePhone\n\naddressLine1\n\naddressLine2\n\naddressLine3\n\ncity\n\nstate\n\nzipcode\n\ncountry\n\ndefaultPhoneAll\n\nalternativePhoneAll\n\nworkPhoneAll\n\nhomePhoneAll\n\ncellPhoneAll\n\nfirstName\n\nmiddleName\n\nmiddleInit\n\nlastName\n\nfirstLastName\n\naddress\n\naddressFull\n\nzipshort\n\ndefaultPhoneWork\nfalse\nalternativePhoneWork\nfalse\ndefaultPhoneHome\nfalse\nalternativePhoneHome\nfalse\ndefaultPhoneCell\nfalse\nalternativePhoneCell\nfalse");
+user_pref("google.toolbar.auto_translate", false);
+user_pref("google.toolbar.button_option.gtbAutoFill", true);
+user_pref("google.toolbar.button_option.gtbAutoLink", true);
+user_pref("google.toolbar.button_option.gtbCustomButtonGmail", false);
+user_pref("google.toolbar.button_option.gtbSpellCheck", true);
+user_pref("google.toolbar.button_option.safebrowsing.advancedprotection.default", true);
+user_pref("google.toolbar.button_option.safebrowsing.hasrun", true);
+user_pref("google.toolbar.button_option.safebrowsing.tableversion.goog-sandbox-text", "1.5");
+user_pref("google.toolbar.button_option.safebrowsing.tableversion.goog-white-domain", "1.17");
+user_pref("google.toolbar.button_option.safebrowsing.tableversion.goog-white-url", "1.371");
+user_pref("google.toolbar.google_home", "www.google.com");
+user_pref("google.toolbar.install_id", "SnZA7ajGeiCa1tXwUT57CRjfrDqrmIzz46FGau14DDL9");
+user_pref("google.toolbar.install_ping_acked", true);
+user_pref("google.toolbar.install_ping_retires", 1);
+user_pref("google.toolbar.last_ping_attempt", "1160396718343");
+user_pref("google.toolbar.opted_into_advanced_features_1", true);
+user_pref("google.toolbar.rlz", "1B2GGGL_enIN176");
+user_pref("google.toolbar.search_box_history", "");
+user_pref("google.toolbar.search_box_use_suggest", true);
+user_pref("google.toolbar.sent", "1");
+user_pref("google.toolbar.spell_check.dictionary.words", "");
+user_pref("google.toolbar.spell_check.lang", "en");
+user_pref("google.toolbar.spell_check.last_lang", "en");
+user_pref("google.toolbar.subscribe.aggregators.LiveBookmarks.desc", "Read subscriptions with Firefox Live Bookmarks");
+user_pref("google.toolbar.subscribe.aggregators.LiveBookmarks.id", "LiveBookmarks");
+user_pref("google.toolbar.subscribe.aggregators.LiveBookmarks.order", "2");
+user_pref("google.toolbar.subscribe.aggregators.LiveBookmarks.title", "Firefox Live Bookmarks");
+user_pref("google.toolbar.subscribe.aggregators.LiveBookmarks.url", "LiveBookmarksUrl");
+user_pref("google.toolbar.subscribe.aggregators.bloglines.desc", "Personal page loaded with the freshest news about the things you love");
+user_pref("google.toolbar.subscribe.aggregators.bloglines.id", "bloglines");
+user_pref("google.toolbar.subscribe.aggregators.bloglines.order", "1");
+user_pref("google.toolbar.subscribe.aggregators.bloglines.title", "Bloglines");
+user_pref("google.toolbar.subscribe.aggregators.bloglines.url", "http://www.bloglines.com/sub/%feed%");
+user_pref("google.toolbar.subscribe.aggregators.iGoogle.desc", "Personalized Home");
+user_pref("google.toolbar.subscribe.aggregators.iGoogle.id", "iGoogle");
+user_pref("google.toolbar.subscribe.aggregators.iGoogle.order", "0");
+user_pref("google.toolbar.subscribe.aggregators.iGoogle.title", "Google personalized home");
+user_pref("google.toolbar.subscribe.aggregators.iGoogle.url", "http://fusion.google.com/add?feedurl=%feed%&client=firetools&hl=en");
+user_pref("google.toolbar.subscribe.aggregators.myyahoo.desc", "My Yahoo!");
+user_pref("google.toolbar.subscribe.aggregators.myyahoo.id", "myyahoo");
+user_pref("google.toolbar.subscribe.aggregators.myyahoo.order", "3");
+user_pref("google.toolbar.subscribe.aggregators.myyahoo.title", "My Yahoo");
+user_pref("google.toolbar.subscribe.aggregators.myyahoo.url", "http://add.my.yahoo.com/rss?url=%feed%");
+user_pref("google.toolbar.subscribe.aggregators.newsgator.desc", "NewsGator Online");
+user_pref("google.toolbar.subscribe.aggregators.newsgator.id", "newsgator");
+user_pref("google.toolbar.subscribe.aggregators.newsgator.order", "4");
+user_pref("google.toolbar.subscribe.aggregators.newsgator.title", "NewsGator");
+user_pref("google.toolbar.subscribe.aggregators.newsgator.url", "http://www.newsgator.com/ngs/subscriber/subext.aspx?url=%feed%");
+user_pref("google.toolbar.subscribe.aggregators.pluck.desc", "Pluck personal web information center");
+user_pref("google.toolbar.subscribe.aggregators.pluck.id", "pluck");
+user_pref("google.toolbar.subscribe.aggregators.pluck.order", "5");
+user_pref("google.toolbar.subscribe.aggregators.pluck.title", "Pluck");
+user_pref("google.toolbar.subscribe.aggregators.pluck.url", "http://client.pluck.com/pluckit/prompt.aspx?GCID=C12286x053&a=%feed%");
+user_pref("google.toolbar.subscribe.defaultid", "iGoogle");
+user_pref("google.toolbar.subscribe.lastrefreshed", "Mon Oct 09 2006 13:25:18 GMT+0100 (GMT Daylight Time)");
+user_pref("intl.charsetmenu.browser.cache", "ISO-8859-2, UTF-16LE, us-ascii, UTF-8, ISO-8859-15");
+user_pref("network.cookie.prefsMigrated", true);
+user_pref("pref.browser.homepage.disable_button.current_page", false);
+user_pref("pref.privacy.disable_button.clear_cache", false);
+user_pref("print.print_printer", "Microsoft Office Document Image Writer");
+user_pref("print.printer_Microsoft_Office_Document_Image_Writer.print_bgcolor", false);
+user_pref("print.printer_Microsoft_Office_Document_Image_Writer.print_bgimages", false);
+user_pref("print.printer_Microsoft_Office_Document_Image_Writer.print_command", "");
+user_pref("print.printer_Microsoft_Office_Document_Image_Writer.print_downloadfonts", true);
+user_pref("print.printer_Microsoft_Office_Document_Image_Writer.print_evenpages", true);
+user_pref("print.printer_Microsoft_Office_Document_Image_Writer.print_footercenter", "");
+user_pref("print.printer_Microsoft_Office_Document_Image_Writer.print_footerleft", "&PT");
+user_pref("print.printer_Microsoft_Office_Document_Image_Writer.print_footerright", "&D");
+user_pref("print.printer_Microsoft_Office_Document_Image_Writer.print_headercenter", "");
+user_pref("print.printer_Microsoft_Office_Document_Image_Writer.print_headerleft", "&T");
+user_pref("print.printer_Microsoft_Office_Document_Image_Writer.print_headerright", "&U");
+user_pref("print.printer_Microsoft_Office_Document_Image_Writer.print_in_color", true);
+user_pref("print.printer_Microsoft_Office_Document_Image_Writer.print_margin_bottom", "0.5");
+user_pref("print.printer_Microsoft_Office_Document_Image_Writer.print_margin_left", "0.5");
+user_pref("print.printer_Microsoft_Office_Document_Image_Writer.print_margin_right", "0.5");
+user_pref("print.printer_Microsoft_Office_Document_Image_Writer.print_margin_top", "0.5");
+user_pref("print.printer_Microsoft_Office_Document_Image_Writer.print_oddpages", true);
+user_pref("print.printer_Microsoft_Office_Document_Image_Writer.print_orientation", 0);
+user_pref("print.printer_Microsoft_Office_Document_Image_Writer.print_pagedelay", 500);
+user_pref("print.printer_Microsoft_Office_Document_Image_Writer.print_paper_data", 1);
+user_pref("print.printer_Microsoft_Office_Document_Image_Writer.print_paper_height", " 11.00");
+user_pref("print.printer_Microsoft_Office_Document_Image_Writer.print_paper_size", 4259897);
+user_pref("print.printer_Microsoft_Office_Document_Image_Writer.print_paper_size_type", 0);
+user_pref("print.printer_Microsoft_Office_Document_Image_Writer.print_paper_size_unit", 0);
+user_pref("print.printer_Microsoft_Office_Document_Image_Writer.print_paper_width", " 8.50");
+user_pref("print.printer_Microsoft_Office_Document_Image_Writer.print_reversed", false);
+user_pref("print.printer_Microsoft_Office_Document_Image_Writer.print_scaling", " 1.00");
+user_pref("print.printer_Microsoft_Office_Document_Image_Writer.print_shrink_to_fit", true);
+user_pref("print.printer_Microsoft_Office_Document_Image_Writer.print_to_file", false);
+user_pref("print.printer_Microsoft_Office_Document_Image_Writer.print_to_filename", "");
+user_pref("security.warn_viewing_mixed", false);
+user_pref("spellchecker.dictionary", "en-US");
+user_pref("urlclassifier.keyupdatetime.https://sb-ssl.google.com/safebrowsing/getkey?client=navclient-auto-ffox2.0.0.1&", 1181234396);
+user_pref("urlclassifier.keyupdatetime.https://sb-ssl.google.com/safebrowsing/newkey", 1212860951);
+user_pref("urlclassifier.tableversion.goog-black-enchash", "1.50318");
+user_pref("urlclassifier.tableversion.goog-black-url", "1.20750");
+user_pref("urlclassifier.tableversion.goog-white-domain", "1.30");
+user_pref("urlclassifier.tableversion.goog-white-url", "1.371");
+user_pref("webdeveloper.custom.1.color", "#ff0000");
+user_pref("webdeveloper.custom.2.color", "#33ff33");
+user_pref("webdeveloper.custom.3.color", "#3333ff");
+user_pref("webdeveloper.custom.4.color", "#ff0000");
+user_pref("webdeveloper.custom.5.color", "#33ff33");
+user_pref("webdeveloper.dashboard.position", "bottom");
+user_pref("webdeveloper.disable.styles.key", "S");
+user_pref("webdeveloper.display.element.information.key", "F");
+user_pref("webdeveloper.edit.color.background", "#ffffff");
+user_pref("webdeveloper.edit.color.text", "#000000");
+user_pref("webdeveloper.edit.css.key", "E");
+user_pref("webdeveloper.edit.font.size", 12);
+user_pref("webdeveloper.edit.update.frequency", 2000);
+user_pref("webdeveloper.error.console.key", "J");
+user_pref("webdeveloper.feature.tooltip.color.background", "#ffff99");
+user_pref("webdeveloper.feature.tooltip.color.border", "#ffcc66");
+user_pref("webdeveloper.feature.tooltip.color.text", "#000000");
+user_pref("webdeveloper.feature.tooltip.opacity", "0.9");
+user_pref("webdeveloper.generated.content.font.size", 12);
+user_pref("webdeveloper.information.tidy", true);
+user_pref("webdeveloper.java.console.key", "O");
+user_pref("webdeveloper.line.guides.color", "#000000");
+user_pref("webdeveloper.magnification.level", "2");
+user_pref("webdeveloper.open.tabs", true);
+user_pref("webdeveloper.populate.form.fields.email", "example@example.com");
+user_pref("webdeveloper.resize.1.description", "800x600");
+user_pref("webdeveloper.resize.1.height", 600);
+user_pref("webdeveloper.resize.1.width", 800);
+user_pref("webdeveloper.resize.count", 1);
+user_pref("webdeveloper.style.information.dashboard", true);
+user_pref("webdeveloper.tool.1.description", "Validate CSS");
+user_pref("webdeveloper.tool.1.url", "http://jigsaw.w3.org/css-validator/validator?profile=css21&warning=0&uri=");
+user_pref("webdeveloper.tool.2.description", "Validate Feed");
+user_pref("webdeveloper.tool.2.url", "http://validator.w3.org/feed/check.cgi?url=");
+user_pref("webdeveloper.tool.3.description", "Validate HTML");
+user_pref("webdeveloper.tool.3.key", "H");
+user_pref("webdeveloper.tool.3.url", "http://validator.w3.org/check?verbose=1&uri=");
+user_pref("webdeveloper.tool.4.description", "Validate Links");
+user_pref("webdeveloper.tool.4.url", "http://validator.w3.org/checklink?check=Check&hide_type=all&summary=on&uri=");
+user_pref("webdeveloper.tool.5.description", "Validate Section 508");
+user_pref("webdeveloper.tool.5.url", "http://www.cynthiasays.com/mynewtester/cynthia.exe?rptmode=-1&url1=");
+user_pref("webdeveloper.tool.6.description", "Validate WAI");
+user_pref("webdeveloper.tool.6.url", "http://www.cynthiasays.com/mynewtester/cynthia.exe?rptmode=2&url1=");
+user_pref("webdeveloper.tool.count", 6);
+user_pref("webdeveloper.toolbar.key", "B");
+user_pref("webdeveloper.validate.local.accessibility.section508", true);
+user_pref("webdeveloper.validate.local.accessibility.wai.priority1", true);
+user_pref("webdeveloper.validate.local.css.profile", "css21");
+user_pref("webdeveloper.validate.local.html.key", "A");
+user_pref("webdeveloper.version", "1.15");
+user_pref("webdeveloper.view.css.key", "C");
+user_pref("webdeveloper.view.source.key", "U");
+user_pref("webdeveloper.view.style.information.key", "Y");
+user_pref("webdeveloper.zoom.in.key", "Z");
+user_pref("webdeveloper.zoom.out.key", "X");
+user_pref("xpinstall.whitelist.add", "");
+user_pref("xpinstall.whitelist.add.103", "");
diff --git a/chrome/test/data/firefox2_profile/signons2.txt b/chrome/test/data/firefox2_profile/signons2.txt
new file mode 100644
index 0000000..cd587d4
--- /dev/null
+++ b/chrome/test/data/firefox2_profile/signons2.txt
@@ -0,0 +1,29 @@
+#2d
+https://www.google.com
+.
+localhost:8080 (corp.google.com)
+
+MDIEEPgAAAAAAAAAAAAAAAAAAAEwFAYIKoZIhvcNAwcECGWa5u4oyD30BAjVjHehzmI1FQ==
+*
+MDoEEPgAAAAAAAAAAAAAAAAAAAEwFAYIKoZIhvcNAwcECIzNoDayvlg8BBDyGwwPHVf4+H5ECFVHSFF7
+
+.
+http://localhost:8080
+loginuser
+MDIEEPgAAAAAAAAAAAAAAAAAAAEwFAYIKoZIhvcNAwcECEFtzZ3poEPfBAhfSWTBcn8uAQ==
+*loginpass
+MDIEEPgAAAAAAAAAAAAAAAAAAAEwFAYIKoZIhvcNAwcECGRF97w1/HhvBAjcYnNUNjWcgA==
+http://localhost:8080
+loginuser
+MDIEEPgAAAAAAAAAAAAAAAAAAAEwFAYIKoZIhvcNAwcECNp5fZWsPu6KBAhiRy4Ma1F9/g==
+*loginpass
+MDIEEPgAAAAAAAAAAAAAAAAAAAEwFAYIKoZIhvcNAwcECGkvYFh0bA7JBAiPYfjWR04V8g==
+http://localhost:8080
+.
+http://localhost
+loginuser
+MDIEEPgAAAAAAAAAAAAAAAAAAAEwFAYIKoZIhvcNAwcECBJM63MpT9rtBAjMCm7qo/EhlA==
+*
+MDIEEPgAAAAAAAAAAAAAAAAAAAEwFAYIKoZIhvcNAwcECH1iF2yH/PbDBAjKtt50MebjIA==
+
+.
diff --git a/chrome/test/data/firefox3_nss/README b/chrome/test/data/firefox3_nss/README
new file mode 100644
index 0000000..b54a99e
--- /dev/null
+++ b/chrome/test/data/firefox3_nss/README
@@ -0,0 +1,13 @@
+The NSPR and NSS DLLs in this directory (mozcrt19.dll, nss3.dll, nssutil3.dll
+plds4.dll, sqlite3.dll, freebl3.dll, nspr4.dll, nssdbm3.dll, plc4.dll, and
+softokn3.dll) come from the Firefox 3.0 distribution for Windows.
+
+The source code of NSPR and NSS, which you may use, modify, and distribute, is
+available to you free-of-charge from www.mozilla.org under the Mozilla Public
+License and other open source software licenses.
+
+The source code of sqlite3.dll is in the public domain.
+
+mozcrt19.dll is the Mozilla Custom C Runtime, in which Mozilla replaced the
+default allocator with jemalloc. mozcrt19.dll is distributed in the object
+code form only and as part of the NSPR and NSS DLLs.
diff --git a/chrome/test/data/firefox3_nss/freebl3.dll b/chrome/test/data/firefox3_nss/freebl3.dll
new file mode 100644
index 0000000..cd9a4f9
--- /dev/null
+++ b/chrome/test/data/firefox3_nss/freebl3.dll
Binary files differ
diff --git a/chrome/test/data/firefox3_nss/mozcrt19.dll b/chrome/test/data/firefox3_nss/mozcrt19.dll
new file mode 100644
index 0000000..c6c2fb1
--- /dev/null
+++ b/chrome/test/data/firefox3_nss/mozcrt19.dll
Binary files differ
diff --git a/chrome/test/data/firefox3_nss/nspr4.dll b/chrome/test/data/firefox3_nss/nspr4.dll
new file mode 100644
index 0000000..156e23a
--- /dev/null
+++ b/chrome/test/data/firefox3_nss/nspr4.dll
Binary files differ
diff --git a/chrome/test/data/firefox3_nss/nss3.dll b/chrome/test/data/firefox3_nss/nss3.dll
new file mode 100644
index 0000000..e1e23e1
--- /dev/null
+++ b/chrome/test/data/firefox3_nss/nss3.dll
Binary files differ
diff --git a/chrome/test/data/firefox3_nss/nssdbm3.dll b/chrome/test/data/firefox3_nss/nssdbm3.dll
new file mode 100644
index 0000000..d7b9ab8
--- /dev/null
+++ b/chrome/test/data/firefox3_nss/nssdbm3.dll
Binary files differ
diff --git a/chrome/test/data/firefox3_nss/nssutil3.dll b/chrome/test/data/firefox3_nss/nssutil3.dll
new file mode 100644
index 0000000..41d5cf7
--- /dev/null
+++ b/chrome/test/data/firefox3_nss/nssutil3.dll
Binary files differ
diff --git a/chrome/test/data/firefox3_nss/plc4.dll b/chrome/test/data/firefox3_nss/plc4.dll
new file mode 100644
index 0000000..2e11cbc
--- /dev/null
+++ b/chrome/test/data/firefox3_nss/plc4.dll
Binary files differ
diff --git a/chrome/test/data/firefox3_nss/plds4.dll b/chrome/test/data/firefox3_nss/plds4.dll
new file mode 100644
index 0000000..2e93aed
--- /dev/null
+++ b/chrome/test/data/firefox3_nss/plds4.dll
Binary files differ
diff --git a/chrome/test/data/firefox3_nss/softokn3.dll b/chrome/test/data/firefox3_nss/softokn3.dll
new file mode 100644
index 0000000..e29e42d
--- /dev/null
+++ b/chrome/test/data/firefox3_nss/softokn3.dll
Binary files differ
diff --git a/chrome/test/data/firefox3_nss/sqlite3.dll b/chrome/test/data/firefox3_nss/sqlite3.dll
new file mode 100644
index 0000000..5262876
--- /dev/null
+++ b/chrome/test/data/firefox3_nss/sqlite3.dll
Binary files differ
diff --git a/chrome/test/data/firefox3_profile/cert8.db b/chrome/test/data/firefox3_profile/cert8.db
new file mode 100644
index 0000000..ac40a33
--- /dev/null
+++ b/chrome/test/data/firefox3_profile/cert8.db
Binary files differ
diff --git a/chrome/test/data/firefox3_profile/cookies.sqlite b/chrome/test/data/firefox3_profile/cookies.sqlite
new file mode 100644
index 0000000..f9ec2f5
--- /dev/null
+++ b/chrome/test/data/firefox3_profile/cookies.sqlite
Binary files differ
diff --git a/chrome/test/data/firefox3_profile/key3.db b/chrome/test/data/firefox3_profile/key3.db
new file mode 100644
index 0000000..6788cae
--- /dev/null
+++ b/chrome/test/data/firefox3_profile/key3.db
Binary files differ
diff --git a/chrome/test/data/firefox3_profile/places.sqlite b/chrome/test/data/firefox3_profile/places.sqlite
new file mode 100644
index 0000000..9540a3e
--- /dev/null
+++ b/chrome/test/data/firefox3_profile/places.sqlite
Binary files differ
diff --git a/chrome/test/data/firefox3_profile/prefs.js b/chrome/test/data/firefox3_profile/prefs.js
new file mode 100644
index 0000000..c65a9be2
--- /dev/null
+++ b/chrome/test/data/firefox3_profile/prefs.js
@@ -0,0 +1,32 @@
+# Mozilla User Preferences
+
+/* Do not edit this file.
+ *
+ * If you make changes to this file while the application is running,
+ * the changes will be overwritten when the application exits.
+ *
+ * To make a manual change to preferences, you can visit the URL about:config
+ * For more information, see http://www.mozilla.org/unix/customizing.html#prefs
+ */
+
+user_pref("app.update.lastUpdateTime.addon-background-update-timer", 1211306768);
+user_pref("app.update.lastUpdateTime.background-update-timer", 1211306767);
+user_pref("app.update.lastUpdateTime.blocklist-background-update-timer", 1211306767);
+user_pref("app.update.lastUpdateTime.microsummary-generator-update-timer", 1211306768);
+user_pref("app.update.lastUpdateTime.search-engine-update-timer", 1211306768);
+user_pref("browser.migration.version", 1);
+user_pref("browser.places.importBookmarksHTML", false);
+user_pref("browser.places.importDefaults", false);
+user_pref("browser.places.leftPaneFolderId", -1);
+user_pref("browser.places.migratePostDataAnnotations", false);
+user_pref("browser.places.smartBookmarksVersion", 1);
+user_pref("browser.places.updateRecentTagsUri", false);
+user_pref("browser.search.selectedEngine", "IMDB");
+user_pref("browser.search.useDBForOrder", true);
+user_pref("browser.sessionstore.resume_session_once", true);
+user_pref("browser.startup.homepage_override.mstone", "rv:1.9");
+user_pref("extensions.enabledItems", "{972ce4c6-7e08-4474-a285-3208198ce6fd}:3.0");
+user_pref("extensions.lastAppVersion", "3.0");
+user_pref("intl.charsetmenu.browser.cache", "UTF-8");
+user_pref("network.cookie.prefsMigrated", true);
+user_pref("urlclassifier.keyupdatetime.https://sb-ssl.google.com/safebrowsing/newkey", 1213898771);
diff --git a/chrome/test/data/firefox3_profile/search.sqlite b/chrome/test/data/firefox3_profile/search.sqlite
new file mode 100644
index 0000000..55d45cb
--- /dev/null
+++ b/chrome/test/data/firefox3_profile/search.sqlite
Binary files differ
diff --git a/chrome/test/data/firefox3_profile/secmod.db b/chrome/test/data/firefox3_profile/secmod.db
new file mode 100644
index 0000000..cb8cc20
--- /dev/null
+++ b/chrome/test/data/firefox3_profile/secmod.db
Binary files differ
diff --git a/chrome/test/data/firefox3_profile/signons3.txt b/chrome/test/data/firefox3_profile/signons3.txt
new file mode 100644
index 0000000..62cf2c8
--- /dev/null
+++ b/chrome/test/data/firefox3_profile/signons3.txt
@@ -0,0 +1,18 @@
+#2e
+.
+http://localhost:8080
+loginuser
+MDIEEPgAAAAAAAAAAAAAAAAAAAEwFAYIKoZIhvcNAwcECCZ75mS/2HwhBAj+/bq+5rbwnA==
+*loginpass
+MDIEEPgAAAAAAAAAAAAAAAAAAAEwFAYIKoZIhvcNAwcECBLe/6FaBaeiBAhSpECjLu7u0Q==
+http://localhost:8080
+---
+.
+http://localhost:8080 (localhost)
+
+MDIEEPgAAAAAAAAAAAAAAAAAAAEwFAYIKoZIhvcNAwcECE6NmWUq+BITBAhvbI1J3RKb6Q==
+*
+MDoEEPgAAAAAAAAAAAAAAAAAAAEwFAYIKoZIhvcNAwcECFckjT05RJ8uBBCWqEqv8ciEPf+Q8Fpgbtpf
+
+---
+.
diff --git a/chrome/test/data/focus/page_steals_focus.html b/chrome/test/data/focus/page_steals_focus.html
new file mode 100644
index 0000000..46963a0
--- /dev/null
+++ b/chrome/test/data/focus/page_steals_focus.html
@@ -0,0 +1,55 @@
+<html>
+
+ <head>
+<title>This page steals the focus</title>
+</head>
+<body onload="onLoad()">
+
+<script language="javascript" type="text/javascript">
+<!--
+
+var count = 1;
+
+function onLoad() {
+ updateText();
+ setTimeout("loop()", 1000);
+}
+
+function updateText() {
+ var text_div = document.getElementById("main_text");
+ text_div.innerHTML = "I will steal the focus in " + count + " seconds";
+}
+
+
+function loop() {
+ count--;
+ if (count == 0) {
+ var text_div = document.getElementById("main_text");
+ text_div.innerHTML = "Focus stolen!";
+ stealFocus();
+ } else {
+ updateText();
+ setTimeout("loop()", 1000);
+ }
+}
+
+
+function stealFocus() {
+ var textField = document.getElementById("text_edit");
+ textField.focus();
+}
+
+// -->
+</script>
+
+<h1>Welcome to Focus Taker!</h1>
+
+<div id="main_text"></div>
+
+<form href="nowhere.html">
+ <input name="SearchText" type="text" id="text_edit"></input>
+ <input name="SearchButton" type="button" value="Search" onclick="popitup('http://www.google.com');"></input>
+</form>
+<br>
+
+</html>
diff --git a/chrome/test/data/focus/page_with_focus.html b/chrome/test/data/focus/page_with_focus.html
new file mode 100644
index 0000000..62d5ee9
--- /dev/null
+++ b/chrome/test/data/focus/page_with_focus.html
@@ -0,0 +1,24 @@
+<html>
+<head><title>A simple page with the focus on a text edit</title></head>
+
+<script>
+ function init() {
+ document.f.q.focus();
+ }
+</script>
+
+<body onload="init()">
+
+ <h1>Hello</h1>
+ Search:
+ <form name=f>
+ <input name=q size=55 title="Google Search" value=""><br>
+ <form>
+
+ <a href="http://www.google.com">Google</a>&nbsp;&nbsp;
+ <a href="http://mail.google.com">GMail</a>&nbsp;&nbsp;
+ <a href="http://maps.google.com">GMap</a>
+</body>
+
+
+</html>
diff --git a/chrome/test/data/focus/typical_page.html b/chrome/test/data/focus/typical_page.html
new file mode 100644
index 0000000..15b97b0
--- /dev/null
+++ b/chrome/test/data/focus/typical_page.html
@@ -0,0 +1,47 @@
+<html>
+<head><title>Your typical HTML page</title></head>
+
+<script>
+ var focused_elem = "";
+
+ function setFocusedElem(id) {
+ focused_elem = id;
+ updateLog();
+ }
+
+ function clearFocus() {
+ focused_elem = "";
+ updateLog();
+ }
+
+ function getFocusedElement() {
+ return focused_elem;
+ }
+
+ function updateLog() {
+ document.getElementById("log").innerHTML = "Focused element: " + focused_elem;
+ }
+
+</script>
+
+<body>
+
+ <h1>Hello</h1>
+ Search:
+ <form name=f>
+ <input name=q size=55 title="Google Search" value="" id="textEdit" onfocus="setFocusedElem(this.id)" onblur="clearFocus()"><br>
+ <input type=button value="Search" id="searchButton" onfocus="setFocusedElem(this.id)" onblur="clearFocus()">
+ <input type=button value="I am feeling lucky" id="luckyButton" onfocus="setFocusedElem(this.id)" onblur="clearFocus()">
+ <form>
+ <br><br>
+
+ <a href="http://www.google.com" id="googleLink" onfocus="setFocusedElem(this.id)" onblur="clearFocus()">Google</a>&nbsp;&nbsp;
+ <a href="http://mail.google.com" id="gmailLink" onfocus="setFocusedElem(this.id)" onblur="clearFocus()">GMail</a>&nbsp;&nbsp;
+ <a href="http://maps.google.com" id="gmapLink" onfocus="setFocusedElem(this.id)" onblur="clearFocus()">GMap</a>
+
+ <br><br><br>
+ <div id="log"><div>
+</body>
+
+</html>
+
diff --git a/chrome/test/data/frame_dom_access/frame_dom_access.html b/chrome/test/data/frame_dom_access/frame_dom_access.html
new file mode 100644
index 0000000..931acf5
--- /dev/null
+++ b/chrome/test/data/frame_dom_access/frame_dom_access.html
@@ -0,0 +1,6 @@
+<HTML>
+ <BODY>
+ <INPUT id="myinput"> </INPUT>
+ <IFRAME src="frame_level_1.html"/>
+ </BODY>
+</HTML>
diff --git a/chrome/test/data/frame_dom_access/frame_level_1.html b/chrome/test/data/frame_dom_access/frame_level_1.html
new file mode 100644
index 0000000..1dbeb9a
--- /dev/null
+++ b/chrome/test/data/frame_dom_access/frame_level_1.html
@@ -0,0 +1,6 @@
+<HTML>
+ <BODY>
+ <span id="myspan"></span>
+ <iframe src="frame_level_2.html"/>
+ </BODY>
+</HTML>
diff --git a/chrome/test/data/frame_dom_access/frame_level_2.html b/chrome/test/data/frame_dom_access/frame_level_2.html
new file mode 100644
index 0000000..afd7049
--- /dev/null
+++ b/chrome/test/data/frame_dom_access/frame_level_2.html
@@ -0,0 +1,5 @@
+<HTML>
+ <BODY>
+ <DIV id="mydiv"></DIV>
+ </BODY>
+</HTML>
diff --git a/chrome/test/data/google/google.html b/chrome/test/data/google/google.html
new file mode 100644
index 0000000..6fda776
--- /dev/null
+++ b/chrome/test/data/google/google.html
@@ -0,0 +1,17 @@
+<html><head><meta http-equiv="content-type" content="text/html; charset=UTF-8"><title>Google</title><style><!--
+body,td,a,p,.h{font-family:arial,sans-serif}
+.h{font-size:20px}
+.h{color:#3366cc}
+.q{color:#00c}
+--></style>
+<script defer="defer">
+<!--
+function sf(){document.f.q.focus();}
+window.rwt=function(b,d,f,j,k,g,l){var a=window.encodeURIComponent?encodeURIComponent:escape,h="",i="",c=b.href.split("#"),e="";if(d){h="&oi="+a(d)}if(f){i="&cad="+a(f)}if(g){e="&usg="+g}b.href="/url?sa=t"+h+i+"&ct="+a(j)+"&cd="+a(k)+"&url="+a(c[0]).replace(/\+/g,"%2B")+"&ei=qmSARdamFcf2YIrlwKoE"+e+l+(c[1]?"#"+c[1]:"");b.onmousedown="";return true};// -->
+</script></head><body onload="sf()" topmargin="3" alink="#ff0000" bgcolor="#ffffff" link="#0000cc" marginheight="3" text="#000000" vlink="#551a8b"><center><div nowrap="" style="padding-bottom: 4px;" width="100%" align="right"><font size="-1"><b>yourmom@gmail.com</b>&nbsp;|&nbsp;<a href="http://www.google.com/url?sa=p&amp;pref=ig&amp;pval=3&amp;q=http://www.google.com/ig%3Fhl%3Den&amp;usg=__yvmOvIrk79QYmDkrJAeuYO8jTmo=" onmousedown="return rwt(this,'promos','hppphou:en_us','pro','1','__zxxGHEJmJoAKTnuqkUevLLYrO4g=','&sig2=81iEbSYzM_7fDQpy6xZaIg')">Personalized Home</a>&nbsp;|&nbsp;<a href="https://www.google.com/accounts/ManageAccount">My Account</a>&nbsp;|&nbsp;<a href="http://www.google.com/accounts/Logout?continue=http://www.google.com/">Sign out</a></font></div><img alt="Google" src="logo.gif" height="110" width="276"><br><br><form action="/search" name="f"><script defer="defer"><!--
+function qs(el){if(window.RegExp&&window.encodeURIComponent){var ue=el.href,qe=encodeURIComponent(document.f.q.value);if(ue.indexOf("q=")!=-1){el.href=ue.replace(new RegExp("q=[^&$]*"),"q="+qe);}else{el.href=ue+"&q="+qe;}}return 1;}
+function togDisp(e){stopB(e);var elems=document.getElementsByName('more');for(var i=0;i<elems.length;i++){var obj=elems[i],dp="";if(obj.style.display==""){dp="none";}obj.style.display=dp;}return false;}
+function stopB(e){if(!e)e=window.event;e.cancelBubble=true;}
+document.onclick=function(event){var elems=document.getElementsByName('more');if(elems[0].style.display==""){togDisp(event);}}
+//-->
+</script><table border="0" cellpadding="4" cellspacing="0"><tbody><tr><td nowrap="nowrap"><font size="-1"><b>Web</b>&nbsp;&nbsp;&nbsp;&nbsp;<a class="q" href="http://images.google.com/imghp?ie=UTF-8&amp;oe=UTF-8&amp;hl=en&amp;tab=wi" onclick="return qs(this);">Images</a>&nbsp;&nbsp;&nbsp;&nbsp;<a class="q" href="http://video.google.com/?ie=UTF-8&amp;oe=UTF-8&amp;hl=en&amp;tab=wv" onclick="return qs(this);">Video</a>&nbsp;&nbsp;&nbsp;&nbsp;<a class="q" href="http://news.google.com/nwshp?ie=UTF-8&amp;oe=UTF-8&amp;hl=en&amp;tab=wn" onclick="return qs(this);">News</a>&nbsp;&nbsp;&nbsp;&nbsp;<a class="q" href="http://www.google.com/maps?ie=UTF-8&amp;oe=UTF-8&amp;hl=en&amp;tab=wl" onclick="return qs(this);">Maps</a>&nbsp;&nbsp;&nbsp;&nbsp;<!--"/*"/*--><font size="-1"><a class="q" onclick="return window.qs?qs(this):1" href="http://127.0.0.1:4664/&amp;s=oTNhxyxrnKvgsKLBW5ECAV9apZw">Desktop</a></font>&nbsp;&nbsp;&nbsp;&nbsp;<font size="-1"><a class="q" href="http://search/">Moma</a></font>&nbsp;&nbsp;&nbsp;&nbsp;<b><a href="http://www.google.com/intl/en/options/" class="q" onclick="this.blur();return togDisp(event);">more&nbsp;»</a></b><span name="more" id="more" style="border: 1px solid rgb(51, 102, 153); margin: -0.5ex 2ex; padding: 0pt 0pt 0.5ex 0.8ex; background: rgb(255, 255, 255) none repeat scroll 0%; display: none; position: absolute; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 16ex; line-height: 1.9; z-index: 1000;" onclick="stopB(event);"><a href="#" onclick="return togDisp(event);"><img src="x2.gif" alt="Close menu" align="right" border="0" height="12" hspace="4" vspace="4" width="12"></a><a class="q" href="http://books.google.com/bkshp?ie=UTF-8&amp;oe=UTF-8&amp;hl=en&amp;tab=wp" onclick="return qs(this);">Books</a><br><a class="q" href="http://froogle.google.com/frghp?ie=UTF-8&amp;oe=UTF-8&amp;hl=en&amp;tab=wf" onclick="return qs(this);">Froogle</a><br><a class="q" href="http://groups.google.com/grphp?ie=UTF-8&amp;oe=UTF-8&amp;hl=en&amp;tab=wg" onclick="return qs(this);">Groups</a><br><a class="q" href="http://scholar.google.com/schhp?ie=UTF-8&amp;oe=UTF-8&amp;hl=en&amp;tab=ws" onclick="return qs(this);">Scholar</a><br><a href="http://www.google.com/intl/en/options/" class="q"><b>even more »</b></a></span></font></td></tr></tbody></table><table cellpadding="0" cellspacing="0"><tbody><tr valign="top"><td width="25%">&nbsp;</td><td align="center" nowrap="nowrap"><input name="hl" value="en" type="hidden"><input maxlength="2048" name="q" size="55" title="Google Search" value=""><br><input name="btnG" value="Google Search" type="submit"><input name="btnI" value="I'm Feeling Lucky" type="submit"></td><td nowrap="nowrap" width="25%"><font size="-2">&nbsp;&nbsp;<a href="http://www.google.com/advanced_search?hl=en">Advanced Search</a><br>&nbsp;&nbsp;<a href="http://www.google.com/preferences?hl=en">Preferences</a><br>&nbsp;&nbsp;<a href="http://www.google.com/language_tools?hl=en">Language Tools</a></font></td></tr></tbody></table></form><br><font size="-1"><a href="http://maps.google.com/maps?f=l" onmousedown="return rwt(this,'promos','hppweb:en_us','pro','1','__cRFkyGl8vmPJFLoVMwLVZG0r-Rs=','&sig2=y1UbGzpOnQEIuHK0FM2ztw')">Google Maps</a>: Find local stores and directions for holiday shopping.</font><br><br><br><font size="-1"><a href="http://www.google.com/intl/en/ads/">Advertising&nbsp;Programs</a> - <a href="http://www.google.com/services/">Business Solutions</a> - <a href="http://www.google.com/intl/en/about.html">About Google</a></font><p><font size="-2">©2006 Google</font></p></center></body></html> \ No newline at end of file
diff --git a/chrome/test/data/google/logo.gif b/chrome/test/data/google/logo.gif
new file mode 100644
index 0000000..afa22bc
--- /dev/null
+++ b/chrome/test/data/google/logo.gif
Binary files differ
diff --git a/chrome/test/data/google/x2.gif b/chrome/test/data/google/x2.gif
new file mode 100644
index 0000000..552b769
--- /dev/null
+++ b/chrome/test/data/google/x2.gif
Binary files differ
diff --git a/chrome/test/data/http_to_file.html b/chrome/test/data/http_to_file.html
new file mode 100644
index 0000000..c3062e4
--- /dev/null
+++ b/chrome/test/data/http_to_file.html
@@ -0,0 +1,5 @@
+<!-- Test used by RedirectTest.NoHttpToFile to make sure we don't crash
+and that we don't perform redirections from http to file. See bug 1139823 -->
+<html><head><title>File!</title></head>
+<body></body>
+</html>
diff --git a/chrome/test/data/icon_util/128_X_128_icon.ico b/chrome/test/data/icon_util/128_X_128_icon.ico
new file mode 100644
index 0000000..a5d72fe
--- /dev/null
+++ b/chrome/test/data/icon_util/128_X_128_icon.ico
Binary files differ
diff --git a/chrome/test/data/icon_util/16_X_16_icon.ico b/chrome/test/data/icon_util/16_X_16_icon.ico
new file mode 100644
index 0000000..0e524f1
--- /dev/null
+++ b/chrome/test/data/icon_util/16_X_16_icon.ico
Binary files differ
diff --git a/chrome/test/data/ie@cookie[1].txt b/chrome/test/data/ie@cookie[1].txt
new file mode 100644
index 0000000..84c1df4
--- /dev/null
+++ b/chrome/test/data/ie@cookie[1].txt
@@ -0,0 +1,69 @@
+City
+010
+cookie.com/
+1536
+616982400
+29918725
+2476228016
+29918054
+*
+ID
+0CB7D340F6B05B750CAAD871BA598529
+cookie.com/path/
+1536
+2967774592
+32084998
+910020000
+29880625
+*
+Security
+1
+cookie.com/dir/sub_dir/
+1
+2189574144
+32107986
+2663222448
+29909387
+*
+z2
+dogs!
+~~local~~/C:/Documents%20and%20Settings/filecookie/
+1088
+2189574144
+32107986
+3575890080
+29928395
+*
+WITHPATH
+B
+boink.example.com/~happy
+1600
+2189574144
+32107986
+1637792944
+29932061
+*
+HTTPONLY
+yarz
+boink.example.com/~happy/
+9728
+2189574144
+32107986
+3893915648
+29932062
+*
+invalid_case1
+empty_host
+
+1536
+2319892480
+30251495
+2028928160
+29884415
+*
+broken
+cookie
+shold
+not
+be
+parsed
diff --git a/chrome/test/data/iframe.html b/chrome/test/data/iframe.html
new file mode 100644
index 0000000..a08e34b
--- /dev/null
+++ b/chrome/test/data/iframe.html
@@ -0,0 +1,4 @@
+<html><head><title>iframe test</title></head>
+<body>
+<iframe src="title1.html"/>
+</body></html> \ No newline at end of file
diff --git a/chrome/test/data/iframe_in_empty_frame.html b/chrome/test/data/iframe_in_empty_frame.html
new file mode 100644
index 0000000..854cd1c
--- /dev/null
+++ b/chrome/test/data/iframe_in_empty_frame.html
@@ -0,0 +1,18 @@
+<html><head><title>iframe test</title></head>
+ <script type="text/javascript">
+function createStruct(wnd,viewer,popup){
+ iframe=wnd.document.createElement('iframe');
+ viewer.appendChild(iframe);
+ iframe.contentWindow.document.write('<SCRIPT src=\"iframe_in_empty_frame.js\"></SCR'+'IPT>');
+}
+
+wndname = "_blank";
+wnd = window.open("", wndname, 'width=780,height=572,scrollbars=no,resizeable=no,statusbar=no,status=no,left = '+((screen.width / 2) - 780 / 2)+', var top = '+((screen.height / 2) - 572 / 2)+'');
+if(wnd) {
+ wnd.document.open();
+ wnd.document.write('<html><body onload="finished();"><script>function finished() {if (window.opener) {window.opener.createStruct(this,document.getElementById("viewer"),true);}}</scr'+'ipt><div id="viewer"></div></body></html>');
+ wnd.document.close();
+}
+
+</script>
+</html>
diff --git a/chrome/test/data/iframe_in_empty_frame.js b/chrome/test/data/iframe_in_empty_frame.js
new file mode 100644
index 0000000..110f514
--- /dev/null
+++ b/chrome/test/data/iframe_in_empty_frame.js
@@ -0,0 +1,3 @@
+document.write('');
+document.location.href="http://www.google.com/"
+document.write('');
diff --git a/chrome/test/data/inspector/dummy.js b/chrome/test/data/inspector/dummy.js
new file mode 100644
index 0000000..f84383e
--- /dev/null
+++ b/chrome/test/data/inspector/dummy.js
@@ -0,0 +1,3 @@
+function setCookie() {
+ document.cookie = 'viewsource_cookie=foo';
+}
diff --git a/chrome/test/data/inspector/test1.html b/chrome/test/data/inspector/test1.html
new file mode 100644
index 0000000..a9cf12d
--- /dev/null
+++ b/chrome/test/data/inspector/test1.html
@@ -0,0 +1,4 @@
+<html>
+<body></body>
+This file exists to test that one resource get loaded in Chrome inspector.
+</html> \ No newline at end of file
diff --git a/chrome/test/data/inspector/test2.html b/chrome/test/data/inspector/test2.html
new file mode 100644
index 0000000..21de21b
--- /dev/null
+++ b/chrome/test/data/inspector/test2.html
@@ -0,0 +1,5 @@
+<html>
+<head><script src="dummy.js"></script></head>
+<body onload="setCookie();"></body>
+This file exists to test that two resources get loaded in Chrome inspector.
+</html> \ No newline at end of file
diff --git a/chrome/test/data/interstitial_page/google.html b/chrome/test/data/interstitial_page/google.html
new file mode 100644
index 0000000..6fda776
--- /dev/null
+++ b/chrome/test/data/interstitial_page/google.html
@@ -0,0 +1,17 @@
+<html><head><meta http-equiv="content-type" content="text/html; charset=UTF-8"><title>Google</title><style><!--
+body,td,a,p,.h{font-family:arial,sans-serif}
+.h{font-size:20px}
+.h{color:#3366cc}
+.q{color:#00c}
+--></style>
+<script defer="defer">
+<!--
+function sf(){document.f.q.focus();}
+window.rwt=function(b,d,f,j,k,g,l){var a=window.encodeURIComponent?encodeURIComponent:escape,h="",i="",c=b.href.split("#"),e="";if(d){h="&oi="+a(d)}if(f){i="&cad="+a(f)}if(g){e="&usg="+g}b.href="/url?sa=t"+h+i+"&ct="+a(j)+"&cd="+a(k)+"&url="+a(c[0]).replace(/\+/g,"%2B")+"&ei=qmSARdamFcf2YIrlwKoE"+e+l+(c[1]?"#"+c[1]:"");b.onmousedown="";return true};// -->
+</script></head><body onload="sf()" topmargin="3" alink="#ff0000" bgcolor="#ffffff" link="#0000cc" marginheight="3" text="#000000" vlink="#551a8b"><center><div nowrap="" style="padding-bottom: 4px;" width="100%" align="right"><font size="-1"><b>yourmom@gmail.com</b>&nbsp;|&nbsp;<a href="http://www.google.com/url?sa=p&amp;pref=ig&amp;pval=3&amp;q=http://www.google.com/ig%3Fhl%3Den&amp;usg=__yvmOvIrk79QYmDkrJAeuYO8jTmo=" onmousedown="return rwt(this,'promos','hppphou:en_us','pro','1','__zxxGHEJmJoAKTnuqkUevLLYrO4g=','&sig2=81iEbSYzM_7fDQpy6xZaIg')">Personalized Home</a>&nbsp;|&nbsp;<a href="https://www.google.com/accounts/ManageAccount">My Account</a>&nbsp;|&nbsp;<a href="http://www.google.com/accounts/Logout?continue=http://www.google.com/">Sign out</a></font></div><img alt="Google" src="logo.gif" height="110" width="276"><br><br><form action="/search" name="f"><script defer="defer"><!--
+function qs(el){if(window.RegExp&&window.encodeURIComponent){var ue=el.href,qe=encodeURIComponent(document.f.q.value);if(ue.indexOf("q=")!=-1){el.href=ue.replace(new RegExp("q=[^&$]*"),"q="+qe);}else{el.href=ue+"&q="+qe;}}return 1;}
+function togDisp(e){stopB(e);var elems=document.getElementsByName('more');for(var i=0;i<elems.length;i++){var obj=elems[i],dp="";if(obj.style.display==""){dp="none";}obj.style.display=dp;}return false;}
+function stopB(e){if(!e)e=window.event;e.cancelBubble=true;}
+document.onclick=function(event){var elems=document.getElementsByName('more');if(elems[0].style.display==""){togDisp(event);}}
+//-->
+</script><table border="0" cellpadding="4" cellspacing="0"><tbody><tr><td nowrap="nowrap"><font size="-1"><b>Web</b>&nbsp;&nbsp;&nbsp;&nbsp;<a class="q" href="http://images.google.com/imghp?ie=UTF-8&amp;oe=UTF-8&amp;hl=en&amp;tab=wi" onclick="return qs(this);">Images</a>&nbsp;&nbsp;&nbsp;&nbsp;<a class="q" href="http://video.google.com/?ie=UTF-8&amp;oe=UTF-8&amp;hl=en&amp;tab=wv" onclick="return qs(this);">Video</a>&nbsp;&nbsp;&nbsp;&nbsp;<a class="q" href="http://news.google.com/nwshp?ie=UTF-8&amp;oe=UTF-8&amp;hl=en&amp;tab=wn" onclick="return qs(this);">News</a>&nbsp;&nbsp;&nbsp;&nbsp;<a class="q" href="http://www.google.com/maps?ie=UTF-8&amp;oe=UTF-8&amp;hl=en&amp;tab=wl" onclick="return qs(this);">Maps</a>&nbsp;&nbsp;&nbsp;&nbsp;<!--"/*"/*--><font size="-1"><a class="q" onclick="return window.qs?qs(this):1" href="http://127.0.0.1:4664/&amp;s=oTNhxyxrnKvgsKLBW5ECAV9apZw">Desktop</a></font>&nbsp;&nbsp;&nbsp;&nbsp;<font size="-1"><a class="q" href="http://search/">Moma</a></font>&nbsp;&nbsp;&nbsp;&nbsp;<b><a href="http://www.google.com/intl/en/options/" class="q" onclick="this.blur();return togDisp(event);">more&nbsp;»</a></b><span name="more" id="more" style="border: 1px solid rgb(51, 102, 153); margin: -0.5ex 2ex; padding: 0pt 0pt 0.5ex 0.8ex; background: rgb(255, 255, 255) none repeat scroll 0%; display: none; position: absolute; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 16ex; line-height: 1.9; z-index: 1000;" onclick="stopB(event);"><a href="#" onclick="return togDisp(event);"><img src="x2.gif" alt="Close menu" align="right" border="0" height="12" hspace="4" vspace="4" width="12"></a><a class="q" href="http://books.google.com/bkshp?ie=UTF-8&amp;oe=UTF-8&amp;hl=en&amp;tab=wp" onclick="return qs(this);">Books</a><br><a class="q" href="http://froogle.google.com/frghp?ie=UTF-8&amp;oe=UTF-8&amp;hl=en&amp;tab=wf" onclick="return qs(this);">Froogle</a><br><a class="q" href="http://groups.google.com/grphp?ie=UTF-8&amp;oe=UTF-8&amp;hl=en&amp;tab=wg" onclick="return qs(this);">Groups</a><br><a class="q" href="http://scholar.google.com/schhp?ie=UTF-8&amp;oe=UTF-8&amp;hl=en&amp;tab=ws" onclick="return qs(this);">Scholar</a><br><a href="http://www.google.com/intl/en/options/" class="q"><b>even more »</b></a></span></font></td></tr></tbody></table><table cellpadding="0" cellspacing="0"><tbody><tr valign="top"><td width="25%">&nbsp;</td><td align="center" nowrap="nowrap"><input name="hl" value="en" type="hidden"><input maxlength="2048" name="q" size="55" title="Google Search" value=""><br><input name="btnG" value="Google Search" type="submit"><input name="btnI" value="I'm Feeling Lucky" type="submit"></td><td nowrap="nowrap" width="25%"><font size="-2">&nbsp;&nbsp;<a href="http://www.google.com/advanced_search?hl=en">Advanced Search</a><br>&nbsp;&nbsp;<a href="http://www.google.com/preferences?hl=en">Preferences</a><br>&nbsp;&nbsp;<a href="http://www.google.com/language_tools?hl=en">Language Tools</a></font></td></tr></tbody></table></form><br><font size="-1"><a href="http://maps.google.com/maps?f=l" onmousedown="return rwt(this,'promos','hppweb:en_us','pro','1','__cRFkyGl8vmPJFLoVMwLVZG0r-Rs=','&sig2=y1UbGzpOnQEIuHK0FM2ztw')">Google Maps</a>: Find local stores and directions for holiday shopping.</font><br><br><br><font size="-1"><a href="http://www.google.com/intl/en/ads/">Advertising&nbsp;Programs</a> - <a href="http://www.google.com/services/">Business Solutions</a> - <a href="http://www.google.com/intl/en/about.html">About Google</a></font><p><font size="-2">©2006 Google</font></p></center></body></html> \ No newline at end of file
diff --git a/chrome/test/data/interstitial_page/interstitial.html b/chrome/test/data/interstitial_page/interstitial.html
new file mode 100644
index 0000000..bc22ecf
--- /dev/null
+++ b/chrome/test/data/interstitial_page/interstitial.html
@@ -0,0 +1,7 @@
+<html>
+<head><title>Interstitial page</title></head>
+<body>
+ <h1>This is a phony interstitial page</h1>
+ Hope you are enjoying it!
+</body>
+</html> \ No newline at end of file
diff --git a/chrome/test/data/interstitial_page/logo.gif b/chrome/test/data/interstitial_page/logo.gif
new file mode 100644
index 0000000..afa22bc
--- /dev/null
+++ b/chrome/test/data/interstitial_page/logo.gif
Binary files differ
diff --git a/chrome/test/data/interstitial_page/shopping.html b/chrome/test/data/interstitial_page/shopping.html
new file mode 100644
index 0000000..8cb250f
--- /dev/null
+++ b/chrome/test/data/interstitial_page/shopping.html
@@ -0,0 +1,123 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html><head>
+
+<style type="text/css">
+<!--
+.productname { font-size: 20px; font-weight: bold; color: #1D46AA; font-family: arial,sans-serif}
+-->
+</style>
+
+
+
+<meta http-equiv="content-type" content="text/html; charset=utf-8"><title>Google Product Search</title>
+
+<script type="text/javascript">
+function sf(){document.f.q.focus();}
+function c(p,l,e){var f=document.f;if (f.action && document.getElementById) {var hf=document.getElementById("hf");if (hf) {var t = "<input type=hidden name=tab value="+l+">";hf.innerHTML=t;}f.action = 'http://'+p;e.cancelBubble=true;f.submit();return false;}return true;}
+function ss(w){window.status=w;return true;}
+function cs(){window.status='';}
+function ga(o,e){if (document.getElementById){a=o.id.substring(1); p = "";r = "";g = e.target;if (g) { t = g.id;f = g.parentNode;if (f) {p = f.id;h = f.parentNode;if (h) r = h.id;}} else{h = e.srcElement;f = h.parentNode;if (f) p = f.id;t = h.id;}if (t==a || p==a || r==a) return true;location.href=document.getElementById(a).href}}
+function postAddToShoppingList(formId) { var elm = document.getElementById(formId); elm.submit(); }
+</script>
+<link type="text/css" rel="stylesheet" href="shopping_files/froogle.css">
+<style type="text/css">
+#q{width:22.5em}
+</style>
+<script>window.gbar={};(function(){function o(a,e,d){var b="on"+e;if(a.addEventListener){a.addEventListener(e,d,false)}else if(a.attachEvent){a.attachEvent(b,d)}else{var i=a[b];a[b]=function(){var f=i.apply(this,arguments),h=d.apply(this,arguments);return f==undefined?h:(h==undefined?f:h&&f)}}};var j=window.gbar,c,l,g;function m(a,e,d){a.display=a.display=="block"?"none":"block";a.left=e+"px";a.top=d+"px"}j.tg=function(a){var e=0,d,b,i,f=0,h=window.navExtra;!l&&(l=document.getElementById("gbar"));!g&&(g=l.getElementsByTagName("span"));(a||window.event).cancelBubble=true;if(!c){c=document.createElement(Array.every||window.createPopup?"iframe":"div");c.frameBorder="0";c.id="gbi";c.scrolling="no";c.src="javascript:''";document.body.appendChild(c);if(h&&g[8])for(var n in h){var k=document.createElement("span");k.appendChild(h[n]);k.className="gb2";g[0].parentNode.insertBefore(k,g[8])}o(document,"click",j.close)}for(;g[f];f++){b=g[f];i=b.className;if(i=="gb3"){d=b.offsetLeft;while(b=b.offsetParent)d+=b.offsetLeft;m(c.style,d,24)}else if(i=="gb2"){if(!(g[f].firstChild.tagName=="A")){b.style.padding=".2em .5em"}m(b.style,d+1,25+e);e+=20}}c.style.height=e+"px"};j.close=function(a){c&&c.style.display=="block"&&j.tg(a)};})();</script>
+<style>#gbar{float:left;font-weight:bold;height:22px;padding-left:2px}#gbh{border-top:1px solid #c9d7f1;font-size:0;height:0;position:absolute;right:0;top:24px;width:200%}#gbi{background:#fff;border:1px solid;border-color:#c9d7f1 #36c #36c #a2bae7;font-size:13px;top:24px;z-index:1000}#guser{padding-bottom:7px !important}#gbar,#guser{font-size:13px;padding-top:1px !important}@media all{.gb1,.gb3{height:22px;margin-right:.73em;vertical-align:top}}#gbi,.gb2{display:none;position:absolute;width:8em}.gb2{z-index:1001}#gbar a,#gbar a:active,#gbar a:visited{color:#00c;font-weight:normal}.gb2 a,.gb3 a{text-decoration:none}.gb2 a{display:block;padding:.2em .5em}#gbar .gb2 a:hover{background:#36c;color:#fff}</style>
+<style type="text/css">#gbar .gbard b{padding:.2em .5em;}</style></head><noscript><meta http-equiv=refresh content="0; URL=/prdhp?tab=wf&output=html"></noscript><body onload="document.f.q.focus();" topmargin="3" alink="#ff0000" bgcolor="#ffffff" link="#0000cc" marginheight="3" text="#000000" vlink="#551a8b">
+<div id="gbar"><nobr><span class="gb1"><a href="http://www.google.com/webhp?tab=fw">Web</a></span> <span class="gb1"><a href="http://images.google.com/imghp?tab=fi">Images</a></span> <span class="gb1"><a href="http://maps.google.com/maps?tab=fl">Maps</a></span> <span class="gb1"><a href="http://news.google.com/nwshp?tab=fn">News</a></span> <span class="gb1">Shopping</span> <span class="gb1"><a href="http://mail.google.com/mail?tab=fm">Gmail</a></span> <span class="gb3"><a href="http://www.google.com/intl/en/options/" onclick="this.blur();gbar.tg(event);return false"><u>more</u> <span style="font-size: 11px;">▼</span></a></span> <span class="gb2"><a href="http://blogsearch.google.com/?tab=fb">Blogs</a></span> <span class="gb2"><a href="http://books.google.com/bkshp?tab=fp">Books</a></span> <span class="gb2"><a href="http://www.google.com/calendar?tab=fc">Calendar</a></span> <span class="gb2"><a href="http://docs.google.com/?tab=fo">Documents</a></span> <span class="gb2"><a href="http://finance.google.com/finance?tab=fe">Finance</a></span> <span class="gb2"><a href="http://groups.google.com/grphp?tab=fg">Groups</a></span> <span class="gb2"><a href="http://picasaweb.google.com/home?tab=fq">Photos</a></span> <span class="gb2"><a href="http://www.google.com/reader?tab=fy">Reader</a></span> <span class="gb2"><a href="http://scholar.google.com/schhp?tab=fs">Scholar</a></span> <span class="gb2"><a href="http://video.google.com/?tab=fv">Video</a></span> <span class="gb2"><a href="http://www.youtube.com/?tab=f1">YouTube</a></span> <span class="gb2"><a href="http://www.google.com/intl/en/options/">even more »</a></span> </nobr></div><div id="gbh"></div>
+<div align="right">
+<nobr><font size="-1">
+<a href="http://www.google.com/shoppinglist">My Shopping List</a></font></nobr>
+</div>
+<br>
+<center>
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tbody><tr>
+<td align="center" valign="bottom">
+<table border="0" cellpadding="0" cellspacing="0">
+<tbody><tr>
+<td align="right"><img src="shopping_files/hp0.gif" alt="Google Product Search" border="0"></td>
+<td><img src="shopping_files/hp1.gif" border="0"></td>
+<td align="left"><img src="shopping_files/hp2.gif" border="0"></td>
+</tr><tr>
+<td align="right" valign="top"><span class="productname"><b>Product Search</b></span></td>
+<td valign="top"><img src="shopping_files/hp3.gif" border="0"></td>
+<td valign="top"><font color="#6f6f6f" size="-1">BETA</font></td>
+</tr>
+</tbody></table>
+<br>
+<form name="f" action="/products">
+<table cellpadding="0" cellspacing="0">
+<tbody><tr valign="top">
+<td width="150">&nbsp;</td>
+<td align="center">
+<input maxlength="256" name="q" size="40" value="">&nbsp;<input name="btnG" value="Search Products" type="submit">
+<span id="hf">
+</span>
+</td>
+<td align="left" nowrap="nowrap" valign="top" width="150">
+<font size="-2">&nbsp;&nbsp;<a href="http://www.google.com/advanced_product_search">Advanced&nbsp;Product&nbsp;Search</a>
+<br>&nbsp;&nbsp;<a href="http://www.google.com/preferences">Preferences</a>
+</font>
+</td>
+</tr>
+</tbody></table>
+</form>
+<h2 style="margin: 1em; font-size: 110%; color: rgb(29, 70, 166); font-weight: bold;">Search for stuff to buy.</h2>
+<p></p><table align="center" cellpadding="3" cellspacing="0" width="630">
+<tbody><tr><td style="border-bottom: 1px solid rgb(51, 102, 204);" colspan="5"><font size="-1">A few of the items recently found with Google Product Search:</font></td></tr>
+<tr>
+<td nowrap="nowrap" width="20"><nobr><font size="-1"><a href="http://www.google.com/products?q=balloons&amp;sampleq=1">balloons</a></font></nobr></td>
+<td nowrap="nowrap" width="20"><nobr><font size="-1"><a href="http://www.google.com/products?q=buckwheat+pillow&amp;sampleq=1">buckwheat&nbsp;pillow</a></font></nobr></td>
+<td nowrap="nowrap" width="20"><nobr><font size="-1"><a href="http://www.google.com/products?q=miter+saw&amp;sampleq=1">miter&nbsp;saw</a></font></nobr></td>
+<td nowrap="nowrap" width="20"><nobr><font size="-1"><a href="http://www.google.com/products?q=firewood+rack&amp;sampleq=1">firewood&nbsp;rack</a></font></nobr></td>
+<td nowrap="nowrap" width="20"><nobr><font size="-1"><a href="http://www.google.com/products?q=nikon+coolpix&amp;sampleq=1">nikon&nbsp;coolpix</a></font></nobr></td>
+</tr>
+<tr>
+<td nowrap="nowrap" width="20"><nobr><font size="-1"><a href="http://www.google.com/products?q=high+chair&amp;sampleq=1">high&nbsp;chair</a></font></nobr></td>
+<td nowrap="nowrap" width="20"><nobr><font size="-1"><a href="http://www.google.com/products?q=sofa+set&amp;sampleq=1">sofa&nbsp;set</a></font></nobr></td>
+<td nowrap="nowrap" width="20"><nobr><font size="-1"><a href="http://www.google.com/products?q=bean+bag&amp;sampleq=1">bean&nbsp;bag</a></font></nobr></td>
+<td nowrap="nowrap" width="20"><nobr><font size="-1"><a href="http://www.google.com/products?q=wine+refrigerator&amp;sampleq=1">wine&nbsp;refrigerator</a></font></nobr></td>
+<td nowrap="nowrap" width="20"><nobr><font size="-1"><a href="http://www.google.com/products?q=chopsticks&amp;sampleq=1">chopsticks</a></font></nobr></td>
+</tr>
+<tr>
+<td nowrap="nowrap" width="20"><nobr><font size="-1"><a href="http://www.google.com/products?q=coffee+grinder&amp;sampleq=1">coffee&nbsp;grinder</a></font></nobr></td>
+<td nowrap="nowrap" width="20"><nobr><font size="-1"><a href="http://www.google.com/products?q=polk+audio&amp;sampleq=1">polk&nbsp;audio</a></font></nobr></td>
+<td nowrap="nowrap" width="20"><nobr><font size="-1"><a href="http://www.google.com/products?q=body+glove+wetsuit&amp;sampleq=1">body&nbsp;glove&nbsp;wetsuit</a></font></nobr></td>
+<td nowrap="nowrap" width="20"><nobr><font size="-1"><a href="http://www.google.com/products?q=grandfather+clocks&amp;sampleq=1">grandfather&nbsp;clocks</a></font></nobr></td>
+<td nowrap="nowrap" width="20"><nobr><font size="-1"><a href="http://www.google.com/products?q=milk+crate&amp;sampleq=1">milk&nbsp;crate</a></font></nobr></td>
+</tr>
+<tr>
+<td nowrap="nowrap" width="20"><nobr><font size="-1"><a href="http://www.google.com/products?q=belgian+chocolate&amp;sampleq=1">belgian&nbsp;chocolate</a></font></nobr></td>
+<td nowrap="nowrap" width="20"><nobr><font size="-1"><a href="http://www.google.com/products?q=measuring+cups&amp;sampleq=1">measuring&nbsp;cups</a></font></nobr></td>
+<td nowrap="nowrap" width="20"><nobr><font size="-1"><a href="http://www.google.com/products?q=backgammon&amp;sampleq=1">backgammon</a></font></nobr></td>
+<td nowrap="nowrap" width="20"><nobr><font size="-1"><a href="http://www.google.com/products?q=hawaiian+shirt&amp;sampleq=1">hawaiian&nbsp;shirt</a></font></nobr></td>
+<td nowrap="nowrap" width="20"><nobr><font size="-1"><a href="http://www.google.com/products?q=hip+flask&amp;sampleq=1">hip&nbsp;flask</a></font></nobr></td>
+</tr>
+<tr>
+<td nowrap="nowrap" width="20"><nobr><font size="-1"><a href="http://www.google.com/products?q=camera+case&amp;sampleq=1">camera&nbsp;case</a></font></nobr></td>
+<td nowrap="nowrap" width="20"><nobr><font size="-1"><a href="http://www.google.com/products?q=replaytv&amp;sampleq=1">replaytv</a></font></nobr></td>
+<td nowrap="nowrap" width="20"><nobr><font size="-1"><a href="http://www.google.com/products?q=dvd+camcorders&amp;sampleq=1">dvd&nbsp;camcorders</a></font></nobr></td>
+<td nowrap="nowrap" width="20"><nobr><font size="-1"><a href="http://www.google.com/products?q=bagless+vacuum&amp;sampleq=1">bagless&nbsp;vacuum</a></font></nobr></td>
+<td nowrap="nowrap" width="20"><nobr><font size="-1"><a href="http://www.google.com/products?q=crystal+chandelier&amp;sampleq=1">crystal&nbsp;chandelier</a></font></nobr></td>
+</tr>
+<tr><td style="border-bottom: 1px solid rgb(51, 102, 204); height: 5px; font-size: 1px;" colspan="5">&nbsp;</td></tr>
+</tbody></table>
+<br>
+<p></p>
+<hr class="z">
+<table border="0" cellpadding="2" cellspacing="0" width="100%">
+<tbody><tr>
+<td align="center">
+<font size="-1"><a href="http://www.google.com/">Google&nbsp;Home</a> -
+<a href="http://www.google.com/base/help/sellongoogle.html">Information&nbsp;for&nbsp;Sellers</a> - <a href="http://www.google.com/products/intl/en_us/about.html">Help</a>
+</font>
+</td>
+</tr>
+</tbody></table>
+<br>
+<font class="p" size="-1">©2007 Google</font>
+
+</td></tr></tbody></table></center></body></html> \ No newline at end of file
diff --git a/chrome/test/data/interstitial_page/shopping_files/froogle.css b/chrome/test/data/interstitial_page/shopping_files/froogle.css
new file mode 100644
index 0000000..db2e22b
--- /dev/null
+++ b/chrome/test/data/interstitial_page/shopping_files/froogle.css
@@ -0,0 +1 @@
+.attr-div{padding:0 0 0 0;margin-bottom:.25em}.attr-table th,.attr-table td{text-align:left;vertical-align:top;font-size:small;white-space:nowrap;padding-right:2em}.attr-div th{font-weight:normal}.attr-table ul,.attr-table li{display:block;margin:0;padding:0;text-indent:0;white-space:nowrap}.directions{white-space:nowrap}.directions a{font-weight:bold}.directions a:visited,.directions a:link{font-weight:normal;color:blue}.directions form{margin-bottom:1em}body,td, div, a, p{font-family:arial, sans-serif}.indent{margin-left:1em;margin-right:1em}.q a:visited,.q a:link, .q a:active, .q{color:#0000cc}.z{display:none}img{border-color:#0000a0}form{margin:0px}.w{white-space:nowrap!important;background-color:white;padding:6px 0}.h{font-size:78%}.g{font-size:83%;border:1px solid #cccccc;font-weight:normal}.c{border-right:1px solid #cccccc;padding:3px 2px 6px 2px}.d{border-left:1px solid #cccccc;padding:3px 2px 6px 2px}.b{font-size:12pt;color:#0000cc;font-weight:bold}.n a{font-size:10pt;color:#000000}.f,.f:link, .f a:link{color:#6f6f6f}.fl:visited{color:#551a8b}.fl:active{color:#f00}.fl:link{color:#7777CC}.fmr:visited{color:#551a8b}.fmr:active{color:#f00}.fmr:link{color:#3366cc}.i,.i:link{color:#a90a08}.n .i{font-size:10pt;font-weight:bold}.t a:link,.t a:active, .t a:visited, .t{color:#000000}.ch{cursor:pointer;cursor:hand}.a,.cp{color:#008000}.cp:visited{color:#551a8b}.cpn:visited{color:#551a8b}.q a:visited,.q a:link, .q a:active, .q{color:#0000cc}.k{background-color:#80c65a}.z{display:none}.j{width:33em}.e{margin-top:.75em;margin-bottom:.75em}.submitLink{color:#00f;background-color:transparent;text-decoration:underline;border:none;cursor:pointer;cursor:hand}.inform{margin:0;padding:0;display:inline}.x{padding-right:10px}.dr{font-size:90%}.de{width:30em}.bo{border-bottom:1px solid #efefef;width:11em}.bot{border-bottom:1px solid #cdcdcd}.ol{border-bottom:1px solid #efefef}.la{margin-top:0.5em}.la td{border-right:1px solid silver;padding-left:10px;padding-right:10px}.la .pad{border-right:0px;height:6px}.la .last{border-right:0px}.la f{color:#6f6f6f}.la .s{font-size:70%}.compare a{background-color:#efefef;width:11em;border-style:outset;border-width:1px;text-align:center;bottom:0px;display:block;padding:1px}.compare a:active,.compare a:focus{border-style:inset}.no{text-decoration:none;color:#000000;font-size:90%}.buy a{width:7em}.pd{padding-bottom:10px}body{background:#fff;color:#000;margin:3px 8px 0 8px}a img{border:0}table{border:0}.store-info,.product-info{font-size:small;width:300px}.store-info td{vertical-align:top}.store-info td.pr,.store-info td.icn{text-align:center;font-size:small;font-weight:bold;width:100px}.store-info td.icn img{width:90px;height:90px}.store-info .name,.product-info .name{font-size:medium;font-weight:normal}.store-info .pr,.product-info .pr{font-size:medium;font-weight:bold}.store-info .ratings a{color:green}.all-stores{text-align:right}.product-info .icon{float:left;margin:5px}#page{margin-top:8px;position:relative}#panel{overflow:auto;width:400px;left:0px}#map{left:410px;border:1px solid #979797}#panel,#map{position:absolute;top:0px}#result .list{width:100%;width:expression(this.offsetParent.clientWidth+'px')}.list{margin:0 0 0.5em 0}.list td{font-size:small;vertical-align:top;padding:2px}.list .bc td{padding:0}.list p{margin:0}.list img{border:0}.list h3{margin:0;font-weight:normal;font-size:medium}.list address{display:inline;font-style:normal}.list .pr{font-weight:bold}.list .price-cell{font-size:small;text-align:center}.list .icon-cell{text-align:center}.list .icon-cell img{width:60px;height:60px;margin-right:5px;cursor:pointer}.list .icon-cell{width:65px}.list .marker-cell img{width:20px;height:34px;margin:0 2px}.list .store{color:green;font-weight:bold}.list .cluster-selected{background:#efefef}.list .distance{color:#555555}#location{background:white;border:0;border:1px solid #ddd;color:black;margin:0 5px}.tabs td.addr-cell{padding-top:0;padding-bottom:0}.tabs form{display:inline;margin:0}.pr{font-size:medium}.compare a{color:black;text-decoration:none;margin-left:auto;margin-right:auto}h3.name{font-size:medium;font-weight:normal;margin-top:0}.description{width:47em}#panel .description{width:auto}.description td{font-size:small}.description .pr{font-size:medium;font-weight:bold}.list h3{font-size:medium;font-weight:normal;margin:0}.bot td{border-bottom:1px solid #cdcdcd}.list .bot td{padding:5px 10px}.list .description{padding-bottom:0.5em}.currency-input{font-size:90%;font-family:arial,sans-serif;width:3em;text-align:right;vertical-align:middle;margin-top:0.2em}.units-input{font-size:90%;font-family:arial,sans-serif;width:3em;text-align:right;vertical-align:middle;margin-top:0.2em}#q,#addr{-moz-box-sizing:border-box;box-sizing:border-box}#addr{width:16em}#q,#addr{margin-right:.2em}#qt .addr{display:none}#qt.show-addr .addr{display:inline}#qt.show-addr .non-addr{display:none}#qt.show-addr #q{width:11.8em}#qt.show-addr td.addr{display:block;display:table-cell}#qt td{text-align:left;vertical-align:top;white-space:nowrap}#qt span{color:#666}#qt .lbl{font-size:70%}.sw{margin:0 5px 2px 10px;font-size:small}.sort-header td{background:#efefef;vertical-align:middle}.offer-list td{padding:5px 10px;border-bottom:1px solid #cdcdcd}.sort-header .selected{background:#cdcdcd}.disclaimer{font-size:small;margin:0.2em;text-align:center}.n a{text-decoration:none}.n a span{text-decoration:underline} \ No newline at end of file
diff --git a/chrome/test/data/interstitial_page/shopping_files/hp0.gif b/chrome/test/data/interstitial_page/shopping_files/hp0.gif
new file mode 100644
index 0000000..5452545
--- /dev/null
+++ b/chrome/test/data/interstitial_page/shopping_files/hp0.gif
Binary files differ
diff --git a/chrome/test/data/interstitial_page/shopping_files/hp1.gif b/chrome/test/data/interstitial_page/shopping_files/hp1.gif
new file mode 100644
index 0000000..b84be85
--- /dev/null
+++ b/chrome/test/data/interstitial_page/shopping_files/hp1.gif
Binary files differ
diff --git a/chrome/test/data/interstitial_page/shopping_files/hp2.gif b/chrome/test/data/interstitial_page/shopping_files/hp2.gif
new file mode 100644
index 0000000..30623b8
--- /dev/null
+++ b/chrome/test/data/interstitial_page/shopping_files/hp2.gif
Binary files differ
diff --git a/chrome/test/data/interstitial_page/shopping_files/hp3.gif b/chrome/test/data/interstitial_page/shopping_files/hp3.gif
new file mode 100644
index 0000000..ea140b7
--- /dev/null
+++ b/chrome/test/data/interstitial_page/shopping_files/hp3.gif
Binary files differ
diff --git a/chrome/test/data/interstitial_page/x2.gif b/chrome/test/data/interstitial_page/x2.gif
new file mode 100644
index 0000000..552b769
--- /dev/null
+++ b/chrome/test/data/interstitial_page/x2.gif
Binary files differ
diff --git a/chrome/test/data/npapi/arguments.html b/chrome/test/data/npapi/arguments.html
new file mode 100644
index 0000000..835473c
--- /dev/null
+++ b/chrome/test/data/npapi/arguments.html
@@ -0,0 +1,40 @@
+<html>
+
+<head>
+<script src="npapi.js"></script>
+</head>
+
+
+<body>
+<div id="statusPanel" style="border: 1px solid red; width: 100%">
+Test running....
+</div>
+
+
+NPAPI Loading and Argument Tests<p>
+Tests our ability to pass arguments to the plugin via the embed
+tag.<P>
+
+<embed type="application/vnd.npapi-test"
+ src="foo"
+ name="arguments"
+ id="1"
+ mode="np_embed"
+ count="12"
+ size="10"
+ val1="0123456789"
+ val2="01234567890123456789"
+ val3="012345678901234567890123456789"
+ val4="0123456789012345678901234567890123456789"
+ val5="01234567890123456789012345678901234567890123456789"
+ val6="012345678901234567890123456789012345678901234567890123456789"
+ val7="0123456789012345678901234567890123456789012345678901234567890123456789"
+ val8="01234567890123456789012345678901234567890123456789012345678901234567890123456789"
+ val9="012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789"
+ val10="0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789"
+ val11="01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789"
+ val12="012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789"
+>
+
+</body>
+</html>
diff --git a/chrome/test/data/npapi/execute_script_delete_in_npn_evaluate.html b/chrome/test/data/npapi/execute_script_delete_in_npn_evaluate.html
new file mode 100644
index 0000000..f2e2bbe
--- /dev/null
+++ b/chrome/test/data/npapi/execute_script_delete_in_npn_evaluate.html
@@ -0,0 +1,39 @@
+<html>
+
+<head>
+<script src="npapi.js"></script>
+
+<script>
+function DeletePluginWithinScript() {
+ var plugin_div = document.getElementById("PluginDiv");
+ plugin_div.innerHTML = "Object Deleted";
+ onSuccess("npobject_delete_plugin_in_evaluate", 1);
+}
+</script>
+</head>
+
+<body>
+<div id="statusPanel" style="border: 1px solid red; width: 100%">
+Test running....
+</div>
+
+
+NPObject Proxy Test<p>
+
+Tests the case where a plugin instance is deleted in the context
+of NPN_Evaluate
+
+<DIV ID=PluginDiv>
+<embed type="application/vnd.npapi-test"
+ src="foo"
+ name="npobject_delete_plugin_in_evaluate"
+ id="1"
+ mode="np_embed"
+>
+</DIV>
+<script>
+ var height = document.body.offsetHeight;
+</script>
+
+</body>
+</html>
diff --git a/chrome/test/data/npapi/execute_script_delete_in_paint.html b/chrome/test/data/npapi/execute_script_delete_in_paint.html
new file mode 100644
index 0000000..fa9ff21
--- /dev/null
+++ b/chrome/test/data/npapi/execute_script_delete_in_paint.html
@@ -0,0 +1,39 @@
+<html>
+
+<head>
+<script src="npapi.js"></script>
+
+<script>
+function DeletePluginWithinScript() {
+ var plugin_div = document.getElementById("PluginDiv");
+ plugin_div.innerHTML = "Object Deleted";
+ onSuccess("execute_script_delete_in_paint", 1);
+}
+</script>
+</head>
+
+<body>
+<div id="statusPanel" style="border: 1px solid red; width: 100%">
+Test running....
+</div>
+
+
+NPObject Proxy Test<p>
+
+Tests the case where a plugin instance is deleted in the context
+of a synchronous paint.
+
+<DIV ID=PluginDiv>
+<embed type="application/vnd.npapi-test"
+ src="foo"
+ name="execute_script_delete_in_paint"
+ id="1"
+ mode="np_embed"
+>
+</DIV>
+<script>
+ var height = document.body.offsetHeight;
+</script>
+
+</body>
+</html>
diff --git a/chrome/test/data/npapi/get_javascript_url.html b/chrome/test/data/npapi/get_javascript_url.html
new file mode 100644
index 0000000..404613b
--- /dev/null
+++ b/chrome/test/data/npapi/get_javascript_url.html
@@ -0,0 +1,26 @@
+<html>
+
+<head>
+<script src="npapi.js"></script>
+</head>
+
+
+<body>
+<div id="statusPanel" style="border: 1px solid red; width: 100%">
+Test running....
+</div>
+
+
+GetJavscriptURL Test<p>
+This test fetches a javascript URL via the plugin with _top as the
+target frame, and verifies that the call succeeds.
+
+<embed type="application/vnd.npapi-test"
+ src="foo"
+ name="getjavascripturl"
+ id="1"
+ mode="np_embed"
+>
+
+</body>
+</html>
diff --git a/chrome/test/data/npapi/geturl.html b/chrome/test/data/npapi/geturl.html
new file mode 100644
index 0000000..002b63b
--- /dev/null
+++ b/chrome/test/data/npapi/geturl.html
@@ -0,0 +1,26 @@
+<html>
+
+<head>
+<script src="npapi.js"></script>
+</head>
+
+
+<body>
+<div id="statusPanel" style="border: 1px solid red; width: 100%">
+Test running....
+</div>
+
+
+GetURL Test<p>
+This test fetches an URL via the plugin, and verifies that the
+callbacks are expected and that the retrieved content is correct.
+
+<embed type="application/vnd.npapi-test"
+ src="foo"
+ name="geturl"
+ id="1"
+ mode="np_embed"
+>
+
+</body>
+</html>
diff --git a/chrome/test/data/npapi/layout_test_plugin.html b/chrome/test/data/npapi/layout_test_plugin.html
new file mode 100644
index 0000000..d523d3c
--- /dev/null
+++ b/chrome/test/data/npapi/layout_test_plugin.html
@@ -0,0 +1,17 @@
+<html>
+<head>
+<title>Layout Test Plugin Test</title>
+</head>
+<body>
+<embed name="plg" type="application/x-webkit-test-netscape"></embed>
+<script>
+// Test for bug 711411: http://b/issue?id=711411
+// There was a crash because of the plugin dll being unloaded before the JS
+// interpreter got a chance to drop references.
+window.plg.eventLoggingEnabled = true;
+</script>
+
+<!-- Make sure unknown plugin types don't crash either -->
+<embed name="no-plg" type="application/not-installed"></embed>
+</body>
+</html>
diff --git a/chrome/test/data/npapi/many_plugins.html b/chrome/test/data/npapi/many_plugins.html
new file mode 100644
index 0000000..5edcc55
--- /dev/null
+++ b/chrome/test/data/npapi/many_plugins.html
@@ -0,0 +1,94 @@
+<html>
+
+<head>
+<script src="npapi.js"></script>
+</head>
+
+
+<body>
+<div id="statusPanel" style="border: 1px solid red; width: 100%">
+Test running....
+</div>
+
+
+Loading many plugins<p>
+Tests our ability to load multiple plugins in a single page.<P>
+
+<embed type="application/vnd.npapi-test"
+ name="arguments"
+ mode="np_embed"
+ id="1"
+>
+<embed type="application/vnd.npapi-test"
+ name="arguments"
+ mode="np_embed"
+ id="2"
+>
+<embed type="application/vnd.npapi-test"
+ name="arguments"
+ mode="np_embed"
+ id="3"
+>
+<embed type="application/vnd.npapi-test"
+ name="arguments"
+ mode="np_embed"
+ id="4"
+>
+<embed type="application/vnd.npapi-test"
+ name="arguments"
+ mode="np_embed"
+ id="5"
+>
+<embed type="application/vnd.npapi-test"
+ name="arguments"
+ mode="np_embed"
+ id="6"
+>
+<embed type="application/vnd.npapi-test"
+ name="arguments"
+ mode="np_embed"
+ id="7"
+>
+<embed type="application/vnd.npapi-test"
+ name="arguments"
+ mode="np_embed"
+ id="8"
+>
+<embed type="application/vnd.npapi-test"
+ name="arguments"
+ mode="np_embed"
+ id="9"
+>
+<embed type="application/vnd.npapi-test"
+ name="arguments"
+ mode="np_embed"
+ id="10"
+>
+<embed type="application/vnd.npapi-test"
+ name="arguments"
+ mode="np_embed"
+ id="11"
+>
+<embed type="application/vnd.npapi-test"
+ name="arguments"
+ mode="np_embed"
+ id="12"
+>
+<embed type="application/vnd.npapi-test"
+ name="arguments"
+ mode="np_embed"
+ id="13"
+>
+<embed type="application/vnd.npapi-test"
+ name="arguments"
+ mode="np_embed"
+ id="14"
+>
+<embed type="application/vnd.npapi-test"
+ name="arguments"
+ mode="np_embed"
+ id="15"
+>
+
+</body>
+</html>
diff --git a/chrome/test/data/npapi/new_fails.html b/chrome/test/data/npapi/new_fails.html
new file mode 100644
index 0000000..a4b7de9
--- /dev/null
+++ b/chrome/test/data/npapi/new_fails.html
@@ -0,0 +1,30 @@
+<html>
+
+<head>
+<script src="npapi.js"></script>
+</head>
+
+
+<body>
+<div id="statusPanel" style="border: 1px solid red; width: 100%">
+Test running....
+</div>
+
+
+NPP_NEW test<p>
+This test ensures we don't crash or assert if NPP_New fails.
+
+<embed type="application/vnd.npapi-test"
+ src="foo"
+ name="new_fails"
+ id="1"
+ mode="np_embed"
+>
+
+<script>
+ var height = document.body.offsetHeight;
+ onSuccess("new_fails", 1);
+</script>
+
+</body>
+</html>
diff --git a/chrome/test/data/npapi/npapi.js b/chrome/test/data/npapi/npapi.js
new file mode 100644
index 0000000..207d188
--- /dev/null
+++ b/chrome/test/data/npapi/npapi.js
@@ -0,0 +1,28 @@
+//
+// This script provides some mechanics for testing NPAPI
+//
+
+/* public */ function onSuccess(name, id)
+{
+ setTimeout(onFinished, 0, name, id, "OK");
+}
+
+/* public */ function onFailure(name, id, status)
+{
+ setTimeout(onFinished, 0, name, id, status);
+}
+
+
+
+// Finish running a test by setting the status
+// and the cookie.
+/* private */ function onFinished(name, id, result)
+{
+ var statusPanel = document.getElementById("statusPanel");
+ if (statusPanel) {
+ statusPanel.innerHTML = result;
+ }
+
+ var cookie = name + "." + id + ".status=" + result + "; path=/";
+ document.cookie = cookie;
+}
diff --git a/chrome/test/data/npapi/npobject_lifetime_test.html b/chrome/test/data/npapi/npobject_lifetime_test.html
new file mode 100644
index 0000000..634fad8
--- /dev/null
+++ b/chrome/test/data/npapi/npobject_lifetime_test.html
@@ -0,0 +1,58 @@
+<html>
+
+<head>
+<script src="npapi.js"></script>
+</head>
+
+
+<body>
+<div id="statusPanel" style="border: 1px solid red; width: 100%">
+Test running....
+</div>
+
+
+NPObject Lifetime test<p>
+
+Tests the case where a plugin holds on to an NPObject reference
+to another plugin in a different frame in the page and whether
+the npobject is callable when the frame is destroyed.
+
+<div ID=npobject_lifetime_test_instance2>
+<iframe src="npobject_lifetime_test_second_instance.html" name="plugin_frame">
+</iframe>
+</div>
+
+<embed type="application/vnd.npapi-test"
+ src="foo"
+ name="npobject_lifetime_test"
+ id="1"
+ mode="np_embed">
+
+<script>
+
+function GetSecondPluginInstance() {
+ var plugin_frame = window.frames["plugin_frame"];
+ if (!plugin_frame) {
+ alert("failed to find frame in frames list");
+ return;
+ }
+
+ var plugin = plugin_frame.document.getElementById(2);
+ if (!plugin) {
+ alert("Failed to locate second plugin");
+ return;
+ }
+ return plugin;
+}
+
+function DeleteSecondPluginInstance() {
+ var frame_div = document.getElementById("npobject_lifetime_test_instance2");
+ if (frame_div.parentNode && frame_div.parentNode.removeChild) {
+ frame_div.parentNode.removeChild(frame_div);
+ }
+}
+</script>
+
+</body>
+</html>
+
diff --git a/chrome/test/data/npapi/npobject_lifetime_test_second_instance.html b/chrome/test/data/npapi/npobject_lifetime_test_second_instance.html
new file mode 100644
index 0000000..5876f8e
--- /dev/null
+++ b/chrome/test/data/npapi/npobject_lifetime_test_second_instance.html
@@ -0,0 +1,20 @@
+<html>
+
+<body>
+<div id="statusPanel" style="border: 1px solid red; width: 100%">
+Second instance.
+</div>
+
+NPObject Lifetime test second plugin instance<p>
+
+Tests the case where a plugin holds on to an NPObject reference
+to another plugin in a different frame in the page and whether
+the npobject is callable when the frame is destroyed.
+
+<embed type="application/vnd.npapi-test"
+ name="npobject_lifetime_test_second_instance"
+ id="2"
+ mode="np_embed"> </embed>
+
+</body>
+</html>
diff --git a/chrome/test/data/npapi/npobject_proxy.html b/chrome/test/data/npapi/npobject_proxy.html
new file mode 100644
index 0000000..ef85ee7
--- /dev/null
+++ b/chrome/test/data/npapi/npobject_proxy.html
@@ -0,0 +1,28 @@
+<html>
+
+<head>
+<script src="npapi.js"></script>
+</head>
+
+
+<body>
+<div id="statusPanel" style="border: 1px solid red; width: 100%">
+Test running....
+</div>
+
+
+NPObject Proxy Test<p>
+
+Tests that if an NPObject is proxies back to its original process, the
+original pointer is returned and not a proxy. If this fails the plugin
+will crash.
+
+<embed type="application/vnd.npapi-test"
+ src="foo"
+ name="npobject_proxy"
+ id="1"
+ mode="np_embed"
+>
+
+</body>
+</html>
diff --git a/chrome/test/data/npapi/self_delete_plugin_geturl.html b/chrome/test/data/npapi/self_delete_plugin_geturl.html
new file mode 100644
index 0000000..2d14340
--- /dev/null
+++ b/chrome/test/data/npapi/self_delete_plugin_geturl.html
@@ -0,0 +1,37 @@
+<html>
+<head>
+<title>Self Deleting Plugin Test - GetURL</title>
+<script src="npapi.js"></script>
+<script>
+function DeletePluginWithinScript() {
+ var plugin_div = document.getElementById("PluginDiv");
+ plugin_div.innerHTML = "Object Deleted";
+}
+
+function CallGetUrl() {
+ var plg = window.document["plg"];
+ plg.getURL("javascript:DeletePluginWithinScript()");
+}
+</script>
+</head>
+
+<body>
+
+<h2>Test to delete a plugin during script execution</h2>
+
+<p>
+This test is for a corner case when a plugin executes a script
+that deletes the invoking plugin itself.
+</p>
+
+<DIV ID=PluginDiv>
+<embed name="plg" type="application/x-webkit-test-netscape"></embed>
+</DIV>
+<script>
+ CallGetUrl();
+ onSuccess("self_delete_plugin_geturl", 1);
+</script>
+
+</body>
+</html>
+
diff --git a/chrome/test/data/npapi/self_delete_plugin_invoke.html b/chrome/test/data/npapi/self_delete_plugin_invoke.html
new file mode 100644
index 0000000..73b940f
--- /dev/null
+++ b/chrome/test/data/npapi/self_delete_plugin_invoke.html
@@ -0,0 +1,33 @@
+<html>
+<head>
+<title>Self Deleting Plugin Test - Invoke</title>
+<script src="npapi.js"></script>
+<script>
+function DeletePluginWithinScript() {
+ var plugin_div = document.getElementById("PluginDiv");
+ plugin_div.innerHTML = "Object Deleted";
+}
+</script>
+</head>
+
+<body>
+
+<h2>Test to delete a plugin during script execution</h2>
+
+<p>
+This test is for a corner case when a plugin executes a script
+that deletes the invoking plugin itself.
+</p>
+
+<DIV ID=PluginDiv>
+<embed name="plg" type="application/x-webkit-test-netscape"></embed>
+</DIV>
+<script>
+ var plg = window.document["plg"];
+ plg.testCallback("DeletePluginWithinScript");
+ onSuccess("self_delete_plugin_invoke", 1);
+</script>
+
+</body>
+</html>
+
diff --git a/chrome/test/data/npapi/self_delete_plugin_stream.html b/chrome/test/data/npapi/self_delete_plugin_stream.html
new file mode 100644
index 0000000..a43c38a
--- /dev/null
+++ b/chrome/test/data/npapi/self_delete_plugin_stream.html
@@ -0,0 +1,34 @@
+<html>
+
+<head>
+<script src="npapi.js"></script>
+
+<script>
+function DeletePluginWithinScript() {
+ var plugin_div = document.getElementById("PluginDiv");
+ plugin_div.innerHTML = "Object Deleted";
+ onSuccess("self_delete_plugin_stream", 1);
+}
+</script>
+</head>
+
+<body>
+<div id="statusPanel" style="border: 1px solid red; width: 100%">
+Test running....
+</div>
+
+
+<DIV ID=PluginDiv>
+<embed type="application/vnd.npapi-test"
+ src="foo"
+ name="self_delete_plugin_stream"
+ id="1"
+ mode="np_embed"
+>
+</DIV>
+<script>
+ var height = document.body.offsetHeight;
+</script>
+
+</body>
+</html>
diff --git a/chrome/test/data/npapi/verify_plugin_window_rect.html b/chrome/test/data/npapi/verify_plugin_window_rect.html
new file mode 100644
index 0000000..7dca47a
--- /dev/null
+++ b/chrome/test/data/npapi/verify_plugin_window_rect.html
@@ -0,0 +1,30 @@
+<html>
+
+<head>
+<script src="npapi.js"></script>
+</head>
+
+<body>
+<div id="statusPanel" style="border: 1px solid red; width: 100%">
+Test running....
+</div>
+
+
+Plugin Window Rect Test<p>
+
+Tests whether the plugin window has a non zero client rect.
+
+<DIV ID=PluginDiv>
+<embed type="application/vnd.npapi-test"
+ src="foo"
+ name="checkwindowrect"
+ id="1"
+ mode="np_embed"
+>
+</DIV>
+<script>
+ var height = document.body.offsetHeight;
+</script>
+
+</body>
+</html>
diff --git a/chrome/test/data/omnibox_tests.xml b/chrome/test/data/omnibox_tests.xml
new file mode 100644
index 0000000..f9ce9521
--- /dev/null
+++ b/chrome/test/data/omnibox_tests.xml
@@ -0,0 +1,38 @@
+<omnibox_tests>
+ <test query="google.com">
+ </test>
+ <test query="www.yahoo.com">
+ </test>
+ <test query="http://myspace.com/">
+ </test>
+ <test query="youtube.com">
+ </test>
+ <test query="wikipedia.org/">
+ </test>
+ <test query="msn.com">
+ </test>
+ <test query="ebay.com">
+ </test>
+ <test query="http://live.com">
+ </test>
+ <test query="craigslist.org">
+ </test>
+ <test query="http://blogger.com/">
+ </test>
+ <test query="flickr.com">
+ </test>
+ <test query="nytimes.com">
+ </test>
+ <test query="cnn.com/">
+ </test>
+ <test query="digg.com">
+ </test>
+ <test query="rapidshare.com">
+ </test>
+ <test query="orkut.com/">
+ </test>
+ <test query="http://download.com">
+ </test>
+ <test query="photobucket.com/">
+ </test>
+</omnibox_tests>
diff --git a/chrome/test/data/onunload_cookie.html b/chrome/test/data/onunload_cookie.html
new file mode 100644
index 0000000..0a7de8d
--- /dev/null
+++ b/chrome/test/data/onunload_cookie.html
@@ -0,0 +1,18 @@
+<html>
+ <head>
+ <title>Loading...</title>
+ </head>
+ <body onload="attachUnloadListener()">
+ <script>
+ function attachUnloadListener() {
+ window.addEventListener('unload', onUnload, false);
+ document.title = "set cookie on unload";
+ }
+
+ function onUnload() {
+ document.cookie = "onunloadCookie=foo";
+ }
+ </script>
+ <p>Navigate to another page to set cookie</p>
+ </body>
+</html>
diff --git a/chrome/test/data/pref_service/overlay.json b/chrome/test/data/pref_service/overlay.json
new file mode 100644
index 0000000..ea4d831
--- /dev/null
+++ b/chrome/test/data/pref_service/overlay.json
@@ -0,0 +1,22 @@
+{
+ "both": {
+ "bool": false,
+ "dictionary": {
+ "value": "persistent"
+ },
+ "int": 1,
+ "list": [ "persistent" ],
+ "real": 1,
+ "string": "persistent"
+ },
+ "persistent": {
+ "bool": false,
+ "dictionary": {
+ "value": "persistent"
+ },
+ "int": 1,
+ "list": [ "persistent" ],
+ "real": 1.0,
+ "string": "persistent"
+ }
+}
diff --git a/chrome/test/data/pref_service/read.json b/chrome/test/data/pref_service/read.json
new file mode 100644
index 0000000..0225f17
--- /dev/null
+++ b/chrome/test/data/pref_service/read.json
@@ -0,0 +1,7 @@
+{
+ "homepage": "http://www.cnn.com",
+ "tabs": {
+ "new_windows_in_tabs": true,
+ "max_tabs": 20
+ }
+} \ No newline at end of file
diff --git a/chrome/test/data/pref_service/write.golden.json b/chrome/test/data/pref_service/write.golden.json
new file mode 100644
index 0000000..1da3ec4
--- /dev/null
+++ b/chrome/test/data/pref_service/write.golden.json
@@ -0,0 +1,7 @@
+{
+ "homepage": "http://www.cnn.com",
+ "tabs": {
+ "max_tabs": 10,
+ "new_windows_in_tabs": false
+ }
+}
diff --git a/chrome/test/data/printing/alert_small.png b/chrome/test/data/printing/alert_small.png
new file mode 100644
index 0000000..6ac7854
--- /dev/null
+++ b/chrome/test/data/printing/alert_small.png
Binary files differ
diff --git a/chrome/test/data/printing/cleardot.gif b/chrome/test/data/printing/cleardot.gif
new file mode 100644
index 0000000..1d11fa9
--- /dev/null
+++ b/chrome/test/data/printing/cleardot.gif
Binary files differ
diff --git a/chrome/test/data/printing/click_me.png b/chrome/test/data/printing/click_me.png
new file mode 100644
index 0000000..fc2a70b
--- /dev/null
+++ b/chrome/test/data/printing/click_me.png
Binary files differ
diff --git a/chrome/test/data/printing/iframe.emf b/chrome/test/data/printing/iframe.emf
new file mode 100644
index 0000000..dc7839b
--- /dev/null
+++ b/chrome/test/data/printing/iframe.emf
Binary files differ
diff --git a/chrome/test/data/printing/iframe.htm b/chrome/test/data/printing/iframe.htm
new file mode 100644
index 0000000..7c9f443
--- /dev/null
+++ b/chrome/test/data/printing/iframe.htm
@@ -0,0 +1,29 @@
+<html>
+<title>iframe</title>
+<SCRIPT type="text/javascript" language="JavaScript">
+function PrintIframe() {
+ // Standard way
+ //window.frames["inner_frame"].focus();
+ //window.frames["inner_frame"].print();
+ // IE6 way
+ //document.inner_frame.focus();
+ //document.inner_frame.print();
+ // IE7 way. That's the way Safari does it.
+ window.frames["inner_frame"].document.execCommand('print',false,null)
+}
+function DelayedPrint() {
+ setTimeout(PrintIframe, 0);
+}
+</SCRIPT>
+<body onload="javascript:DelayedPrint()">
+
+<p>
+<a href="javascript:PrintIframe()"><img src="click_me.png" /></a>
+<p>
+<div>
+<iframe src="test2.html" id="inner_frame" style="height:150px; margin:0px; padding:0px"><html><body>A</body></html></iframe>
+</div>
+<br>
+<img src="sadtab.png" />
+</body>
+</html>
diff --git a/chrome/test/data/printing/iframe.png b/chrome/test/data/printing/iframe.png
new file mode 100644
index 0000000..f57d335
--- /dev/null
+++ b/chrome/test/data/printing/iframe.png
Binary files differ
diff --git a/chrome/test/data/printing/popup_delayed_print.emf b/chrome/test/data/printing/popup_delayed_print.emf
new file mode 100644
index 0000000..0698293
--- /dev/null
+++ b/chrome/test/data/printing/popup_delayed_print.emf
Binary files differ
diff --git a/chrome/test/data/printing/popup_delayed_print.htm b/chrome/test/data/printing/popup_delayed_print.htm
new file mode 100644
index 0000000..bddcb20
--- /dev/null
+++ b/chrome/test/data/printing/popup_delayed_print.htm
@@ -0,0 +1,13 @@
+<HTML>
+<HEAD>
+<TITLE>Bug 1184673</TITLE>
+</HEAD>
+<script>
+function DoThePopup() {
+ window.open('popup_delayed_print_child.htm');
+}
+</script>
+<BODY onload="javascript:DoThePopup()">
+<a href="javascript:DoThePopup()">This won't be printed.</a>
+</BODY>
+</HTML> \ No newline at end of file
diff --git a/chrome/test/data/printing/popup_delayed_print.png b/chrome/test/data/printing/popup_delayed_print.png
new file mode 100644
index 0000000..34fa01c
--- /dev/null
+++ b/chrome/test/data/printing/popup_delayed_print.png
Binary files differ
diff --git a/chrome/test/data/printing/popup_delayed_print_child.htm b/chrome/test/data/printing/popup_delayed_print_child.htm
new file mode 100644
index 0000000..7463b9d
--- /dev/null
+++ b/chrome/test/data/printing/popup_delayed_print_child.htm
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<TITLE>Bug 1184673</TITLE>
+</HEAD>
+<script>
+function DoThePrint() {
+ window.print();
+ window.close();
+}
+</script>
+<BODY onload="DoThePrint()">
+<img src="click_me.png" />
+</BODY>
+</HTML> \ No newline at end of file
diff --git a/chrome/test/data/printing/sadtab.png b/chrome/test/data/printing/sadtab.png
new file mode 100644
index 0000000..a19d09d
--- /dev/null
+++ b/chrome/test/data/printing/sadtab.png
Binary files differ
diff --git a/chrome/test/data/printing/test1.emf b/chrome/test/data/printing/test1.emf
new file mode 100644
index 0000000..3f102e6
--- /dev/null
+++ b/chrome/test/data/printing/test1.emf
Binary files differ
diff --git a/chrome/test/data/printing/test1.html b/chrome/test/data/printing/test1.html
new file mode 100644
index 0000000..af4db0f
--- /dev/null
+++ b/chrome/test/data/printing/test1.html
@@ -0,0 +1,20 @@
+<html>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<title>test1</title>
+<body bgcolor=#eeeeee >
+<a href="">Random invalid link.</a>
+<br>
+<div style="font-family:arial unicode ms">
+Arabic ligature testing: allāh: ﷲ‎
+<br>
+Arabic ligature testing: lām: الله
+<br>
+Alphabet in Hebrew: alephbet: אלפבית
+<br>
+Hello world in Korean: 여러분, 안녕하세요
+<br>
+Hello world in Chinese: 你好世界
+<br>
+</div>
+</body>
+</html> \ No newline at end of file
diff --git a/chrome/test/data/printing/test1.png b/chrome/test/data/printing/test1.png
new file mode 100644
index 0000000..423d640
--- /dev/null
+++ b/chrome/test/data/printing/test1.png
Binary files differ
diff --git a/chrome/test/data/printing/test1_cleartype.png b/chrome/test/data/printing/test1_cleartype.png
new file mode 100644
index 0000000..99feff7
--- /dev/null
+++ b/chrome/test/data/printing/test1_cleartype.png
Binary files differ
diff --git a/chrome/test/data/printing/test2.emf b/chrome/test/data/printing/test2.emf
new file mode 100644
index 0000000..6ccfa9e
--- /dev/null
+++ b/chrome/test/data/printing/test2.emf
Binary files differ
diff --git a/chrome/test/data/printing/test2.html b/chrome/test/data/printing/test2.html
new file mode 100644
index 0000000..aa9ec22
--- /dev/null
+++ b/chrome/test/data/printing/test2.html
@@ -0,0 +1,10 @@
+<html>
+<title>test2</title>
+<body bgcolor=#eeeeee >
+<img src="sadtab.png" width=10 height=10 />
+<br>
+<img src="sadtab.png" />
+<br>
+<img src="sadtab.png" width=100 height=100 />
+</body>
+</html>
diff --git a/chrome/test/data/printing/test2.png b/chrome/test/data/printing/test2.png
new file mode 100644
index 0000000..f57d335
--- /dev/null
+++ b/chrome/test/data/printing/test2.png
Binary files differ
diff --git a/chrome/test/data/printing/test3.emf b/chrome/test/data/printing/test3.emf
new file mode 100644
index 0000000..ec5fbc7
--- /dev/null
+++ b/chrome/test/data/printing/test3.emf
Binary files differ
diff --git a/chrome/test/data/printing/test3.html b/chrome/test/data/printing/test3.html
new file mode 100644
index 0000000..06f34c7
--- /dev/null
+++ b/chrome/test/data/printing/test3.html
@@ -0,0 +1,8 @@
+<html>
+<title>test3</title>
+<body bgcolor=#eeeeee >
+<img src="cleardot.gif" />
+<br>
+<img src="cleardot.gif" width=10 height=10 />
+</body>
+</html>
diff --git a/chrome/test/data/printing/test3.png b/chrome/test/data/printing/test3.png
new file mode 100644
index 0000000..d1a4948
--- /dev/null
+++ b/chrome/test/data/printing/test3.png
Binary files differ
diff --git a/chrome/test/data/printing/test4.emf b/chrome/test/data/printing/test4.emf
new file mode 100644
index 0000000..3a62454
--- /dev/null
+++ b/chrome/test/data/printing/test4.emf
Binary files differ
diff --git a/chrome/test/data/printing/test4.html b/chrome/test/data/printing/test4.html
new file mode 100644
index 0000000..ae12955
--- /dev/null
+++ b/chrome/test/data/printing/test4.html
@@ -0,0 +1,10 @@
+<html>
+<title>test4</title>
+<body bgcolor=#eeeeee >
+<img src="alert_small.png" width=10 height=10 />
+<br>
+<img src="alert_small.png" />
+<br>
+<img src="alert_small.png" width=100 height=100 />
+</body>
+</html>
diff --git a/chrome/test/data/printing/test4.png b/chrome/test/data/printing/test4.png
new file mode 100644
index 0000000..68f9551
--- /dev/null
+++ b/chrome/test/data/printing/test4.png
Binary files differ
diff --git a/chrome/test/data/printing/test5.emf b/chrome/test/data/printing/test5.emf
new file mode 100644
index 0000000..a6a1a48
--- /dev/null
+++ b/chrome/test/data/printing/test5.emf
Binary files differ
diff --git a/chrome/test/data/printing/test5.html b/chrome/test/data/printing/test5.html
new file mode 100644
index 0000000..e1b09dc
--- /dev/null
+++ b/chrome/test/data/printing/test5.html
@@ -0,0 +1,18 @@
+<html>
+<title>test5</title>
+<style>
+#localbackground img {
+background:white url(sadtab.png) no-repeat scroll 0px;
+height:66px;
+width:66px;
+}
+img {
+border:medium none;
+}
+</style>
+<body>
+<div id="localbackground">
+<img src="cleardot.gif" width="66" height="66" border="0" alt="">
+</div>
+</body>
+</html> \ No newline at end of file
diff --git a/chrome/test/data/printing/test5.png b/chrome/test/data/printing/test5.png
new file mode 100644
index 0000000..2ef0a17
--- /dev/null
+++ b/chrome/test/data/printing/test5.png
Binary files differ
diff --git a/chrome/test/data/profiles/chrome_prefs/History b/chrome/test/data/profiles/chrome_prefs/History
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/chrome/test/data/profiles/chrome_prefs/History
diff --git a/chrome/test/data/profiles/chrome_prefs/Preferences b/chrome/test/data/profiles/chrome_prefs/Preferences
new file mode 100644
index 0000000..937b1e39
--- /dev/null
+++ b/chrome/test/data/profiles/chrome_prefs/Preferences
@@ -0,0 +1,15 @@
+{
+ "intl": {
+ "charset_default": "utf8"
+ },
+ "webkit": {
+ "webprefs": {
+ "default_font_size": 20,
+ "text_areas_are_resizable": false,
+ "uses_universal_detector": true,
+
+ "foo": "bar",
+ "standard_font_family": true
+ }
+ }
+}
diff --git a/chrome/test/data/profiles/sample/Full Text Index b/chrome/test/data/profiles/sample/Full Text Index
new file mode 100644
index 0000000..b1f52bd
--- /dev/null
+++ b/chrome/test/data/profiles/sample/Full Text Index
Binary files differ
diff --git a/chrome/test/data/profiles/sample/History b/chrome/test/data/profiles/sample/History
new file mode 100644
index 0000000..517a3a5
--- /dev/null
+++ b/chrome/test/data/profiles/sample/History
Binary files differ
diff --git a/chrome/test/data/profiles/sample/Preferences b/chrome/test/data/profiles/sample/Preferences
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/chrome/test/data/profiles/sample/Preferences
@@ -0,0 +1 @@
+null
diff --git a/chrome/test/data/profiles/sample/Thumbnails b/chrome/test/data/profiles/sample/Thumbnails
new file mode 100644
index 0000000..404701d
--- /dev/null
+++ b/chrome/test/data/profiles/sample/Thumbnails
Binary files differ
diff --git a/chrome/test/data/profiles/sample/Visited Links b/chrome/test/data/profiles/sample/Visited Links
new file mode 100644
index 0000000..48635f9
--- /dev/null
+++ b/chrome/test/data/profiles/sample/Visited Links
Binary files differ
diff --git a/chrome/test/data/profiles/sample/Web Data b/chrome/test/data/profiles/sample/Web Data
new file mode 100644
index 0000000..0954bf2
--- /dev/null
+++ b/chrome/test/data/profiles/sample/Web Data
Binary files differ
diff --git a/chrome/test/data/profiles/typical_history/Default/Cookies b/chrome/test/data/profiles/typical_history/Default/Cookies
new file mode 100644
index 0000000..e138f7c
--- /dev/null
+++ b/chrome/test/data/profiles/typical_history/Default/Cookies
Binary files differ
diff --git a/chrome/test/data/profiles/typical_history/Default/Full Text Index b/chrome/test/data/profiles/typical_history/Default/Full Text Index
new file mode 100644
index 0000000..65ea2f6
--- /dev/null
+++ b/chrome/test/data/profiles/typical_history/Default/Full Text Index
Binary files differ
diff --git a/chrome/test/data/profiles/typical_history/Default/History b/chrome/test/data/profiles/typical_history/Default/History
new file mode 100644
index 0000000..9c33937
--- /dev/null
+++ b/chrome/test/data/profiles/typical_history/Default/History
Binary files differ
diff --git a/chrome/test/data/profiles/typical_history/Default/Preferences b/chrome/test/data/profiles/typical_history/Default/Preferences
new file mode 100644
index 0000000..e56c782
--- /dev/null
+++ b/chrome/test/data/profiles/typical_history/Default/Preferences
@@ -0,0 +1,11 @@
+{
+ "profile": {
+ "exited_cleanly": true,
+ "id": "not-signed-in",
+ "name": "Not Signed In",
+ "nickname": "not-signed-in"
+ },
+ "spellcheck": {
+ "dictionary": "en-US"
+ }
+}
diff --git a/chrome/test/data/profiles/typical_history/Default/Thumbnails b/chrome/test/data/profiles/typical_history/Default/Thumbnails
new file mode 100644
index 0000000..fc26118
--- /dev/null
+++ b/chrome/test/data/profiles/typical_history/Default/Thumbnails
Binary files differ
diff --git a/chrome/test/data/profiles/typical_history/Default/Visited Links b/chrome/test/data/profiles/typical_history/Default/Visited Links
new file mode 100644
index 0000000..2fa35a9
--- /dev/null
+++ b/chrome/test/data/profiles/typical_history/Default/Visited Links
Binary files differ
diff --git a/chrome/test/data/profiles/typical_history/README.txt b/chrome/test/data/profiles/typical_history/README.txt
new file mode 100644
index 0000000..d8441f9
--- /dev/null
+++ b/chrome/test/data/profiles/typical_history/README.txt
@@ -0,0 +1,14 @@
+This directory is supposed to represent a "typical" size of a history database
+that a user will have. It does not include thumbnail or full text index data.
+It should be copied to another location before using in a test.
+
+It was generated with
+ <delete the files "Full Text Index" and "History" in "Default" - this is important!>
+ generate_profile --history-only 50000 "Default"
+
+The unit test HistoryProfileTest.TypicalProfileVersion tests that the version
+of this profile is the same that the application is expecting without
+migration. Otherwise, migration time will be counted in some of the performance
+tests.
+
+
diff --git a/chrome/test/data/profiles/window_placement/Local State b/chrome/test/data/profiles/window_placement/Local State
new file mode 100644
index 0000000..39bc7d5
--- /dev/null
+++ b/chrome/test/data/profiles/window_placement/Local State
@@ -0,0 +1,11 @@
+{
+ "browser" : {
+ "window_placement" : {
+ "bottom" : 610,
+ "left" : 50,
+ "maximized" : false,
+ "right" : 1014,
+ "top" : 50
+ }
+ }
+}
diff --git a/chrome/test/data/purify/ignore.txt b/chrome/test/data/purify/ignore.txt
new file mode 100644
index 0000000..1f9a186
--- /dev/null
+++ b/chrome/test/data/purify/ignore.txt
@@ -0,0 +1,6 @@
+# See bug 1157381
+Pure: Trap bits found in live chunk
+
+# See bug 1128489
+NSSDecryptor::Init
+NSSDecryptor::Free
diff --git a/chrome/test/data/purify/ipc_tests.exe_MLK.txt b/chrome/test/data/purify/ipc_tests.exe_MLK.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/chrome/test/data/purify/ipc_tests.exe_MLK.txt
diff --git a/chrome/test/data/purify/ipc_tests.exe_UMR.txt b/chrome/test/data/purify/ipc_tests.exe_UMR.txt
new file mode 100644
index 0000000..6f7d34f
--- /dev/null
+++ b/chrome/test/data/purify/ipc_tests.exe_UMR.txt
@@ -0,0 +1,157 @@
+Uninitialized memory read in strlen
+Error Location
+ ...
+ chrome/common/ipc_tests.cc Send
+ chrome/common/ipc_tests.cc MyChannelListener::OnMessageReceived(Message::IPC const&)
+ chrome/common/ipc_channel.cc IPC::Channel::ProcessIncomingMessages(void)
+ chrome/common/ipc_channel.cc IPC::Channel::OnObjectSignaled(void *)
+ base/message_loop.cc MessageLoop::SignalWatcher(DWORD)
+ base/message_loop.cc MessageLoop::ProcessNextObject(void)
+ base/message_loop.cc MessageLoop::Run(Dispatcher::MessageLoop *)
+ base/message_loop.cc MessageLoop::Run(void)
+ chrome/common/ipc_tests.cc RunTestClient
+ chrome/common/ipc_tests.cc main
+ ...
+
+Uninitialized memory read in WriteFile
+Error Location
+ ...
+ chrome/common/ipc_channel.cc IPC::Channel::ProcessOutgoingMessages(void)
+ chrome/common/ipc_channel.cc IPC::Channel::OnObjectSignaled(void *)
+ chrome/common/ipc_channel.cc IPC::Channel::Send(Message::IPC *)
+ chrome/common/ipc_tests.cc Send
+ chrome/common/ipc_tests.cc MyChannelListener::OnMessageReceived(Message::IPC const&)
+ chrome/common/ipc_channel.cc IPC::Channel::ProcessIncomingMessages(void)
+ chrome/common/ipc_channel.cc IPC::Channel::OnObjectSignaled(void *)
+ base/message_loop.cc MessageLoop::SignalWatcher(DWORD)
+ base/message_loop.cc MessageLoop::ProcessNextObject(void)
+ base/message_loop.cc MessageLoop::Run(Dispatcher::MessageLoop *)
+ base/message_loop.cc MessageLoop::Run(void)
+ chrome/common/ipc_tests.cc RunTestClient
+ chrome/common/ipc_tests.cc main
+ ...
+Alloc Location
+ ...
+ base/pickle.cc Pickle::Resize(UINT)
+ base/pickle.cc Pickle::BeginWrite(UINT)
+ base/pickle.cc Pickle::WriteBytes(void const*,int)
+ base/pickle.cc Pickle::WriteString(basic_string::std const&)
+ chrome/common/ipc_tests.cc Send
+ chrome/common/ipc_tests.cc MyChannelListener::OnMessageReceived(Message::IPC const&)
+ chrome/common/ipc_channel.cc IPC::Channel::ProcessIncomingMessages(void)
+ chrome/common/ipc_channel.cc IPC::Channel::OnObjectSignaled(void *)
+ base/message_loop.cc MessageLoop::SignalWatcher(DWORD)
+ base/message_loop.cc MessageLoop::ProcessNextObject(void)
+ base/message_loop.cc MessageLoop::Run(Dispatcher::MessageLoop *)
+ base/message_loop.cc MessageLoop::Run(void)
+ chrome/common/ipc_tests.cc RunTestClient
+ chrome/common/ipc_tests.cc main
+ ...
+
+Uninitialized memory read in strlen
+Error Location
+ ...
+ chrome/common/ipc_tests.cc Send
+ chrome/common/ipc_tests.cc MyChannelListener::OnMessageReceived(Message::IPC const&)
+ chrome/common/ipc_channel.cc IPC::Channel::ProcessIncomingMessages(void)
+ chrome/common/ipc_channel.cc IPC::Channel::OnObjectSignaled(void *)
+ base/message_loop.cc MessageLoop::SignalWatcher(DWORD)
+ base/message_loop.cc MessageLoop::Run(Dispatcher::MessageLoop *)
+ base/message_loop.cc MessageLoop::Run(void)
+ chrome/common/ipc_tests.cc RunTestClient
+ chrome/common/ipc_tests.cc main
+ ...
+
+Uninitialized memory read in WriteFile
+Error Location
+ ...
+ chrome/common/ipc_channel.cc IPC::Channel::ProcessOutgoingMessages(void)
+ chrome/common/ipc_channel.cc IPC::Channel::OnObjectSignaled(void *)
+ chrome/common/ipc_channel.cc IPC::Channel::Send(Message::IPC *)
+ chrome/common/ipc_tests.cc Send
+ chrome/common/ipc_tests.cc MyChannelListener::OnMessageReceived(Message::IPC const&)
+ chrome/common/ipc_channel.cc IPC::Channel::ProcessIncomingMessages(void)
+ chrome/common/ipc_channel.cc IPC::Channel::OnObjectSignaled(void *)
+ base/message_loop.cc MessageLoop::SignalWatcher(DWORD)
+ base/message_loop.cc MessageLoop::Run(Dispatcher::MessageLoop *)
+ base/message_loop.cc MessageLoop::Run(void)
+ chrome/common/ipc_tests.cc RunTestClient
+ chrome/common/ipc_tests.cc main
+ ...
+Alloc Location
+ ...
+ base/pickle.cc Pickle::Resize(UINT)
+ base/pickle.cc Pickle::BeginWrite(UINT)
+ base/pickle.cc Pickle::WriteBytes(void const*,int)
+ base/pickle.cc Pickle::WriteString(basic_string::std const&)
+ chrome/common/ipc_tests.cc Send
+ chrome/common/ipc_tests.cc MyChannelListener::OnMessageReceived(Message::IPC const&)
+ chrome/common/ipc_channel.cc IPC::Channel::ProcessIncomingMessages(void)
+ chrome/common/ipc_channel.cc IPC::Channel::OnObjectSignaled(void *)
+ base/message_loop.cc MessageLoop::SignalWatcher(DWORD)
+ base/message_loop.cc MessageLoop::Run(Dispatcher::MessageLoop *)
+ base/message_loop.cc MessageLoop::Run(void)
+ chrome/common/ipc_tests.cc RunTestClient
+ chrome/common/ipc_tests.cc main
+ ...
+
+Uninitialized memory read in WriteFile
+Error Location
+ ...
+ chrome/common/ipc_channel.cc IPC::Channel::ProcessOutgoingMessages(void)
+ chrome/common/ipc_channel.cc IPC::Channel::Send(Message::IPC *)
+ chrome/common/ipc_tests.cc Send
+ chrome/common/ipc_tests.cc MyChannelListener::OnMessageReceived(Message::IPC const&)
+ chrome/common/ipc_channel.cc IPC::Channel::ProcessIncomingMessages(void)
+ chrome/common/ipc_channel.cc IPC::Channel::OnObjectSignaled(void *)
+ base/message_loop.cc MessageLoop::SignalWatcher(DWORD)
+ base/message_loop.cc MessageLoop::Run(Dispatcher::MessageLoop *)
+ base/message_loop.cc MessageLoop::Run(void)
+ chrome/common/ipc_tests.cc RunTestClient
+ chrome/common/ipc_tests.cc main
+ ...
+Alloc Location
+ ...
+ base/pickle.cc Pickle::Resize(UINT)
+ base/pickle.cc Pickle::BeginWrite(UINT)
+ base/pickle.cc Pickle::WriteBytes(void const*,int)
+ base/pickle.cc Pickle::WriteString(basic_string::std const&)
+ chrome/common/ipc_tests.cc Send
+ chrome/common/ipc_tests.cc MyChannelListener::OnMessageReceived(Message::IPC const&)
+ chrome/common/ipc_channel.cc IPC::Channel::ProcessIncomingMessages(void)
+ chrome/common/ipc_channel.cc IPC::Channel::OnObjectSignaled(void *)
+ base/message_loop.cc MessageLoop::SignalWatcher(DWORD)
+ base/message_loop.cc MessageLoop::Run(Dispatcher::MessageLoop *)
+ base/message_loop.cc MessageLoop::Run(void)
+ chrome/common/ipc_tests.cc RunTestClient
+ chrome/common/ipc_tests.cc main
+ ...
+
+Uninitialized memory read in strlen
+Error Location
+ ...
+ chrome/common/ipc_tests.cc Send
+ chrome/common/ipc_tests.cc RunTestClient
+ chrome/common/ipc_tests.cc main
+ ...
+
+Uninitialized memory read in WriteFile
+Error Location
+ ...
+ chrome/common/ipc_channel.cc IPC::Channel::ProcessOutgoingMessages(void)
+ chrome/common/ipc_channel.cc IPC::Channel::Send(Message::IPC *)
+ chrome/common/ipc_tests.cc Send
+ chrome/common/ipc_tests.cc RunTestClient
+ chrome/common/ipc_tests.cc main
+ ...
+Alloc Location
+ ...
+ base/pickle.cc Pickle::Resize(UINT)
+ base/pickle.cc Pickle::BeginWrite(UINT)
+ base/pickle.cc Pickle::WriteBytes(void const*,int)
+ base/pickle.cc Pickle::WriteString(basic_string::std const&)
+ chrome/common/ipc_tests.cc Send
+ chrome/common/ipc_tests.cc RunTestClient
+ chrome/common/ipc_tests.cc main
+ ...
+
diff --git a/chrome/test/data/purify/unit_tests.exe.gtest.txt b/chrome/test/data/purify/unit_tests.exe.gtest.txt
new file mode 100644
index 0000000..4e83728
--- /dev/null
+++ b/chrome/test/data/purify/unit_tests.exe.gtest.txt
@@ -0,0 +1,2 @@
+# bug 1178136
+ImporterTest.Firefox3Importer
diff --git a/chrome/test/data/purify/unit_tests.exe_FIM.txt b/chrome/test/data/purify/unit_tests.exe_FIM.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/chrome/test/data/purify/unit_tests.exe_FIM.txt
diff --git a/chrome/test/data/purify/unit_tests.exe_FIM_flakey.txt b/chrome/test/data/purify/unit_tests.exe_FIM_flakey.txt
new file mode 100644
index 0000000..76276cb
--- /dev/null
+++ b/chrome/test/data/purify/unit_tests.exe_FIM_flakey.txt
@@ -0,0 +1,12 @@
+Freeing invalid memory in free
+Free Location
+ ...
+ chrome/third_party/hunspell/src/hunspell/hashmgr.cxx HashMgr::~HashMgr(void)
+ chrome/release/unit_tests.exe HashMgr::`scalar deleting destructor'(UINT)
+ chrome/third_party/hunspell/src/hunspell/hunspell.cxx Hunspell::~Hunspell(void)
+ chrome/release/unit_tests.exe Hunspell::`scalar deleting destructor'(UINT)
+ chrome/browser/spellchecker.cc SpellChecker::~SpellChecker(void)
+ chrome/renderer/spellcheck_unittest.cc SpellCheckTest_SpellCheckStrings_EN_US_Test::TestBody(void)
+ testing/gtest/src/gtest.cc testing::Test::Run(void)
+ ^^^
+
diff --git a/chrome/test/data/purify/unit_tests.exe_IPR.txt b/chrome/test/data/purify/unit_tests.exe_IPR.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/chrome/test/data/purify/unit_tests.exe_IPR.txt
diff --git a/chrome/test/data/purify/unit_tests.exe_MLK.txt b/chrome/test/data/purify/unit_tests.exe_MLK.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/chrome/test/data/purify/unit_tests.exe_MLK.txt
diff --git a/chrome/test/data/purify/unit_tests.exe_MLK_flakey.txt b/chrome/test/data/purify/unit_tests.exe_MLK_flakey.txt
new file mode 100644
index 0000000..951467c
--- /dev/null
+++ b/chrome/test/data/purify/unit_tests.exe_MLK_flakey.txt
@@ -0,0 +1,97 @@
+sqlite3GenericRealloc [unit_tests.exe]
+Alloc Location
+ ...
+ chrome/browser/history/history_unittest.cc history::HistoryProfileTest_TypicalProfileVersion_Test::TestBody(void)
+ testing/gtest/src/gtest.cc testing::Test::Run(void)
+ ^^^
+
+sqlite3GenericRealloc [unit_tests.exe]
+Alloc Location
+ ...
+ chrome/browser/history/history_unittest.cc history::HistoryProfileTest_TypicalProfileVersion_Test::TestBody(void)
+ testing/gtest/src/gtest.cc testing::Test::Run(void)
+ ^^^
+
+sqlite3GenericRealloc [unit_tests.exe]
+Alloc Location
+ ...
+ chrome/browser/history/history_unittest.cc history::HistoryProfileTest_TypicalProfileVersion_Test::TestBody(void)
+ testing/gtest/src/gtest.cc testing::Test::Run(void)
+ ^^^
+
+sqlite3GenericMalloc [unit_tests.exe]
+Alloc Location
+ ...
+ chrome/common/sqlite_utils.h SQLStatement::prepare(sqlite3 *,char const*,int)
+ chrome/common/sqlite_utils.h SQLStatement::prepare(sqlite3 *,char const*)
+ chrome/browser/history/history_unittest.cc history::HistoryProfileTest_TypicalProfileVersion_Test::TestBody(void)
+ testing/gtest/src/gtest.cc testing::Test::Run(void)
+ ^^^
+
+sqlite3GenericMalloc [unit_tests.exe]
+Alloc Location
+ ...
+ chrome/common/sqlite_utils.h SQLStatement::step(void)
+ chrome/browser/history/history_unittest.cc history::HistoryProfileTest_TypicalProfileVersion_Test::TestBody(void)
+ testing/gtest/src/gtest.cc testing::Test::Run(void)
+ ^^^
+
+TabStripModelTest::CreateTabContents(void) [unit_tests.exe]
+Alloc Location
+ ...
+ chrome/browser/tabs/tab_strip_model_unittest.cc TabStripModelTest::CreateTabContents(void)
+ chrome/browser/tabs/tab_strip_model_unittest.cc TabStripModelTest_TestBasicAPI_Test::TestBody(void)
+ testing/gtest/src/gtest.cc testing::Test::Run(void)
+ ^^^
+
+TabContents::SetupController(Profile *) [unit_tests.exe]
+Alloc Location
+ ...
+ chrome/browser/tab_contents.cc TabContents::SetupController(Profile *)
+ chrome/browser/tabs/tab_strip_model_unittest.cc TabStripModelTest::CreateTabContents(void)
+ chrome/browser/tabs/tab_strip_model_unittest.cc TabStripModelTest_TestBasicAPI_Test::TestBody(void)
+ testing/gtest/src/gtest.cc testing::Test::Run(void)
+ ^^^
+
+?_Allocate@U_Node@?$_List_nod@U?$pair@$$CBW4TabContentsType@@PAVTabContents@@@std@@V?$allocator@U?$pair@$$CBW4TabContentsType@@PAVTabContents@@@std@@@2@@std@@@std@@YAPAU_Node@?$_List_nod@U?$pair@$$CBW4TabContentsType@@PAVTabContents@@@std@@V?$allocator@U?$pair@$$CBW4TabContentsType@@PAVTabContents@@@std@@@2@@0@IPAU120@@Z [unit_tests.exe]
+Alloc Location
+ ...
+ chrome/browser/navigation_controller.cc NavigationController::NavigationController(TabContents *,Profile *)
+ chrome/browser/tab_contents.cc TabContents::SetupController(Profile *)
+ chrome/browser/tabs/tab_strip_model_unittest.cc TabStripModelTest::CreateTabContents(void)
+ chrome/browser/tabs/tab_strip_model_unittest.cc TabStripModelTest_TestBasicAPI_Test::TestBody(void)
+ testing/gtest/src/gtest.cc testing::Test::Run(void)
+ ^^^
+
+c:\b\slave\p\build\third_party\platformsdk_vista_6_0\files\vc\include\xmemory.
+Alloc Location
+ ...
+ chrome/browser/navigation_controller.cc NavigationController::NavigationController(TabContents *,Profile *)
+ chrome/browser/tab_contents.cc TabContents::SetupController(Profile *)
+ chrome/browser/tabs/tab_strip_model_unittest.cc TabStripModelTest::CreateTabContents(void)
+ chrome/browser/tabs/tab_strip_model_unittest.cc TabStripModelTest_TestBasicAPI_Test::TestBody(void)
+ testing/gtest/src/gtest.cc testing::Test::Run(void)
+ ^^^
+
+?_Allocate@U_Node@?$_List_nod@U?$pair@$$CBW4TabContentsType@@PAVTabContents@@@std@@V?$allocator@U?$pair@$$CBW4TabContentsType@@PAVTabContents@@@std@@@2@@std@@@std@@YAPAU_Node@?$_List_nod@U?$pair@$$CBW4TabContentsType@@PAVTabContents@@@std@@V?$allocator@U?$pair@$$CBW4TabContentsType@@PAVTabContents@@@std@@@2@@0@IPAU120@@Z [unit_tests.exe]
+Alloc Location
+ ...
+ chrome/browser/navigation_controller.cc NavigationController::RegisterTabContents(TabContents *)
+ chrome/browser/navigation_controller.cc NavigationController::NavigationController(TabContents *,Profile *)
+ chrome/browser/tab_contents.cc TabContents::SetupController(Profile *)
+ chrome/browser/tabs/tab_strip_model_unittest.cc TabStripModelTest::CreateTabContents(void)
+ chrome/browser/tabs/tab_strip_model_unittest.cc TabStripModelTest_TestBasicAPI_Test::TestBody(void)
+ testing/gtest/src/gtest.cc testing::Test::Run(void)
+ ^^^
+
+c:\b\slave\p\build\third_party\platformsdk_vista_6_0\files\vc\include\xmemory.
+Alloc Location
+ ...
+ chrome/browser/ssl_manager.cc SSLManager::SSLManager(NavigationController *,Delegate::SSLManager *)
+ chrome/browser/navigation_controller.cc NavigationController::NavigationController(TabContents *,Profile *)
+ chrome/browser/tab_contents.cc TabContents::SetupController(Profile *)
+ chrome/browser/tabs/tab_strip_model_unittest.cc TabStripModelTest::CreateTabContents(void)
+ chrome/browser/tabs/tab_strip_model_unittest.cc TabStripModelTest_TestBasicAPI_Test::TestBody(void)
+ testing/gtest/src/gtest.cc testing::Test::Run(void)
+ ^^^
+
diff --git a/chrome/test/data/purify/unit_tests.exe_UMR.txt b/chrome/test/data/purify/unit_tests.exe_UMR.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/chrome/test/data/purify/unit_tests.exe_UMR.txt
diff --git a/chrome/test/data/purify/unit_tests.exe_UMR_flakey.txt b/chrome/test/data/purify/unit_tests.exe_UMR_flakey.txt
new file mode 100644
index 0000000..a737c34
--- /dev/null
+++ b/chrome/test/data/purify/unit_tests.exe_UMR_flakey.txt
@@ -0,0 +1,100 @@
+Uninitialized memory read in WriteFile
+Error Location
+ ...
+ chrome/browser/session_backend.cc SessionBackend::AppendCommandsToFile(void *,vector::std const&)
+ chrome/browser/session_backend.cc SessionBackend::AppendCommands(vector::std *,bool)
+ chrome/browser/session_service.cc SessionService::Save(void)
+ chrome/browser/session_service.cc SessionService::~SessionService(void)
+ chrome/release/unit_tests.exe SessionService::`vector deleting destructor'(UINT)
+ base/ref_counted.h base::RefCountedThreadSafe::Release(void)
+ base/ref_counted.h scoped_refptr::=(SessionService *)
+ chrome/browser/session_service_test_helper.h SessionServiceTestHelper::set_service(SessionService *)
+ chrome/browser/session_service_unittest.cc SessionServiceTest::ReadWindows(vector::std *)
+ chrome/browser/session_service_unittest.cc SessionServiceTest_ClosingTabStaysClosed_Test::TestBody(void)
+ testing/gtest/src/gtest.cc testing::Test::Run(void)
+ ^^^
+Alloc Location
+ ...
+ chrome/browser/session_backend.cc SessionCommand::SessionCommand(BYTE,WORD)
+ chrome/browser/session_service.cc SessionService::CreateTabClosedCommand(int)
+ chrome/browser/session_service.cc SessionService::TabClosed(SessionID const&,SessionID const&)
+ chrome/browser/session_service_unittest.cc SessionServiceTest_ClosingTabStaysClosed_Test::TestBody(void)
+ testing/gtest/src/gtest.cc testing::Test::Run(void)
+ ^^^
+
+Uninitialized memory read in WriteFile
+Error Location
+ ...
+ chrome/browser/session_backend.cc SessionBackend::AppendCommandsToFile(void *,vector::std const&)
+ chrome/browser/session_backend.cc SessionBackend::AppendCommands(vector::std *,bool)
+ chrome/browser/session_service.cc SessionService::Save(void)
+ chrome/browser/session_service.cc SessionService::~SessionService(void)
+ chrome/release/unit_tests.exe SessionService::`vector deleting destructor'(UINT)
+ base/ref_counted.h base::RefCountedThreadSafe::Release(void)
+ base/ref_counted.h scoped_refptr::=(SessionService *)
+ chrome/browser/session_service_test_helper.h SessionServiceTestHelper::set_service(SessionService *)
+ chrome/browser/session_service_unittest.cc SessionServiceTest::ReadWindows(vector::std *)
+ chrome/browser/session_service_unittest.cc SessionServiceTest_WindowCloseCommittedAfterNavigate_Test::TestBody(void)
+ testing/gtest/src/gtest.cc testing::Test::Run(void)
+ ^^^
+Alloc Location
+ ...
+ chrome/browser/session_backend.cc SessionCommand::SessionCommand(BYTE,WORD)
+ chrome/browser/session_service.cc SessionService::CreateTabClosedCommand(int)
+ chrome/browser/session_service.cc SessionService::CommitPendingCloses(void)
+ chrome/browser/session_service.cc SessionService::UpdateTabNavigation(SessionID const&,int,NavigationEntry const&)
+ chrome/browser/session_service_unittest.cc SessionServiceTest::UpdateNavigation(SessionID const&,TabNavigation const&,bool)
+ chrome/browser/session_service_unittest.cc SessionServiceTest_WindowCloseCommittedAfterNavigate_Test::TestBody(void)
+ testing/gtest/src/gtest.cc testing::Test::Run(void)
+ ^^^
+
+Uninitialized memory read in WriteFile
+Error Location
+ ...
+ chrome/browser/session_backend.cc SessionBackend::AppendCommandsToFile(void *,vector::std const&)
+ chrome/browser/session_backend.cc SessionBackend::AppendCommands(vector::std *,bool)
+ chrome/browser/session_service.cc SessionService::Save(void)
+ chrome/browser/session_service.cc SessionService::~SessionService(void)
+ chrome/release/unit_tests.exe SessionService::`scalar deleting destructor'(UINT)
+ base/ref_counted.h base::RefCountedThreadSafe::Release(void)
+ base/ref_counted.h scoped_refptr::=(SessionService *)
+ chrome/browser/session_service_test_helper.h SessionServiceTestHelper::set_service(SessionService *)
+ chrome/browser/session_service_unittest.cc SessionServiceTest::ReadWindows(vector::std *)
+ chrome/browser/session_service_unittest.cc SessionServiceTest_WindowCloseCommittedAfterNavigate_Test::TestBody(void)
+ testing/gtest/src/gtest.cc testing::Test::Run(void)
+ ^^^
+Alloc Location
+ ...
+ chrome/browser/session_backend.cc SessionCommand::SessionCommand(BYTE,WORD)
+ chrome/browser/session_service.cc SessionService::CreateTabClosedCommand(int)
+ chrome/browser/session_service.cc SessionService::CommitPendingCloses(void)
+ chrome/browser/session_service.cc SessionService::UpdateTabNavigation(SessionID const&,int,NavigationEntry const&)
+ chrome/browser/session_service_unittest.cc SessionServiceTest::UpdateNavigation(SessionID const&,TabNavigation const&,bool)
+ chrome/browser/session_service_unittest.cc SessionServiceTest_WindowCloseCommittedAfterNavigate_Test::TestBody(void)
+ testing/gtest/src/gtest.cc testing::Test::Run(void)
+ ^^^
+
+Uninitialized memory read in WriteFile
+Error Location
+ ...
+ chrome/browser/session_backend.cc SessionBackend::AppendCommandsToFile(void *,vector::std const&)
+ chrome/browser/session_backend.cc SessionBackend::AppendCommands(vector::std *,bool)
+ chrome/browser/session_service.cc SessionService::Save(void)
+ chrome/browser/session_service.cc SessionService::~SessionService(void)
+ chrome/release/unit_tests.exe SessionService::`scalar deleting destructor'(UINT)
+ base/ref_counted.h base::RefCountedThreadSafe::Release(void)
+ base/ref_counted.h scoped_refptr::=(SessionService *)
+ chrome/browser/session_service_test_helper.h SessionServiceTestHelper::set_service(SessionService *)
+ chrome/browser/session_service_unittest.cc SessionServiceTest::ReadWindows(vector::std *)
+ chrome/browser/session_service_unittest.cc SessionServiceTest_ClosingTabStaysClosed_Test::TestBody(void)
+ testing/gtest/src/gtest.cc testing::Test::Run(void)
+ ^^^
+Alloc Location
+ ...
+ chrome/browser/session_backend.cc SessionCommand::SessionCommand(BYTE,WORD)
+ chrome/browser/session_service.cc SessionService::CreateTabClosedCommand(int)
+ chrome/browser/session_service.cc SessionService::TabClosed(SessionID const&,SessionID const&)
+ chrome/browser/session_service_unittest.cc SessionServiceTest_ClosingTabStaysClosed_Test::TestBody(void)
+ testing/gtest/src/gtest.cc testing::Test::Run(void)
+ ^^^
+
diff --git a/chrome/test/data/read_cookies.html b/chrome/test/data/read_cookies.html
new file mode 100644
index 0000000..b457c34
--- /dev/null
+++ b/chrome/test/data/read_cookies.html
@@ -0,0 +1,35 @@
+<html>
+<body>
+<pre>
+<script>
+
+// This script tests the performance of reading cookies. It sets a cookie and
+// then reads cookies N times. Finally, it outputs the average time taken to
+// read the cookie.
+
+document.cookie =
+ 'one_heck_of_a_crazy_cookie_name=1234567890.1234567890.1234567890.1234567890';
+
+var ok = true;
+
+var num_iters = document.location.search.substring(1) - 0;
+if (num_iters == 0)
+ num_iters = 10000;
+document.writeln("num_iters: " + num_iters);
+
+var ts = (new Date()).getTime();
+
+// read the cookie num_iters times
+for (var i = 0; i < num_iters; ++i) {
+ var d = document.cookie;
+}
+
+var te = (new Date()).getTime();
+
+var time_per_read = (te - ts) / num_iters;
+document.writeln("time per read: " + time_per_read.toFixed(3) + " msec");
+
+</script>
+</pre>
+</body>
+</html>
diff --git a/chrome/test/data/ref_redirect.html b/chrome/test/data/ref_redirect.html
new file mode 100644
index 0000000..e42704a
--- /dev/null
+++ b/chrome/test/data/ref_redirect.html
@@ -0,0 +1,8 @@
+<!-- Test used by RedirectTest.ClientFragments to make sure non-user initiated
+location changes (within page) are flagged as client redirects.-->
+<html>
+ <body onload="document.location.href='#myanchor'">
+ <a name="myanchor">Anchor</a><br/>
+ </body>
+</html>
+
diff --git a/chrome/test/data/resource.h b/chrome/test/data/resource.h
new file mode 100644
index 0000000..7008da4
--- /dev/null
+++ b/chrome/test/data/resource.h
@@ -0,0 +1,23 @@
+//{{NO_DEPENDENCIES}}
+// Microsoft Visual C++ generated include file.
+// Used by resource.rc
+//
+#define IDS_SIMPLE 101
+#define IDS_PLACEHOLDERS 102
+#define IDS_PLACEHOLDERS_2 103
+#define IDS_PLACEHOLDERS_3 104
+
+#define IDS_LOCALE_BOOL 105
+#define IDS_LOCALE_INT 106
+#define IDS_LOCALE_STRING 107
+
+// Next default values for new objects
+//
+#ifdef APSTUDIO_INVOKED
+#ifndef APSTUDIO_READONLY_SYMBOLS
+#define _APS_NEXT_RESOURCE_VALUE 108
+#define _APS_NEXT_COMMAND_VALUE 40001
+#define _APS_NEXT_CONTROL_VALUE 1001
+#define _APS_NEXT_SYMED_VALUE 101
+#endif
+#endif
diff --git a/chrome/test/data/resource.rc b/chrome/test/data/resource.rc
new file mode 100644
index 0000000..767b9db
--- /dev/null
+++ b/chrome/test/data/resource.rc
@@ -0,0 +1,80 @@
+// Microsoft Visual C++ generated resource script.
+//
+#include "resource.h"
+
+#define APSTUDIO_READONLY_SYMBOLS
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 2 resource.
+//
+#include "afxres.h"
+
+/////////////////////////////////////////////////////////////////////////////
+#undef APSTUDIO_READONLY_SYMBOLS
+
+/////////////////////////////////////////////////////////////////////////////
+// English (U.S.) resources
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
+#ifdef _WIN32
+LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
+#pragma code_page(1252)
+#endif //_WIN32
+
+#ifdef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// TEXTINCLUDE
+//
+
+1 TEXTINCLUDE
+BEGIN
+ "resource.h\0"
+END
+
+2 TEXTINCLUDE
+BEGIN
+ "#include ""afxres.h""\r\n"
+ "\0"
+END
+
+3 TEXTINCLUDE
+BEGIN
+ "\r\n"
+ "\0"
+END
+
+#endif // APSTUDIO_INVOKED
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// String Table
+//
+
+STRINGTABLE
+BEGIN
+ IDS_SIMPLE "Hello World!"
+ IDS_PLACEHOLDERS "Hello, $1. Your number is $2."
+ IDS_PLACEHOLDERS_2 "You owe me $$$1."
+ IDS_PLACEHOLDERS_3 "Hello, $2. Your number is $1."
+ IDS_LOCALE_BOOL "false"
+ IDS_LOCALE_INT "1"
+ IDS_LOCALE_STRING "hello"
+END
+
+#endif // English (U.S.) resources
+/////////////////////////////////////////////////////////////////////////////
+
+
+
+#ifndef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 3 resource.
+//
+
+
+/////////////////////////////////////////////////////////////////////////////
+#endif // not APSTUDIO_INVOKED
+
diff --git a/chrome/test/data/safe_browsing/download_update.py b/chrome/test/data/safe_browsing/download_update.py
new file mode 100644
index 0000000..6b100376
--- /dev/null
+++ b/chrome/test/data/safe_browsing/download_update.py
@@ -0,0 +1,33 @@
+import urllib,sys
+
+
+url = 'http://safebrowsing.clients.google.com/safebrowsing/downloads?client=googleclient&appver=1.0&pver=2.1'
+
+if len(sys.argv) == 1:
+ data = 'goog-phish-shavar;\ngoog-malware-shavar;\n'
+else:
+ post_data_file = sys.argv[1]
+ file = open(post_data_file, "r")
+ data = file.read()
+ file.close
+
+response = urllib.urlopen(url, data)
+
+response_file = open("response", "r+")
+response_file.write(response.read())
+response_file.seek(0)
+
+counter = 0
+
+for line in response_file:
+ if not line.startswith('u:'):
+ continue
+
+ chunk_url = 'http://' + line[2:]
+ filename = chunk_url[chunk_url.rfind('/') + 1:]
+ filename = "%03d" % counter + filename[0:filename.rfind('_')]
+ counter += 1
+
+ urllib.urlretrieve(chunk_url, filename)
+
+response_file.close() \ No newline at end of file
diff --git a/chrome/test/data/safe_browsing/initial/000goog-malware-shavar_s b/chrome/test/data/safe_browsing/initial/000goog-malware-shavar_s
new file mode 100644
index 0000000..2f70434
--- /dev/null
+++ b/chrome/test/data/safe_browsing/initial/000goog-malware-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/initial/001goog-malware-shavar_s b/chrome/test/data/safe_browsing/initial/001goog-malware-shavar_s
new file mode 100644
index 0000000..dd660ae
--- /dev/null
+++ b/chrome/test/data/safe_browsing/initial/001goog-malware-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/initial/002goog-malware-shavar_s b/chrome/test/data/safe_browsing/initial/002goog-malware-shavar_s
new file mode 100644
index 0000000..7d81aef
--- /dev/null
+++ b/chrome/test/data/safe_browsing/initial/002goog-malware-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/initial/003goog-malware-shavar_s b/chrome/test/data/safe_browsing/initial/003goog-malware-shavar_s
new file mode 100644
index 0000000..0f18dea
--- /dev/null
+++ b/chrome/test/data/safe_browsing/initial/003goog-malware-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/initial/004goog-malware-shavar_s b/chrome/test/data/safe_browsing/initial/004goog-malware-shavar_s
new file mode 100644
index 0000000..156d187
--- /dev/null
+++ b/chrome/test/data/safe_browsing/initial/004goog-malware-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/initial/005goog-malware-shavar_s b/chrome/test/data/safe_browsing/initial/005goog-malware-shavar_s
new file mode 100644
index 0000000..66f35f3
--- /dev/null
+++ b/chrome/test/data/safe_browsing/initial/005goog-malware-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/initial/006goog-malware-shavar_s b/chrome/test/data/safe_browsing/initial/006goog-malware-shavar_s
new file mode 100644
index 0000000..c13fbc3
--- /dev/null
+++ b/chrome/test/data/safe_browsing/initial/006goog-malware-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/initial/007goog-malware-shavar_s b/chrome/test/data/safe_browsing/initial/007goog-malware-shavar_s
new file mode 100644
index 0000000..8e30acb
--- /dev/null
+++ b/chrome/test/data/safe_browsing/initial/007goog-malware-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/initial/008goog-malware-shavar_s b/chrome/test/data/safe_browsing/initial/008goog-malware-shavar_s
new file mode 100644
index 0000000..58ccc45
--- /dev/null
+++ b/chrome/test/data/safe_browsing/initial/008goog-malware-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/initial/009goog-malware-shavar_s b/chrome/test/data/safe_browsing/initial/009goog-malware-shavar_s
new file mode 100644
index 0000000..ebca6c6
--- /dev/null
+++ b/chrome/test/data/safe_browsing/initial/009goog-malware-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/initial/010goog-malware-shavar_a b/chrome/test/data/safe_browsing/initial/010goog-malware-shavar_a
new file mode 100644
index 0000000..0bed13ca
--- /dev/null
+++ b/chrome/test/data/safe_browsing/initial/010goog-malware-shavar_a
Binary files differ
diff --git a/chrome/test/data/safe_browsing/initial/011goog-malware-shavar_a b/chrome/test/data/safe_browsing/initial/011goog-malware-shavar_a
new file mode 100644
index 0000000..dac6efd
--- /dev/null
+++ b/chrome/test/data/safe_browsing/initial/011goog-malware-shavar_a
Binary files differ
diff --git a/chrome/test/data/safe_browsing/initial/012goog-malware-shavar_a b/chrome/test/data/safe_browsing/initial/012goog-malware-shavar_a
new file mode 100644
index 0000000..06abcc5
--- /dev/null
+++ b/chrome/test/data/safe_browsing/initial/012goog-malware-shavar_a
Binary files differ
diff --git a/chrome/test/data/safe_browsing/initial/013goog-malware-shavar_a b/chrome/test/data/safe_browsing/initial/013goog-malware-shavar_a
new file mode 100644
index 0000000..0b1b2ce
--- /dev/null
+++ b/chrome/test/data/safe_browsing/initial/013goog-malware-shavar_a
Binary files differ
diff --git a/chrome/test/data/safe_browsing/initial/014goog-malware-shavar_a b/chrome/test/data/safe_browsing/initial/014goog-malware-shavar_a
new file mode 100644
index 0000000..27500b2
--- /dev/null
+++ b/chrome/test/data/safe_browsing/initial/014goog-malware-shavar_a
Binary files differ
diff --git a/chrome/test/data/safe_browsing/initial/015goog-phish-shavar_s b/chrome/test/data/safe_browsing/initial/015goog-phish-shavar_s
new file mode 100644
index 0000000..5571b11
--- /dev/null
+++ b/chrome/test/data/safe_browsing/initial/015goog-phish-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/initial/016goog-phish-shavar_s b/chrome/test/data/safe_browsing/initial/016goog-phish-shavar_s
new file mode 100644
index 0000000..588a9c3
--- /dev/null
+++ b/chrome/test/data/safe_browsing/initial/016goog-phish-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/initial/017goog-phish-shavar_s b/chrome/test/data/safe_browsing/initial/017goog-phish-shavar_s
new file mode 100644
index 0000000..a18cfc5
--- /dev/null
+++ b/chrome/test/data/safe_browsing/initial/017goog-phish-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/initial/018goog-phish-shavar_s b/chrome/test/data/safe_browsing/initial/018goog-phish-shavar_s
new file mode 100644
index 0000000..a6b7fad
--- /dev/null
+++ b/chrome/test/data/safe_browsing/initial/018goog-phish-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/initial/019goog-phish-shavar_s b/chrome/test/data/safe_browsing/initial/019goog-phish-shavar_s
new file mode 100644
index 0000000..672d40b
--- /dev/null
+++ b/chrome/test/data/safe_browsing/initial/019goog-phish-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/initial/020goog-phish-shavar_s b/chrome/test/data/safe_browsing/initial/020goog-phish-shavar_s
new file mode 100644
index 0000000..2b551cb
--- /dev/null
+++ b/chrome/test/data/safe_browsing/initial/020goog-phish-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/initial/021goog-phish-shavar_s b/chrome/test/data/safe_browsing/initial/021goog-phish-shavar_s
new file mode 100644
index 0000000..3bffe0f
--- /dev/null
+++ b/chrome/test/data/safe_browsing/initial/021goog-phish-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/initial/022goog-phish-shavar_s b/chrome/test/data/safe_browsing/initial/022goog-phish-shavar_s
new file mode 100644
index 0000000..d441b11
--- /dev/null
+++ b/chrome/test/data/safe_browsing/initial/022goog-phish-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/initial/023goog-phish-shavar_s b/chrome/test/data/safe_browsing/initial/023goog-phish-shavar_s
new file mode 100644
index 0000000..0593ff6
--- /dev/null
+++ b/chrome/test/data/safe_browsing/initial/023goog-phish-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/initial/024goog-phish-shavar_s b/chrome/test/data/safe_browsing/initial/024goog-phish-shavar_s
new file mode 100644
index 0000000..a08966a
--- /dev/null
+++ b/chrome/test/data/safe_browsing/initial/024goog-phish-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/initial/025goog-phish-shavar_s b/chrome/test/data/safe_browsing/initial/025goog-phish-shavar_s
new file mode 100644
index 0000000..cbc6de3
--- /dev/null
+++ b/chrome/test/data/safe_browsing/initial/025goog-phish-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/initial/026goog-phish-shavar_s b/chrome/test/data/safe_browsing/initial/026goog-phish-shavar_s
new file mode 100644
index 0000000..d77f24d
--- /dev/null
+++ b/chrome/test/data/safe_browsing/initial/026goog-phish-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/initial/027goog-phish-shavar_s b/chrome/test/data/safe_browsing/initial/027goog-phish-shavar_s
new file mode 100644
index 0000000..7469338
--- /dev/null
+++ b/chrome/test/data/safe_browsing/initial/027goog-phish-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/initial/028goog-phish-shavar_s b/chrome/test/data/safe_browsing/initial/028goog-phish-shavar_s
new file mode 100644
index 0000000..a317a27
--- /dev/null
+++ b/chrome/test/data/safe_browsing/initial/028goog-phish-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/initial/029goog-phish-shavar_s b/chrome/test/data/safe_browsing/initial/029goog-phish-shavar_s
new file mode 100644
index 0000000..cefbff0
--- /dev/null
+++ b/chrome/test/data/safe_browsing/initial/029goog-phish-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/initial/030goog-phish-shavar_s b/chrome/test/data/safe_browsing/initial/030goog-phish-shavar_s
new file mode 100644
index 0000000..458f1ab
--- /dev/null
+++ b/chrome/test/data/safe_browsing/initial/030goog-phish-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/initial/031goog-phish-shavar_s b/chrome/test/data/safe_browsing/initial/031goog-phish-shavar_s
new file mode 100644
index 0000000..415b39e
--- /dev/null
+++ b/chrome/test/data/safe_browsing/initial/031goog-phish-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/initial/032goog-phish-shavar_s b/chrome/test/data/safe_browsing/initial/032goog-phish-shavar_s
new file mode 100644
index 0000000..b31ed3746
--- /dev/null
+++ b/chrome/test/data/safe_browsing/initial/032goog-phish-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/initial/033goog-phish-shavar_s b/chrome/test/data/safe_browsing/initial/033goog-phish-shavar_s
new file mode 100644
index 0000000..9ca635a
--- /dev/null
+++ b/chrome/test/data/safe_browsing/initial/033goog-phish-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/initial/034goog-phish-shavar_s b/chrome/test/data/safe_browsing/initial/034goog-phish-shavar_s
new file mode 100644
index 0000000..57cccd6
--- /dev/null
+++ b/chrome/test/data/safe_browsing/initial/034goog-phish-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/initial/035goog-phish-shavar_s b/chrome/test/data/safe_browsing/initial/035goog-phish-shavar_s
new file mode 100644
index 0000000..0f4f981
--- /dev/null
+++ b/chrome/test/data/safe_browsing/initial/035goog-phish-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/initial/036goog-phish-shavar_s b/chrome/test/data/safe_browsing/initial/036goog-phish-shavar_s
new file mode 100644
index 0000000..f3a46d2
--- /dev/null
+++ b/chrome/test/data/safe_browsing/initial/036goog-phish-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/initial/037goog-phish-shavar_s b/chrome/test/data/safe_browsing/initial/037goog-phish-shavar_s
new file mode 100644
index 0000000..3c35575
--- /dev/null
+++ b/chrome/test/data/safe_browsing/initial/037goog-phish-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/initial/038goog-phish-shavar_s b/chrome/test/data/safe_browsing/initial/038goog-phish-shavar_s
new file mode 100644
index 0000000..9230663
--- /dev/null
+++ b/chrome/test/data/safe_browsing/initial/038goog-phish-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/initial/039goog-phish-shavar_s b/chrome/test/data/safe_browsing/initial/039goog-phish-shavar_s
new file mode 100644
index 0000000..32cdec4
--- /dev/null
+++ b/chrome/test/data/safe_browsing/initial/039goog-phish-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/initial/040goog-phish-shavar_s b/chrome/test/data/safe_browsing/initial/040goog-phish-shavar_s
new file mode 100644
index 0000000..bc32d54
--- /dev/null
+++ b/chrome/test/data/safe_browsing/initial/040goog-phish-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/initial/041goog-phish-shavar_s b/chrome/test/data/safe_browsing/initial/041goog-phish-shavar_s
new file mode 100644
index 0000000..2ff0a2a
--- /dev/null
+++ b/chrome/test/data/safe_browsing/initial/041goog-phish-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/initial/042goog-phish-shavar_s b/chrome/test/data/safe_browsing/initial/042goog-phish-shavar_s
new file mode 100644
index 0000000..586cbff
--- /dev/null
+++ b/chrome/test/data/safe_browsing/initial/042goog-phish-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/initial/043goog-phish-shavar_s b/chrome/test/data/safe_browsing/initial/043goog-phish-shavar_s
new file mode 100644
index 0000000..ad319749
--- /dev/null
+++ b/chrome/test/data/safe_browsing/initial/043goog-phish-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/initial/044goog-phish-shavar_s b/chrome/test/data/safe_browsing/initial/044goog-phish-shavar_s
new file mode 100644
index 0000000..6622fba
--- /dev/null
+++ b/chrome/test/data/safe_browsing/initial/044goog-phish-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/initial/045goog-phish-shavar_s b/chrome/test/data/safe_browsing/initial/045goog-phish-shavar_s
new file mode 100644
index 0000000..107d5d4
--- /dev/null
+++ b/chrome/test/data/safe_browsing/initial/045goog-phish-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/initial/046goog-phish-shavar_s b/chrome/test/data/safe_browsing/initial/046goog-phish-shavar_s
new file mode 100644
index 0000000..e8c6b9e
--- /dev/null
+++ b/chrome/test/data/safe_browsing/initial/046goog-phish-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/initial/047goog-phish-shavar_s b/chrome/test/data/safe_browsing/initial/047goog-phish-shavar_s
new file mode 100644
index 0000000..cd99328
--- /dev/null
+++ b/chrome/test/data/safe_browsing/initial/047goog-phish-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/initial/048goog-phish-shavar_a b/chrome/test/data/safe_browsing/initial/048goog-phish-shavar_a
new file mode 100644
index 0000000..9f0a267
--- /dev/null
+++ b/chrome/test/data/safe_browsing/initial/048goog-phish-shavar_a
Binary files differ
diff --git a/chrome/test/data/safe_browsing/initial/049goog-phish-shavar_a b/chrome/test/data/safe_browsing/initial/049goog-phish-shavar_a
new file mode 100644
index 0000000..fab1ea4
--- /dev/null
+++ b/chrome/test/data/safe_browsing/initial/049goog-phish-shavar_a
Binary files differ
diff --git a/chrome/test/data/safe_browsing/initial/050goog-phish-shavar_a b/chrome/test/data/safe_browsing/initial/050goog-phish-shavar_a
new file mode 100644
index 0000000..2ed4261
--- /dev/null
+++ b/chrome/test/data/safe_browsing/initial/050goog-phish-shavar_a
Binary files differ
diff --git a/chrome/test/data/safe_browsing/initial/051goog-phish-shavar_a b/chrome/test/data/safe_browsing/initial/051goog-phish-shavar_a
new file mode 100644
index 0000000..b5206f7
--- /dev/null
+++ b/chrome/test/data/safe_browsing/initial/051goog-phish-shavar_a
Binary files differ
diff --git a/chrome/test/data/safe_browsing/initial/052goog-phish-shavar_a b/chrome/test/data/safe_browsing/initial/052goog-phish-shavar_a
new file mode 100644
index 0000000..e3634f4
--- /dev/null
+++ b/chrome/test/data/safe_browsing/initial/052goog-phish-shavar_a
Binary files differ
diff --git a/chrome/test/data/safe_browsing/old/SafeBrowsing b/chrome/test/data/safe_browsing/old/SafeBrowsing
new file mode 100644
index 0000000..5a51ecd
--- /dev/null
+++ b/chrome/test/data/safe_browsing/old/SafeBrowsing
Binary files differ
diff --git a/chrome/test/data/safe_browsing/old/postdata b/chrome/test/data/safe_browsing/old/postdata
new file mode 100644
index 0000000..a049fbb
--- /dev/null
+++ b/chrome/test/data/safe_browsing/old/postdata
@@ -0,0 +1,2 @@
+goog-malware-shavar;a:8,10,29,38,40-43,63-86,88-115,118-126,128-134,136-142,144-148,150-159,161-168,170-177,179-180,184-186,188-190,192-196,198-211,213-244,246-251,253,262,269-299,301-308,310-313,329-331,333-346,348-366,368-413,415-416,418-419,421-532,534-535,537-539,541-583,585-589,591-617,619-623,625,627-632,634-637,639,645,647-648,650,652,663-664,666-669,673-674,680,684-685,687-688,691-692,695,697,699-701,705,708-711,713-714,716,718,720-727,730-731,734,741,748-751,754-755,760,764,766-767,771-772,776-780,782-784,786,789-790,793,796-799,801-804,806,808,812-814,816-817,820-821,824-826,829-831,833,836-839,841,843-845,847,849-850,852,854-857,861-864,869,871-873,875-878,884-885,888-889,891-893,895-898,900-903,909-914,919,921,923-932,934-941,944-946,949,953-954,958,962,964-967,970-971,974-977,979-981,985-987,989-991,993,1000-1001,1003,1005,1008-1009,1013,1019,1022-1023,1026-1027,1029-1031,1035-1038,1040,1049,1051,1053-1055,1063-1067,1069,1071-1072,1075-1077,1083,1087,1089,1093-1094,1096,1099-1101,1103,1106-1107,1110-1111,1115,1118-1119,1122,1126,1128-1129,1134,1139-1140,1146-1148,1150-1152,1154-1155,1157-1158,1162-1164,1170,1172,1175-1177,1179-1180,1182-1183,1185,1188,1192-1193,1197-1198,1200-1205,1207,1209,1212-1213,1216,1219,1222-1224,1226-1227,1229-1230,1233-1235,1238,1243-1244,1246,1250,1255-1256,1263,1265-1267,1270,1272-1273,1275-1276,1279,1281,1284-1285,1289-1290,1292-1293,1296,1299-1300,1303-1308,1310,1313-1314,1316-1324,1329,1333,1336,1343,1346,1348-1349,1351,1353,1355-1356,1359-1360,1362,1368,1374,1378-1387,1390-1391,1394-1395,1398-1399,1402-1403,1407,1411,1413,1416-1417,1419,1423,1425-1427,1431-1432,1434-1436,1438-1445,1448-1450,1452-1453,1455-1456,1458-1464,1466-1467,1469,1473,1477-1478,1482,1484,1486-1487,1490,1493,1497-1532,1535-1540,1542-1571,1573-1575,1577-1579,1581-1583,1585,1588-1592,1594,1597,1600,1607-1611,1618,1620-1627,1629-1631,1633,1693,1696,1726,1729,1731-1732,1738-1739,1742,1746-1749,1752-1755,1758,1773-1774,1792,1820,1823-1826,1851,1879,1884,1888,1894,1897,1901-1903,1906,1911-1912,1915,1919,1932,1936,1950,1953-1954,1956,1961-1962,1964-1965,1968-1972,1974,1976-1978,1981,1983,1989,1992,2000,2002-2007,2010-2011,2017,2025-2029,2031-2047,2065-2067,2071-2072,2074,2085,2091,2093-2096,2098-2102,2104,2107-2133,2135-2136,2138-2139,2141,2143-2169,2183-2192,2194-2198,2200-2208,2210-2218,2221,2224,2227,2260,2330-2331,2372,2378,2384-2387,2390,2392,2395,2397-2398,2400,2428-2431,2433-2441,2445-2446,2448-2449,2451-2455,2457,2462,2464,2466-2469,2471-2473,2475,2479-2486,2488-2496,2498-2502,2505,2508,2510,2512,2516,2518,2520-2535,2543-2546,2548-2551,2557,2561,2563-2565,2570-2578,2583,2585-2587,2589,2592-2593,2596-2607,2610,2615,2619-2622,2625-2627,2631-2632,2640-2649,2651,2653-2656,2664-2665,2668-2672,2674-2675,2679,2681,2683,2691-2692,2695-2700,2702-2721,2723-2726,2728-2736,2738,2742-2743,2745-2776,2778-2779,2781,2783,2785-2786,2790-2792,2794,2797-2978,2980-3186,3188-3190,3193-3197,3199-3205,3207-3208,3210-3211,3215-3216,3218-3219,3221,3223,3227-3229,3231-3232,3234-3237,3240,3242-3243,3245-3246,3249-3250,3252-3256,3258,3260,3263-3266,3268-3277,3279-3280,3284,3286,3289,3291-3295,3297,3299-3302,3305,3307-3311,3313-3326,3328-3331,3336-3338,3342,3345-3349,3351-3377,3379,3381-3383,3385-3391,3394-3399,3405-3420,3423-3424,3430,3432,3434,3436,3439-3742,3746-3747,3749,3751,3753-3786,3788-3789,3791-3792,3794-3803,3805-3809,3813-3918,3920,3922,3924,3926-3927,3929-3933,3935-3939,3941,3943-3945,3947-3957,3960-3961,3963-3966,3968-3970,3972-3973,3976,3978-3981,3983-4003,4005,4007-4008,4011-4023,4025,4027-4032,4034-4045,4047-4062,4065,4068-4070,4072-4073,4075-4080,4082-4083,4085-4095,4097-4100,4104-4114,4116-4122,4124-4127,4129-4141,4143-4149,4151-4159,4161-4170,4172-4197:s:1-3940
+goog-phish-shavar;a:27,60,79,90,93,105-106,3257,3331-3332,3338-3339,3347-3349,3351,3356-3358,3371,3442,3475,3478,3491,3498,3517,3576,3590-3591,3600-3602,3612,3715,3722-3723,3728,3733,3853,3997,4041-4043,4111,4152,4173-4174,4243,4258,4260,4275,4279,4305,4323,4330,4386,4403,4415,4520,4556,4562,4660-4661,4669,4679-4680,4684,4741,4814,4816,4822,4933,4938,4940,4961,4964,5068,5079,5081,5084,5110-5111,5116,5140,5193,5222,5236,5250,5313,5328,5351,5353,5358,5394-5395,5412,5444,5461-5463,5466-5467,5470,5475,5518-5519,5574,5587,5623,5714-5715,5730-5731,5734,5772,5810,5877,5939,5955,5957,6028,6039,6076,6084,6089,6120,6122,6147,6165,6177,6233,6280,6286,6364,6391,6407-6408,6429,6479,6508-6509,6537,6541,6551,6553,6572-6574,6576,6578-6580,6582-6583,6585-6587,6589-6598,6600,6603-6605,6607-6613,6615,6617-6618,6620-6625,6627-6632,6634-6635,6637-6638,6641-6642,6644-6649,6651-6652,6655-6657,6659,6661-6668,6670-6693,6695,6697-6699,6701-6706,6708-6728,6730-6732,6734,6736-6752,6754-6757,6759-6798,6800-6830,6832-6838,6840,6842-6844,6846-6852,6854,6856-6865,6867-6869,6872-6876,6878,6880-6886,6888-6910,6912,6914-6916,6918-6933,6935-6950,6953-6954,6957-6959,6963,6965-6977,6979-6980,6982-6992,6994-6999,7001-7008,7010-7012,7014-7023,7025-7027,7029-7037,7039-7063,7065-7078,7080-7084,7087-7088,7090-7106,7108-7116,7118-7121,7123,7126-7134,7136-7142,7144-7150,7152-7159,7161-7173,7175-7188,7191-7192,7194-7200,7202-7207,7209-7221,7223-7226,7228-7230,7232-7234,7236-7246,7248-7252,7255-7259,7261-7262,7264-7276,7278-7280,7282-7284,7286-7291,7293-7300,7302-7328,7330-7336,7338-7341,7343-7347,7349-7369,7371-7375,7377-7379,7381-7390,7396-7401,7403-7404,7406,7409-7410,7412-7414,7417-7427,7429-7430,7432-7435,7437-7443,7445-7447,7449-7451,7453-7456,7458,7460,7462-7477,7480-7489,7491,7493-7495,7497-7498,7500-7501,7503,7505,7507-7510,7512-7513,7515-7520,7522-7531,7533-7537,7540-7549,7551-7552,7554,7556,7558-7561,7563-7585,7587-7590,7593-7595,7597,7599-7608,7610-7612,7614-7616,7618-7624,7626,7628-7635,7637-7638,7640-7648,7650-7653,7655-7660,7662-7684,7686-7723,7726-7750,7752-7757,7759-7765,7768-7783,7786-7789,7791-7805,7807-7809,7811-7813,7815-7821,7823-7841,7843-7857,7859-7870,7872,7874-7876,7878-7879,7881,7883-7891,7893-7897,7899-7902,7904-7906,7908-7918,7920-7926,7928-7946,7948-8008,8010-8016,8018-8019,8021-8024,8026-8029,8031,8033-8045,8048-8049,8051-8087,8089-8134,8136-8146,8148-8152,8155-8195,8197-8215,8217-8219,8221-8222,8224-8259,8261-8263,8266-8282,8284-8287,8289-8292,8294,8296-8297,8300-8302,8304-8307,8309-8335,8337-8339,8341-8356,8358-8359,8361-8391,8393-8399,8402,8404-8409,8412-8419,8421-8425,8427,8431-8433,8435-8439,8441-8443,8446,8448-8464,8466,8468-8469,8471-8478,8480-8497,8499-8500,8502-8504,8506-8507,8510-8511,8513-8517,8519-8522,8524-8525,8527-8531,8533,8538-8539,8541-8546,8548-8552,8554-8570,8572,8574-8576,8578,8580-8597,8599-8619,8621-8638,8640-8661,8663-8684,8686-8689,8691-8706,8708-8731,8733-8736,8738-8762,8764-8777,8779-8782,8785-8788,8790-8797,8799-8801,8803-8813,8815-8833,8835-8837,8839-8848,8851-8856,8858-8867,8869-8890,8892-8893,8895-8899,8901-8915,8919-8925,8927,8932,8936-8940,8942-8943,8946,8948-8949,8951-8952,8955,8957,8959-8967,8970-8973,8975-8990,8992-8997,8999-9015,9017-9018,9020-9023,9025-9028,9030-9032,9034-9038,9040-9041,9044-9053,9055,9057-9058,9060-9127,9129-9138,9140-9142,9144-9150,9152,9154-9169,9171,9173-9178,9181-9183,9185-9197,9199-9202,9205-9209,9211-9212,9214-9215,9218-9219,9221-9232,9234-9238,9240-9278,9280-9287,9289,9291,9293-9303,9305-9306,9308-9310,9313-9315,9317-9321,9323-9326,9328-9331,9333,9335,9337,9339-9341,9343-9349,9352-9353,9355,9357-9362,9364-9367,9370-9382,9384-9401,9404-9406,9408-9411,9413-9424,9426-9444,9446-9448,9450-9465,9468-9471,9473-9475,9477,9479-9483,9486-9489,9491-9500,9502-9530,9532-9533,9535-9553,9555-9595,9597-9601,9603-9604,9606-9623,9625-9646,9648-9675,9677-9681,9683-9690,9692-9693,9695-9699,9701-9737,9739-9803,9805-9825,9827-9850,9852-9868,9870-9900,9902-9938,9940-9981,9983-10012,10014-10080,10082-10092,10094-10098,10100-10109,10111-10123,10125-10140,10142-10158,10160-10174,10176-10217,10219-10226,10228-10234,10236-10238,10241-10251,10253-10267,10271-10284,10286-10300,10302-10303,10305-10314,10316-10318,10320-10321,10323-10327,10329-10337,10339-10344,10346-10359,10361-10366,10368-10393,10395-10424,10426-10463,10465-10467,10470-10481,10484-10498,10501-10548,10550-10575,10578-10589,10591-10705,10707-10722,10724-10733,10735-10739,10741-10758,10760-10781,10783-10873,10875-10929,10931-10994,10996-11004,11006-11029,11031-11039,11041-11067:s:1-2045,2051-2060,2066-2100,2106-2110,2116-2145,2151-2160,2171-2180,2196-2260,2266-2280,2286-2325,2331-9209
diff --git a/chrome/test/data/safe_browsing/old/response b/chrome/test/data/safe_browsing/old/response
new file mode 100644
index 0000000..9e8dc94
--- /dev/null
+++ b/chrome/test/data/safe_browsing/old/response
@@ -0,0 +1,48 @@
+n:1835
+i:goog-malware-shavar
+ad:8,38,40-43,67,75,105,112-113,141,148,196,250-251,253,277,280,289,340,368,371,409,425,475,507,575,609,614,632,637,668,673,691,695,697,701,709-711,714,718,720-722,725-727,734,748,750,764,766,772,776,790,798-799,801,813,816,836,838-839,850,855,862,864,872,892,898,911,941,987,1001,1023,1026,1029,1031,1065,1069,1087,1094,1100,1107,1111,1115,1126,1129,1158,1172,1177,1182,1198,1202-1203,1219,1224,1230,1233-1234,1244,1265,1267,1275,1304,1314,1343,1346,1356,1359-1360,1368,1374,1391,1411,1413,1417,1427,1436,1444-1445,1452-1453,1455-1456,1459-1460,1462,1477,1484,1493,1510,1512,1539,1546,1554,1574,1594,1629,1726,1748,1753-1754,1774,1792,1824-1826,1884,1894,1897,1901-1903,1906,1974,1983,2026,2029,2036-2037,2041,2043,2045,2065,2116,2186,2192,2200,2204,2217-2218,2433,2437,2453,2455,2462,2464,2510,2535,2543,2546,2557,2585,2587,2592,2596-2597,2615,2645-2646,2691-2692,2698-2699,2711,2723,2753,2768-2769,2771,2783,2792,2794,2819,2842,2911,3032,3197,3208,3216,3221,3229,3234,3236-3237,3242,3255,3258,3265,3272-3274,3280,3286,3291-3294,3305,3328,3394,3423,3434,3746,3754,3785-3786,3797,3799,3806-3807,3896,3914,3917,3924,3927,3937,3941,3945,3952,3957,3969,3978-3979,3981,3984-3986,3991,3993,4015,4020-4022,4029-4030,4034,4038,4048,4051-4054,4069,4072,4076,4078,4080,4082,4085,4088-4089,4094,4104,4107,4114,4119-4121,4124,4126,4129,4131,4135,4139,4147,4152-4153,4158-4159,4163-4165,4167,4169,4178,4180,4182,4184,4187,4189-4191
+u:s.ytimg.com/safebrowsing/rd/goog-malware-shavar_s_3921-4000:3921-4000
+u:s.ytimg.com/safebrowsing/rd/goog-malware-shavar_s_4001-4080:4001-4080
+u:s.ytimg.com/safebrowsing/rd/goog-malware-shavar_s_4081-4160:4081-4160
+u:s.ytimg.com/safebrowsing/rd/goog-malware-shavar_s_4161-4240:4161-4240
+u:s.ytimg.com/safebrowsing/rd/goog-malware-shavar_s_4241-4280:4241-4280
+u:s.ytimg.com/safebrowsing/rd/goog-malware-shavar_s_4281-4320:4281-4320
+u:s.ytimg.com/safebrowsing/rd/goog-malware-shavar_s_4321-4400:4321-4400
+u:s.ytimg.com/safebrowsing/rd/goog-malware-shavar_s_4401-4480:4401-4418
+u:s.ytimg.com/safebrowsing/rd/goog-malware-shavar_a_4161-4320:4161-4162,4166,4168,4170,4172-4177,4179,4181,4183,4185-4186,4188,4192-4198,4208-4215,4219,4221-4224,4226-4231,4233-4235,4240-4242,4244-4246,4248-4251,4253-4262,4265-4269,4272,4274,4276-4279,4281-4283,4285-4289,4291-4300,4302-4303,4305-4311,4313-4314,4316,4318-4320
+u:s.ytimg.com/safebrowsing/rd/goog-malware-shavar_a_4321-4480:4321-4324,4326-4342,4344-4347,4349-4352,4354,4356,4358-4373,4375-4381,4383-4386,4389-4394,4396-4399,4401-4407,4409-4411,4413,4416-4423,4425-4426,4428,4430-4435,4438-4446,4448-4456,4458-4464,4466-4477,4479-4480
+u:s.ytimg.com/safebrowsing/rd/goog-malware-shavar_a_4481-4640:4481-4503,4505-4513,4515-4518,4520-4530
+i:goog-phish-shavar
+ad:27,60,90,93,105-106,3257,3331-3332,3338-3339,3347-3349,3351,3356-3358,3371,3442,3475,3478,3491,3498,3517,3576,3590-3591,3600-3602,3612,3715,3722-3723,3728,3733,3853,3997,4041-4043,4111,4152,4173-4174,4243,4258,4260,4275,4279,4305,4323,4330,4386,4403,4415,4520,4556,4562,4660-4661,4669,4679-4680,4684,4741,4814,4816,4822,4933,4938,4940,4961,4964,5068,5079,5081,5084,5110-5111,5116,5140,5193,5222,5236,5250,5328,5351,5353,5358,5394-5395,5412,5444,5461-5463,5466-5467,5470,5475,5518-5519,5574,5587,5623,5714,5730-5731,5734,5772,5955,6028,6076,6089,6165,6177,6280,6479,6551,6553,6572-6574,6576,6578-6580,6582-6583,6585-6587,6589-6598,6600,6603-6605,6607-6613,6615,6617-6618,6620-6625,6627-6632,6634-6635,6637-6638,6641-6642,6644-6649,6651-6652,6655-6657,6659,6661-6668,6670-6679,6681-6693,6695,6697-6699,6701-6706,6708-6727,6730-6732,6734,6736-6740,6742-6745,6747-6752,6755-6757,6759-6768,6770-6798,6800-6830,6832-6838,6840,6842-6844,6846-6852,6854,6856-6865,6867-6869,6872-6876,6878,6880-6886,6888-6901,6903,6905-6906,6908-6910,6912,6915,6919-6933,6935-6942,6944-6950,6953-6954,6957-6959,6963,6965-6977,6979-6980,6982-6992,6994-6999,7001,7004-7007,7012,7014-7023,7025-7027,7029-7032,7034-7037,7039-7040,7043,7045,7047,7049-7057,7061-7063,7065-7078,7080-7084,7087-7088,7090-7106,7108-7116,7118-7121,7123,7126-7130,7132,7136-7142,7146-7150,7152-7159,7161-7163,7165-7170,7172,7175-7179,7181-7188,7191-7192,7194-7200,7202-7207,7209-7219,7221,7223-7226,7228-7230,7232-7234,7236,7238-7246,7248-7252,7255-7257,7259,7261-7262,7265,7267-7276,7278-7280,7282-7284,7287,7289-7291,7293-7300,7302-7306,7308,7310-7328,7330-7336,7338-7341,7343,7345-7347,7349-7369,7371-7375,7377-7379,7381-7390,7396-7401,7403-7404,7406,7409-7410,7412-7414,7417-7427,7429-7430,7432-7435,7437-7443,7445-7447,7449-7451,7453-7456,7458,7460,7462-7477,7480-7489,7493-7495,7497-7498,7500-7501,7503,7505,7507-7509,7512-7513,7515-7517,7519-7520,7522-7526,7528-7531,7533-7537,7540-7549,7551-7552,7554,7556,7558-7561,7563-7585,7587-7590,7593-7595,7597,7599-7608,7610-7612,7614-7616,7618-7624,7626,7628-7629,7631-7632,7634,7638,7640-7648,7650-7651,7653,7655-7660,7662-7675,7678-7684,7686-7723,7726-7736,7739-7750,7752-7757,7759-7765,7768-7775,7777-7783,7786-7789,7791-7805,7807-7809,7811-7813,7815-7821,7823-7841,7843-7857,7859-7870,7872,7874-7876,7878-7879,7881,7883-7887,7889-7891,7893-7897,7899-7902,7904-7906,7908-7909,7911-7913,7915,7917-7918,7920-7925,7928-7946,7948-8008,8010-8016,8018-8019,8021-8024,8026-8029,8031,8033-8045,8048-8049,8052-8087,8089-8134,8136-8146,8148-8152,8155-8176,8178-8179,8181-8195,8197-8215,8217-8219,8221-8222,8224-8234,8236-8259,8261-8263,8266-8282,8284-8287,8289-8292,8294,8296-8297,8300-8302,8304-8307,8309-8335,8337-8339,8341,8343-8356,8358-8359,8361-8391,8393-8399,8402,8404-8409,8412-8419,8421-8425,8427,8431-8433,8435-8439,8441-8443,8446,8448-8464,8466,8468-8469,8471-8478,8480-8497,8499-8500,8502-8504,8506-8507,8510-8511,8513-8517,8519-8522,8524-8525,8527-8531,8533,8538-8539,8541-8543,8545-8546,8548-8552,8554-8562,8564-8570,8572,8574-8576,8578,8580-8597,8599-8619,8621-8636,8638,8640-8661,8663-8674,8676-8684,8686-8689,8691-8701,8703,8705-8706,8708-8712,8714-8729,8731,8733-8736,8738-8743,8746-8762,8764-8777,8779-8782,8785-8788,8790-8795,8797,8799-8801,8803-8813,8815-8821,8823-8824,8826-8833,8835-8837,8839-8848,8851-8856,8859,8861-8867,8869-8890,8892-8893,8895-8899,8901-8915,8919-8925,8927,8932,8936-8940,8942-8943,8946,8949,8952,8955,8957,8960-8961,8963-8967,8970-8973,8975-8990,8992-8995,8999-9012,9014-9015,9020-9021,9023,9025-9028,9030-9032,9034-9038,9040-9041,9045,9065,9073,9079,9100-9101,9107,9169,9187,9189,9193,9205,9215,9229-9230,9232,9234-9235,9241,9249,9253,9274,9276,9293,9333,9349,9373,9377,9382,9392,9394,9457,9528,9544,9558,9569,9572,9606,9677,9722,9748,9757,9808,9821,9866,9888,9891,9895,9916,9935,9957,9965,9969,9979,9986,10002,10005,10007,10023,10033,10051,10076,10078,10080,10098,10111,10193,10213-10214,10222,10224,10230,10237,10250,10272,10279,10434,10456,10481,10527,10584,10732,10813,10844-10845,10852,10911,10913,10956,10969,10982,10994,11008,11017,11032,11035,11055-11056,11058-11059,11064
+u:s.ytimg.com/safebrowsing/rd/goog-phish-shavar_s_9121-9280:9121-9280
+u:s.ytimg.com/safebrowsing/rd/goog-phish-shavar_s_9281-9440:9281-9440
+u:s.ytimg.com/safebrowsing/rd/goog-phish-shavar_s_9441-9600:9441-9600
+u:s.ytimg.com/safebrowsing/rd/goog-phish-shavar_s_9601-9760:9601-9760
+u:s.ytimg.com/safebrowsing/rd/goog-phish-shavar_s_9761-9920:9761-9920
+u:s.ytimg.com/safebrowsing/rd/goog-phish-shavar_s_9921-10080:9921-10080
+u:s.ytimg.com/safebrowsing/rd/goog-phish-shavar_s_10081-10240:10081-10240
+u:s.ytimg.com/safebrowsing/rd/goog-phish-shavar_s_10241-10400:10241-10303,10305-10306,10308-10309,10311-10313,10316-10323,10325-10335,10337-10344,10346,10349-10351,10353,10356-10361,10363-10370,10372-10373,10375-10378,10380-10394,10396-10399
+u:s.ytimg.com/safebrowsing/rd/goog-phish-shavar_s_10401-10405:10401-10405
+u:s.ytimg.com/safebrowsing/rd/goog-phish-shavar_s_10411-10415:10411-10415
+u:s.ytimg.com/safebrowsing/rd/goog-phish-shavar_s_10426-10430:10426-10430
+u:s.ytimg.com/safebrowsing/rd/goog-phish-shavar_s_10431-10435:10432-10435
+u:s.ytimg.com/safebrowsing/rd/goog-phish-shavar_s_10436-10440:10436,10438-10440
+u:s.ytimg.com/safebrowsing/rd/goog-phish-shavar_s_10441-10460:10441-10445,10447,10449-10456,10458-10459
+u:s.ytimg.com/safebrowsing/rd/goog-phish-shavar_s_10461-10465:10461-10463,10465
+u:s.ytimg.com/safebrowsing/rd/goog-phish-shavar_s_10481-10485:10481,10483-10485
+u:s.ytimg.com/safebrowsing/rd/goog-phish-shavar_s_10491-10495:10491,10493-10494
+u:s.ytimg.com/safebrowsing/rd/goog-phish-shavar_s_10501-10520:10501-10502,10506-10510,10513-10520
+u:s.ytimg.com/safebrowsing/rd/goog-phish-shavar_s_10521-10525:10521-10525
+u:s.ytimg.com/safebrowsing/rd/goog-phish-shavar_s_10531-10535:10531-10535
+u:s.ytimg.com/safebrowsing/rd/goog-phish-shavar_s_10536-10540:10536-10540
+u:s.ytimg.com/safebrowsing/rd/goog-phish-shavar_s_10546-10550:10546,10548-10550
+u:s.ytimg.com/safebrowsing/rd/goog-phish-shavar_s_10551-10555:10551-10555
+u:s.ytimg.com/safebrowsing/rd/goog-phish-shavar_s_10561-10720:10561-10568,10571-10578,10580-10600,10602-10610,10612-10614,10616-10618,10620-10630,10632-10636,10638-10644,10646-10647,10649-10660,10662-10665,10667-10673,10675,10677-10694,10696-10697,10699-10704,10708-10709,10711-10719
+u:s.ytimg.com/safebrowsing/rd/goog-phish-shavar_s_10721-10880:10721,10723-10726,10728-10730,10732,10734-10736,10738,10741-10753,10755-10756,10758,10760-10761,10763-10767,10770,10772-10774,10776-10777,10780-10781,10783-10790,10792-10816,10818-10824,10826-10828,10830-10848,10851-10853,10855-10856,10858-10862,10864,10866-10880
+u:s.ytimg.com/safebrowsing/rd/goog-phish-shavar_s_10881-11040:10881-10915,10917-10921,10923-10924,10926-10927,10929-10935,10937-10949,10951-10952,10954-11012,11014-11040
+u:s.ytimg.com/safebrowsing/rd/goog-phish-shavar_s_11041-11200:11041,11043-11046,11048-11086
+u:s.ytimg.com/safebrowsing/rd/goog-phish-shavar_a_12801-12960:12801-12814,12816-12827,12830-12833,12835-12870,12873-12878,12880-12883,12885-12888,12890-12932,12934-12937,12939-12944,12946-12953,12955-12957,12959-12960
+u:s.ytimg.com/safebrowsing/rd/goog-phish-shavar_a_12961-13120:12961,12963-12969,12971-12973,12975-13012,13014-13048,13050-13076,13078-13120
+u:s.ytimg.com/safebrowsing/rd/goog-phish-shavar_a_13121-13280:13121-13169,13171-13188,13190-13196,13198-13207,13209-13280
+u:s.ytimg.com/safebrowsing/rd/goog-phish-shavar_a_13281-13440:13281-13392,13394-13406,13408-13440
+u:s.ytimg.com/safebrowsing/rd/goog-phish-shavar_a_13441-13600:13441-13453,13455-13511,13513-13596
diff --git a/chrome/test/data/safe_browsing/old/updates/000goog-malware-shavar_s b/chrome/test/data/safe_browsing/old/updates/000goog-malware-shavar_s
new file mode 100644
index 0000000..c13fbc3
--- /dev/null
+++ b/chrome/test/data/safe_browsing/old/updates/000goog-malware-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/old/updates/001goog-malware-shavar_s b/chrome/test/data/safe_browsing/old/updates/001goog-malware-shavar_s
new file mode 100644
index 0000000..8e30acb
--- /dev/null
+++ b/chrome/test/data/safe_browsing/old/updates/001goog-malware-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/old/updates/002goog-malware-shavar_s b/chrome/test/data/safe_browsing/old/updates/002goog-malware-shavar_s
new file mode 100644
index 0000000..58ccc45
--- /dev/null
+++ b/chrome/test/data/safe_browsing/old/updates/002goog-malware-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/old/updates/003goog-malware-shavar_s b/chrome/test/data/safe_browsing/old/updates/003goog-malware-shavar_s
new file mode 100644
index 0000000..ebca6c6
--- /dev/null
+++ b/chrome/test/data/safe_browsing/old/updates/003goog-malware-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/old/updates/004goog-malware-shavar_s b/chrome/test/data/safe_browsing/old/updates/004goog-malware-shavar_s
new file mode 100644
index 0000000..83762db
--- /dev/null
+++ b/chrome/test/data/safe_browsing/old/updates/004goog-malware-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/old/updates/005goog-malware-shavar_s b/chrome/test/data/safe_browsing/old/updates/005goog-malware-shavar_s
new file mode 100644
index 0000000..e815f48
--- /dev/null
+++ b/chrome/test/data/safe_browsing/old/updates/005goog-malware-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/old/updates/006goog-malware-shavar_s b/chrome/test/data/safe_browsing/old/updates/006goog-malware-shavar_s
new file mode 100644
index 0000000..67aaa32
--- /dev/null
+++ b/chrome/test/data/safe_browsing/old/updates/006goog-malware-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/old/updates/007goog-malware-shavar_s b/chrome/test/data/safe_browsing/old/updates/007goog-malware-shavar_s
new file mode 100644
index 0000000..bfdf3ae0
--- /dev/null
+++ b/chrome/test/data/safe_browsing/old/updates/007goog-malware-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/old/updates/008goog-malware-shavar_a b/chrome/test/data/safe_browsing/old/updates/008goog-malware-shavar_a
new file mode 100644
index 0000000..567036e
--- /dev/null
+++ b/chrome/test/data/safe_browsing/old/updates/008goog-malware-shavar_a
Binary files differ
diff --git a/chrome/test/data/safe_browsing/old/updates/009goog-malware-shavar_a b/chrome/test/data/safe_browsing/old/updates/009goog-malware-shavar_a
new file mode 100644
index 0000000..530176e
--- /dev/null
+++ b/chrome/test/data/safe_browsing/old/updates/009goog-malware-shavar_a
Binary files differ
diff --git a/chrome/test/data/safe_browsing/old/updates/010goog-malware-shavar_a b/chrome/test/data/safe_browsing/old/updates/010goog-malware-shavar_a
new file mode 100644
index 0000000..86aeae0
--- /dev/null
+++ b/chrome/test/data/safe_browsing/old/updates/010goog-malware-shavar_a
Binary files differ
diff --git a/chrome/test/data/safe_browsing/old/updates/011goog-phish-shavar_s b/chrome/test/data/safe_browsing/old/updates/011goog-phish-shavar_s
new file mode 100644
index 0000000..b5f45ac
--- /dev/null
+++ b/chrome/test/data/safe_browsing/old/updates/011goog-phish-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/old/updates/012goog-phish-shavar_s b/chrome/test/data/safe_browsing/old/updates/012goog-phish-shavar_s
new file mode 100644
index 0000000..f290c4c
--- /dev/null
+++ b/chrome/test/data/safe_browsing/old/updates/012goog-phish-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/old/updates/013goog-phish-shavar_s b/chrome/test/data/safe_browsing/old/updates/013goog-phish-shavar_s
new file mode 100644
index 0000000..4fd80ca
--- /dev/null
+++ b/chrome/test/data/safe_browsing/old/updates/013goog-phish-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/old/updates/014goog-phish-shavar_s b/chrome/test/data/safe_browsing/old/updates/014goog-phish-shavar_s
new file mode 100644
index 0000000..1d4aaf5
--- /dev/null
+++ b/chrome/test/data/safe_browsing/old/updates/014goog-phish-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/old/updates/015goog-phish-shavar_s b/chrome/test/data/safe_browsing/old/updates/015goog-phish-shavar_s
new file mode 100644
index 0000000..1239e9d
--- /dev/null
+++ b/chrome/test/data/safe_browsing/old/updates/015goog-phish-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/old/updates/016goog-phish-shavar_s b/chrome/test/data/safe_browsing/old/updates/016goog-phish-shavar_s
new file mode 100644
index 0000000..c6ed638
--- /dev/null
+++ b/chrome/test/data/safe_browsing/old/updates/016goog-phish-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/old/updates/017goog-phish-shavar_s b/chrome/test/data/safe_browsing/old/updates/017goog-phish-shavar_s
new file mode 100644
index 0000000..7f6b873
--- /dev/null
+++ b/chrome/test/data/safe_browsing/old/updates/017goog-phish-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/old/updates/018goog-phish-shavar_s b/chrome/test/data/safe_browsing/old/updates/018goog-phish-shavar_s
new file mode 100644
index 0000000..376cc76
--- /dev/null
+++ b/chrome/test/data/safe_browsing/old/updates/018goog-phish-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/old/updates/019goog-phish-shavar_s b/chrome/test/data/safe_browsing/old/updates/019goog-phish-shavar_s
new file mode 100644
index 0000000..77a5f13
--- /dev/null
+++ b/chrome/test/data/safe_browsing/old/updates/019goog-phish-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/old/updates/020goog-phish-shavar_s b/chrome/test/data/safe_browsing/old/updates/020goog-phish-shavar_s
new file mode 100644
index 0000000..b30ea59
--- /dev/null
+++ b/chrome/test/data/safe_browsing/old/updates/020goog-phish-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/old/updates/021goog-phish-shavar_s b/chrome/test/data/safe_browsing/old/updates/021goog-phish-shavar_s
new file mode 100644
index 0000000..19fc988
--- /dev/null
+++ b/chrome/test/data/safe_browsing/old/updates/021goog-phish-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/old/updates/022goog-phish-shavar_s b/chrome/test/data/safe_browsing/old/updates/022goog-phish-shavar_s
new file mode 100644
index 0000000..e2b1119
--- /dev/null
+++ b/chrome/test/data/safe_browsing/old/updates/022goog-phish-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/old/updates/023goog-phish-shavar_s b/chrome/test/data/safe_browsing/old/updates/023goog-phish-shavar_s
new file mode 100644
index 0000000..e0981c9
--- /dev/null
+++ b/chrome/test/data/safe_browsing/old/updates/023goog-phish-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/old/updates/024goog-phish-shavar_s b/chrome/test/data/safe_browsing/old/updates/024goog-phish-shavar_s
new file mode 100644
index 0000000..40da8ddf
--- /dev/null
+++ b/chrome/test/data/safe_browsing/old/updates/024goog-phish-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/old/updates/025goog-phish-shavar_s b/chrome/test/data/safe_browsing/old/updates/025goog-phish-shavar_s
new file mode 100644
index 0000000..1192843
--- /dev/null
+++ b/chrome/test/data/safe_browsing/old/updates/025goog-phish-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/old/updates/026goog-phish-shavar_s b/chrome/test/data/safe_browsing/old/updates/026goog-phish-shavar_s
new file mode 100644
index 0000000..d46be87
--- /dev/null
+++ b/chrome/test/data/safe_browsing/old/updates/026goog-phish-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/old/updates/027goog-phish-shavar_s b/chrome/test/data/safe_browsing/old/updates/027goog-phish-shavar_s
new file mode 100644
index 0000000..c0bd6fe
--- /dev/null
+++ b/chrome/test/data/safe_browsing/old/updates/027goog-phish-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/old/updates/028goog-phish-shavar_s b/chrome/test/data/safe_browsing/old/updates/028goog-phish-shavar_s
new file mode 100644
index 0000000..db057c3
--- /dev/null
+++ b/chrome/test/data/safe_browsing/old/updates/028goog-phish-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/old/updates/029goog-phish-shavar_s b/chrome/test/data/safe_browsing/old/updates/029goog-phish-shavar_s
new file mode 100644
index 0000000..9aab307
--- /dev/null
+++ b/chrome/test/data/safe_browsing/old/updates/029goog-phish-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/old/updates/030goog-phish-shavar_s b/chrome/test/data/safe_browsing/old/updates/030goog-phish-shavar_s
new file mode 100644
index 0000000..81d3e0d
--- /dev/null
+++ b/chrome/test/data/safe_browsing/old/updates/030goog-phish-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/old/updates/031goog-phish-shavar_s b/chrome/test/data/safe_browsing/old/updates/031goog-phish-shavar_s
new file mode 100644
index 0000000..ed17d3d
--- /dev/null
+++ b/chrome/test/data/safe_browsing/old/updates/031goog-phish-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/old/updates/032goog-phish-shavar_s b/chrome/test/data/safe_browsing/old/updates/032goog-phish-shavar_s
new file mode 100644
index 0000000..f3bf19d
--- /dev/null
+++ b/chrome/test/data/safe_browsing/old/updates/032goog-phish-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/old/updates/033goog-phish-shavar_s b/chrome/test/data/safe_browsing/old/updates/033goog-phish-shavar_s
new file mode 100644
index 0000000..bdc5225
--- /dev/null
+++ b/chrome/test/data/safe_browsing/old/updates/033goog-phish-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/old/updates/034goog-phish-shavar_s b/chrome/test/data/safe_browsing/old/updates/034goog-phish-shavar_s
new file mode 100644
index 0000000..7484012
--- /dev/null
+++ b/chrome/test/data/safe_browsing/old/updates/034goog-phish-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/old/updates/035goog-phish-shavar_s b/chrome/test/data/safe_browsing/old/updates/035goog-phish-shavar_s
new file mode 100644
index 0000000..b47101a
--- /dev/null
+++ b/chrome/test/data/safe_browsing/old/updates/035goog-phish-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/old/updates/036goog-phish-shavar_s b/chrome/test/data/safe_browsing/old/updates/036goog-phish-shavar_s
new file mode 100644
index 0000000..b968557
--- /dev/null
+++ b/chrome/test/data/safe_browsing/old/updates/036goog-phish-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/old/updates/037goog-phish-shavar_s b/chrome/test/data/safe_browsing/old/updates/037goog-phish-shavar_s
new file mode 100644
index 0000000..9b4c333
--- /dev/null
+++ b/chrome/test/data/safe_browsing/old/updates/037goog-phish-shavar_s
Binary files differ
diff --git a/chrome/test/data/safe_browsing/old/updates/038goog-phish-shavar_a b/chrome/test/data/safe_browsing/old/updates/038goog-phish-shavar_a
new file mode 100644
index 0000000..1010871
--- /dev/null
+++ b/chrome/test/data/safe_browsing/old/updates/038goog-phish-shavar_a
Binary files differ
diff --git a/chrome/test/data/safe_browsing/old/updates/039goog-phish-shavar_a b/chrome/test/data/safe_browsing/old/updates/039goog-phish-shavar_a
new file mode 100644
index 0000000..666eeba
--- /dev/null
+++ b/chrome/test/data/safe_browsing/old/updates/039goog-phish-shavar_a
Binary files differ
diff --git a/chrome/test/data/safe_browsing/old/updates/040goog-phish-shavar_a b/chrome/test/data/safe_browsing/old/updates/040goog-phish-shavar_a
new file mode 100644
index 0000000..435c037
--- /dev/null
+++ b/chrome/test/data/safe_browsing/old/updates/040goog-phish-shavar_a
Binary files differ
diff --git a/chrome/test/data/safe_browsing/old/updates/041goog-phish-shavar_a b/chrome/test/data/safe_browsing/old/updates/041goog-phish-shavar_a
new file mode 100644
index 0000000..e13aab7
--- /dev/null
+++ b/chrome/test/data/safe_browsing/old/updates/041goog-phish-shavar_a
Binary files differ
diff --git a/chrome/test/data/safe_browsing/old/updates/042goog-phish-shavar_a b/chrome/test/data/safe_browsing/old/updates/042goog-phish-shavar_a
new file mode 100644
index 0000000..7179c57
--- /dev/null
+++ b/chrome/test/data/safe_browsing/old/updates/042goog-phish-shavar_a
Binary files differ
diff --git a/chrome/test/data/save_page/1.css b/chrome/test/data/save_page/1.css
new file mode 100644
index 0000000..750524d
--- /dev/null
+++ b/chrome/test/data/save_page/1.css
@@ -0,0 +1,3 @@
+body {
+ font-size: 20px;
+} \ No newline at end of file
diff --git a/chrome/test/data/save_page/1.png b/chrome/test/data/save_page/1.png
new file mode 100644
index 0000000..393f0ea
--- /dev/null
+++ b/chrome/test/data/save_page/1.png
Binary files differ
diff --git a/chrome/test/data/save_page/a.htm b/chrome/test/data/save_page/a.htm
new file mode 100644
index 0000000..986258b
--- /dev/null
+++ b/chrome/test/data/save_page/a.htm
@@ -0,0 +1,10 @@
+<html>
+ <head>
+ <title>
+ Test page for saving page feature
+ </title>
+ </head>
+ <body>
+ Can you see this sentence?
+ </body>
+</html> \ No newline at end of file
diff --git a/chrome/test/data/save_page/b.htm b/chrome/test/data/save_page/b.htm
new file mode 100644
index 0000000..485468b
--- /dev/null
+++ b/chrome/test/data/save_page/b.htm
@@ -0,0 +1,12 @@
+<html>
+ <head>
+ <title>
+ Test page for saving page feature
+ </title>
+ <link type="text/css" href="1.css" rel="stylesheet">
+ </head>
+ <body>
+ The picture below is the back button.<br>
+ <img src="1.png"> </img>
+ </body>
+</html> \ No newline at end of file
diff --git a/chrome/test/data/serializer_nested_test.js b/chrome/test/data/serializer_nested_test.js
new file mode 100644
index 0000000..cfea8e8
--- /dev/null
+++ b/chrome/test/data/serializer_nested_test.js
@@ -0,0 +1,17 @@
+{
+ "bool": true,
+ "dict": {
+ "bool": true,
+ "dict": {
+ "bees": "knees",
+ "cats": "meow"
+ },
+ "foos": "bar",
+ "list": [ 3.4, "second", null ]
+ },
+ "int": 42,
+ "list": [ 1, 2 ],
+ "null": null,
+ "real": 3.14,
+ "string": "hello"
+}
diff --git a/chrome/test/data/serializer_test.js b/chrome/test/data/serializer_test.js
new file mode 100644
index 0000000..446925e
--- /dev/null
+++ b/chrome/test/data/serializer_test.js
@@ -0,0 +1,8 @@
+{
+ "bool": true,
+ "int": 42,
+ "list": [ 1, 2 ],
+ "null": null,
+ "real": 3.14,
+ "string": "hello"
+}
diff --git a/chrome/test/data/serializer_test_nowhitespace.js b/chrome/test/data/serializer_test_nowhitespace.js
new file mode 100644
index 0000000..a1afdc5
--- /dev/null
+++ b/chrome/test/data/serializer_test_nowhitespace.js
@@ -0,0 +1 @@
+{"bool":true,"int":42,"list":[1,2],"null":null,"real":3.14,"string":"hello"} \ No newline at end of file
diff --git a/chrome/test/data/server-unavailable.html b/chrome/test/data/server-unavailable.html
new file mode 100644
index 0000000..364322d
--- /dev/null
+++ b/chrome/test/data/server-unavailable.html
@@ -0,0 +1 @@
+This file is boring; all the action's in the .mock-http-headers.
diff --git a/chrome/test/data/server-unavailable.html.mock-http-headers b/chrome/test/data/server-unavailable.html.mock-http-headers
new file mode 100644
index 0000000..5dd521b
--- /dev/null
+++ b/chrome/test/data/server-unavailable.html.mock-http-headers
@@ -0,0 +1,2 @@
+HTTP/1.0 503 Service Unavailable
+Content-type: text/html
diff --git a/chrome/test/data/session_history/bot1.html b/chrome/test/data/session_history/bot1.html
new file mode 100644
index 0000000..e213c72
--- /dev/null
+++ b/chrome/test/data/session_history/bot1.html
@@ -0,0 +1,6 @@
+<html>
+<head><title>bot1</title></head>
+<body>
+This is the bottom frame #1. Tests will load here.
+</body>
+</html>
diff --git a/chrome/test/data/session_history/bot2.html b/chrome/test/data/session_history/bot2.html
new file mode 100644
index 0000000..5d0228c
--- /dev/null
+++ b/chrome/test/data/session_history/bot2.html
@@ -0,0 +1,6 @@
+<html>
+<head><title>bot2</title></head>
+<body>
+This is the bottom frame #2.
+</body>
+</html>
diff --git a/chrome/test/data/session_history/bot3.html b/chrome/test/data/session_history/bot3.html
new file mode 100644
index 0000000..deb7837
--- /dev/null
+++ b/chrome/test/data/session_history/bot3.html
@@ -0,0 +1,7 @@
+<html>
+<head><title>bot3</title></head>
+<body>
+Bottom frame the third.
+</body>
+</html>
+
diff --git a/chrome/test/data/session_history/form.html b/chrome/test/data/session_history/form.html
new file mode 100644
index 0000000..f20e02d
--- /dev/null
+++ b/chrome/test/data/session_history/form.html
@@ -0,0 +1,31 @@
+<html>
+<head>
+<title>form</title>
+<script>
+// Simulate the user clicking on the submit button.
+function submitForm(name) {
+ var node = document.getElementById(name);
+ node.click();
+}
+// Simulate the user filling a form value.
+function fillForm(name, value) {
+ var node = document.getElementById(name);
+ node.value = value;
+}
+</script>
+</head>
+<body>
+
+<form method="post" action="/echotitle">
+
+<p><input name="text" id="itext">
+<p><select name="select" id="iselect">
+ <option selected>a
+ <option>b
+ <option>c
+</select>
+<p><input type="submit" value="Submit" id="isubmit">
+
+</form>
+</body>
+</html>
diff --git a/chrome/test/data/session_history/fragment.html b/chrome/test/data/session_history/fragment.html
new file mode 100644
index 0000000..b5d6601
--- /dev/null
+++ b/chrome/test/data/session_history/fragment.html
@@ -0,0 +1,12 @@
+<html>
+<head><title>fragment</title></head>
+<body>
+A page with anchor fragment targets.
+<p>
+<a name="a">What's this? A reference fragment?</a>
+<p>
+<a name="b">And another!</a>
+<p>
+<a name="c">Last one, I promise.</a>
+</body>
+</html>
diff --git a/chrome/test/data/session_history/frames.html b/chrome/test/data/session_history/frames.html
new file mode 100644
index 0000000..a28c4e6
--- /dev/null
+++ b/chrome/test/data/session_history/frames.html
@@ -0,0 +1,45 @@
+<html>
+<head>
+<title>bot1</title>
+<script>
+// --- Convenience functions for testing.
+function setTitle() {
+ var fbot = document.getElementById("fbot");
+ document.title = fbot.contentDocument.title;
+}
+// Simulate the user clicking a link.
+function clickLink(name) {
+ var ftop = document.getElementById("ftop");
+ var node = ftop.contentDocument.getElementById(name);
+ var evt = document.createEvent("MouseEvents");
+ evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0,
+ false, false, false, false, 0, null);
+ node.dispatchEvent(evt);
+}
+// Simulate the user filling a form value.
+function fillForm(name, value) {
+ var fbot = document.getElementById("fbot");
+ var node = fbot.contentDocument.getElementById(name);
+ node.value = value;
+}
+// Simulate the user clicking on the submit button.
+function submitForm(name) {
+ var fbot = document.getElementById("fbot");
+ var node = fbot.contentDocument.getElementById(name);
+ node.click();
+}
+function init() {
+ var fbot = document.getElementById("fbot");
+ // This will set our title to the bottom frame, so we can test that
+ // we actually navigated.
+ fbot.onload = setTitle;
+}
+</script>
+</head>
+
+<frameset onLoad="init()" rows="20%,80%" name="main">
+ <frame src="top.html" id="ftop" name="top">
+ <frame src="bot1.html" id="fbot" name="bottom">
+</frameset>
+
+</html>
diff --git a/chrome/test/data/session_history/no-title.html b/chrome/test/data/session_history/no-title.html
new file mode 100644
index 0000000..ff70517
--- /dev/null
+++ b/chrome/test/data/session_history/no-title.html
@@ -0,0 +1 @@
+<body>no title specified</body>
diff --git a/chrome/test/data/session_history/post.html b/chrome/test/data/session_history/post.html
new file mode 100644
index 0000000..ab89b76
--- /dev/null
+++ b/chrome/test/data/session_history/post.html
@@ -0,0 +1,28 @@
+<html>
+<head>
+<title>post</title>
+<script>
+// stolen from darin's page cycler
+var options = location.search.substring(1).split('&');
+
+function getopt(name) {
+ var r = new RegExp("^" + name + "=");
+ for (i = 0; i < options.length; ++i) {
+ if (options[i].match(r)) {
+ return options[i].substring(name.length + 1);
+ }
+ }
+ return null;
+}
+
+function checkParams() {
+ document.title = "post:" + getopt("text") + "," + getopt("select");
+}
+checkParams();
+</script>
+</head>
+
+<body>
+Form submission accepted. Thanks for playing.
+</body>
+</html>
diff --git a/chrome/test/data/session_history/replace.html b/chrome/test/data/session_history/replace.html
new file mode 100644
index 0000000..4c79a6f
--- /dev/null
+++ b/chrome/test/data/session_history/replace.html
@@ -0,0 +1,4 @@
+<html>
+<head><title>redirecting</title></head>
+<body onload="location.replace(location.search.substring(1))">redirecting...</body>
+</html>
diff --git a/chrome/test/data/session_history/top.html b/chrome/test/data/session_history/top.html
new file mode 100644
index 0000000..70e3c71
--- /dev/null
+++ b/chrome/test/data/session_history/top.html
@@ -0,0 +1,8 @@
+<html>
+<body>
+<a href="bot1.html" id="abot1" target="bottom">bot1</a>
+<a href="bot2.html" id="abot2" target="bottom">bot2</a>
+<a href="bot3.html" id="abot3" target="bottom">bot3</a>
+<a href="form.html" id="aform" target="bottom">form</a>
+</body>
+</html>
diff --git a/chrome/test/data/ssl/bad_iframe.html b/chrome/test/data/ssl/bad_iframe.html
new file mode 100644
index 0000000..53eff7e
--- /dev/null
+++ b/chrome/test/data/ssl/bad_iframe.html
@@ -0,0 +1,10 @@
+<html>
+<script>
+ window.open('google.html', name,
+ "status = 1, height = 300, width = 300, resizable = 0" );
+</script>
+
+<H1>Evil IFrame</H1>
+This frame is loaded over insecure HTTPS.
+
+</html>
diff --git a/chrome/test/data/ssl/google.html b/chrome/test/data/ssl/google.html
new file mode 100644
index 0000000..3ef1ca1
--- /dev/null
+++ b/chrome/test/data/ssl/google.html
@@ -0,0 +1,4 @@
+<html><head><meta http-equiv="content-type" content="text/html; charset=UTF-8"><title>Google</title><style>body,td,a,p,.h{font-family:arial,sans-serif}.h{font-size:20px}.h{color:#3366cc}.q{color:#00c}.ts td{padding:0}.ts{border-collapse:collapse}#gbar{float:left;font-weight:bold;height:22px;padding-left:2px}.gbh,.gb2 div{border-top:1px solid #c9d7f1;font-size:0;height:0}.gbh{position:absolute;top:24px;width:100%}.gb2 div{margin:5px}#gbi{background:#fff;border:1px solid;border-color:#c9d7f1 #36c #36c #a2bae7;font-size:13px;top:24px;z-index:1000}#guser{padding-bottom:7px !important}#gbar,#guser{font-size:13px;padding-top:1px !important}@media all{.gb1,.gb3{height:22px;margin-right:.73em;vertical-align:top}.gb2 a{display:block;padding:.2em .5em}}#gbi,.gb2{display:none;position:absolute;width:8em}.gb2{z-index:1001}#gbar a,#gbar a:active,#gbar a:visited{color:#00c;font-weight:normal}.gb2 a,.gb3 a{text-decoration:none}#gbar .gb2 a:hover{background:#36c;color:#fff;display:block}</style><script>window.google={kEI:"BuG9R7b_PI6SoASYhdTtDQ",kEXPI:"17259,17735,17870",kHL:"en"};
+function sf(){document.f.q.focus()}
+window.rwt=function(b,d,e,g,h,f,i){var a=encodeURIComponent||escape,c=b.href.split("#");b.href="/url?sa=t"+(d?"&oi="+a(d):"")+(e?"&cad="+a(e):"")+"&ct="+a(g)+"&cd="+a(h)+"&url="+a(c[0]).replace(/\+/g,"%2B")+"&ei=BuG9R7b_PI6SoASYhdTtDQ"+(f?"&usg="+f:"")+i+(c[1]?"#"+c[1]:"");b.onmousedown="";return true};
+window.gbar={};(function(){var a=window.gbar,b,g,h;function l(c,f,e){c.display=h?"none":"block";c.left=f+"px";c.top=e+"px"}a.tg=function(c){var f=0,e=0,d,m=0,n,j=window.navExtra,k,i=document;g=g||i.getElementById("gbar").getElementsByTagName("span");(c||window.event).cancelBubble=!m;if(!b){b=i.createElement(Array.every||window.createPopup?"iframe":"DIV");b.frameBorder="0";b.scrolling="no";b.src="#";g[7].parentNode.appendChild(b).id="gbi";if(j&&g[7])for(n in j){k=i.createElement("span");k.appendChild(j[n]);g[7].parentNode.insertBefore(k,g[7]).className="gb2"}i.onclick=a.close}while(d=g[++m]){if(e){l(d.style,e+1,f+25);f+=d.firstChild.tagName=="DIV"?9:20}if(d.className=="gb3"){do e+=d.offsetLeft;while(d=d.offsetParent)}}b.style.height=f+"px";l(b.style,e,24);h=!h};a.close=function(c){h&&a.tg(c)}})();</script></head><body onload="sf();if(document.images){new Image().src='/images/nav_logo3.png'}" topmargin="3" alink="#ff0000" bgcolor="#ffffff" link="#0000cc" marginheight="3" text="#000000" vlink="#551a8b"><div id="gbar"><nobr><span class="gb1">Web</span> <span class="gb1"><a href="http://images.google.com/imghp?hl=en&amp;tab=wi">Images</a></span> <span class="gb1"><a href="http://maps.google.com/maps?hl=en&amp;tab=wl">Maps</a></span> <span class="gb1"><a href="http://news.google.com/nwshp?hl=en&amp;tab=wn">News</a></span> <span class="gb1"><a href="http://www.google.com/prdhp?hl=en&amp;tab=wf">Shopping</a></span> <span class="gb1"><a href="http://mail.google.com/mail/?hl=en&amp;tab=wm">Gmail</a></span> <span class="gb3"><a href="http://www.google.com/intl/en/options/" onclick="this.blur();gbar.tg(event);return !1"><u>more</u> <small>▼</small></a></span> <span class="gb2"><a href="http://video.google.com/?hl=en&amp;tab=wv">Video</a></span> <span class="gb2"><a href="http://groups.google.com/grphp?hl=en&amp;tab=wg">Groups</a></span> <span class="gb2"><a href="http://books.google.com/bkshp?hl=en&amp;tab=wp">Books</a></span> <span class="gb2"><a href="http://scholar.google.com/schhp?hl=en&amp;tab=ws">Scholar</a></span> <span class="gb2"><a href="http://finance.google.com/finance?hl=en&amp;tab=we">Finance</a></span> <span class="gb2"><a href="http://blogsearch.google.com/?hl=en&amp;tab=wb">Blogs</a></span> <span class="gb2"><div></div></span> <span class="gb2"><a href="http://www.youtube.com/?hl=en&amp;tab=w1">YouTube</a></span> <span class="gb2"><a href="http://www.google.com/calendar/render?hl=en&amp;tab=wc">Calendar</a></span> <span class="gb2"><a href="http://picasaweb.google.com/home?hl=en&amp;tab=wq">Photos</a></span> <span class="gb2"><a href="http://docs.google.com/?hl=en&amp;tab=wo">Documents</a></span> <span class="gb2"><a href="http://www.google.com/reader/view/?hl=en&amp;tab=wy">Reader</a></span> <span class="gb2"><div></div></span> <span class="gb2"><a href="http://www.google.com/intl/en/options/">even more »</a></span> </nobr></div><div class="gbh" style="left: 0pt;"></div><div class="gbh" style="right: 0pt;"></div><div id="guser" style="padding: 0pt 0pt 4px; font-size: 84%;" width="100%" align="right"><nobr><b>jcampan@gmail.com</b> | <a href="http://www.google.com/url?sa=p&amp;pref=ig&amp;pval=3&amp;q=http://www.google.com/ig%3Fhl%3Den%26source%3Diglk&amp;usg=AFQjCNFA18XPfgb7dKnXfKz7x7g1GDH1tg">iGoogle</a> | <a href="https://www.google.com/accounts/ManageAccount">My Account</a> | <a href="http://www.google.com/accounts/Logout?continue=http://www.google.com/">Sign out</a></nobr></div><center><br id="lgpd" clear="all"><img alt="Google" src="google_files/logo.gif" height="110" width="276"><br><br><form action="/search" name="f"><table cellpadding="0" cellspacing="0"><tbody><tr valign="top"><td width="25%">&nbsp;</td><td align="center" nowrap="nowrap"><input name="hl" value="en" type="hidden"><input maxlength="2048" name="q" size="55" title="Google Search" value=""><br><input name="btnG" value="Google Search" type="submit"><input name="btnI" value="I'm Feeling Lucky" type="submit"></td><td nowrap="nowrap" width="25%"><font size="-2">&nbsp;&nbsp;<a href="http://www.google.com/advanced_search?hl=en">Advanced Search</a><br>&nbsp;&nbsp;<a href="http://www.google.com/preferences?hl=en">Preferences</a><br>&nbsp;&nbsp;<a href="http://www.google.com/language_tools?hl=en">Language Tools</a></font></td></tr></tbody></table></form><br><br><font size="-1"><a href="http://www.google.com/intl/en/ads/">Advertising&nbsp;Programs</a> - <a href="http://www.google.com/services/">Business Solutions</a> - <a href="http://www.google.com/intl/en/about.html">About Google</a></font><p><font size="-2">©2008 Google</font></p></center></body></html> \ No newline at end of file
diff --git a/chrome/test/data/ssl/google_files/logo.gif b/chrome/test/data/ssl/google_files/logo.gif
new file mode 100644
index 0000000..afa22bc
--- /dev/null
+++ b/chrome/test/data/ssl/google_files/logo.gif
Binary files differ
diff --git a/chrome/test/data/ssl/page_with_dynamic_mixed_contents.html b/chrome/test/data/ssl/page_with_dynamic_mixed_contents.html
new file mode 100644
index 0000000..9ff73bb
--- /dev/null
+++ b/chrome/test/data/ssl/page_with_dynamic_mixed_contents.html
@@ -0,0 +1,36 @@
+<html>
+<head><title>Page with dynamic mixed contents</title>
+
+<script>
+ function loadBadImage() {
+ var image = document.getElementById("my_image");
+ image.src = "http://localhost:1337/files/ssl/google_files/logo.gif";
+ checkForLoadFinished();
+ }
+
+ function checkForLoadFinished() {
+ var image = document.getElementById("my_image");
+ if (image.complete) {
+ document.getElementById("status_text").innerHTML = "Bad image loaded";
+ window.domAutomationController.send(true);
+ } else {
+ setTimeout("checkForLoadFinished()", 500);
+ }
+ }
+</script>
+
+</head>
+<body>
+
+This page has some java-script that loads some mixed contents.
+<br><br>
+You can also press the button below to load the image.
+<br>
+<input type=button value="Load image" onclick="loadBadImage();"></input>
+
+<div id="status_text">Contents is OK</div>
+<img id="my_image" src=""/>
+
+
+</body>
+</html>
diff --git a/chrome/test/data/ssl/page_with_mixed_contents.html b/chrome/test/data/ssl/page_with_mixed_contents.html
new file mode 100644
index 0000000..2bf9bb24
--- /dev/null
+++ b/chrome/test/data/ssl/page_with_mixed_contents.html
@@ -0,0 +1,9 @@
+<html>
+<head><title>Page with mixed contents</title></head>
+<body>
+This page contains an image which is served over an http connection,
+causing mixed contents (when this page is loaded over https).<br>
+<img src="http://localhost:1337/files/ssl/google_files/logo.gif"/>
+
+</body>
+</html>
diff --git a/chrome/test/data/ssl/page_with_refs.html b/chrome/test/data/ssl/page_with_refs.html
new file mode 100644
index 0000000..3db0e5d
--- /dev/null
+++ b/chrome/test/data/ssl/page_with_refs.html
@@ -0,0 +1,21 @@
+<html>
+<head>
+<title>This page has refs</title>
+</head>
+<a href="#en">English<a><br>
+<a href="#fr">Francais<a><br>
+<a href="#jp">Japanese<a><br>
+<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
+<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
+<h2 id="en">Hello!</h2>
+<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
+<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
+<h2 id="fr">Bonjour!</h2><br><br>
+<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
+<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
+<h2 id="jp">Konnichiwa</h2><br><br>
+<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
+<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
+</html>
+
+
diff --git a/chrome/test/data/ssl/page_with_unsafe_contents.html b/chrome/test/data/ssl/page_with_unsafe_contents.html
new file mode 100644
index 0000000..907c9ca
--- /dev/null
+++ b/chrome/test/data/ssl/page_with_unsafe_contents.html
@@ -0,0 +1,30 @@
+<html>
+<head><title>Page with unsafe contents</title>
+<script>
+ var foo = null;
+
+ function IsFooSet() {
+ return foo != null;
+ }
+
+ function ImageWidth() {
+ return document.getElementById("bad_image").width;
+ }
+</script>
+<script src="https://127.0.0.1:9666/files/ssl/set_foo.js"></script>
+</head>
+
+<body>
+This page contains an image which is served over an insecure HTTPS connection...<br>
+<img id="bad_image" src="https://127.0.0.1:9666/files/ssl/google_files/logo.gif"/>
+
+<br><br>
+And an IFrame served over insecure HTTPS...<br>
+<iframe id="bad_iframe" src="https://127.0.0.1:9666/files/ssl/bad_iframe.html"/>
+
+<br><br>
+And even worse, some JavaScript served over insecure HTTPS...<br>
+
+
+</body>
+</html>
diff --git a/chrome/test/data/ssl/set_foo.js b/chrome/test/data/ssl/set_foo.js
new file mode 100644
index 0000000..2dbb5d12
--- /dev/null
+++ b/chrome/test/data/ssl/set_foo.js
@@ -0,0 +1 @@
+foo = "bar";
diff --git a/chrome/test/data/sync_xmlhttprequest.html b/chrome/test/data/sync_xmlhttprequest.html
new file mode 100644
index 0000000..cf3e8d6
--- /dev/null
+++ b/chrome/test/data/sync_xmlhttprequest.html
@@ -0,0 +1,32 @@
+<html>
+<head>
+<script>
+var request_success = false;
+
+function OnLoad() {
+ var request = new XMLHttpRequest();
+ request.open("GET", "title1.html", false);
+ request.send("");
+
+ var my_div = document.getElementById("my_div");
+ if (request.readyState == 4 && request.status == 200) {
+ request_success = true;
+ my_div.innerHTML = "Got a successful response: " + request.responseText;
+ } else {
+ my_div.innerHTML = "Request failed: ready state=" + request.readyState +
+ " status=" + request.status;
+ }
+}
+
+function DidSyncRequestSucceed() {
+ return request_success;
+}
+
+</script>
+</head>
+<body onload="OnLoad();">
+This page sends a synchronous XMLHttpRequest.
+<br><br>
+<div id="my_div"></div>
+</body>
+</html>
diff --git a/chrome/test/data/sync_xmlhttprequest_during_unload.html b/chrome/test/data/sync_xmlhttprequest_during_unload.html
new file mode 100644
index 0000000..6b726b1
--- /dev/null
+++ b/chrome/test/data/sync_xmlhttprequest_during_unload.html
@@ -0,0 +1,20 @@
+<html>
+ <head>
+ <title>Loading...</title>
+ </head>
+ <body onload="attachUnloadListener()">
+ <script>
+ function attachUnloadListener() {
+ window.addEventListener('unload', onUnload, false);
+ document.title = "sync xhr on unload";
+ }
+
+ var req = new XMLHttpRequest();
+ function onUnload() {
+ req.open('GET','download-test1.lib', false);
+ req.send(null);
+ }
+ </script>
+ <p>Navigate to another page to trigger synch xmlhttprequest</p>
+ </body>
+</html>
diff --git a/chrome/test/data/title1.html b/chrome/test/data/title1.html
new file mode 100644
index 0000000..2526072
--- /dev/null
+++ b/chrome/test/data/title1.html
@@ -0,0 +1,4 @@
+<html>
+<head></head>
+<body>This page has no title.</body>
+</html>
diff --git a/chrome/test/data/title2.html b/chrome/test/data/title2.html
new file mode 100644
index 0000000..13823c9
--- /dev/null
+++ b/chrome/test/data/title2.html
@@ -0,0 +1,4 @@
+<html>
+<head><title>Title Of Awesomeness</title></head>
+<body>This page has a title.</body>
+</html>
diff --git a/chrome/test/data/viewsource/test.html b/chrome/test/data/viewsource/test.html
new file mode 100644
index 0000000..f27bf2f
--- /dev/null
+++ b/chrome/test/data/viewsource/test.html
@@ -0,0 +1,11 @@
+<html>
+<head>
+<script>
+function setCookie() {
+ document.cookie = 'viewsource_cookie=foo';
+}
+</script>
+</head>
+<body onload="setCookie();">
+</body>
+</html>
diff --git a/chrome/test/data/window.close.html b/chrome/test/data/window.close.html
new file mode 100644
index 0000000..ebe16868
--- /dev/null
+++ b/chrome/test/data/window.close.html
@@ -0,0 +1,53 @@
+<script>
+var popup, popup2, popup3, popup4;
+
+// window.open, window.close should be synchronous
+function test1() {
+ popup = window.open('title1.html', 'name');
+ popup.close();
+
+ popup = window.open('title2.html', 'name', 'width=200,height=200');
+ popup.close();
+}
+
+// Try opening/closing a few windows.
+function test2() {
+ openPopups();
+ closePopups();
+}
+
+function test3() {
+ openPopups();
+ setTimeout(closePopups, 0);
+ setTimeout(test4, 1);
+}
+
+function test4() {
+ openPopups();
+ setTimeout(closePopupsAndDone, 250);
+}
+
+function openPopups() {
+ popup = window.open('title1.html', 'name');
+ popup2 = window.open('title1.html', 'name2');
+ popup3 = window.open('title1.html', 'name3');
+ popup4 = window.open('title1.html', 'name4');
+}
+
+function closePopups() {
+ popup.close();
+ popup2.close();
+ popup3.close();
+ popup4.close();
+}
+
+function closePopupsAndDone() {
+ closePopups();
+ document.title = "PASSED";
+}
+
+test1();
+test2();
+test3();
+
+</script>