| Index: chrome/browser/gtk/tabs/tab_strip_gtk.cc | 
| =================================================================== | 
| --- chrome/browser/gtk/tabs/tab_strip_gtk.cc	(revision 66453) | 
| +++ chrome/browser/gtk/tabs/tab_strip_gtk.cc	(working copy) | 
| @@ -19,6 +19,7 @@ | 
| #include "chrome/browser/gtk/tabs/dragged_tab_controller_gtk.h" | 
| #include "chrome/browser/profile.h" | 
| #include "chrome/browser/tab_contents/tab_contents.h" | 
| +#include "chrome/browser/tab_contents_wrapper.h" | 
| #include "chrome/browser/tabs/tab_strip_model_delegate.h" | 
| #include "chrome/browser/themes/browser_theme_provider.h" | 
| #include "chrome/browser/ui/browser.h" | 
| @@ -812,10 +813,10 @@ | 
| --index; | 
| } else { | 
| TabRendererGtk::AnimationState state; | 
| -      TabContents* contents = model_->GetTabContentsAt(index); | 
| -      if (!contents || !contents->is_loading()) { | 
| +      TabContentsWrapper* contents = model_->GetTabContentsAt(index); | 
| +      if (!contents || !contents->tab_contents()->is_loading()) { | 
| state = TabGtk::ANIMATION_NONE; | 
| -      } else if (contents->waiting_for_response()) { | 
| +      } else if (contents->tab_contents()->waiting_for_response()) { | 
| state = TabGtk::ANIMATION_WAITING; | 
| } else { | 
| state = TabGtk::ANIMATION_LOADING; | 
| @@ -924,7 +925,7 @@ | 
| //////////////////////////////////////////////////////////////////////////////// | 
| // TabStripGtk, TabStripModelObserver implementation: | 
|  | 
| -void TabStripGtk::TabInsertedAt(TabContents* contents, | 
| +void TabStripGtk::TabInsertedAt(TabContentsWrapper* contents, | 
| int index, | 
| bool foreground) { | 
| DCHECK(contents); | 
| @@ -939,7 +940,8 @@ | 
| // has the Tab already constructed and we can just insert it into our list | 
| // again. | 
| if (IsDragSessionActive()) { | 
| -    tab = drag_controller_->GetDragSourceTabForContents(contents); | 
| +    tab = drag_controller_->GetDragSourceTabForContents( | 
| +        contents->tab_contents()); | 
| if (tab) { | 
| // If the Tab was detached, it would have been animated closed but not | 
| // removed, so we need to reset this property. | 
| @@ -963,7 +965,7 @@ | 
| if (!contains_tab) { | 
| TabData d = { tab, gfx::Rect() }; | 
| tab_data_.insert(tab_data_.begin() + index, d); | 
| -    tab->UpdateData(contents, model_->IsAppTab(index), false); | 
| +    tab->UpdateData(contents->tab_contents(), model_->IsAppTab(index), false); | 
| } | 
| tab->set_mini(model_->IsMiniTab(index)); | 
| tab->set_app(model_->IsAppTab(index)); | 
| @@ -984,17 +986,17 @@ | 
| } | 
| } | 
|  | 
| -void TabStripGtk::TabDetachedAt(TabContents* contents, int index) { | 
| +void TabStripGtk::TabDetachedAt(TabContentsWrapper* contents, int index) { | 
| GenerateIdealBounds(); | 
| -  StartRemoveTabAnimation(index, contents); | 
| +  StartRemoveTabAnimation(index, contents->tab_contents()); | 
| // Have to do this _after_ calling StartRemoveTabAnimation, so that any | 
| // previous remove is completed fully and index is valid in sync with the | 
| // model index. | 
| GetTabAt(index)->set_closing(true); | 
| } | 
|  | 
| -void TabStripGtk::TabSelectedAt(TabContents* old_contents, | 
| -                                TabContents* new_contents, | 
| +void TabStripGtk::TabSelectedAt(TabContentsWrapper* old_contents, | 
| +                                TabContentsWrapper* new_contents, | 
| int index, | 
| bool user_gesture) { | 
| DCHECK(index >= 0 && index < static_cast<int>(GetTabCount())); | 
| @@ -1014,7 +1016,7 @@ | 
| } | 
| } | 
|  | 
| -void TabStripGtk::TabMoved(TabContents* contents, | 
| +void TabStripGtk::TabMoved(TabContentsWrapper* contents, | 
| int from_index, | 
| int to_index) { | 
| gfx::Rect start_bounds = GetIdealBounds(from_index); | 
| @@ -1028,7 +1030,7 @@ | 
| StartMoveTabAnimation(from_index, to_index); | 
| } | 
|  | 
| -void TabStripGtk::TabChangedAt(TabContents* contents, int index, | 
| +void TabStripGtk::TabChangedAt(TabContentsWrapper* contents, int index, | 
| TabChangeType change_type) { | 
| // Index is in terms of the model. Need to make sure we adjust that index in | 
| // case we have an animation going. | 
| @@ -1039,19 +1041,19 @@ | 
| // We'll receive another notification of the change asynchronously. | 
| return; | 
| } | 
| -  tab->UpdateData(contents, | 
| +  tab->UpdateData(contents->tab_contents(), | 
| model_->IsAppTab(index), | 
| change_type == LOADING_ONLY); | 
| tab->UpdateFromModel(); | 
| } | 
|  | 
| -void TabStripGtk::TabReplacedAt(TabContents* old_contents, | 
| -                                TabContents* new_contents, | 
| +void TabStripGtk::TabReplacedAt(TabContentsWrapper* old_contents, | 
| +                                TabContentsWrapper* new_contents, | 
| int index) { | 
| TabChangedAt(new_contents, index, ALL); | 
| } | 
|  | 
| -void TabStripGtk::TabMiniStateChanged(TabContents* contents, int index) { | 
| +void TabStripGtk::TabMiniStateChanged(TabContentsWrapper* contents, int index) { | 
| // Don't do anything if we've already picked up the change from TabMoved. | 
| if (GetTabAt(index)->mini() == model_->IsMiniTab(index)) | 
| return; | 
| @@ -1067,7 +1069,8 @@ | 
| } | 
| } | 
|  | 
| -void TabStripGtk::TabBlockedStateChanged(TabContents* contents, int index) { | 
| +void TabStripGtk::TabBlockedStateChanged(TabContentsWrapper* contents, | 
| +                                         int index) { | 
| GetTabAt(index)->SetBlocked(model_->IsTabBlocked(index)); | 
| } | 
|  | 
| @@ -1975,9 +1978,25 @@ | 
| if (!gtk_util::URLFromPrimarySelection(model_->profile(), &url)) | 
| return; | 
|  | 
| +<<<<<<< .mine | 
| +      TabContentsWrapper* contents = | 
| +          model_->delegate()->CreateTabContentsForURL( | 
| +              url, | 
| +              GURL(),  // referrer | 
| +              model_->profile(), | 
| +              PageTransition::TYPED, | 
| +              false,   // defer_load | 
| +              NULL);   // instance | 
| +      model_->AddTabContents( | 
| +          contents, | 
| +          -1,     // index | 
| +          PageTransition::TYPED, | 
| +          TabStripModel::ADD_SELECTED); | 
| +======= | 
| Browser* browser = window_->browser(); | 
| DCHECK(browser); | 
| browser->AddSelectedTabWithURL(url, PageTransition::TYPED); | 
| +>>>>>>> .r66288 | 
| break; | 
| } | 
| default: | 
|  |