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

Side by Side Diff: webkit/glue/chromium_bridge_impl.cc

Issue 18768: POSIX: gfx::NativeViewId and CrossProcessEvent (Closed)
Patch Set: Addressing Brett's comments Created 11 years, 10 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
« no previous file with comments | « chrome/renderer/webplugin_delegate_proxy.cc ('k') | webkit/glue/webkit_glue.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) 2008 The Chromium Authors. All rights reserved. Use of this 1 // Copyright (c) 2008 The Chromium Authors. All rights reserved. Use of this
2 // source code is governed by a BSD-style license that can be found in the 2 // source code is governed by a BSD-style license that can be found in the
3 // LICENSE file. 3 // LICENSE file.
4 4
5 #include "config.h" 5 #include "config.h"
6 #include "ChromiumBridge.h" 6 #include "ChromiumBridge.h"
7 7
8 #include "BitmapImage.h" 8 #include "BitmapImage.h"
9 #include "ClipboardUtilitiesChromium.h" 9 #include "ClipboardUtilitiesChromium.h"
10 #include "Cursor.h" 10 #include "Cursor.h"
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
55 55
56 #if defined(OS_WIN) 56 #if defined(OS_WIN)
57 #include <windows.h> 57 #include <windows.h>
58 #include <vssym32.h> 58 #include <vssym32.h>
59 59
60 #include "base/gfx/native_theme.h" 60 #include "base/gfx/native_theme.h"
61 #endif 61 #endif
62 62
63 namespace { 63 namespace {
64 64
65 gfx::NativeView ToPlatform(WebCore::Widget* widget) { 65 gfx::NativeViewId ToNativeId(WebCore::Widget* widget) {
66 if (!widget) 66 if (!widget)
67 return 0; 67 return 0;
68 PlatformWidget widget_id = widget->root()->hostWindow()->platformWindow(); 68 return widget->root()->hostWindow()->platformWindow();
69 // TODO(eseidel): This cast is a hack. We should replace gfx::NativeView with
70 // something more abstract like PlatformWidget since webkit/glue should not
71 // know about actual native widgets.
72 return static_cast<gfx::NativeView>(widget_id);
73 } 69 }
74 70
75 #if PLATFORM(WIN_OS) 71 #if PLATFORM(WIN_OS)
76 static RECT IntRectToRECT(const WebCore::IntRect& r) { 72 static RECT IntRectToRECT(const WebCore::IntRect& r) {
77 RECT result; 73 RECT result;
78 result.left = r.x(); 74 result.left = r.x();
79 result.top = r.y(); 75 result.top = r.y();
80 result.right = r.right(); 76 result.right = r.right();
81 result.bottom = r.bottom(); 77 result.bottom = r.bottom();
82 return result; 78 return result;
(...skipping 343 matching lines...) Expand 10 before | Expand all | Expand 10 after
426 SharedBuffer::create(data.empty() ? "" : data.data(), 422 SharedBuffer::create(data.empty() ? "" : data.data(),
427 data.length())); 423 data.length()));
428 RefPtr<Image> image = BitmapImage::create(); 424 RefPtr<Image> image = BitmapImage::create();
429 image->setData(buffer, true); 425 image->setData(buffer, true);
430 return image; 426 return image;
431 } 427 }
432 428
433 // Screen --------------------------------------------------------------------- 429 // Screen ---------------------------------------------------------------------
434 430
435 int ChromiumBridge::screenDepth(Widget* widget) { 431 int ChromiumBridge::screenDepth(Widget* widget) {
436 return webkit_glue::GetScreenInfo(ToPlatform(widget)).depth; 432 return webkit_glue::GetScreenInfo(ToNativeId(widget)).depth;
437 } 433 }
438 434
439 int ChromiumBridge::screenDepthPerComponent(Widget* widget) { 435 int ChromiumBridge::screenDepthPerComponent(Widget* widget) {
440 return webkit_glue::GetScreenInfo(ToPlatform(widget)).depth_per_component; 436 return webkit_glue::GetScreenInfo(ToNativeId(widget)).depth_per_component;
441 } 437 }
442 438
443 bool ChromiumBridge::screenIsMonochrome(Widget* widget) { 439 bool ChromiumBridge::screenIsMonochrome(Widget* widget) {
444 return webkit_glue::GetScreenInfo(ToPlatform(widget)).is_monochrome; 440 return webkit_glue::GetScreenInfo(ToNativeId(widget)).is_monochrome;
445 } 441 }
446 442
447 IntRect ChromiumBridge::screenRect(Widget* widget) { 443 IntRect ChromiumBridge::screenRect(Widget* widget) {
448 return webkit_glue::ToIntRect( 444 return webkit_glue::ToIntRect(
449 webkit_glue::GetScreenInfo(ToPlatform(widget)).rect); 445 webkit_glue::GetScreenInfo(ToNativeId(widget)).rect);
450 } 446 }
451 447
452 IntRect ChromiumBridge::screenAvailableRect(Widget* widget) { 448 IntRect ChromiumBridge::screenAvailableRect(Widget* widget) {
453 return webkit_glue::ToIntRect( 449 return webkit_glue::ToIntRect(
454 webkit_glue::GetScreenInfo(ToPlatform(widget)).available_rect); 450 webkit_glue::GetScreenInfo(ToNativeId(widget)).available_rect);
455 } 451 }
456 452
457 // SharedTimers ---------------------------------------------------------------- 453 // SharedTimers ----------------------------------------------------------------
458 // Called by SharedTimerChromium.cpp 454 // Called by SharedTimerChromium.cpp
459 455
460 class SharedTimerTask; 456 class SharedTimerTask;
461 457
462 // We maintain a single active timer and a single active task for 458 // We maintain a single active timer and a single active task for
463 // setting timers directly on the platform. 459 // setting timers directly on the platform.
464 static SharedTimerTask* shared_timer_task; 460 static SharedTimerTask* shared_timer_task;
(...skipping 242 matching lines...) Expand 10 before | Expand all | Expand 10 after
707 chrome_client->SetCursor(WebCursor(cursor.impl())); 703 chrome_client->SetCursor(WebCursor(cursor.impl()));
708 } 704 }
709 705
710 void ChromiumBridge::widgetSetFocus(Widget* widget) { 706 void ChromiumBridge::widgetSetFocus(Widget* widget) {
711 ChromeClientImpl* chrome_client = ToChromeClient(widget); 707 ChromeClientImpl* chrome_client = ToChromeClient(widget);
712 if (chrome_client) 708 if (chrome_client)
713 chrome_client->focus(); 709 chrome_client->focus();
714 } 710 }
715 711
716 } // namespace WebCore 712 } // namespace WebCore
OLDNEW
« no previous file with comments | « chrome/renderer/webplugin_delegate_proxy.cc ('k') | webkit/glue/webkit_glue.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698