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

Side by Side Diff: webkit/glue/webkitplatformsupport_impl.h

Issue 8602002: Move some webkit_glue embedder functions into WebKitPlatformSupport virtual methods (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: copyright year Created 9 years, 1 month 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 | Annotate | Revision Log
« no previous file with comments | « webkit/glue/webkit_glue.h ('k') | webkit/glue/webkitplatformsupport_impl.cc » ('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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 WEBKIT_PLATFORM_SUPPORT_IMPL_H_ 5 #ifndef WEBKIT_PLATFORM_SUPPORT_IMPL_H_
6 #define WEBKIT_PLATFORM_SUPPORT_IMPL_H_ 6 #define WEBKIT_PLATFORM_SUPPORT_IMPL_H_
7 7
8 #include "base/platform_file.h" 8 #include "base/platform_file.h"
9 #include "base/threading/thread_local_storage.h" 9 #include "base/threading/thread_local_storage.h"
10 #include "base/timer.h" 10 #include "base/timer.h"
11 #include "third_party/WebKit/Source/WebKit/chromium/public/WebKitPlatformSupport .h" 11 #include "third_party/WebKit/Source/WebKit/chromium/public/WebKitPlatformSupport .h"
12 #include "webkit/glue/resource_loader_bridge.h"
12 #if defined(OS_WIN) 13 #if defined(OS_WIN)
13 #include "webkit/glue/webthemeengine_impl_win.h" 14 #include "webkit/glue/webthemeengine_impl_win.h"
14 #elif defined(OS_MACOSX) 15 #elif defined(OS_MACOSX)
15 #include "webkit/glue/webthemeengine_impl_mac.h" 16 #include "webkit/glue/webthemeengine_impl_mac.h"
16 #elif defined(OS_POSIX) 17 #elif defined(OS_POSIX)
17 #include "webkit/glue/webthemeengine_impl_linux.h" 18 #include "webkit/glue/webthemeengine_impl_linux.h"
18 #endif 19 #endif
19 20
20 21
21 class MessageLoop; 22 class MessageLoop;
22 23
24 namespace webkit {
25 struct WebPluginInfo;
26 }
27
28 namespace WebKit {
29 class WebSocketStreamHandle;
30 }
31
23 namespace webkit_glue { 32 namespace webkit_glue {
24 33
34 class WebSocketStreamHandleDelegate;
35 class WebSocketStreamHandleBridge;
36
25 class WebKitPlatformSupportImpl : public WebKit::WebKitPlatformSupport { 37 class WebKitPlatformSupportImpl : public WebKit::WebKitPlatformSupport {
26 public: 38 public:
27 WebKitPlatformSupportImpl(); 39 WebKitPlatformSupportImpl();
28 virtual ~WebKitPlatformSupportImpl(); 40 virtual ~WebKitPlatformSupportImpl();
29 41
30 // WebKitPlatformSupport methods (partial implementation): 42 // WebKitPlatformSupport methods (partial implementation):
31 virtual WebKit::WebThemeEngine* themeEngine(); 43 virtual WebKit::WebThemeEngine* themeEngine();
32 44
33 virtual base::PlatformFile databaseOpenFile( 45 virtual base::PlatformFile databaseOpenFile(
34 const WebKit::WebString& vfs_file_name, int desired_flags); 46 const WebKit::WebString& vfs_file_name, int desired_flags);
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
75 virtual double monotonicallyIncreasingTime(); 87 virtual double monotonicallyIncreasingTime();
76 virtual void cryptographicallyRandomValues( 88 virtual void cryptographicallyRandomValues(
77 unsigned char* buffer, size_t length); 89 unsigned char* buffer, size_t length);
78 virtual void setSharedTimerFiredFunction(void (*func)()); 90 virtual void setSharedTimerFiredFunction(void (*func)());
79 virtual void setSharedTimerFireInterval(double interval_seconds); 91 virtual void setSharedTimerFireInterval(double interval_seconds);
80 virtual void stopSharedTimer(); 92 virtual void stopSharedTimer();
81 virtual void callOnMainThread(void (*func)(void*), void* context); 93 virtual void callOnMainThread(void (*func)(void*), void* context);
82 virtual WebKit::WebThread* createThread(const char* name); 94 virtual WebKit::WebThread* createThread(const char* name);
83 virtual WebKit::WebThread* currentThread(); 95 virtual WebKit::WebThread* currentThread();
84 96
97
98 // Embedder functions. The following are not implemented by the glue layer and
99 // need to be specialized by the embedder.
100
101 // Gets a localized string given a message id. Returns an empty string if the
102 // message id is not found.
103 virtual string16 GetLocalizedString(int message_id) = 0;
104
105 // Returns the raw data for a resource. This resource must have been
106 // specified as BINDATA in the relevant .rc file.
107 virtual base::StringPiece GetDataResource(int resource_id) = 0;
108
109 // Returns the list of plugins.
110 virtual void GetPlugins(bool refresh,
111 std::vector<webkit::WebPluginInfo>* plugins) = 0;
112 // Creates a ResourceLoaderBridge.
113 virtual ResourceLoaderBridge* CreateResourceLoader(
114 const ResourceLoaderBridge::RequestInfo& request_info) = 0;
115 // Creates a WebSocketStreamHandleBridge.
116 virtual WebSocketStreamHandleBridge* CreateWebSocketBridge(
117 WebKit::WebSocketStreamHandle* handle,
118 WebSocketStreamHandleDelegate* delegate) = 0;
119
85 void SuspendSharedTimer(); 120 void SuspendSharedTimer();
86 void ResumeSharedTimer(); 121 void ResumeSharedTimer();
87 122
88 private: 123 private:
89 void DoTimeout() { 124 void DoTimeout() {
90 if (shared_timer_func_ && !shared_timer_suspended_) 125 if (shared_timer_func_ && !shared_timer_suspended_)
91 shared_timer_func_(); 126 shared_timer_func_();
92 } 127 }
93 static void DestroyCurrentThread(void*); 128 static void DestroyCurrentThread(void*);
94 129
95 MessageLoop* main_loop_; 130 MessageLoop* main_loop_;
96 base::OneShotTimer<WebKitPlatformSupportImpl> shared_timer_; 131 base::OneShotTimer<WebKitPlatformSupportImpl> shared_timer_;
97 void (*shared_timer_func_)(); 132 void (*shared_timer_func_)();
98 double shared_timer_fire_time_; 133 double shared_timer_fire_time_;
99 int shared_timer_suspended_; // counter 134 int shared_timer_suspended_; // counter
100 WebThemeEngineImpl theme_engine_; 135 WebThemeEngineImpl theme_engine_;
101 base::ThreadLocalStorage::Slot current_thread_slot_; 136 base::ThreadLocalStorage::Slot current_thread_slot_;
102 }; 137 };
103 138
104 } // namespace webkit_glue 139 } // namespace webkit_glue
105 140
106 #endif // WEBKIT_PLATFORM_SUPPORT_IMPL_H_ 141 #endif // WEBKIT_PLATFORM_SUPPORT_IMPL_H_
OLDNEW
« no previous file with comments | « webkit/glue/webkit_glue.h ('k') | webkit/glue/webkitplatformsupport_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698