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

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

Issue 8885: Implementation of the UI part of the autofill (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 12 years, 1 month 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 360 matching lines...) Expand 10 before | Expand all | Expand 10 after
371 HWND new_view_parent_window = ::GetAncestor(GetContainerHWND(), GA_ROOT); 371 HWND new_view_parent_window = ::GetAncestor(GetContainerHWND(), GA_ROOT);
372 new_view->CreateView(new_view_parent_window, gfx::Rect()); 372 new_view->CreateView(new_view_parent_window, gfx::Rect());
373 373
374 // TODO(brettw) it seems bogus that we have to call this function on the 374 // TODO(brettw) it seems bogus that we have to call this function on the
375 // newly created object and give it one of its own member variables. 375 // newly created object and give it one of its own member variables.
376 new_view->CreateViewForWidget(new_contents->render_view_host()); 376 new_view->CreateViewForWidget(new_contents->render_view_host());
377 return new_contents; 377 return new_contents;
378 } 378 }
379 379
380 RenderWidgetHostView* WebContentsViewWin::CreateNewWidgetInternal( 380 RenderWidgetHostView* WebContentsViewWin::CreateNewWidgetInternal(
381 int route_id) { 381 int route_id,
382 bool focus_on_show) {
382 // Create the widget and its associated view. 383 // Create the widget and its associated view.
383 // TODO(brettw) can widget creation be cross-platform? 384 // TODO(brettw) can widget creation be cross-platform?
384 RenderWidgetHost* widget_host = 385 RenderWidgetHost* widget_host =
385 new RenderWidgetHost(web_contents_->process(), route_id); 386 new RenderWidgetHost(web_contents_->process(), route_id);
386 RenderWidgetHostViewWin* widget_view = 387 RenderWidgetHostViewWin* widget_view =
387 new RenderWidgetHostViewWin(widget_host); 388 new RenderWidgetHostViewWin(widget_host);
388 389
389 // We set the parent HWDN explicitly as pop-up HWNDs are parented and owned by 390 // We set the parent HWDN explicitly as pop-up HWNDs are parented and owned by
390 // the first non-child HWND of the HWND that was specified to the CreateWindow 391 // the first non-child HWND of the HWND that was specified to the CreateWindow
391 // call. 392 // call.
392 // TODO(brettw) this should not need to get the current RVHView from the 393 // TODO(brettw) this should not need to get the current RVHView from the
393 // WebContents. We should have it somewhere ourselves. 394 // WebContents. We should have it somewhere ourselves.
394 widget_view->set_parent_hwnd( 395 widget_view->set_parent_hwnd(
395 web_contents_->render_widget_host_view()->GetPluginHWND()); 396 web_contents_->render_widget_host_view()->GetPluginHWND());
396 widget_view->set_close_on_deactivate(true); 397 widget_view->set_close_on_deactivate(true);
398 widget_view->set_focus_on_show(focus_on_show);
397 399
398 return widget_view; 400 return widget_view;
399 } 401 }
400 402
401 void WebContentsViewWin::ShowCreatedWindowInternal( 403 void WebContentsViewWin::ShowCreatedWindowInternal(
402 WebContents* new_web_contents, 404 WebContents* new_web_contents,
403 WindowOpenDisposition disposition, 405 WindowOpenDisposition disposition,
404 const gfx::Rect& initial_pos, 406 const gfx::Rect& initial_pos,
405 bool user_gesture) { 407 bool user_gesture) {
406 if (!new_web_contents->render_widget_host_view() || 408 if (!new_web_contents->render_widget_host_view() ||
(...skipping 24 matching lines...) Expand all
431 } 433 }
432 434
433 // This logic should be implemented by RenderWidgetHostHWND (as mentioned 435 // This logic should be implemented by RenderWidgetHostHWND (as mentioned
434 // above) in the ::Init function, which should take a parent and some initial 436 // above) in the ::Init function, which should take a parent and some initial
435 // bounds. 437 // bounds.
436 widget_host_view_win->Create(GetContainerHWND(), NULL, NULL, 438 widget_host_view_win->Create(GetContainerHWND(), NULL, NULL,
437 WS_POPUP, WS_EX_TOOLWINDOW); 439 WS_POPUP, WS_EX_TOOLWINDOW);
438 widget_host_view_win->MoveWindow(initial_pos.x(), initial_pos.y(), 440 widget_host_view_win->MoveWindow(initial_pos.x(), initial_pos.y(),
439 initial_pos.width(), initial_pos.height(), 441 initial_pos.width(), initial_pos.height(),
440 TRUE); 442 TRUE);
441 widget_host_view_win->ShowWindow(SW_SHOW); 443 widget_host_view_win->ShowWindow(widget_host_view_win->focus_on_show() ?
444 SW_SHOW : SW_SHOWNOACTIVATE);
442 widget_host->Init(); 445 widget_host->Init();
443 } 446 }
444 447
445 void WebContentsViewWin::OnHScroll(int scroll_type, short position, 448 void WebContentsViewWin::OnHScroll(int scroll_type, short position,
446 HWND scrollbar) { 449 HWND scrollbar) {
447 ScrollCommon(WM_HSCROLL, scroll_type, position, scrollbar); 450 ScrollCommon(WM_HSCROLL, scroll_type, position, scrollbar);
448 } 451 }
449 452
450 void WebContentsViewWin::OnMouseLeave() { 453 void WebContentsViewWin::OnMouseLeave() {
451 // Let our delegate know that the mouse moved (useful for resetting status 454 // Let our delegate know that the mouse moved (useful for resetting status
(...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after
663 } 666 }
664 return false; 667 return false;
665 } 668 }
666 669
667 void WebContentsViewWin::WheelZoom(int distance) { 670 void WebContentsViewWin::WheelZoom(int distance) {
668 if (web_contents_->delegate()) { 671 if (web_contents_->delegate()) {
669 bool zoom_in = distance > 0; 672 bool zoom_in = distance > 0;
670 web_contents_->delegate()->ContentsZoomChange(zoom_in); 673 web_contents_->delegate()->ContentsZoomChange(zoom_in);
671 } 674 }
672 } 675 }
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