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

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

Issue 17455: Autofill popup dismissed when page loses focus (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 11 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/web_contents_view_win.h ('k') | chrome/common/render_messages_internal.h » ('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/web_contents_view_win.h" 5 #include "chrome/browser/web_contents_view_win.h"
6 6
7 #include <windows.h> 7 #include <windows.h>
8 8
9 #include "chrome/browser/bookmarks/bookmark_drag_data.h" 9 #include "chrome/browser/bookmarks/bookmark_drag_data.h"
10 #include "chrome/browser/browser.h" 10 #include "chrome/browser/browser.h"
(...skipping 330 matching lines...) Expand 10 before | Expand all | Expand 10 after
341 new_view->CreateView(); 341 new_view->CreateView();
342 342
343 // TODO(brettw) it seems bogus that we have to call this function on the 343 // TODO(brettw) it seems bogus that we have to call this function on the
344 // newly created object and give it one of its own member variables. 344 // newly created object and give it one of its own member variables.
345 new_view->CreateViewForWidget(new_contents->render_view_host()); 345 new_view->CreateViewForWidget(new_contents->render_view_host());
346 return new_contents; 346 return new_contents;
347 } 347 }
348 348
349 RenderWidgetHostView* WebContentsViewWin::CreateNewWidgetInternal( 349 RenderWidgetHostView* WebContentsViewWin::CreateNewWidgetInternal(
350 int route_id, 350 int route_id,
351 bool focus_on_show) { 351 bool activatable) {
352 // Create the widget and its associated view. 352 // Create the widget and its associated view.
353 // TODO(brettw) can widget creation be cross-platform? 353 // TODO(brettw) can widget creation be cross-platform?
354 RenderWidgetHost* widget_host = 354 RenderWidgetHost* widget_host =
355 new RenderWidgetHost(web_contents_->process(), route_id); 355 new RenderWidgetHost(web_contents_->process(), route_id);
356 RenderWidgetHostViewWin* widget_view = 356 RenderWidgetHostViewWin* widget_view =
357 new RenderWidgetHostViewWin(widget_host); 357 new RenderWidgetHostViewWin(widget_host);
358 358
359 // We set the parent HWDN explicitly as pop-up HWNDs are parented and owned by 359 // We set the parent HWDN explicitly as pop-up HWNDs are parented and owned by
360 // the first non-child HWND of the HWND that was specified to the CreateWindow 360 // the first non-child HWND of the HWND that was specified to the CreateWindow
361 // call. 361 // call.
362 // TODO(brettw) this should not need to get the current RVHView from the 362 // TODO(brettw) this should not need to get the current RVHView from the
363 // WebContents. We should have it somewhere ourselves. 363 // WebContents. We should have it somewhere ourselves.
364 widget_view->set_parent_hwnd( 364 widget_view->set_parent_hwnd(
365 web_contents_->render_widget_host_view()->GetPluginHWND()); 365 web_contents_->render_widget_host_view()->GetPluginHWND());
366 widget_view->set_close_on_deactivate(true); 366 widget_view->set_close_on_deactivate(true);
367 widget_view->set_focus_on_show(focus_on_show); 367 widget_view->set_activatable(activatable);
368 368
369 return widget_view; 369 return widget_view;
370 } 370 }
371 371
372 void WebContentsViewWin::ShowCreatedWindowInternal( 372 void WebContentsViewWin::ShowCreatedWindowInternal(
373 WebContents* new_web_contents, 373 WebContents* new_web_contents,
374 WindowOpenDisposition disposition, 374 WindowOpenDisposition disposition,
375 const gfx::Rect& initial_pos, 375 const gfx::Rect& initial_pos,
376 bool user_gesture) { 376 bool user_gesture) {
377 if (!new_web_contents->render_widget_host_view() || 377 if (!new_web_contents->render_widget_host_view() ||
(...skipping 24 matching lines...) Expand all
402 } 402 }
403 403
404 // This logic should be implemented by RenderWidgetHostHWND (as mentioned 404 // This logic should be implemented by RenderWidgetHostHWND (as mentioned
405 // above) in the ::Init function, which should take a parent and some initial 405 // above) in the ::Init function, which should take a parent and some initial
406 // bounds. 406 // bounds.
407 widget_host_view_win->Create(GetContainerHWND(), NULL, NULL, 407 widget_host_view_win->Create(GetContainerHWND(), NULL, NULL,
408 WS_POPUP, WS_EX_TOOLWINDOW); 408 WS_POPUP, WS_EX_TOOLWINDOW);
409 widget_host_view_win->MoveWindow(initial_pos.x(), initial_pos.y(), 409 widget_host_view_win->MoveWindow(initial_pos.x(), initial_pos.y(),
410 initial_pos.width(), initial_pos.height(), 410 initial_pos.width(), initial_pos.height(),
411 TRUE); 411 TRUE);
412 widget_host_view_win->ShowWindow(widget_host_view_win->focus_on_show() ? 412 widget_host_view_win->ShowWindow(widget_host_view_win->activatable() ?
413 SW_SHOW : SW_SHOWNOACTIVATE); 413 SW_SHOW : SW_SHOWNA);
414 widget_host->Init(); 414 widget_host->Init();
415 } 415 }
416 416
417 void WebContentsViewWin::OnHScroll(int scroll_type, short position, 417 void WebContentsViewWin::OnHScroll(int scroll_type, short position,
418 HWND scrollbar) { 418 HWND scrollbar) {
419 ScrollCommon(WM_HSCROLL, scroll_type, position, scrollbar); 419 ScrollCommon(WM_HSCROLL, scroll_type, position, scrollbar);
420 } 420 }
421 421
422 void WebContentsViewWin::OnMouseLeave() { 422 void WebContentsViewWin::OnMouseLeave() {
423 // Let our delegate know that the mouse moved (useful for resetting status 423 // Let our delegate know that the mouse moved (useful for resetting status
(...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after
637 } 637 }
638 return false; 638 return false;
639 } 639 }
640 640
641 void WebContentsViewWin::WheelZoom(int distance) { 641 void WebContentsViewWin::WheelZoom(int distance) {
642 if (web_contents_->delegate()) { 642 if (web_contents_->delegate()) {
643 bool zoom_in = distance > 0; 643 bool zoom_in = distance > 0;
644 web_contents_->delegate()->ContentsZoomChange(zoom_in); 644 web_contents_->delegate()->ContentsZoomChange(zoom_in);
645 } 645 }
646 } 646 }
OLDNEW
« no previous file with comments | « chrome/browser/web_contents_view_win.h ('k') | chrome/common/render_messages_internal.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698