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

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

Issue 8949061: Move a bunch of methods from TabContents into the WebContents interface. This change either moves... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years 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 252 matching lines...) Expand 10 before | Expand all | Expand 10 after
263 UMA_HISTOGRAM_TIMES("Tab.Close", 263 UMA_HISTOGRAM_TIMES("Tab.Close",
264 base::TimeTicks::Now() - tab_close_start_time_); 264 base::TimeTicks::Now() - tab_close_start_time_);
265 } 265 }
266 266
267 FOR_EACH_OBSERVER(TabContentsObserver, observers_, TabContentsDestroyed()); 267 FOR_EACH_OBSERVER(TabContentsObserver, observers_, TabContentsDestroyed());
268 268
269 SetDelegate(NULL); 269 SetDelegate(NULL);
270 } 270 }
271 271
272 bool TabContents::OnMessageReceived(const IPC::Message& message) { 272 bool TabContents::OnMessageReceived(const IPC::Message& message) {
273 if (web_ui() && web_ui()->OnMessageReceived(message)) 273 if (GetWebUI() && GetWebUI()->OnMessageReceived(message))
274 return true; 274 return true;
275 275
276 ObserverListBase<TabContentsObserver>::Iterator it(observers_); 276 ObserverListBase<TabContentsObserver>::Iterator it(observers_);
277 TabContentsObserver* observer; 277 TabContentsObserver* observer;
278 while ((observer = it.GetNext()) != NULL) 278 while ((observer = it.GetNext()) != NULL)
279 if (observer->OnMessageReceived(message)) 279 if (observer->OnMessageReceived(message))
280 return true; 280 return true;
281 281
282 bool handled = true; 282 bool handled = true;
283 bool message_is_ok = true; 283 bool message_is_ok = true;
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
339 } 339 }
340 340
341 content::BrowserContext* TabContents::GetBrowserContext() const { 341 content::BrowserContext* TabContents::GetBrowserContext() const {
342 return controller_.browser_context(); 342 return controller_.browser_context();
343 } 343 }
344 344
345 void TabContents::SetViewType(content::ViewType type) { 345 void TabContents::SetViewType(content::ViewType type) {
346 view_type_ = type; 346 view_type_ = type;
347 } 347 }
348 348
349 const GURL& TabContents::GetURL() const {
350 // We may not have a navigation entry yet
351 NavigationEntry* entry = controller_.GetActiveEntry();
352 return entry ? entry->virtual_url() : GURL::EmptyGURL();
353 }
354
355
356 const base::PropertyBag* TabContents::GetPropertyBag() const {
357 return &property_bag_;
358 }
359
360 base::PropertyBag* TabContents::GetPropertyBag() {
361 return &property_bag_;
362 }
363
364 content::WebContentsDelegate* TabContents::GetDelegate() {
365 return delegate_;
366 }
367
368 void TabContents::SetDelegate(content::WebContentsDelegate* delegate) {
369 // TODO(cbentzel): remove this debugging code?
370 if (delegate == delegate_)
371 return;
372 if (delegate_)
373 delegate_->Detach(this);
374 delegate_ = delegate;
375 if (delegate_)
376 delegate_->Attach(this);
377 }
378
349 content::RenderProcessHost* TabContents::GetRenderProcessHost() const { 379 content::RenderProcessHost* TabContents::GetRenderProcessHost() const {
350 if (render_manager_.current_host()) 380 if (render_manager_.current_host())
351 return render_manager_.current_host()->process(); 381 return render_manager_.current_host()->process();
352 else 382 else
353 return NULL; 383 return NULL;
354 } 384 }
355 385
356 const GURL& TabContents::GetURL() const { 386 RenderViewHost* TabContents::GetRenderViewHost() const {
357 // We may not have a navigation entry yet 387 return render_manager_.current_host();
358 NavigationEntry* entry = controller_.GetActiveEntry(); 388 }
359 return entry ? entry->virtual_url() : GURL::EmptyGURL(); 389
390 RenderWidgetHostView* TabContents::GetRenderWidgetHostView() const {
391 return render_manager_.GetRenderWidgetHostView();
392 }
393
394 TabContentsView* TabContents::GetView() const {
395 return view_.get();
396 }
397
398 WebUI* TabContents::GetWebUI() const {
399 return render_manager_.web_ui() ? render_manager_.web_ui()
400 : render_manager_.pending_web_ui();
401 }
402
403 WebUI* TabContents::GetCommittedWebUI() const {
404 return render_manager_.web_ui();
360 } 405 }
361 406
362 const string16& TabContents::GetTitle() const { 407 const string16& TabContents::GetTitle() const {
363 // Transient entries take precedence. They are used for interstitial pages 408 // Transient entries take precedence. They are used for interstitial pages
364 // that are shown on top of existing pages. 409 // that are shown on top of existing pages.
365 NavigationEntry* entry = controller_.GetTransientEntry(); 410 NavigationEntry* entry = controller_.GetTransientEntry();
366 std::string accept_languages = 411 std::string accept_languages =
367 content::GetContentClient()->browser()->GetAcceptLangs( 412 content::GetContentClient()->browser()->GetAcceptLangs(
368 GetBrowserContext()); 413 GetBrowserContext());
369 if (entry) { 414 if (entry) {
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
421 return render_manager_.current_host()->site_instance(); 466 return render_manager_.current_host()->site_instance();
422 } 467 }
423 468
424 SiteInstance* TabContents::GetPendingSiteInstance() const { 469 SiteInstance* TabContents::GetPendingSiteInstance() const {
425 RenderViewHost* dest_rvh = render_manager_.pending_render_view_host() ? 470 RenderViewHost* dest_rvh = render_manager_.pending_render_view_host() ?
426 render_manager_.pending_render_view_host() : 471 render_manager_.pending_render_view_host() :
427 render_manager_.current_host(); 472 render_manager_.current_host();
428 return dest_rvh->site_instance(); 473 return dest_rvh->site_instance();
429 } 474 }
430 475
431 void TabContents::AddObserver(TabContentsObserver* observer) { 476 bool TabContents::IsLoading() const {
432 observers_.AddObserver(observer); 477 return is_loading_;
433 } 478 }
434 479
435 void TabContents::RemoveObserver(TabContentsObserver* observer) { 480 bool TabContents::IsWaitingForResponse() const {
436 observers_.RemoveObserver(observer); 481 return waiting_for_response_;
482 }
483
484 const net::LoadStateWithParam& TabContents::GetLoadState() const {
485 return load_state_;
486 }
487
488 const string16& TabContents::GetLoadStateHost() const {
489 return load_state_host_;
490 }
491
492 uint64 TabContents::GetUploadSize() const {
493 return upload_size_;
494 }
495
496 uint64 TabContents::GetUploadPosition() const {
497 return upload_position_;
498 }
499
500 const std::string& TabContents::GetEncoding() const {
501 return encoding_;
502 }
503
504 bool TabContents::DisplayedInsecureContent() const {
505 return displayed_insecure_content_;
506 }
507
508 void TabContents::SetCapturingContents(bool cap) {
509 capturing_contents_ = cap;
510 }
511
512 bool TabContents::IsCrashed() const {
513 return (crashed_status_ == base::TERMINATION_STATUS_PROCESS_CRASHED ||
514 crashed_status_ == base::TERMINATION_STATUS_ABNORMAL_TERMINATION ||
515 crashed_status_ == base::TERMINATION_STATUS_PROCESS_WAS_KILLED);
437 } 516 }
438 517
439 void TabContents::SetIsCrashed(base::TerminationStatus status, int error_code) { 518 void TabContents::SetIsCrashed(base::TerminationStatus status, int error_code) {
440 if (status == crashed_status_) 519 if (status == crashed_status_)
441 return; 520 return;
442 521
443 crashed_status_ = status; 522 crashed_status_ = status;
444 crashed_error_code_ = error_code; 523 crashed_error_code_ = error_code;
445 NotifyNavigationStateChanged(INVALIDATE_TAB); 524 NotifyNavigationStateChanged(INVALIDATE_TAB);
446 } 525 }
447 526
527 base::TerminationStatus TabContents::GetCrashedStatus() const {
528 return crashed_status_;
529 }
530
531 bool TabContents::IsBeingDestroyed() const {
532 return is_being_destroyed_;
533 }
534
448 void TabContents::NotifyNavigationStateChanged(unsigned changed_flags) { 535 void TabContents::NotifyNavigationStateChanged(unsigned changed_flags) {
449 if (delegate_) 536 if (delegate_)
450 delegate_->NavigationStateChanged(this, changed_flags); 537 delegate_->NavigationStateChanged(this, changed_flags);
451 } 538 }
452 539
453 void TabContents::DidBecomeSelected() { 540 void TabContents::DidBecomeSelected() {
454 controller_.SetActive(true); 541 controller_.SetActive(true);
455 RenderWidgetHostView* rwhv = GetRenderWidgetHostView(); 542 RenderWidgetHostView* rwhv = GetRenderWidgetHostView();
456 if (rwhv) { 543 if (rwhv) {
457 rwhv->DidBecomeSelected(); 544 rwhv->DidBecomeSelected();
458 #if defined(OS_MACOSX) 545 #if defined(OS_MACOSX)
459 rwhv->SetActive(true); 546 rwhv->SetActive(true);
460 #endif 547 #endif
461 } 548 }
462 549
463 last_selected_time_ = base::TimeTicks::Now(); 550 last_selected_time_ = base::TimeTicks::Now();
464 551
465 FOR_EACH_OBSERVER(TabContentsObserver, observers_, DidBecomeSelected()); 552 FOR_EACH_OBSERVER(TabContentsObserver, observers_, DidBecomeSelected());
466 } 553 }
467 554
555
556 base::TimeTicks TabContents::GetLastSelectedTime() const {
557 return last_selected_time_;
558 }
559
468 void TabContents::WasHidden() { 560 void TabContents::WasHidden() {
469 if (!capturing_contents()) { 561 if (!capturing_contents_) {
470 // |GetRenderViewHost()| can be NULL if the user middle clicks a link to 562 // |GetRenderViewHost()| can be NULL if the user middle clicks a link to
471 // open a tab in then background, then closes the tab before selecting it. 563 // open a tab in then background, then closes the tab before selecting it.
472 // This is because closing the tab calls TabContents::Destroy(), which 564 // This is because closing the tab calls TabContents::Destroy(), which
473 // removes the |GetRenderViewHost()|; then when we actually destroy the 565 // removes the |GetRenderViewHost()|; then when we actually destroy the
474 // window, OnWindowPosChanged() notices and calls HideContents() (which 566 // window, OnWindowPosChanged() notices and calls HideContents() (which
475 // calls us). 567 // calls us).
476 RenderWidgetHostView* rwhv = GetRenderWidgetHostView(); 568 RenderWidgetHostView* rwhv = GetRenderWidgetHostView();
477 if (rwhv) 569 if (rwhv)
478 rwhv->WasHidden(); 570 rwhv->WasHidden();
479 } 571 }
480 572
481 content::NotificationService::current()->Notify( 573 content::NotificationService::current()->Notify(
482 content::NOTIFICATION_TAB_CONTENTS_HIDDEN, 574 content::NOTIFICATION_TAB_CONTENTS_HIDDEN,
483 content::Source<TabContents>(this), 575 content::Source<TabContents>(this),
484 content::NotificationService::NoDetails()); 576 content::NotificationService::NoDetails());
485 } 577 }
486 578
579 void TabContents::ShowContents() {
580 RenderWidgetHostView* rwhv = GetRenderWidgetHostView();
581 if (rwhv)
582 rwhv->DidBecomeSelected();
583 }
584
585 void TabContents::HideContents() {
586 // TODO(pkasting): http://b/1239839 Right now we purposefully don't call
587 // our superclass HideContents(), because some callers want to be very picky
588 // about the order in which these get called. In addition to making the code
589 // here practically impossible to understand, this also means we end up
590 // calling TabContents::WasHidden() twice if callers call both versions of
591 // HideContents() on a TabContents.
592 WasHidden();
593 }
594
595 bool TabContents::NeedToFireBeforeUnload() {
596 // TODO(creis): Should we fire even for interstitial pages?
597 return notify_disconnection() &&
598 !showing_interstitial_page() &&
599 !GetRenderViewHost()->SuddenTerminationAllowed();
600 }
601
602 RenderViewHostManager* TabContents::GetRenderManagerForTesting() {
603 return &render_manager_;
604 }
605
606 void TabContents::AddObserver(TabContentsObserver* observer) {
607 observers_.AddObserver(observer);
608 }
609
610 void TabContents::RemoveObserver(TabContentsObserver* observer) {
611 observers_.RemoveObserver(observer);
612 }
613
487 void TabContents::Activate() { 614 void TabContents::Activate() {
488 if (delegate_) 615 if (delegate_)
489 delegate_->ActivateContents(this); 616 delegate_->ActivateContents(this);
490 } 617 }
491 618
492 void TabContents::Deactivate() { 619 void TabContents::Deactivate() {
493 if (delegate_) 620 if (delegate_)
494 delegate_->DeactivateContents(this); 621 delegate_->DeactivateContents(this);
495 } 622 }
496 623
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
553 } 680 }
554 681
555 void TabContents::WebUISend(RenderViewHost* render_view_host, 682 void TabContents::WebUISend(RenderViewHost* render_view_host,
556 const GURL& source_url, 683 const GURL& source_url,
557 const std::string& name, 684 const std::string& name,
558 const base::ListValue& args) { 685 const base::ListValue& args) {
559 if (delegate_) 686 if (delegate_)
560 delegate_->WebUISend(this, source_url, name, args); 687 delegate_->WebUISend(this, source_url, name, args);
561 } 688 }
562 689
563 void TabContents::ShowContents() {
564 RenderWidgetHostView* rwhv = GetRenderWidgetHostView();
565 if (rwhv)
566 rwhv->DidBecomeSelected();
567 }
568
569 void TabContents::HideContents() {
570 // TODO(pkasting): http://b/1239839 Right now we purposefully don't call
571 // our superclass HideContents(), because some callers want to be very picky
572 // about the order in which these get called. In addition to making the code
573 // here practically impossible to understand, this also means we end up
574 // calling TabContents::WasHidden() twice if callers call both versions of
575 // HideContents() on a TabContents.
576 WasHidden();
577 }
578
579 bool TabContents::NeedToFireBeforeUnload() {
580 // TODO(creis): Should we fire even for interstitial pages?
581 return notify_disconnection() &&
582 !showing_interstitial_page() &&
583 !GetRenderViewHost()->SuddenTerminationAllowed();
584 }
585
586 // TODO(adriansc): Remove this method once refactoring changed all call sites. 690 // TODO(adriansc): Remove this method once refactoring changed all call sites.
587 TabContents* TabContents::OpenURL(const GURL& url, 691 TabContents* TabContents::OpenURL(const GURL& url,
588 const GURL& referrer, 692 const GURL& referrer,
589 WindowOpenDisposition disposition, 693 WindowOpenDisposition disposition,
590 content::PageTransition transition) { 694 content::PageTransition transition) {
591 // For specifying a referrer, use the version of OpenURL taking OpenURLParams. 695 // For specifying a referrer, use the version of OpenURL taking OpenURLParams.
592 DCHECK(referrer.is_empty()); 696 DCHECK(referrer.is_empty());
593 return OpenURL(OpenURLParams(url, content::Referrer(), disposition, 697 return OpenURL(OpenURLParams(url, content::Referrer(), disposition,
594 transition, false)); 698 transition, false));
595 } 699 }
(...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after
821 } 925 }
822 926
823 bool TabContents::IsActiveEntry(int32 page_id) { 927 bool TabContents::IsActiveEntry(int32 page_id) {
824 NavigationEntry* active_entry = controller_.GetActiveEntry(); 928 NavigationEntry* active_entry = controller_.GetActiveEntry();
825 return (active_entry != NULL && 929 return (active_entry != NULL &&
826 active_entry->site_instance() == GetSiteInstance() && 930 active_entry->site_instance() == GetSiteInstance() &&
827 active_entry->page_id() == page_id); 931 active_entry->page_id() == page_id);
828 } 932 }
829 933
830 void TabContents::SetOverrideEncoding(const std::string& encoding) { 934 void TabContents::SetOverrideEncoding(const std::string& encoding) {
831 set_encoding(encoding); 935 SetEncoding(encoding);
832 GetRenderViewHost()->Send(new ViewMsg_SetPageEncoding( 936 GetRenderViewHost()->Send(new ViewMsg_SetPageEncoding(
833 GetRenderViewHost()->routing_id(), encoding)); 937 GetRenderViewHost()->routing_id(), encoding));
834 } 938 }
835 939
836 void TabContents::ResetOverrideEncoding() { 940 void TabContents::ResetOverrideEncoding() {
837 reset_encoding(); 941 encoding_.clear();
838 GetRenderViewHost()->Send(new ViewMsg_ResetPageEncodingToDefault( 942 GetRenderViewHost()->Send(new ViewMsg_ResetPageEncodingToDefault(
839 GetRenderViewHost()->routing_id())); 943 GetRenderViewHost()->routing_id()));
840 } 944 }
841 945
842 void TabContents::OnCloseStarted() { 946 void TabContents::OnCloseStarted() {
843 if (tab_close_start_time_.is_null()) 947 if (tab_close_start_time_.is_null())
844 tab_close_start_time_ = base::TimeTicks::Now(); 948 tab_close_start_time_ = base::TimeTicks::Now();
845 } 949 }
846 950
847 bool TabContents::ShouldAcceptDragAndDrop() const { 951 bool TabContents::ShouldAcceptDragAndDrop() const {
(...skipping 569 matching lines...) Expand 10 before | Expand all | Expand 10 after
1417 if (!notify_disconnection_) 1521 if (!notify_disconnection_)
1418 return; 1522 return;
1419 1523
1420 notify_disconnection_ = false; 1524 notify_disconnection_ = false;
1421 content::NotificationService::current()->Notify( 1525 content::NotificationService::current()->Notify(
1422 content::NOTIFICATION_TAB_CONTENTS_DISCONNECTED, 1526 content::NOTIFICATION_TAB_CONTENTS_DISCONNECTED,
1423 content::Source<TabContents>(this), 1527 content::Source<TabContents>(this),
1424 content::NotificationService::NoDetails()); 1528 content::NotificationService::NoDetails());
1425 } 1529 }
1426 1530
1427 const base::PropertyBag* TabContents::GetPropertyBag() const {
1428 return &property_bag_;
1429 }
1430
1431 base::PropertyBag* TabContents::GetPropertyBag() {
1432 return &property_bag_;
1433 }
1434
1435 content::WebContentsDelegate* TabContents::GetDelegate() {
1436 return delegate_;
1437 }
1438
1439 void TabContents::SetDelegate(content::WebContentsDelegate* delegate) {
1440 // TODO(cbentzel): remove this debugging code?
1441 if (delegate == delegate_)
1442 return;
1443 if (delegate_)
1444 delegate_->Detach(this);
1445 delegate_ = delegate;
1446 if (delegate_)
1447 delegate_->Attach(this);
1448 }
1449
1450 RenderViewHost* TabContents::GetRenderViewHost() const {
1451 return render_manager_.current_host();
1452 }
1453
1454 RenderWidgetHostView* TabContents::GetRenderWidgetHostView() const {
1455 return render_manager_.GetRenderWidgetHostView();
1456 }
1457
1458 TabContentsView* TabContents::GetView() const {
1459 return view_.get();
1460 }
1461
1462 RenderViewHostDelegate::View* TabContents::GetViewDelegate() { 1531 RenderViewHostDelegate::View* TabContents::GetViewDelegate() {
1463 return view_.get(); 1532 return view_.get();
1464 } 1533 }
1465 1534
1466 RenderViewHostDelegate::RendererManagement* 1535 RenderViewHostDelegate::RendererManagement*
1467 TabContents::GetRendererManagementDelegate() { 1536 TabContents::GetRendererManagementDelegate() {
1468 return &render_manager_; 1537 return &render_manager_;
1469 } 1538 }
1470 1539
1471 content::RendererPreferences TabContents::GetRendererPrefs( 1540 content::RendererPreferences TabContents::GetRendererPrefs(
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
1508 } 1577 }
1509 1578
1510 void TabContents::RenderViewReady(RenderViewHost* rvh) { 1579 void TabContents::RenderViewReady(RenderViewHost* rvh) {
1511 if (rvh != GetRenderViewHost()) { 1580 if (rvh != GetRenderViewHost()) {
1512 // Don't notify the world, since this came from a renderer in the 1581 // Don't notify the world, since this came from a renderer in the
1513 // background. 1582 // background.
1514 return; 1583 return;
1515 } 1584 }
1516 1585
1517 NotifyConnected(); 1586 NotifyConnected();
1518 bool was_crashed = is_crashed(); 1587 bool was_crashed = IsCrashed();
1519 SetIsCrashed(base::TERMINATION_STATUS_STILL_RUNNING, 0); 1588 SetIsCrashed(base::TERMINATION_STATUS_STILL_RUNNING, 0);
1520 1589
1521 // Restore the focus to the tab (otherwise the focus will be on the top 1590 // Restore the focus to the tab (otherwise the focus will be on the top
1522 // window). 1591 // window).
1523 if (was_crashed && !FocusLocationBarByDefault() && 1592 if (was_crashed && !FocusLocationBarByDefault() &&
1524 (!delegate_ || delegate_->ShouldFocusPageAfterCrash())) { 1593 (!delegate_ || delegate_->ShouldFocusPageAfterCrash())) {
1525 Focus(); 1594 Focus();
1526 } 1595 }
1527 1596
1528 FOR_EACH_OBSERVER(TabContentsObserver, observers_, RenderViewReady()); 1597 FOR_EACH_OBSERVER(TabContentsObserver, observers_, RenderViewReady());
1529 } 1598 }
1530 1599
1531 void TabContents::RenderViewGone(RenderViewHost* rvh, 1600 void TabContents::RenderViewGone(RenderViewHost* rvh,
1532 base::TerminationStatus status, 1601 base::TerminationStatus status,
1533 int error_code) { 1602 int error_code) {
1534 if (rvh != GetRenderViewHost()) { 1603 if (rvh != GetRenderViewHost()) {
1535 // The pending page's RenderViewHost is gone. 1604 // The pending page's RenderViewHost is gone.
1536 return; 1605 return;
1537 } 1606 }
1538 1607
1539 SetIsLoading(false, NULL); 1608 SetIsLoading(false, NULL);
1540 NotifyDisconnected(); 1609 NotifyDisconnected();
1541 SetIsCrashed(status, error_code); 1610 SetIsCrashed(status, error_code);
1542 GetView()->OnTabCrashed(crashed_status(), crashed_error_code()); 1611 GetView()->OnTabCrashed(GetCrashedStatus(), crashed_error_code_);
1543 1612
1544 FOR_EACH_OBSERVER(TabContentsObserver, 1613 FOR_EACH_OBSERVER(TabContentsObserver,
1545 observers_, 1614 observers_,
1546 RenderViewGone(crashed_status())); 1615 RenderViewGone(GetCrashedStatus()));
1547 } 1616 }
1548 1617
1549 void TabContents::RenderViewDeleted(RenderViewHost* rvh) { 1618 void TabContents::RenderViewDeleted(RenderViewHost* rvh) {
1550 render_manager_.RenderViewDeleted(rvh); 1619 render_manager_.RenderViewDeleted(rvh);
1551 FOR_EACH_OBSERVER(TabContentsObserver, observers_, RenderViewDeleted(rvh)); 1620 FOR_EACH_OBSERVER(TabContentsObserver, observers_, RenderViewDeleted(rvh));
1552 } 1621 }
1553 1622
1554 void TabContents::DidNavigate(RenderViewHost* rvh, 1623 void TabContents::DidNavigate(RenderViewHost* rvh,
1555 const ViewHostMsg_FrameNavigate_Params& params) { 1624 const ViewHostMsg_FrameNavigate_Params& params) {
1556 if (content::PageTransitionIsMainFrame(params.transition)) 1625 if (content::PageTransitionIsMainFrame(params.transition))
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
1658 if (!UpdateTitleForEntry(entry, title)) 1727 if (!UpdateTitleForEntry(entry, title))
1659 return; 1728 return;
1660 1729
1661 // Broadcast notifications when the UI should be updated. 1730 // Broadcast notifications when the UI should be updated.
1662 if (entry == controller_.GetEntryAtOffset(0)) 1731 if (entry == controller_.GetEntryAtOffset(0))
1663 NotifyNavigationStateChanged(INVALIDATE_TITLE); 1732 NotifyNavigationStateChanged(INVALIDATE_TITLE);
1664 } 1733 }
1665 1734
1666 void TabContents::UpdateEncoding(RenderViewHost* render_view_host, 1735 void TabContents::UpdateEncoding(RenderViewHost* render_view_host,
1667 const std::string& encoding) { 1736 const std::string& encoding) {
1668 set_encoding(encoding); 1737 SetEncoding(encoding);
1669 } 1738 }
1670 1739
1671 void TabContents::UpdateTargetURL(int32 page_id, const GURL& url) { 1740 void TabContents::UpdateTargetURL(int32 page_id, const GURL& url) {
1672 if (delegate_) 1741 if (delegate_)
1673 delegate_->UpdateTargetURL(this, page_id, url); 1742 delegate_->UpdateTargetURL(this, page_id, url);
1674 } 1743 }
1675 1744
1676 void TabContents::Close(RenderViewHost* rvh) { 1745 void TabContents::Close(RenderViewHost* rvh) {
1677 // The UI may be in an event-tracking loop, such as between the 1746 // The UI may be in an event-tracking loop, such as between the
1678 // mouse-down and mouse-up in text selection or a button click. 1747 // mouse-down and mouse-up in text selection or a button click.
(...skipping 406 matching lines...) Expand 10 before | Expand all | Expand 10 after
2085 } 2154 }
2086 2155
2087 gfx::NativeWindow TabContents::GetDialogRootWindow() const { 2156 gfx::NativeWindow TabContents::GetDialogRootWindow() const {
2088 return view_->GetTopLevelNativeWindow(); 2157 return view_->GetTopLevelNativeWindow();
2089 } 2158 }
2090 2159
2091 void TabContents::OnDialogShown() { 2160 void TabContents::OnDialogShown() {
2092 Activate(); 2161 Activate();
2093 } 2162 }
2094 2163
2095 void TabContents::set_encoding(const std::string& encoding) { 2164 void TabContents::SetEncoding(const std::string& encoding) {
2096 encoding_ = content::GetContentClient()->browser()-> 2165 encoding_ = content::GetContentClient()->browser()->
2097 GetCanonicalEncodingNameByAliasName(encoding); 2166 GetCanonicalEncodingNameByAliasName(encoding);
2098 } 2167 }
2099 2168
2100 void TabContents::CreateViewAndSetSizeForRVH(RenderViewHost* rvh) { 2169 void TabContents::CreateViewAndSetSizeForRVH(RenderViewHost* rvh) {
2101 RenderWidgetHostView* rwh_view = GetView()->CreateViewForWidget(rvh); 2170 RenderWidgetHostView* rwh_view = GetView()->CreateViewForWidget(rvh);
2102 // Can be NULL during tests. 2171 // Can be NULL during tests.
2103 if (rwh_view) 2172 if (rwh_view)
2104 rwh_view->SetSize(GetView()->GetContainerSize()); 2173 rwh_view->SetSize(GetView()->GetContainerSize());
2105 } 2174 }
2106 2175
2107 bool TabContents::GotResponseToLockMouseRequest(bool allowed) { 2176 bool TabContents::GotResponseToLockMouseRequest(bool allowed) {
2108 return GetRenderViewHost() ? 2177 return GetRenderViewHost() ?
2109 GetRenderViewHost()->GotResponseToLockMouseRequest(allowed) : false; 2178 GetRenderViewHost()->GotResponseToLockMouseRequest(allowed) : false;
2110 } 2179 }
OLDNEW
« no previous file with comments | « content/browser/tab_contents/tab_contents.h ('k') | content/browser/tab_contents/tab_contents_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698