| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "base/bind.h" | 5 #include "base/bind.h" |
| 6 #include "base/command_line.h" | 6 #include "base/command_line.h" |
| 7 #include "base/files/file.h" | 7 #include "base/files/file.h" |
| 8 #include "base/files/file_enumerator.h" | 8 #include "base/files/file_enumerator.h" |
| 9 #include "base/files/file_path.h" | 9 #include "base/files/file_path.h" |
| 10 #include "base/files/file_util.h" | 10 #include "base/files/file_util.h" |
| (...skipping 228 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 239 const GURL url = GetTestUrl("indexeddb", "bug_109187.html"); | 239 const GURL url = GetTestUrl("indexeddb", "bug_109187.html"); |
| 240 | 240 |
| 241 // Just navigate to the URL. Test will crash if it fails. | 241 // Just navigate to the URL. Test will crash if it fails. |
| 242 NavigateToURLBlockUntilNavigationsComplete(shell(), url, 1); | 242 NavigateToURLBlockUntilNavigationsComplete(shell(), url, 1); |
| 243 } | 243 } |
| 244 | 244 |
| 245 class IndexedDBBrowserTestWithLowQuota : public IndexedDBBrowserTest { | 245 class IndexedDBBrowserTestWithLowQuota : public IndexedDBBrowserTest { |
| 246 public: | 246 public: |
| 247 IndexedDBBrowserTestWithLowQuota() {} | 247 IndexedDBBrowserTestWithLowQuota() {} |
| 248 | 248 |
| 249 virtual void SetUpOnMainThread() override { | 249 void SetUpOnMainThread() override { |
| 250 const int kInitialQuotaKilobytes = 5000; | 250 const int kInitialQuotaKilobytes = 5000; |
| 251 SetQuota(kInitialQuotaKilobytes); | 251 SetQuota(kInitialQuotaKilobytes); |
| 252 } | 252 } |
| 253 | 253 |
| 254 private: | 254 private: |
| 255 DISALLOW_COPY_AND_ASSIGN(IndexedDBBrowserTestWithLowQuota); | 255 DISALLOW_COPY_AND_ASSIGN(IndexedDBBrowserTestWithLowQuota); |
| 256 }; | 256 }; |
| 257 | 257 |
| 258 IN_PROC_BROWSER_TEST_F(IndexedDBBrowserTestWithLowQuota, QuotaTest) { | 258 IN_PROC_BROWSER_TEST_F(IndexedDBBrowserTestWithLowQuota, QuotaTest) { |
| 259 SimpleTest(GetTestUrl("indexeddb", "quota_test.html")); | 259 SimpleTest(GetTestUrl("indexeddb", "quota_test.html")); |
| 260 } | 260 } |
| 261 | 261 |
| 262 class IndexedDBBrowserTestWithGCExposed : public IndexedDBBrowserTest { | 262 class IndexedDBBrowserTestWithGCExposed : public IndexedDBBrowserTest { |
| 263 public: | 263 public: |
| 264 IndexedDBBrowserTestWithGCExposed() {} | 264 IndexedDBBrowserTestWithGCExposed() {} |
| 265 | 265 |
| 266 virtual void SetUpCommandLine(CommandLine* command_line) override { | 266 void SetUpCommandLine(CommandLine* command_line) override { |
| 267 command_line->AppendSwitchASCII(switches::kJavaScriptFlags, "--expose-gc"); | 267 command_line->AppendSwitchASCII(switches::kJavaScriptFlags, "--expose-gc"); |
| 268 } | 268 } |
| 269 | 269 |
| 270 private: | 270 private: |
| 271 DISALLOW_COPY_AND_ASSIGN(IndexedDBBrowserTestWithGCExposed); | 271 DISALLOW_COPY_AND_ASSIGN(IndexedDBBrowserTestWithGCExposed); |
| 272 }; | 272 }; |
| 273 | 273 |
| 274 IN_PROC_BROWSER_TEST_F(IndexedDBBrowserTestWithGCExposed, | 274 IN_PROC_BROWSER_TEST_F(IndexedDBBrowserTestWithGCExposed, |
| 275 DatabaseCallbacksTest) { | 275 DatabaseCallbacksTest) { |
| 276 SimpleTest(GetTestUrl("indexeddb", "database_callbacks_first.html")); | 276 SimpleTest(GetTestUrl("indexeddb", "database_callbacks_first.html")); |
| (...skipping 13 matching lines...) Expand all Loading... |
| 290 ASSERT_TRUE(base::CreateDirectory(dest)); | 290 ASSERT_TRUE(base::CreateDirectory(dest)); |
| 291 const bool kRecursive = true; | 291 const bool kRecursive = true; |
| 292 ASSERT_TRUE(base::CopyDirectory(test_data_dir, | 292 ASSERT_TRUE(base::CopyDirectory(test_data_dir, |
| 293 context->data_path(), | 293 context->data_path(), |
| 294 kRecursive)); | 294 kRecursive)); |
| 295 } | 295 } |
| 296 | 296 |
| 297 class IndexedDBBrowserTestWithPreexistingLevelDB : public IndexedDBBrowserTest { | 297 class IndexedDBBrowserTestWithPreexistingLevelDB : public IndexedDBBrowserTest { |
| 298 public: | 298 public: |
| 299 IndexedDBBrowserTestWithPreexistingLevelDB() {} | 299 IndexedDBBrowserTestWithPreexistingLevelDB() {} |
| 300 virtual void SetUpOnMainThread() override { | 300 void SetUpOnMainThread() override { |
| 301 scoped_refptr<IndexedDBContextImpl> context = GetContext(); | 301 scoped_refptr<IndexedDBContextImpl> context = GetContext(); |
| 302 context->TaskRunner()->PostTask( | 302 context->TaskRunner()->PostTask( |
| 303 FROM_HERE, | 303 FROM_HERE, |
| 304 base::Bind( | 304 base::Bind( |
| 305 &CopyLevelDBToProfile, shell(), context, EnclosingLevelDBDir())); | 305 &CopyLevelDBToProfile, shell(), context, EnclosingLevelDBDir())); |
| 306 scoped_refptr<base::ThreadTestHelper> helper(new base::ThreadTestHelper( | 306 scoped_refptr<base::ThreadTestHelper> helper(new base::ThreadTestHelper( |
| 307 BrowserMainLoop::GetInstance()->indexed_db_thread()-> | 307 BrowserMainLoop::GetInstance()->indexed_db_thread()-> |
| 308 message_loop_proxy())); | 308 message_loop_proxy())); |
| 309 ASSERT_TRUE(helper->Run()); | 309 ASSERT_TRUE(helper->Run()); |
| 310 } | 310 } |
| 311 | 311 |
| 312 virtual std::string EnclosingLevelDBDir() = 0; | 312 virtual std::string EnclosingLevelDBDir() = 0; |
| 313 | 313 |
| 314 private: | 314 private: |
| 315 DISALLOW_COPY_AND_ASSIGN(IndexedDBBrowserTestWithPreexistingLevelDB); | 315 DISALLOW_COPY_AND_ASSIGN(IndexedDBBrowserTestWithPreexistingLevelDB); |
| 316 }; | 316 }; |
| 317 | 317 |
| 318 class IndexedDBBrowserTestWithVersion0Schema : public | 318 class IndexedDBBrowserTestWithVersion0Schema : public |
| 319 IndexedDBBrowserTestWithPreexistingLevelDB { | 319 IndexedDBBrowserTestWithPreexistingLevelDB { |
| 320 virtual std::string EnclosingLevelDBDir() override { | 320 std::string EnclosingLevelDBDir() override { return "migration_from_0"; } |
| 321 return "migration_from_0"; | |
| 322 } | |
| 323 }; | 321 }; |
| 324 | 322 |
| 325 IN_PROC_BROWSER_TEST_F(IndexedDBBrowserTestWithVersion0Schema, MigrationTest) { | 323 IN_PROC_BROWSER_TEST_F(IndexedDBBrowserTestWithVersion0Schema, MigrationTest) { |
| 326 SimpleTest(GetTestUrl("indexeddb", "migration_test.html")); | 324 SimpleTest(GetTestUrl("indexeddb", "migration_test.html")); |
| 327 } | 325 } |
| 328 | 326 |
| 329 class IndexedDBBrowserTestWithVersion123456Schema : public | 327 class IndexedDBBrowserTestWithVersion123456Schema : public |
| 330 IndexedDBBrowserTestWithPreexistingLevelDB { | 328 IndexedDBBrowserTestWithPreexistingLevelDB { |
| 331 virtual std::string EnclosingLevelDBDir() override { | 329 std::string EnclosingLevelDBDir() override { return "schema_version_123456"; } |
| 332 return "schema_version_123456"; | |
| 333 } | |
| 334 }; | 330 }; |
| 335 | 331 |
| 336 IN_PROC_BROWSER_TEST_F(IndexedDBBrowserTestWithVersion123456Schema, | 332 IN_PROC_BROWSER_TEST_F(IndexedDBBrowserTestWithVersion123456Schema, |
| 337 DestroyTest) { | 333 DestroyTest) { |
| 338 int64 original_size = RequestDiskUsage(); | 334 int64 original_size = RequestDiskUsage(); |
| 339 EXPECT_GT(original_size, 0); | 335 EXPECT_GT(original_size, 0); |
| 340 SimpleTest(GetTestUrl("indexeddb", "open_bad_db.html")); | 336 SimpleTest(GetTestUrl("indexeddb", "open_bad_db.html")); |
| 341 int64 new_size = RequestDiskUsage(); | 337 int64 new_size = RequestDiskUsage(); |
| 342 EXPECT_NE(original_size, new_size); | 338 EXPECT_NE(original_size, new_size); |
| 343 } | 339 } |
| 344 | 340 |
| 345 class IndexedDBBrowserTestWithVersion987654SSVData : public | 341 class IndexedDBBrowserTestWithVersion987654SSVData : public |
| 346 IndexedDBBrowserTestWithPreexistingLevelDB { | 342 IndexedDBBrowserTestWithPreexistingLevelDB { |
| 347 virtual std::string EnclosingLevelDBDir() override { | 343 std::string EnclosingLevelDBDir() override { return "ssv_version_987654"; } |
| 348 return "ssv_version_987654"; | |
| 349 } | |
| 350 }; | 344 }; |
| 351 | 345 |
| 352 IN_PROC_BROWSER_TEST_F(IndexedDBBrowserTestWithVersion987654SSVData, | 346 IN_PROC_BROWSER_TEST_F(IndexedDBBrowserTestWithVersion987654SSVData, |
| 353 DestroyTest) { | 347 DestroyTest) { |
| 354 int64 original_size = RequestDiskUsage(); | 348 int64 original_size = RequestDiskUsage(); |
| 355 EXPECT_GT(original_size, 0); | 349 EXPECT_GT(original_size, 0); |
| 356 SimpleTest(GetTestUrl("indexeddb", "open_bad_db.html")); | 350 SimpleTest(GetTestUrl("indexeddb", "open_bad_db.html")); |
| 357 int64 new_size = RequestDiskUsage(); | 351 int64 new_size = RequestDiskUsage(); |
| 358 EXPECT_NE(original_size, new_size); | 352 EXPECT_NE(original_size, new_size); |
| 359 } | 353 } |
| 360 | 354 |
| 361 class IndexedDBBrowserTestWithCorruptLevelDB : public | 355 class IndexedDBBrowserTestWithCorruptLevelDB : public |
| 362 IndexedDBBrowserTestWithPreexistingLevelDB { | 356 IndexedDBBrowserTestWithPreexistingLevelDB { |
| 363 virtual std::string EnclosingLevelDBDir() override { | 357 std::string EnclosingLevelDBDir() override { return "corrupt_leveldb"; } |
| 364 return "corrupt_leveldb"; | |
| 365 } | |
| 366 }; | 358 }; |
| 367 | 359 |
| 368 IN_PROC_BROWSER_TEST_F(IndexedDBBrowserTestWithCorruptLevelDB, | 360 IN_PROC_BROWSER_TEST_F(IndexedDBBrowserTestWithCorruptLevelDB, |
| 369 DestroyTest) { | 361 DestroyTest) { |
| 370 int64 original_size = RequestDiskUsage(); | 362 int64 original_size = RequestDiskUsage(); |
| 371 EXPECT_GT(original_size, 0); | 363 EXPECT_GT(original_size, 0); |
| 372 SimpleTest(GetTestUrl("indexeddb", "open_bad_db.html")); | 364 SimpleTest(GetTestUrl("indexeddb", "open_bad_db.html")); |
| 373 int64 new_size = RequestDiskUsage(); | 365 int64 new_size = RequestDiskUsage(); |
| 374 EXPECT_NE(original_size, new_size); | 366 EXPECT_NE(original_size, new_size); |
| 375 } | 367 } |
| 376 | 368 |
| 377 class IndexedDBBrowserTestWithMissingSSTFile : public | 369 class IndexedDBBrowserTestWithMissingSSTFile : public |
| 378 IndexedDBBrowserTestWithPreexistingLevelDB { | 370 IndexedDBBrowserTestWithPreexistingLevelDB { |
| 379 virtual std::string EnclosingLevelDBDir() override { | 371 std::string EnclosingLevelDBDir() override { return "missing_sst"; } |
| 380 return "missing_sst"; | |
| 381 } | |
| 382 }; | 372 }; |
| 383 | 373 |
| 384 IN_PROC_BROWSER_TEST_F(IndexedDBBrowserTestWithMissingSSTFile, | 374 IN_PROC_BROWSER_TEST_F(IndexedDBBrowserTestWithMissingSSTFile, |
| 385 DestroyTest) { | 375 DestroyTest) { |
| 386 int64 original_size = RequestDiskUsage(); | 376 int64 original_size = RequestDiskUsage(); |
| 387 EXPECT_GT(original_size, 0); | 377 EXPECT_GT(original_size, 0); |
| 388 SimpleTest(GetTestUrl("indexeddb", "open_missing_table.html")); | 378 SimpleTest(GetTestUrl("indexeddb", "open_missing_table.html")); |
| 389 int64 new_size = RequestDiskUsage(); | 379 int64 new_size = RequestDiskUsage(); |
| 390 EXPECT_NE(original_size, new_size); | 380 EXPECT_NE(original_size, new_size); |
| 391 } | 381 } |
| (...skipping 324 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 716 GURL("file:///"))); | 706 GURL("file:///"))); |
| 717 | 707 |
| 718 base::string16 expected_title16(ASCIIToUTF16("connection closed")); | 708 base::string16 expected_title16(ASCIIToUTF16("connection closed")); |
| 719 TitleWatcher title_watcher(shell()->web_contents(), expected_title16); | 709 TitleWatcher title_watcher(shell()->web_contents(), expected_title16); |
| 720 title_watcher.AlsoWaitForTitle(ASCIIToUTF16("connection closed with error")); | 710 title_watcher.AlsoWaitForTitle(ASCIIToUTF16("connection closed with error")); |
| 721 EXPECT_EQ(expected_title16, title_watcher.WaitAndGetTitle()); | 711 EXPECT_EQ(expected_title16, title_watcher.WaitAndGetTitle()); |
| 722 } | 712 } |
| 723 | 713 |
| 724 class IndexedDBBrowserTestSingleProcess : public IndexedDBBrowserTest { | 714 class IndexedDBBrowserTestSingleProcess : public IndexedDBBrowserTest { |
| 725 public: | 715 public: |
| 726 virtual void SetUpCommandLine(CommandLine* command_line) override { | 716 void SetUpCommandLine(CommandLine* command_line) override { |
| 727 command_line->AppendSwitch(switches::kSingleProcess); | 717 command_line->AppendSwitch(switches::kSingleProcess); |
| 728 } | 718 } |
| 729 }; | 719 }; |
| 730 | 720 |
| 731 IN_PROC_BROWSER_TEST_F(IndexedDBBrowserTestSingleProcess, | 721 IN_PROC_BROWSER_TEST_F(IndexedDBBrowserTestSingleProcess, |
| 732 RenderThreadShutdownTest) { | 722 RenderThreadShutdownTest) { |
| 733 SimpleTest(GetTestUrl("indexeddb", "shutdown_with_requests.html")); | 723 SimpleTest(GetTestUrl("indexeddb", "shutdown_with_requests.html")); |
| 734 } | 724 } |
| 735 | 725 |
| 736 } // namespace content | 726 } // namespace content |
| OLD | NEW |