15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved.
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file.
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
5ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch#include "content/child/npapi/webplugin_delegate_impl.h"
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "base/basictypes.h"
85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "base/logging.h"
9ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch#include "content/child/npapi/plugin_instance.h"
10ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch#include "content/child/npapi/webplugin.h"
1123730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)#include "content/common/cursors/webcursor.h"
125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
13f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)using blink::WebInputEvent;
145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
15ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdochnamespace content {
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)WebPluginDelegateImpl::WebPluginDelegateImpl(
1858537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)    WebPlugin* plugin,
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    PluginInstance* instance)
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    : windowed_handle_(0),
215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      windowed_did_set_window_(false),
225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      windowless_(false),
2358537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)      plugin_(plugin),
245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      instance_(instance),
255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      quirks_(0),
265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      handle_event_depth_(0),
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      first_set_window_call_(true) {
285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  memset(&window_, 0, sizeof(window_));
295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)WebPluginDelegateImpl::~WebPluginDelegateImpl() {
325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool WebPluginDelegateImpl::PlatformInitialize() {
355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return true;
365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void WebPluginDelegateImpl::PlatformDestroyInstance() {
395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  // Nothing to do here.
405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
4258537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)void WebPluginDelegateImpl::Paint(SkCanvas* canvas, const gfx::Rect& rect) {
435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool WebPluginDelegateImpl::WindowedCreatePlugin() {
465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return false;
475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void WebPluginDelegateImpl::WindowedDestroyWindow() {
505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool WebPluginDelegateImpl::WindowedReposition(
535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    const gfx::Rect& window_rect,
545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    const gfx::Rect& clip_rect) {
555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return false;
565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void WebPluginDelegateImpl::WindowedSetWindow() {
595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void WebPluginDelegateImpl::WindowlessUpdateGeometry(
625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    const gfx::Rect& window_rect,
635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    const gfx::Rect& clip_rect) {
645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void WebPluginDelegateImpl::WindowlessPaint(gfx::NativeDrawingContext context,
675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                                            const gfx::Rect& damage_rect) {
685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool WebPluginDelegateImpl::PlatformSetPluginHasFocus(bool focused) {
715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return false;
725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool WebPluginDelegateImpl::PlatformHandleInputEvent(
7590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)    const WebInputEvent& event, WebCursor::CursorInfo* cursor_info) {
765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return false;
775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
79ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch}  // content
80