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

Side by Side Diff: chrome/browser/external_tab_container.cc

Issue 890005: Add a command line flag to disable infobars. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years, 9 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 | « chrome/browser/external_tab_container.h ('k') | chrome/browser/tab_contents/tab_contents.cc » ('j') | 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 "chrome/browser/external_tab_container.h" 5 #include "chrome/browser/external_tab_container.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "app/win_util.h" 9 #include "app/win_util.h"
10 #include "base/i18n/rtl.h" 10 #include "base/i18n/rtl.h"
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
47 tab_contents_(NULL), 47 tab_contents_(NULL),
48 tab_contents_container_(NULL), 48 tab_contents_container_(NULL),
49 tab_handle_(0), 49 tab_handle_(0),
50 ignore_next_load_notification_(false), 50 ignore_next_load_notification_(false),
51 automation_resource_message_filter_(filter), 51 automation_resource_message_filter_(filter),
52 load_requests_via_automation_(false), 52 load_requests_via_automation_(false),
53 handle_top_level_requests_(false), 53 handle_top_level_requests_(false),
54 external_method_factory_(this), 54 external_method_factory_(this),
55 enabled_extension_automation_(false), 55 enabled_extension_automation_(false),
56 waiting_for_unload_event_(false), 56 waiting_for_unload_event_(false),
57 pending_(false) { 57 pending_(false),
58 infobars_enabled_(true) {
58 } 59 }
59 60
60 ExternalTabContainer::~ExternalTabContainer() { 61 ExternalTabContainer::~ExternalTabContainer() {
61 Uninitialize(); 62 Uninitialize();
62 } 63 }
63 64
64 bool ExternalTabContainer::Init(Profile* profile, 65 bool ExternalTabContainer::Init(Profile* profile,
65 HWND parent, 66 HWND parent,
66 const gfx::Rect& bounds, 67 const gfx::Rect& bounds,
67 DWORD style, 68 DWORD style,
68 bool load_requests_via_automation, 69 bool load_requests_via_automation,
69 bool handle_top_level_requests, 70 bool handle_top_level_requests,
70 TabContents* existing_contents, 71 TabContents* existing_contents,
71 const GURL& initial_url, 72 const GURL& initial_url,
72 const GURL& referrer) { 73 const GURL& referrer,
74 bool infobars_enabled) {
73 if (IsWindow()) { 75 if (IsWindow()) {
74 NOTREACHED(); 76 NOTREACHED();
75 return false; 77 return false;
76 } 78 }
77 79
78 load_requests_via_automation_ = load_requests_via_automation; 80 load_requests_via_automation_ = load_requests_via_automation;
79 handle_top_level_requests_ = handle_top_level_requests; 81 handle_top_level_requests_ = handle_top_level_requests;
82 infobars_enabled_ = infobars_enabled;
80 83
81 set_window_style(WS_POPUP | WS_CLIPCHILDREN); 84 set_window_style(WS_POPUP | WS_CLIPCHILDREN);
82 views::WidgetWin::Init(NULL, bounds); 85 views::WidgetWin::Init(NULL, bounds);
83 if (!IsWindow()) { 86 if (!IsWindow()) {
84 NOTREACHED(); 87 NOTREACHED();
85 return false; 88 return false;
86 } 89 }
87 90
88 // TODO(jcampan): limit focus traversal to contents. 91 // TODO(jcampan): limit focus traversal to contents.
89 92
(...skipping 254 matching lines...) Expand 10 before | Expand all | Expand 10 after
344 // an unwrapped Profile. 347 // an unwrapped Profile.
345 bool result = new_container->Init( 348 bool result = new_container->Init(
346 new_contents->profile()->GetOriginalProfile(), 349 new_contents->profile()->GetOriginalProfile(),
347 NULL, 350 NULL,
348 initial_pos, 351 initial_pos,
349 WS_CHILD, 352 WS_CHILD,
350 load_requests_via_automation_, 353 load_requests_via_automation_,
351 handle_top_level_requests_, 354 handle_top_level_requests_,
352 new_contents, 355 new_contents,
353 GURL(), 356 GURL(),
354 GURL()); 357 GURL(),
358 true);
355 359
356 if (result) { 360 if (result) {
357 uintptr_t cookie = reinterpret_cast<uintptr_t>(new_container.get()); 361 uintptr_t cookie = reinterpret_cast<uintptr_t>(new_container.get());
358 pending_tabs_[cookie] = new_container; 362 pending_tabs_[cookie] = new_container;
359 new_container->set_pending(true); 363 new_container->set_pending(true);
360 IPC::AttachExternalTabParams attach_params_; 364 IPC::AttachExternalTabParams attach_params_;
361 attach_params_.cookie = static_cast<uint64>(cookie); 365 attach_params_.cookie = static_cast<uint64>(cookie);
362 attach_params_.dimensions = initial_pos; 366 attach_params_.dimensions = initial_pos;
363 attach_params_.user_gesture = user_gesture; 367 attach_params_.user_gesture = user_gesture;
364 attach_params_.disposition = disposition; 368 attach_params_.disposition = disposition;
365 automation_->Send(new AutomationMsg_AttachExternalTab(0, 369 automation_->Send(new AutomationMsg_AttachExternalTab(0,
366 tab_handle_, attach_params_)); 370 tab_handle_, attach_params_));
367 } else { 371 } else {
368 NOTREACHED(); 372 NOTREACHED();
369 } 373 }
370 } 374 }
371 375
372 void ExternalTabContainer::TabContentsCreated(TabContents* new_contents) { 376 void ExternalTabContainer::TabContentsCreated(TabContents* new_contents) {
373 RenderViewHost* rvh = new_contents->render_view_host(); 377 RenderViewHost* rvh = new_contents->render_view_host();
374 DCHECK(rvh != NULL); 378 DCHECK(rvh != NULL);
375 379
376 // Register this render view as a pending render view, i.e. any network 380 // Register this render view as a pending render view, i.e. any network
377 // requests initiated by this render view would be serviced when the 381 // requests initiated by this render view would be serviced when the
378 // external host connects to the new external tab instance. 382 // external host connects to the new external tab instance.
379 RegisterRenderViewHostForAutomation(rvh, true); 383 RegisterRenderViewHostForAutomation(rvh, true);
380 } 384 }
381 385
386 bool ExternalTabContainer::infobars_enabled() {
387 return infobars_enabled_;
388 }
389
382 void ExternalTabContainer::ActivateContents(TabContents* contents) { 390 void ExternalTabContainer::ActivateContents(TabContents* contents) {
383 } 391 }
384 392
385 void ExternalTabContainer::LoadingStateChanged(TabContents* source) { 393 void ExternalTabContainer::LoadingStateChanged(TabContents* source) {
386 } 394 }
387 395
388 void ExternalTabContainer::CloseContents(TabContents* source) { 396 void ExternalTabContainer::CloseContents(TabContents* source) {
389 static const int kExternalTabCloseContentsDelayMS = 100; 397 static const int kExternalTabCloseContentsDelayMS = 100;
390 398
391 if (waiting_for_unload_event_) { 399 if (waiting_for_unload_event_) {
(...skipping 558 matching lines...) Expand 10 before | Expand all | Expand 10 after
950 958
951 layout->StartRow(0, 0); 959 layout->StartRow(0, 0);
952 layout->AddView(info_bar_container); 960 layout->AddView(info_bar_container);
953 layout->StartRow(1, 0); 961 layout->StartRow(1, 0);
954 layout->AddView(tab_contents_container_); 962 layout->AddView(tab_contents_container_);
955 SetContentsView(external_tab_view); 963 SetContentsView(external_tab_view);
956 // Note that SetTabContents must be called after AddChildView is called 964 // Note that SetTabContents must be called after AddChildView is called
957 tab_contents_container_->ChangeTabContents(tab_contents_); 965 tab_contents_container_->ChangeTabContents(tab_contents_);
958 } 966 }
959 967
OLDNEW
« no previous file with comments | « chrome/browser/external_tab_container.h ('k') | chrome/browser/tab_contents/tab_contents.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698