| Index: chrome_frame/test/util_unittests.cc
|
| ===================================================================
|
| --- chrome_frame/test/util_unittests.cc (revision 69128)
|
| +++ chrome_frame/test/util_unittests.cc (working copy)
|
| @@ -271,6 +271,7 @@
|
| { L"about:", URLZONE_TRUSTED },
|
| { L"view-source:", URLZONE_TRUSTED },
|
| { L"chrome-extension:", URLZONE_TRUSTED },
|
| + { L"data:", URLZONE_INTERNET },
|
| { L"ftp:", URLZONE_UNTRUSTED },
|
| { L"file:", URLZONE_LOCAL_MACHINE },
|
| { L"sip:", URLZONE_UNTRUSTED },
|
| @@ -286,31 +287,39 @@
|
| const char* url;
|
| bool default_expected;
|
| bool unsafe_expected;
|
| + bool is_privileged;
|
| } test_cases[] = {
|
| // Invalid URL
|
| - { " ", false, false },
|
| - { "foo bar", false, false },
|
| + { " ", false, false, false },
|
| + { "foo bar", false, false, false },
|
|
|
| // non-privileged test cases
|
| { "http://blah/?attach_external_tab&10&1&0&0&100&100&iexplore", true,
|
| - true },
|
| - { "http://untrusted/bar.html", false, true },
|
| + true, false },
|
| + { "http://untrusted/bar.html", false, true, false },
|
| { "http://blah/?attach_external_tab&10&1&0&0&100&100&iexplore", true,
|
| + true, false },
|
| + { "view-source:http://www.google.ca", true, true, false },
|
| + { "view-source:javascript:alert('foo');", false, true, false },
|
| + { "about:blank", true, true, false },
|
| + { "About:Version", true, true, false },
|
| + { "about:config", false, true, false },
|
| + { "chrome-extension://aaaaaaaaaaaaaaaaaaa/toolstrip.html", false, true,
|
| + false },
|
| + { "ftp://www.google.ca", false, true, false },
|
| + { "file://www.google.ca", false, true, false },
|
| + { "file://C:\boot.ini", false, true, false },
|
| + { "SIP:someone@10.1.2.3", false, true, false },
|
| +
|
| + // privileged test cases
|
| + { "chrome-extension://aaaaaaaaaaaaaaaaaaa/toolstrip.html", true, true,
|
| true },
|
| - { "view-source:http://www.google.ca", true, true },
|
| - { "view-source:javascript:alert('foo');", false, true },
|
| - { "about:blank", true, true },
|
| - { "About:Version", true, true },
|
| - { "about:config", false, true },
|
| - { "chrome-extension://aaaaaaaaaaaaaaaaaaa/toolstrip.html", false, true },
|
| - { "ftp://www.google.ca", false, true },
|
| - { "file://www.google.ca", false, true },
|
| - { "file://C:\boot.ini", false, true },
|
| - { "SIP:someone@10.1.2.3", false, true },
|
| + { "data://aaaaaaaaaaaaaaaaaaa/toolstrip.html", true, true, true },
|
| };
|
|
|
| for (int i = 0; i < arraysize(test_cases); ++i) {
|
| const Cases& test = test_cases[i];
|
| + mock.set_is_privileged(test.is_privileged);
|
| bool actual = CanNavigate(GURL(test.url), &mock);
|
| EXPECT_EQ(test.default_expected, actual) << "Failure url: " << test.url;
|
| }
|
|
|