diff options
author | dimich@google.com <dimich@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-04-10 20:31:10 +0000 |
---|---|---|
committer | dimich@google.com <dimich@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-04-10 20:31:10 +0000 |
commit | 8711df994152f2dc72dd7f45da8779d73fe1e558 (patch) | |
tree | 7ec65344af0c5ee1792cb0a50cee17d9327a6721 /chrome | |
parent | 61d74983f154e4b6d3e8501b212be6b27de3c500 (diff) | |
download | chromium_src-8711df994152f2dc72dd7f45da8779d73fe1e558.zip chromium_src-8711df994152f2dc72dd7f45da8779d73fe1e558.tar.gz chromium_src-8711df994152f2dc72dd7f45da8779d73fe1e558.tar.bz2 |
Make OSX TestShell able to run workers, using a new test_worker.dylib which is basically a webkit+v8+helpers to simulate separate process with worker v8 threads. This is similar way we do on Win32.
Review URL: http://codereview.chromium.org/66043
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13537 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rw-r--r-- | chrome/test/worker/test_worker.exp | 2 | ||||
-rw-r--r-- | chrome/test/worker/test_worker_main.cc | 22 |
2 files changed, 20 insertions, 4 deletions
diff --git a/chrome/test/worker/test_worker.exp b/chrome/test/worker/test_worker.exp new file mode 100644 index 0000000..88f6ee1 --- /dev/null +++ b/chrome/test/worker/test_worker.exp @@ -0,0 +1,2 @@ +_CreateWebWorker + diff --git a/chrome/test/worker/test_worker_main.cc b/chrome/test/worker/test_worker_main.cc index 4cc434a..9c6b1cc 100644 --- a/chrome/test/worker/test_worker_main.cc +++ b/chrome/test/worker/test_worker_main.cc @@ -9,6 +9,7 @@ #include "base/logging.h" #include "base/path_service.h" #include "base/scoped_ptr.h" +#include "base/string_util.h" #include "chrome/worker/worker_webkitclient_impl.h" #include "chrome/test/worker/test_webworker.h" #include "googleurl/src/gurl.h" @@ -26,6 +27,10 @@ static base::AtExitManager global_at_exit_manager; // WebKit client used in DLL. static scoped_ptr<WorkerWebKitClientImpl> webkit_client; +#if defined(COMPILER_GCC) +#pragma GCC visibility push(default) +#endif +extern "C" { // DLL entry points WebWorker* API_CALL CreateWebWorker(WebWorkerClient* webworker_client, TestWebWorkerHelper* webworker_helper) { @@ -40,11 +45,16 @@ WebWorker* API_CALL CreateWebWorker(WebWorkerClient* webworker_client, return NULL; #endif } +} // extern "C" -// WebKit glue functions - +// WebKit glue stub functions. namespace webkit_glue { +#if defined(COMPILER_GCC) +// GCC hides the class methods like this by default, even in the scope +// of the "#pragma visibility". Need the attribute. +__attribute__((visibility("default"))) +#endif ResourceLoaderBridge* ResourceLoaderBridge::Create( const std::string& method, const GURL& url, @@ -62,7 +72,7 @@ ResourceLoaderBridge* ResourceLoaderBridge::Create( } string16 GetLocalizedString(int message_id) { - return L""; + return EmptyString16(); } StringPiece GetDataResource(int resource_id) { @@ -145,4 +155,8 @@ bool DownloadUrl(const std::string& url, HWND caller_window) { } #endif -} +} // namespace webkit_glue + +#if defined(COMPILER_GCC) +#pragma GCC visibility pop +#endif |