1ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen// Copyright (c) 2011 The Chromium Authors. All rights reserved. 2ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen// Use of this source code is governed by a BSD-style license that can be 3ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen// found in the LICENSE file. 4ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 5ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#ifndef CHROME_BROWSER_UI_VIEWS_TAB_CONTENTS_NATIVE_TAB_CONTENTS_VIEW_H_ 6ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#define CHROME_BROWSER_UI_VIEWS_TAB_CONTENTS_NATIVE_TAB_CONTENTS_VIEW_H_ 7ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#pragma once 8ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 9ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#include <string> 10ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 11ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#include "third_party/WebKit/Source/WebKit/chromium/public/WebDragOperation.h" 12ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#include "ui/gfx/native_widget_types.h" 13ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 14ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsenclass RenderWidgetHost; 15ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsenclass RenderWidgetHostView; 16ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsenstruct WebDropData; 17ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsennamespace gfx { 18ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsenclass Point; 19ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen} 20ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsennamespace internal { 21ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsenclass NativeTabContentsViewDelegate; 22ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen} 23ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsennamespace views { 24ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsenclass NativeWidget; 25ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen} 26ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 27ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsenclass NativeTabContentsView { 28ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen public: 29ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen virtual ~NativeTabContentsView() {} 30ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 31ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen static NativeTabContentsView* CreateNativeTabContentsView( 32ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen internal::NativeTabContentsViewDelegate* delegate); 33ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 34ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen virtual void InitNativeTabContentsView() = 0; 35ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 36ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen virtual void Unparent() = 0; 37ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 38ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen virtual RenderWidgetHostView* CreateRenderWidgetHostView( 39ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen RenderWidgetHost* render_widget_host) = 0; 40ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 41ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen virtual gfx::NativeWindow GetTopLevelNativeWindow() const = 0; 42ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 43ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen virtual void SetPageTitle(const std::wstring& title) = 0; 44ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 45ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen virtual void StartDragging(const WebDropData& drop_data, 46ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen WebKit::WebDragOperationsMask ops, 47ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen const SkBitmap& image, 48ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen const gfx::Point& image_offset) = 0; 49ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen virtual void CancelDrag() = 0; 50ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen virtual bool IsDoingDrag() const = 0; 51ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen virtual void SetDragCursor(WebKit::WebDragOperation operation) = 0; 52ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 53ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen virtual views::NativeWidget* AsNativeWidget() = 0; 54ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen}; 55ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 56ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#endif // CHROME_BROWSER_UI_VIEWS_TAB_CONTENTS_NATIVE_TAB_CONTENTS_VIEW_H_ 57