| Index: chrome/browser/ui/views/find_bar_view.cc | 
| =================================================================== | 
| --- chrome/browser/ui/views/find_bar_view.cc	(revision 90713) | 
| +++ chrome/browser/ui/views/find_bar_view.cc	(working copy) | 
| @@ -258,11 +258,16 @@ | 
| } | 
|  | 
| void FindBarView::Layout() { | 
| -  gfx::Size panel_size = GetPreferredSize(); | 
| +  int panel_width = GetPreferredSize().width(); | 
|  | 
| +  // Stay within view bounds. | 
| +  int view_width = width(); | 
| +  if (view_width && view_width < panel_width) | 
| +    panel_width = view_width; | 
| + | 
| // First we draw the close button on the far right. | 
| gfx::Size sz = close_button_->GetPreferredSize(); | 
| -  close_button_->SetBounds(panel_size.width() - sz.width() - | 
| +  close_button_->SetBounds(panel_width - sz.width() - | 
| kMarginRightOfCloseButton, | 
| (height() - sz.height()) / 2, | 
| sz.width(), | 
| @@ -310,8 +315,9 @@ | 
|  | 
| // And whatever space is left in between, gets filled up by the find edit box. | 
| sz = find_text_->GetPreferredSize(); | 
| -  sz.set_width(match_count_x - kMarginLeftOfFindTextfield); | 
| -  find_text_->SetBounds(match_count_x - sz.width(), | 
| +  sz.set_width(std::max(0, match_count_x - kMarginLeftOfFindTextfield)); | 
| +  int find_text_x = std::max(0, match_count_x - sz.width()); | 
| +  find_text_->SetBounds(find_text_x, | 
| (height() - sz.height()) / 2 + 1, | 
| sz.width(), | 
| sz.height()); | 
|  |