// Copyright (c) 2012 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef WEBKIT_GLUE_WEBKIT_GLUE_H_ #define WEBKIT_GLUE_WEBKIT_GLUE_H_ #include "base/basictypes.h" #if defined(OS_WIN) #include #endif #include #include #include "base/platform_file.h" #include "base/string16.h" #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebCanvas.h" #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebReferrerPolicy.h" #include "webkit/glue/webkit_glue_export.h" class SkBitmap; class SkCanvas; namespace net { class URLRequest; } namespace WebKit { struct WebFileInfo; class WebFrame; } namespace webkit_glue { WEBKIT_GLUE_EXPORT void SetJavaScriptFlags(const std::string& flags); // Turn on logging for flags in the provided comma delimited list. WEBKIT_GLUE_EXPORT void EnableWebCoreLogChannels(const std::string& channels); // Returns the text of the document element. WEBKIT_GLUE_EXPORT string16 DumpDocumentText(WebKit::WebFrame* web_frame); // Returns the text of the document element and optionally its child frames. // If recursive is false, this is equivalent to DumpDocumentText followed by // a newline. If recursive is true, it recursively dumps all frames as text. string16 DumpFramesAsText(WebKit::WebFrame* web_frame, bool recursive); // Returns the renderer's description of its tree (its externalRepresentation). WEBKIT_GLUE_EXPORT string16 DumpRenderer(WebKit::WebFrame* web_frame); // Returns the number of page where the specified element will be put. int PageNumberForElementById(WebKit::WebFrame* web_frame, const std::string& id, float page_width_in_pixels, float page_height_in_pixels); // Returns the number of pages to be printed. int NumberOfPages(WebKit::WebFrame* web_frame, float page_width_in_pixels, float page_height_in_pixels); // Returns a dump of the scroll position of the webframe. string16 DumpFrameScrollPosition(WebKit::WebFrame* web_frame, bool recursive); // Returns a dump of the given history state suitable for implementing the // dumpBackForwardList command of the testRunner. WEBKIT_GLUE_EXPORT string16 DumpHistoryState(const std::string& history_state, int indent, bool is_current); #ifndef NDEBUG // Checks various important objects to see if there are any in memory, and // calls AppendToLog with any leaked objects. Designed to be called on // shutdown. WEBKIT_GLUE_EXPORT void CheckForLeaks(); #endif // Decodes the image from the data in |image_data| into |image|. // Returns false if the image could not be decoded. WEBKIT_GLUE_EXPORT bool DecodeImage(const std::string& image_data, SkBitmap* image); // Tells the plugin thread to terminate the process forcefully instead of // exiting cleanly. void SetForcefullyTerminatePluginProcess(bool value); // Returns true if the plugin thread should terminate the process forcefully // instead of exiting cleanly. WEBKIT_GLUE_EXPORT bool ShouldForcefullyTerminatePluginProcess(); // File info conversion WEBKIT_GLUE_EXPORT void PlatformFileInfoToWebFileInfo( const base::PlatformFileInfo& file_info, WebKit::WebFileInfo* web_file_info); // Returns a WebCanvas pointer associated with the given Skia canvas. WEBKIT_GLUE_EXPORT WebKit::WebCanvas* ToWebCanvas(SkCanvas*); // Returns the number of currently-active glyph pages this process is using. // There can be many such pages (maps of 256 character -> glyph) so this is // used to get memory usage statistics. WEBKIT_GLUE_EXPORT int GetGlyphPageCount(); // Returns WebKit Web Inspector protocol version. std::string GetInspectorProtocolVersion(); // Tells caller whether the given protocol version is supported by the. WEBKIT_GLUE_EXPORT bool IsInspectorProtocolVersionSupported( const std::string& version); // Configures the URLRequest according to the referrer policy. WEBKIT_GLUE_EXPORT void ConfigureURLRequestForReferrerPolicy( net::URLRequest* request, WebKit::WebReferrerPolicy referrer_policy); } // namespace webkit_glue #endif // WEBKIT_GLUE_WEBKIT_GLUE_H_