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

Side by Side Diff: chrome/renderer/renderer_webkitclient_impl.h

Issue 3032027: Header cleanup in chrome/renderer/. (Closed) Base URL: http://src.chromium.org/git/chromium.git
Patch Set: change away from lazy initialization Created 10 years, 5 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
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 #ifndef CHROME_RENDERER_RENDERER_WEBKITCLIENT_IMPL_H_ 5 #ifndef CHROME_RENDERER_RENDERER_WEBKITCLIENT_IMPL_H_
6 #define CHROME_RENDERER_RENDERER_WEBKITCLIENT_IMPL_H_ 6 #define CHROME_RENDERER_RENDERER_WEBKITCLIENT_IMPL_H_
7 #pragma once 7 #pragma once
8 8
9 #include "base/platform_file.h" 9 #include "base/platform_file.h"
10 #include "base/scoped_ptr.h" 10 #include "base/scoped_ptr.h"
11 #include "chrome/renderer/websharedworkerrepository_impl.h"
12 #include "webkit/glue/simple_webmimeregistry_impl.h"
13 #include "webkit/glue/webclipboard_impl.h"
14 #include "webkit/glue/webfilesystem_impl.h"
15 #include "webkit/glue/webkitclient_impl.h" 11 #include "webkit/glue/webkitclient_impl.h"
16 12
17 #if defined(OS_WIN) 13 class WebSharedWorkerRepositoryImpl;
18 #include "third_party/WebKit/WebKit/chromium/public/win/WebSandboxSupport.h"
19 #elif defined(OS_LINUX)
20 #include <string>
21 #include <map>
22 #include "base/lock.h"
23 #include "third_party/WebKit/WebKit/chromium/public/linux/WebSandboxSupport.h"
24 #elif defined(OS_MACOSX)
25 #include "third_party/WebKit/WebKit/chromium/public/mac/WebSandboxSupport.h"
26 #endif
27 14
28 namespace IPC { 15 namespace IPC {
29 class SyncMessage; 16 class SyncMessage;
30 } 17 }
31 18
19 namespace webkit_glue {
20 class WebClipboardImpl;
21 }
22
32 class RendererWebKitClientImpl : public webkit_glue::WebKitClientImpl { 23 class RendererWebKitClientImpl : public webkit_glue::WebKitClientImpl {
33 public: 24 public:
34 RendererWebKitClientImpl(); 25 RendererWebKitClientImpl();
35 virtual ~RendererWebKitClientImpl(); 26 virtual ~RendererWebKitClientImpl();
36 27
37 // WebKitClient methods: 28 // WebKitClient methods:
38 virtual WebKit::WebClipboard* clipboard(); 29 virtual WebKit::WebClipboard* clipboard();
39 virtual WebKit::WebMimeRegistry* mimeRegistry(); 30 virtual WebKit::WebMimeRegistry* mimeRegistry();
40 virtual WebKit::WebFileSystem* fileSystem(); 31 virtual WebKit::WebFileSystem* fileSystem();
41 virtual WebKit::WebSandboxSupport* sandboxSupport(); 32 virtual WebKit::WebSandboxSupport* sandboxSupport();
(...skipping 27 matching lines...) Expand all
69 unsigned key_size_index, 60 unsigned key_size_index,
70 const WebKit::WebString& challenge, 61 const WebKit::WebString& challenge,
71 const WebKit::WebURL& url); 62 const WebKit::WebURL& url);
72 virtual WebKit::WebIndexedDatabase* indexedDatabase(); 63 virtual WebKit::WebIndexedDatabase* indexedDatabase();
73 64
74 virtual WebKit::WebSharedWorkerRepository* sharedWorkerRepository(); 65 virtual WebKit::WebSharedWorkerRepository* sharedWorkerRepository();
75 virtual WebKit::WebGraphicsContext3D* createGraphicsContext3D(); 66 virtual WebKit::WebGraphicsContext3D* createGraphicsContext3D();
76 virtual WebKit::WebGLES2Context* createGLES2Context(); 67 virtual WebKit::WebGLES2Context* createGLES2Context();
77 68
78 private: 69 private:
79 class MimeRegistry : public webkit_glue::SimpleWebMimeRegistryImpl {
80 public:
81 virtual WebKit::WebString mimeTypeForExtension(const WebKit::WebString&);
82 virtual WebKit::WebString mimeTypeFromFile(const WebKit::WebString&);
83 virtual WebKit::WebString preferredExtensionForMIMEType(
84 const WebKit::WebString&);
85 };
86
87 class FileSystem : public webkit_glue::WebFileSystemImpl {
88 public:
89 virtual bool getFileSize(const WebKit::WebString& path, long long& result);
90 virtual bool getFileModificationTime(const WebKit::WebString& path,
91 double& result);
92 virtual base::PlatformFile openFile(const WebKit::WebString& path,
93 int mode);
94 };
95
96 bool CheckPreparsedJsCachingEnabled() const; 70 bool CheckPreparsedJsCachingEnabled() const;
97 71
98 #if defined(OS_WIN)
99 class SandboxSupport : public WebKit::WebSandboxSupport {
100 public:
101 virtual bool ensureFontLoaded(HFONT);
102 };
103 #elif defined(OS_LINUX)
104 class SandboxSupport : public WebKit::WebSandboxSupport {
105 public:
106 virtual WebKit::WebString getFontFamilyForCharacters(
107 const WebKit::WebUChar* characters, size_t numCharacters);
108 virtual void getRenderStyleForStrike(
109 const char* family, int sizeAndStyle, WebKit::WebFontRenderStyle* out);
110
111 private:
112 // WebKit likes to ask us for the correct font family to use for a set of
113 // unicode code points. It needs this information frequently so we cache it
114 // here. The key in this map is an array of 16-bit UTF16 values from WebKit.
115 // The value is a string containing the correct font family.
116 Lock unicode_font_families_mutex_;
117 std::map<std::string, std::string> unicode_font_families_;
118 };
119 #elif defined(OS_MACOSX)
120 class SandboxSupport : public WebKit::WebSandboxSupport {
121 public:
122 virtual bool loadFont(NSFont* srcFont, ATSFontContainerRef* out);
123 };
124 #endif
125
126 // Helper function to send synchronous message from any thread. 72 // Helper function to send synchronous message from any thread.
127 static bool SendSyncMessageFromAnyThread(IPC::SyncMessage* msg); 73 static bool SendSyncMessageFromAnyThread(IPC::SyncMessage* msg);
128 74
129 webkit_glue::WebClipboardImpl clipboard_; 75 scoped_ptr<webkit_glue::WebClipboardImpl> clipboard_;
130 76
131 FileSystem file_system_; 77 class FileSystem;
78 scoped_ptr<FileSystem> file_system_;
132 79
133 MimeRegistry mime_registry_; 80 class MimeRegistry;
81 scoped_ptr<MimeRegistry> mime_registry_;
134 82
135 SandboxSupport sandbox_support_; 83 class SandboxSupport;
84 scoped_ptr<SandboxSupport> sandbox_support_;
136 85
137 // This counter keeps track of the number of times sudden termination is 86 // This counter keeps track of the number of times sudden termination is
138 // enabled or disabled. It starts at 0 (enabled) and for every disable 87 // enabled or disabled. It starts at 0 (enabled) and for every disable
139 // increments by 1, for every enable decrements by 1. When it reaches 0, 88 // increments by 1, for every enable decrements by 1. When it reaches 0,
140 // we tell the browser to enable fast termination. 89 // we tell the browser to enable fast termination.
141 int sudden_termination_disables_; 90 int sudden_termination_disables_;
142 91
143 // Implementation of the WebSharedWorkerRepository APIs (provides an interface 92 // Implementation of the WebSharedWorkerRepository APIs (provides an interface
144 // to WorkerService on the browser thread. 93 // to WorkerService on the browser thread.
145 WebSharedWorkerRepositoryImpl shared_worker_repository_; 94 scoped_ptr<WebSharedWorkerRepositoryImpl> shared_worker_repository_;
146 95
147 scoped_ptr<WebKit::WebIndexedDatabase> web_indexed_database_; 96 scoped_ptr<WebKit::WebIndexedDatabase> web_indexed_database_;
148 }; 97 };
149 98
150 #endif // CHROME_RENDERER_RENDERER_WEBKITCLIENT_IMPL_H_ 99 #endif // CHROME_RENDERER_RENDERER_WEBKITCLIENT_IMPL_H_
OLDNEW
« no previous file with comments | « chrome/renderer/renderer_histogram_snapshots.cc ('k') | chrome/renderer/renderer_webkitclient_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698