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

Side by Side Diff: content/browser/tab_contents/tab_contents.cc

Issue 8253002: Move PageTransition into content namespace. While I'm touching all these files, I've also updated... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years, 2 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
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 "content/browser/tab_contents/tab_contents.h" 5 #include "content/browser/tab_contents/tab_contents.h"
6 6
7 #include <cmath> 7 #include <cmath>
8 8
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/metrics/histogram.h" 10 #include "base/metrics/histogram.h"
(...skipping 517 matching lines...) Expand 10 before | Expand all | Expand 10 after
528 // TODO(creis): Should we fire even for interstitial pages? 528 // TODO(creis): Should we fire even for interstitial pages?
529 return notify_disconnection() && 529 return notify_disconnection() &&
530 !showing_interstitial_page() && 530 !showing_interstitial_page() &&
531 !render_view_host()->SuddenTerminationAllowed(); 531 !render_view_host()->SuddenTerminationAllowed();
532 } 532 }
533 533
534 // TODO(adriansc): Remove this method once refactoring changed all call sites. 534 // TODO(adriansc): Remove this method once refactoring changed all call sites.
535 TabContents* TabContents::OpenURL(const GURL& url, 535 TabContents* TabContents::OpenURL(const GURL& url,
536 const GURL& referrer, 536 const GURL& referrer,
537 WindowOpenDisposition disposition, 537 WindowOpenDisposition disposition,
538 PageTransition::Type transition) { 538 content::PageTransition transition) {
539 return OpenURL(OpenURLParams(url, referrer, disposition, transition)); 539 return OpenURL(OpenURLParams(url, referrer, disposition, transition));
540 } 540 }
541 541
542 TabContents* TabContents::OpenURL(const OpenURLParams& params) { 542 TabContents* TabContents::OpenURL(const OpenURLParams& params) {
543 if (delegate_) { 543 if (delegate_) {
544 TabContents* new_contents = delegate_->OpenURLFromTab(this, params); 544 TabContents* new_contents = delegate_->OpenURLFromTab(this, params);
545 // Notify observers. 545 // Notify observers.
546 FOR_EACH_OBSERVER(TabContentsObserver, observers_, 546 FOR_EACH_OBSERVER(TabContentsObserver, observers_,
547 DidOpenURL(params.url, params.referrer, 547 DidOpenURL(params.url, params.referrer,
548 params.disposition, params.transition)); 548 params.disposition, params.transition));
(...skipping 492 matching lines...) Expand 10 before | Expand all | Expand 10 after
1041 } 1041 }
1042 1042
1043 void TabContents::OnGoToEntryAtOffset(int offset) { 1043 void TabContents::OnGoToEntryAtOffset(int offset) {
1044 if (!delegate_ || delegate_->OnGoToEntryOffset(offset)) { 1044 if (!delegate_ || delegate_->OnGoToEntryOffset(offset)) {
1045 NavigationEntry* entry = controller_.GetEntryAtOffset(offset); 1045 NavigationEntry* entry = controller_.GetEntryAtOffset(offset);
1046 if (!entry) 1046 if (!entry)
1047 return; 1047 return;
1048 // Note that we don't call NavigationController::GotToOffset() as we don't 1048 // Note that we don't call NavigationController::GotToOffset() as we don't
1049 // want to create a pending navigation entry (it might end up lingering 1049 // want to create a pending navigation entry (it might end up lingering
1050 // http://crbug.com/51680). 1050 // http://crbug.com/51680).
1051 entry->set_transition_type(entry->transition_type() | 1051 entry->set_transition_type(
1052 PageTransition::FORWARD_BACK); 1052 content::PageTransitionFromInt(
1053 entry->transition_type() |
1054 content::PAGE_TRANSITION_FORWARD_BACK));
1053 NavigateToEntry(*entry, NavigationController::NO_RELOAD); 1055 NavigateToEntry(*entry, NavigationController::NO_RELOAD);
1054 1056
1055 // If the entry is being restored and doesn't have a SiteInstance yet, fill 1057 // If the entry is being restored and doesn't have a SiteInstance yet, fill
1056 // it in now that we know. This allows us to find the entry when it commits. 1058 // it in now that we know. This allows us to find the entry when it commits.
1057 if (!entry->site_instance() && 1059 if (!entry->site_instance() &&
1058 entry->restore_type() != NavigationEntry::RESTORE_NONE) { 1060 entry->restore_type() != NavigationEntry::RESTORE_NONE) {
1059 entry->set_site_instance(GetPendingSiteInstance()); 1061 entry->set_site_instance(GetPendingSiteInstance());
1060 } 1062 }
1061 } 1063 }
1062 } 1064 }
(...skipping 385 matching lines...) Expand 10 before | Expand all | Expand 10 after
1448 1450
1449 FOR_EACH_OBSERVER(TabContentsObserver, observers_, RenderViewGone()); 1451 FOR_EACH_OBSERVER(TabContentsObserver, observers_, RenderViewGone());
1450 } 1452 }
1451 1453
1452 void TabContents::RenderViewDeleted(RenderViewHost* rvh) { 1454 void TabContents::RenderViewDeleted(RenderViewHost* rvh) {
1453 render_manager_.RenderViewDeleted(rvh); 1455 render_manager_.RenderViewDeleted(rvh);
1454 } 1456 }
1455 1457
1456 void TabContents::DidNavigate(RenderViewHost* rvh, 1458 void TabContents::DidNavigate(RenderViewHost* rvh,
1457 const ViewHostMsg_FrameNavigate_Params& params) { 1459 const ViewHostMsg_FrameNavigate_Params& params) {
1458 if (PageTransition::IsMainFrame(params.transition)) 1460 if (content::PageTransitionIsMainFrame(params.transition))
1459 render_manager_.DidNavigateMainFrame(rvh); 1461 render_manager_.DidNavigateMainFrame(rvh);
1460 1462
1461 // Update the site of the SiteInstance if it doesn't have one yet. 1463 // Update the site of the SiteInstance if it doesn't have one yet.
1462 if (!GetSiteInstance()->has_site()) 1464 if (!GetSiteInstance()->has_site())
1463 GetSiteInstance()->SetSite(params.url); 1465 GetSiteInstance()->SetSite(params.url);
1464 1466
1465 // Need to update MIME type here because it's referred to in 1467 // Need to update MIME type here because it's referred to in
1466 // UpdateNavigationCommands() called by RendererDidNavigate() to 1468 // UpdateNavigationCommands() called by RendererDidNavigate() to
1467 // determine whether or not to enable the encoding menu. 1469 // determine whether or not to enable the encoding menu.
1468 // It's updated only for the main frame. For a subframe, 1470 // It's updated only for the main frame. For a subframe,
1469 // RenderView::UpdateURL does not set params.contents_mime_type. 1471 // RenderView::UpdateURL does not set params.contents_mime_type.
1470 // (see http://code.google.com/p/chromium/issues/detail?id=2929 ) 1472 // (see http://code.google.com/p/chromium/issues/detail?id=2929 )
1471 // TODO(jungshik): Add a test for the encoding menu to avoid 1473 // TODO(jungshik): Add a test for the encoding menu to avoid
1472 // regressing it again. 1474 // regressing it again.
1473 if (PageTransition::IsMainFrame(params.transition)) 1475 if (content::PageTransitionIsMainFrame(params.transition))
1474 contents_mime_type_ = params.contents_mime_type; 1476 contents_mime_type_ = params.contents_mime_type;
1475 1477
1476 content::LoadCommittedDetails details; 1478 content::LoadCommittedDetails details;
1477 bool did_navigate = controller_.RendererDidNavigate(params, &details); 1479 bool did_navigate = controller_.RendererDidNavigate(params, &details);
1478 1480
1479 // Send notification about committed provisional loads. This notification is 1481 // Send notification about committed provisional loads. This notification is
1480 // different from the NAV_ENTRY_COMMITTED notification which doesn't include 1482 // different from the NAV_ENTRY_COMMITTED notification which doesn't include
1481 // the actual URL navigated to and isn't sent for AUTO_SUBFRAME navigations. 1483 // the actual URL navigated to and isn't sent for AUTO_SUBFRAME navigations.
1482 if (details.type != NavigationType::NAV_IGNORE) { 1484 if (details.type != NavigationType::NAV_IGNORE) {
1483 // For AUTO_SUBFRAME navigations, an event for the main frame is generated 1485 // For AUTO_SUBFRAME navigations, an event for the main frame is generated
1484 // that is not recorded in the navigation history. For the purpose of 1486 // that is not recorded in the navigation history. For the purpose of
1485 // tracking navigation events, we treat this event as a sub frame navigation 1487 // tracking navigation events, we treat this event as a sub frame navigation
1486 // event. 1488 // event.
1487 bool is_main_frame = did_navigate ? details.is_main_frame : false; 1489 bool is_main_frame = did_navigate ? details.is_main_frame : false;
1488 PageTransition::Type transition_type = params.transition; 1490 content::PageTransition transition_type = params.transition;
1489 // Whether or not a page transition was triggered by going backward or 1491 // Whether or not a page transition was triggered by going backward or
1490 // forward in the history is only stored in the navigation controller's 1492 // forward in the history is only stored in the navigation controller's
1491 // entry list. 1493 // entry list.
1492 if (did_navigate && 1494 if (did_navigate &&
1493 (controller_.GetActiveEntry()->transition_type() & 1495 (controller_.GetActiveEntry()->transition_type() &
1494 PageTransition::FORWARD_BACK)) { 1496 content::PAGE_TRANSITION_FORWARD_BACK)) {
1495 transition_type = params.transition | PageTransition::FORWARD_BACK; 1497 transition_type = content::PageTransitionFromInt(
1498 params.transition | content::PAGE_TRANSITION_FORWARD_BACK);
1496 } 1499 }
1497 // Notify observers about the commit of the provisional load. 1500 // Notify observers about the commit of the provisional load.
1498 FOR_EACH_OBSERVER(TabContentsObserver, observers_, 1501 FOR_EACH_OBSERVER(TabContentsObserver, observers_,
1499 DidCommitProvisionalLoadForFrame(params.frame_id, 1502 DidCommitProvisionalLoadForFrame(params.frame_id,
1500 is_main_frame, params.url, transition_type)); 1503 is_main_frame, params.url, transition_type));
1501 } 1504 }
1502 1505
1503 if (!did_navigate) 1506 if (!did_navigate)
1504 return; // No navigation happened. 1507 return; // No navigation happened.
1505 1508
(...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after
1661 content::NOTIFICATION_LOAD_COMPLETED_MAIN_FRAME, 1664 content::NOTIFICATION_LOAD_COMPLETED_MAIN_FRAME,
1662 Source<TabContents>(this), 1665 Source<TabContents>(this),
1663 Details<int>(&page_id)); 1666 Details<int>(&page_id));
1664 } 1667 }
1665 1668
1666 void TabContents::RequestOpenURL(const GURL& url, 1669 void TabContents::RequestOpenURL(const GURL& url,
1667 const GURL& referrer, 1670 const GURL& referrer,
1668 WindowOpenDisposition disposition, 1671 WindowOpenDisposition disposition,
1669 int64 source_frame_id) { 1672 int64 source_frame_id) {
1670 TabContents* new_contents = NULL; 1673 TabContents* new_contents = NULL;
1671 PageTransition::Type transition_type = PageTransition::LINK; 1674 content::PageTransition transition_type = content::PAGE_TRANSITION_LINK;
1672 if (render_manager_.web_ui()) { 1675 if (render_manager_.web_ui()) {
1673 // When we're a Web UI, it will provide a page transition type for us (this 1676 // When we're a Web UI, it will provide a page transition type for us (this
1674 // is so the new tab page can specify AUTO_BOOKMARK for automatically 1677 // is so the new tab page can specify AUTO_BOOKMARK for automatically
1675 // generated suggestions). 1678 // generated suggestions).
1676 // 1679 //
1677 // Note also that we hide the referrer for Web UI pages. We don't really 1680 // Note also that we hide the referrer for Web UI pages. We don't really
1678 // want web sites to see a referrer of "chrome://blah" (and some 1681 // want web sites to see a referrer of "chrome://blah" (and some
1679 // chrome: URLs might have search terms or other stuff we don't want to 1682 // chrome: URLs might have search terms or other stuff we don't want to
1680 // send to the site), so we send no referrer. 1683 // send to the site), so we send no referrer.
1681 new_contents = OpenURL(url, GURL(), disposition, 1684 new_contents = OpenURL(url, GURL(), disposition,
1682 render_manager_.web_ui()->link_transition_type()); 1685 render_manager_.web_ui()->link_transition_type());
1683 transition_type = render_manager_.web_ui()->link_transition_type(); 1686 transition_type = render_manager_.web_ui()->link_transition_type();
1684 } else { 1687 } else {
1685 new_contents = OpenURL(url, referrer, disposition, PageTransition::LINK); 1688 new_contents = OpenURL(
1689 url, referrer, disposition, content::PAGE_TRANSITION_LINK);
1686 } 1690 }
1687 if (new_contents) { 1691 if (new_contents) {
1688 // Notify observers. 1692 // Notify observers.
1689 FOR_EACH_OBSERVER(TabContentsObserver, observers_, 1693 FOR_EACH_OBSERVER(TabContentsObserver, observers_,
1690 DidOpenRequestedURL(new_contents, 1694 DidOpenRequestedURL(new_contents,
1691 url, 1695 url,
1692 referrer, 1696 referrer,
1693 disposition, 1697 disposition,
1694 transition_type, 1698 transition_type,
1695 source_frame_id)); 1699 source_frame_id));
(...skipping 269 matching lines...) Expand 10 before | Expand all | Expand 10 after
1965 1969
1966 void TabContents::set_encoding(const std::string& encoding) { 1970 void TabContents::set_encoding(const std::string& encoding) {
1967 encoding_ = content::GetContentClient()->browser()-> 1971 encoding_ = content::GetContentClient()->browser()->
1968 GetCanonicalEncodingNameByAliasName(encoding); 1972 GetCanonicalEncodingNameByAliasName(encoding);
1969 } 1973 }
1970 1974
1971 void TabContents::CreateViewAndSetSizeForRVH(RenderViewHost* rvh) { 1975 void TabContents::CreateViewAndSetSizeForRVH(RenderViewHost* rvh) {
1972 RenderWidgetHostView* rwh_view = view()->CreateViewForWidget(rvh); 1976 RenderWidgetHostView* rwh_view = view()->CreateViewForWidget(rvh);
1973 rwh_view->SetSize(view()->GetContainerSize()); 1977 rwh_view->SetSize(view()->GetContainerSize());
1974 } 1978 }
OLDNEW
« no previous file with comments | « content/browser/tab_contents/tab_contents.h ('k') | content/browser/tab_contents/tab_contents_delegate.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698