Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(89)

Side by Side Diff: webkit/tools/test_shell/test_shell.cc

Issue 113758: Remove the HistoryState property of WebRequest.... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 11 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « webkit/glue/weburlrequest_impl.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 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 "v8_proxy.h" 5 #include "v8_proxy.h"
6 #undef LOG 6 #undef LOG
7 7
8 #include "webkit/tools/test_shell/test_shell.h" 8 #include "webkit/tools/test_shell/test_shell.h"
9 9
10 #include "base/base_paths.h" 10 #include "base/base_paths.h"
(...skipping 476 matching lines...) Expand 10 before | Expand all | Expand 10 after
487 // Reset state in the test webview delegate. 487 // Reset state in the test webview delegate.
488 delegate_ = new TestWebViewDelegate(this); 488 delegate_ = new TestWebViewDelegate(this);
489 webView()->SetDelegate(delegate_); 489 webView()->SetDelegate(delegate_);
490 } 490 }
491 491
492 void TestShell::LoadURL(const wchar_t* url) { 492 void TestShell::LoadURL(const wchar_t* url) {
493 LoadURLForFrame(url, NULL); 493 LoadURLForFrame(url, NULL);
494 } 494 }
495 495
496 bool TestShell::Navigate(const TestNavigationEntry& entry, bool reload) { 496 bool TestShell::Navigate(const TestNavigationEntry& entry, bool reload) {
497 // Get the right target frame for the entry.
498 WebFrame* frame = webView()->GetMainFrame();
499 if (!entry.GetTargetFrame().empty())
500 frame = webView()->GetFrameWithName(entry.GetTargetFrame());
501 // TODO(mpcomplete): should we clear the target frame, or should
502 // back/forward navigations maintain the target frame?
503
504 // A navigation resulting from loading a javascript URL should not be
505 // treated as a browser initiated event. Instead, we want it to look as if
506 // the page initiated any load resulting from JS execution.
507 if (!entry.GetURL().SchemeIs("javascript")) {
508 delegate_->set_pending_extra_data(
509 new TestShellExtraData(entry.GetPageID()));
510 }
511
512 // If we are reloading, then WebKit will use the state of the current page.
513 // Otherwise, we give it the state to navigate to.
514 if (!reload && !entry.GetContentState().empty()) {
515 DCHECK(entry.GetPageID() != -1);
516 frame->LoadHistoryState(entry.GetContentState());
517 } else {
497 WebRequestCachePolicy cache_policy; 518 WebRequestCachePolicy cache_policy;
498 if (reload) { 519 if (reload) {
499 cache_policy = WebRequestReloadIgnoringCacheData; 520 cache_policy = WebRequestReloadIgnoringCacheData;
500 } else if (entry.GetPageID() != -1) {
501 cache_policy = WebRequestReturnCacheDataElseLoad;
502 } else { 521 } else {
522 DCHECK(entry.GetPageID() == -1);
503 cache_policy = WebRequestUseProtocolCachePolicy; 523 cache_policy = WebRequestUseProtocolCachePolicy;
504 } 524 }
505 525
506 scoped_ptr<WebRequest> request(WebRequest::Create(entry.GetURL())); 526 scoped_ptr<WebRequest> request(WebRequest::Create(entry.GetURL()));
507 request->SetCachePolicy(cache_policy); 527 request->SetCachePolicy(cache_policy);
508 // If we are reloading, then WebKit will use the state of the current page.
509 // Otherwise, we give it the state to navigate to.
510 if (!reload)
511 request->SetHistoryState(entry.GetContentState());
512
513 // A navigation resulting from loading a javascript URL should not be
514 // treated as a browser initiated event. Instead, we want it to look as if
515 // the page initiated any load resulting from JS execution.
516 if (!entry.GetURL().SchemeIs("javascript")) {
517 delegate_->set_pending_extra_data(
518 new TestShellExtraData(entry.GetPageID()));
519 }
520
521 // Get the right target frame for the entry.
522 WebFrame* frame = webView()->GetMainFrame();
523 if (!entry.GetTargetFrame().empty())
524 frame = webView()->GetFrameWithName(entry.GetTargetFrame());
525 // TODO(mpcomplete): should we clear the target frame, or should
526 // back/forward navigations maintain the target frame?
527 528
528 frame->LoadRequest(request.get()); 529 frame->LoadRequest(request.get());
530 }
529 531
530 // In case LoadRequest failed before DidCreateDataSource was called. 532 // In case LoadRequest failed before DidCreateDataSource was called.
531 delegate_->set_pending_extra_data(NULL); 533 delegate_->set_pending_extra_data(NULL);
532 534
533 // Restore focus to the main frame prior to loading new request. 535 // Restore focus to the main frame prior to loading new request.
534 // This makes sure that we don't have a focused iframe. Otherwise, that 536 // This makes sure that we don't have a focused iframe. Otherwise, that
535 // iframe would keep focus when the SetFocus called immediately after 537 // iframe would keep focus when the SetFocus called immediately after
536 // LoadRequest, thus making some tests fail (see http://b/issue?id=845337 538 // LoadRequest, thus making some tests fail (see http://b/issue?id=845337
537 // for more details). 539 // for more details).
538 webView()->SetFocusedFrame(frame); 540 webView()->SetFocusedFrame(frame);
539 SetFocus(webViewHost(), true); 541 SetFocus(webViewHost(), true);
540 542
541 return true; 543 return true;
542 } 544 }
543 545
544 void TestShell::GoBackOrForward(int offset) { 546 void TestShell::GoBackOrForward(int offset) {
545 navigation_controller_->GoToOffset(offset); 547 navigation_controller_->GoToOffset(offset);
546 } 548 }
547 549
548 void TestShell::DumpDocumentText() { 550 void TestShell::DumpDocumentText() {
549 std::wstring file_path; 551 std::wstring file_path;
550 if (!PromptForSaveFile(L"Dump document text", &file_path)) 552 if (!PromptForSaveFile(L"Dump document text", &file_path))
551 return; 553 return;
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
651 } 653 }
652 #endif // OS_WIN 654 #endif // OS_WIN
653 return false; 655 return false;
654 } 656 }
655 657
656 std::wstring GetWebKitLocale() { 658 std::wstring GetWebKitLocale() {
657 return L"en-US"; 659 return L"en-US";
658 } 660 }
659 661
660 } // namespace webkit_glue 662 } // namespace webkit_glue
OLDNEW
« no previous file with comments | « webkit/glue/weburlrequest_impl.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698