diff options
author | aa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-04-08 18:33:30 +0000 |
---|---|---|
committer | aa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-04-08 18:33:30 +0000 |
commit | 5bfb1eb0a729e8d1adb448b0a84580564a883d2e (patch) | |
tree | bdac0bcedc000d43f2b65fedac764bfdfa4b7c60 /chrome/test | |
parent | d8cc3a679233604df94571b882ac912614cb2bbe (diff) | |
download | chromium_src-5bfb1eb0a729e8d1adb448b0a84580564a883d2e.zip chromium_src-5bfb1eb0a729e8d1adb448b0a84580564a883d2e.tar.gz chromium_src-5bfb1eb0a729e8d1adb448b0a84580564a883d2e.tar.bz2 |
Try one more time to check in http://codereview.chromium.org/60112
Added this test to the list of skipped purify tests as it is
experience the same issue as ExtensionView test.
I also found an unrelated memory leak and created a patch
separately: http://codereview.chromium.org/63073
Review URL: http://codereview.chromium.org/63075
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13369 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/test')
11 files changed, 311 insertions, 0 deletions
diff --git a/chrome/test/data/extensions/content_script_inject/js_test.js b/chrome/test/data/extensions/content_script_inject/js_test.js new file mode 100755 index 0000000..87a0930 --- /dev/null +++ b/chrome/test/data/extensions/content_script_inject/js_test.js @@ -0,0 +1,33 @@ +// Copyright (c) 2009 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// A quick and dirty JavaScript test runner.
+
+function assert(truth) {
+ if (!truth) {
+ throw new Error('Assertion failed');
+ }
+}
+
+function runAllTests() {
+ // If there was already an error, do nothing. We don't want to muddy
+ // up the results.
+ if (document.title.indexOf("Error: ") == 0) {
+ return;
+ }
+
+ for (var propName in window) {
+ if (typeof window[propName] == "function" &&
+ propName.indexOf("test") == 0) {
+ try {
+ window[propName]();
+ document.title += propName + ",";
+ } catch (e) {
+ // We use document.title to communicate results back to the browser.
+ document.title = "Error: " + propName + ': ' + e.message;
+ return;
+ }
+ }
+ }
+}
diff --git a/chrome/test/data/extensions/content_script_inject/manifest.json b/chrome/test/data/extensions/content_script_inject/manifest.json new file mode 100755 index 0000000..8214fb6 --- /dev/null +++ b/chrome/test/data/extensions/content_script_inject/manifest.json @@ -0,0 +1,21 @@ +{ + "id": "00123456789ABCDEF0123456789ABCDEF0123456", + "version": "1.0.0.0", + "name": "User script inject", + "content_scripts": [ + { + "matches": ["file://*/content_script_inject_page.html"], + "css": ["script1.css"], + "js": ["js_test.js", "script1a.js", "script1b.js"] + }, + { + "matches": ["file://*/content_script_inject_page.html"], + "js": ["js_test.js", "script2.js"] + }, + { + "matches": ["file://*/content_script_inject_page.html"], + "js": ["js_test.js", "script3.js"], + "run_at": "document_start" + } + ] +} diff --git a/chrome/test/data/extensions/content_script_inject/script1.css b/chrome/test/data/extensions/content_script_inject/script1.css new file mode 100644 index 0000000..521b501b --- /dev/null +++ b/chrome/test/data/extensions/content_script_inject/script1.css @@ -0,0 +1,10 @@ +/* +Copyright (c) 2006-2009 The Chromium Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +*/ + +/* script1b.js tests that this rule was applied. */ +body { + background:red; +} diff --git a/chrome/test/data/extensions/content_script_inject/script1a.js b/chrome/test/data/extensions/content_script_inject/script1a.js new file mode 100755 index 0000000..87f4f55 --- /dev/null +++ b/chrome/test/data/extensions/content_script_inject/script1a.js @@ -0,0 +1,7 @@ +// Copyright (c) 2009 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// create a global variable. script1b.js tests to make sure it is visible and +// script2.js tests to make sure it is not. +var script1_var = 1; diff --git a/chrome/test/data/extensions/content_script_inject/script1b.js b/chrome/test/data/extensions/content_script_inject/script1b.js new file mode 100755 index 0000000..8e7e102 --- /dev/null +++ b/chrome/test/data/extensions/content_script_inject/script1b.js @@ -0,0 +1,27 @@ +// Copyright (c) 2009 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// This tests that we are running in the same global context as script1a.js. +function testScriptFilesRunInSameContext() { + assert(script1_var === 1); +} + +// This tests that our relationship to content is working correctly. +// a) We should not see content globals in our global scope. +// b) We should have a contentWindow object that looks like a DOM Window. +// c) We should be able to access content globals via contentWindow. +function testContentInteraction() { + assert(typeof content_var == "undefined"); + assert(typeof contentWindow != "undefined"); + assert(contentWindow.location.href.match(/content_script_inject_page.html$/)); + assert(contentWindow.content_var == "hello"); +} + +// Test that our css in script1.css was injected successfully. +function testCSSWasInjected() { + assert(document.defaultView.getComputedStyle( + document.body, null)["background-color"] == "rgb(255, 0, 0)"); +} + +runAllTests(); diff --git a/chrome/test/data/extensions/content_script_inject/script2.js b/chrome/test/data/extensions/content_script_inject/script2.js new file mode 100755 index 0000000..9133afa2 --- /dev/null +++ b/chrome/test/data/extensions/content_script_inject/script2.js @@ -0,0 +1,12 @@ +// Copyright (c) 2009 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Tests that we cannot see global variables defined in other content scripts. +// This var was defined in script1a.js. We run each content script in a separate +// context, so we shouldn't see globals across them. +function testCannotSeeOtherContentScriptGlobals() {
+ assert(typeof script1_var == "undefined");
+}
+
+runAllTests();
diff --git a/chrome/test/data/extensions/content_script_inject/script3.js b/chrome/test/data/extensions/content_script_inject/script3.js new file mode 100644 index 0000000..15bc225 --- /dev/null +++ b/chrome/test/data/extensions/content_script_inject/script3.js @@ -0,0 +1,31 @@ +// Copyright (c) 2009 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +var gotDOMContentLoadedEvent = false; + +// Test that at parse time, we have the document element. +// This basically tests that we don't get injected too early (before there is +// a document element). +var hasDocumentElement = (document.documentElement.tagName == "HTML"); + +// TODO(aa): We would like to add more tests here verifying that we aren't +// injected too late. For example, we could test that there are zero child +// nodes to the documentElement, but unfortunately run_at:document_start is +// currently buggy and doesn't guarantee that. + +window.addEventListener("DOMContentLoaded", function() { + gotDOMContentLoadedEvent = true; +}, false); + +// Don't run tests until onload so that we can test that DOMContentLoaded and +// onload happen after this script runs. +window.addEventListener("load", runAllTests, false); + +function testRunAtDocumentStart() { + assert(hasDocumentElement); +} + +function testGotLoadEvents() { + assert(gotDOMContentLoadedEvent); +} diff --git a/chrome/test/data/extensions/content_script_inject_page.html b/chrome/test/data/extensions/content_script_inject_page.html new file mode 100755 index 0000000..4412e19 --- /dev/null +++ b/chrome/test/data/extensions/content_script_inject_page.html @@ -0,0 +1,10 @@ +<html> +<head> +<title></title> +<script> +var content_var = "hello"; +</script> +</head> +<body> +</body> +</html> diff --git a/chrome/test/data/purify/unit_tests.exe_MLK.txt b/chrome/test/data/purify/unit_tests.exe_MLK.txt index e69de29..ba64753 100644 --- a/chrome/test/data/purify/unit_tests.exe_MLK.txt +++ b/chrome/test/data/purify/unit_tests.exe_MLK.txt @@ -0,0 +1,56 @@ +c:\program files\microsoft visual studio 8\vc\include\xmemory.
+Alloc Location
+ ...
+ chrome/browser/renderer_host/renderer_security_policy.cc RendererSecurityPolicy::SecurityState::GrantScheme(basic_string::std const&)
+ chrome/browser/renderer_host/renderer_security_policy.cc RendererSecurityPolicy::GrantRequestURL(int,GURL const&)
+ chrome/browser/renderer_host/render_view_host.cc RenderViewHost::NavigateToEntry(NavigationEntry const&,bool)
+ chrome/browser/tab_contents/web_contents.cc WebContents::NavigateToPendingEntry(bool)
+ chrome/browser/tab_contents/navigation_controller.cc NavigationController::NavigateToPendingEntry(bool)
+ chrome/browser/tab_contents/navigation_controller.cc NavigationController::LoadEntry(NavigationEntry *)
+ chrome/browser/tab_contents/navigation_controller.cc NavigationController::LoadURL(GURL const&,GURL const&,UINT)
+ chrome/browser/browser.cc Browser::OpenURLFromTab(TabContents *,GURL const&,GURL const&,WindowOpenDisposition,UINT)
+ chrome/test/ui_test_utils.cc ui_test_utils::NavigateToURL(Browser *,GURL const&)
+ chrome/browser/extensions/extension_content_script_inject_unittest.cc ExtensionContentScriptInjectTest_Simple_Test::RunTestOnMainThread(void)
+ chrome/test/in_process_browser_test.cc InProcessBrowserTest::RunTestOnMainThreadLoop(void)
+ base/tuple.h ?DispatchToMethod@VInProcessBrowserTest@@P81@AEXXZ@@YAXPAVInProcessBrowserTest@@P80@AEXXZABUTuple0@@@Z
+ ^^^
+
+RendererSecurityPolicy::Add(int) [unit_tests.exe]
+Alloc Location
+ ...
+ chrome/browser/renderer_host/renderer_security_policy.cc RendererSecurityPolicy::Add(int)
+ chrome/browser/renderer_host/browser_render_process_host.cc BrowserRenderProcessHost::Init(void)
+ chrome/browser/renderer_host/render_view_host.cc RenderViewHost::CreateRenderView(void)
+ chrome/browser/tab_contents/web_contents.cc WebContents::CreateRenderViewForRenderManager(RenderViewHost *)
+ chrome/browser/tab_contents/render_view_host_manager.cc RenderViewHostManager::Navigate(NavigationEntry const&)
+ chrome/browser/tab_contents/web_contents.cc WebContents::NavigateToPendingEntry(bool)
+ chrome/browser/tab_contents/navigation_controller.cc NavigationController::NavigateToPendingEntry(bool)
+ chrome/browser/tab_contents/navigation_controller.cc NavigationController::LoadEntry(NavigationEntry *)
+ chrome/browser/tab_contents/navigation_controller.cc NavigationController::LoadURL(GURL const&,GURL const&,UINT)
+ chrome/browser/browser.cc Browser::CreateTabContentsForURL(GURL const&,GURL const&,Profile *,UINT,bool,SiteInstance *)const
+ chrome/browser/browser.cc Browser::AddTabWithURL(GURL const&,GURL const&,UINT,bool,SiteInstance *)
+ chrome/test/in_process_browser_test.cc InProcessBrowserTest::CreateBrowser(Profile *)
+ chrome/test/in_process_browser_test.cc InProcessBrowserTest::RunTestOnMainThreadLoop(void)
+ base/tuple.h ?DispatchToMethod@VInProcessBrowserTest@@P81@AEXXZ@@YAXPAVInProcessBrowserTest@@P80@AEXXZABUTuple0@@@Z
+ ^^^
+
+c:\program files\microsoft visual studio 8\vc\include\xmemory.
+Alloc Location
+ ...
+ chrome/browser/renderer_host/renderer_security_policy.cc RendererSecurityPolicy::SecurityState::SecurityState(void)
+ chrome/browser/renderer_host/renderer_security_policy.cc RendererSecurityPolicy::Add(int)
+ chrome/browser/renderer_host/browser_render_process_host.cc BrowserRenderProcessHost::Init(void)
+ chrome/browser/renderer_host/render_view_host.cc RenderViewHost::CreateRenderView(void)
+ chrome/browser/tab_contents/web_contents.cc WebContents::CreateRenderViewForRenderManager(RenderViewHost *)
+ chrome/browser/tab_contents/render_view_host_manager.cc RenderViewHostManager::Navigate(NavigationEntry const&)
+ chrome/browser/tab_contents/web_contents.cc WebContents::NavigateToPendingEntry(bool)
+ chrome/browser/tab_contents/navigation_controller.cc NavigationController::NavigateToPendingEntry(bool)
+ chrome/browser/tab_contents/navigation_controller.cc NavigationController::LoadEntry(NavigationEntry *)
+ chrome/browser/tab_contents/navigation_controller.cc NavigationController::LoadURL(GURL const&,GURL const&,UINT)
+ chrome/browser/browser.cc Browser::CreateTabContentsForURL(GURL const&,GURL const&,Profile *,UINT,bool,SiteInstance *)const
+ chrome/browser/browser.cc Browser::AddTabWithURL(GURL const&,GURL const&,UINT,bool,SiteInstance *)
+ chrome/test/in_process_browser_test.cc InProcessBrowserTest::CreateBrowser(Profile *)
+ chrome/test/in_process_browser_test.cc InProcessBrowserTest::RunTestOnMainThreadLoop(void)
+ base/tuple.h ?DispatchToMethod@VInProcessBrowserTest@@P81@AEXXZ@@YAXPAVInProcessBrowserTest@@P80@AEXXZABUTuple0@@@Z
+ ^^^
+
\ No newline at end of file diff --git a/chrome/test/data/purify/unit_tests.exe_UMR.txt b/chrome/test/data/purify/unit_tests.exe_UMR.txt index e69de29..87dd20c 100644 --- a/chrome/test/data/purify/unit_tests.exe_UMR.txt +++ b/chrome/test/data/purify/unit_tests.exe_UMR.txt @@ -0,0 +1,92 @@ +Uninitialized memory read in AutocompleteEditViewWin::SetSelectionRange(_charrange const&)
+Error Location
+ chrome/browser/autocomplete/autocomplete_edit_view_win.h AutocompleteEditViewWin::SetSelectionRange(_charrange const&)
+ chrome/browser/autocomplete/autocomplete_edit_view_win.cc AutocompleteEditViewWin::EmphasizeURLComponents(void)
+ chrome/browser/autocomplete/autocomplete_edit_view_win.cc AutocompleteEditViewWin::TextChanged(void)
+ chrome/browser/autocomplete/autocomplete_edit_view_win.cc AutocompleteEditViewWin::RevertAll(void)
+ chrome/browser/autocomplete/autocomplete_edit_view_win.cc AutocompleteEditViewWin::Update(TabContents const*)
+ chrome/browser/views/location_bar_view.cc LocationBarView::Update(TabContents const*)
+ chrome/browser/views/toolbar_view.cc BrowserToolbarView::Update(TabContents *,bool)
+ chrome/browser/views/frame/browser_view.cc BrowserView::UpdateToolbar(TabContents *,bool)
+ chrome/browser/browser.cc Browser::UpdateToolbar(bool)
+ chrome/browser/browser.cc Browser::ScheduleUIUpdate(TabContents const*,UINT)
+ chrome/browser/browser.cc Browser::OpenURLFromTab(TabContents *,GURL const&,GURL const&,WindowOpenDisposition,UINT)
+ chrome/test/ui_test_utils.cc ui_test_utils::NavigateToURL(Browser *,GURL const&)
+ chrome/browser/extensions/extension_content_script_inject_unittest.cc ExtensionContentScriptInjectTest_Simple_Test::RunTestOnMainThread(void)
+ chrome/test/in_process_browser_test.cc InProcessBrowserTest::RunTestOnMainThreadLoop(void)
+ base/tuple.h ?DispatchToMethod@VInProcessBrowserTest@@P81@AEXXZ@@YAXPAVInProcessBrowserTest@@P80@AEXXZABUTuple0@@@Z
+ ^^^
+
+Uninitialized memory read in AutocompleteEditViewWin::SetSelectionRange(_charrange const&)
+Error Location
+ chrome/browser/autocomplete/autocomplete_edit_view_win.h AutocompleteEditViewWin::SetSelectionRange(_charrange const&)
+ chrome/browser/autocomplete/autocomplete_edit_view_win.cc AutocompleteEditViewWin::EmphasizeURLComponents(void)
+ chrome/browser/autocomplete/autocomplete_edit_view_win.cc AutocompleteEditViewWin::TextChanged(void)
+ chrome/browser/autocomplete/autocomplete_edit_view_win.cc AutocompleteEditViewWin::RevertAll(void)
+ chrome/browser/autocomplete/autocomplete_edit_view_win.cc AutocompleteEditViewWin::Update(TabContents const*)
+ chrome/browser/views/location_bar_view.cc LocationBarView::Update(TabContents const*)
+ chrome/browser/views/toolbar_view.cc BrowserToolbarView::Update(TabContents *,bool)
+ chrome/browser/views/frame/browser_view.cc BrowserView::UpdateToolbar(TabContents *,bool)
+ chrome/browser/browser.cc Browser::UpdateToolbar(bool)
+ chrome/browser/browser.cc Browser::TabSelectedAt(TabContents *,TabContents *,int,bool)
+ chrome/browser/tabs/tab_strip_model.cc TabStripModel::ChangeSelectedContentsFrom(TabContents *,int,bool)
+ chrome/browser/tabs/tab_strip_model.cc TabStripModel::InsertTabContentsAt(int,TabContents *,bool,bool)
+ chrome/browser/tabs/tab_strip_model.cc TabStripModel::AddTabContents(TabContents *,int,UINT,bool)
+ chrome/browser/browser.cc Browser::AddTabWithURL(GURL const&,GURL const&,UINT,bool,SiteInstance *)
+ chrome/test/in_process_browser_test.cc InProcessBrowserTest::CreateBrowser(Profile *)
+ chrome/test/in_process_browser_test.cc InProcessBrowserTest::RunTestOnMainThreadLoop(void)
+ base/tuple.h ?DispatchToMethod@VInProcessBrowserTest@@P81@AEXXZ@@YAXPAVInProcessBrowserTest@@P80@AEXXZABUTuple0@@@Z
+ ^^^
+
+Uninitialized memory read in AutocompleteEditViewWin::SetSelectionRange(_charrange const&)
+Error Location
+ chrome/browser/autocomplete/autocomplete_edit_view_win.h AutocompleteEditViewWin::SetSelectionRange(_charrange const&)
+ chrome/browser/autocomplete/autocomplete_edit_view_win.cc AutocompleteEditViewWin::EmphasizeURLComponents(void)
+ chrome/browser/autocomplete/autocomplete_edit_view_win.cc AutocompleteEditViewWin::TextChanged(void)
+ chrome/browser/autocomplete/autocomplete_edit_view_win.cc AutocompleteEditViewWin::RevertAll(void)
+ chrome/browser/autocomplete/autocomplete_edit_view_win.cc AutocompleteEditViewWin::Update(TabContents const*)
+ chrome/browser/views/location_bar_view.cc LocationBarView::Update(TabContents const*)
+ chrome/browser/views/toolbar_view.cc BrowserToolbarView::Update(TabContents *,bool)
+ chrome/browser/views/frame/browser_view.cc BrowserView::UpdateToolbar(TabContents *,bool)
+ chrome/browser/views/frame/browser_view.cc BrowserView::TabSelectedAt(TabContents *,TabContents *,int,bool)
+ chrome/browser/tabs/tab_strip_model.cc TabStripModel::ChangeSelectedContentsFrom(TabContents *,int,bool)
+ chrome/browser/tabs/tab_strip_model.cc TabStripModel::InsertTabContentsAt(int,TabContents *,bool,bool)
+ chrome/browser/tabs/tab_strip_model.cc TabStripModel::AddTabContents(TabContents *,int,UINT,bool)
+ chrome/browser/browser.cc Browser::AddTabWithURL(GURL const&,GURL const&,UINT,bool,SiteInstance *)
+ chrome/test/in_process_browser_test.cc InProcessBrowserTest::CreateBrowser(Profile *)
+ chrome/test/in_process_browser_test.cc InProcessBrowserTest::RunTestOnMainThreadLoop(void)
+ base/tuple.h ?DispatchToMethod@VInProcessBrowserTest@@P81@AEXXZ@@YAXPAVInProcessBrowserTest@@P80@AEXXZABUTuple0@@@Z
+ ^^^
+
+Uninitialized memory read in AutocompleteEditViewWin::SetSelectionRange(_charrange const&)
+Error Location
+ chrome/browser/autocomplete/autocomplete_edit_view_win.h AutocompleteEditViewWin::SetSelectionRange(_charrange const&)
+ chrome/browser/autocomplete/autocomplete_edit_view_win.cc AutocompleteEditViewWin::EmphasizeURLComponents(void)
+ chrome/browser/autocomplete/autocomplete_edit_view_win.cc AutocompleteEditViewWin::TextChanged(void)
+ chrome/browser/autocomplete/autocomplete_edit_view_win.cc AutocompleteEditViewWin::RevertAll(void)
+ chrome/browser/autocomplete/autocomplete_edit_view_win.cc AutocompleteEditViewWin::Update(TabContents const*)
+ chrome/browser/views/location_bar_view.cc LocationBarView::Update(TabContents const*)
+ chrome/browser/views/location_bar_view.cc LocationBarView::Init(void)
+ chrome/browser/views/toolbar_view.cc BrowserToolbarView::CreateCenterStack(Profile *)
+ chrome/browser/views/toolbar_view.cc BrowserToolbarView::Init(Profile *)
+ chrome/browser/views/frame/browser_view.cc BrowserView::Init(void)
+ chrome/browser/views/frame/browser_view.cc BrowserView::ViewHierarchyChanged(bool,View::views *,View::views *)
+ chrome/views/view.cc views::View::ViewHierarchyChangedImpl(bool,bool,View::views *,View::views *)
+ chrome/views/view.cc views::View::PropagateAddNotifications(View::views *,View::views *)
+ chrome/views/view.cc views::View::AddChildView(int,View::views *,bool)
+ chrome/views/view.cc views::View::AddChildView(int,View::views *)
+ chrome/views/window/non_client_view.cc views::NonClientView::ViewHierarchyChanged(bool,View::views *,View::views *)
+ chrome/views/view.cc views::View::ViewHierarchyChangedImpl(bool,bool,View::views *,View::views *)
+ chrome/views/view.cc views::View::PropagateAddNotifications(View::views *,View::views *)
+ chrome/views/view.cc views::View::AddChildView(int,View::views *,bool)
+ chrome/views/view.cc views::View::AddChildView(View::views *)
+ chrome/views/widget/widget_win.cc views::WidgetWin::SetContentsView(View::views *)
+ chrome/views/window/window_win.cc views::WindowWin::Init(HWND__ *,Rect::gfx const&)
+ chrome/browser/views/frame/browser_frame.cc BrowserFrame::Init(void)
+ chrome/browser/views/frame/browser_view.cc BrowserWindow::CreateBrowserWindow(Browser *)
+ chrome/browser/browser.cc Browser::CreateBrowserWindow(void)
+ chrome/browser/browser.cc Browser::Create(Profile *)
+ chrome/test/in_process_browser_test.cc InProcessBrowserTest::CreateBrowser(Profile *)
+ chrome/test/in_process_browser_test.cc InProcessBrowserTest::RunTestOnMainThreadLoop(void)
+ base/tuple.h ?DispatchToMethod@VInProcessBrowserTest@@P81@AEXXZ@@YAXPAVInProcessBrowserTest@@P80@AEXXZABUTuple0@@@Z
+ ^^^
diff --git a/chrome/test/unit/unittests.vcproj b/chrome/test/unit/unittests.vcproj index 947f797..4a5d3cd 100644 --- a/chrome/test/unit/unittests.vcproj +++ b/chrome/test/unit/unittests.vcproj @@ -476,6 +476,10 @@ > </File> <File + RelativePath="..\..\browser\extensions\extension_content_script_inject_unittest.cc" + > + </File> + <File RelativePath="..\..\browser\extensions\extension_ui_unittest.cc" > </File> @@ -704,6 +708,14 @@ > </File> <File + RelativePath="..\..\browser\extensions\test_extension_loader.cc" + > + </File> + <File + RelativePath="..\..\browser\extensions\test_extension_loader.h" + > + </File> + <File RelativePath="..\..\browser\history\text_database_manager_unittest.cc" > </File> |