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

Side by Side Diff: content/renderer/renderer_webkitclient_impl.cc

Issue 7006006: Replace OS_LINUX ifdefs with OS_POSIX & !OS_MACOSX, TOOLKIT_USES_GTK, or (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 9 years, 6 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 | Annotate | Revision Log
« no previous file with comments | « content/renderer/renderer_main.cc ('k') | content/worker/worker_uitest.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 #include "content/renderer/renderer_webkitclient_impl.h" 5 #include "content/renderer/renderer_webkitclient_impl.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/file_path.h" 8 #include "base/file_path.h"
9 #include "base/file_util.h" 9 #include "base/file_util.h"
10 #include "base/platform_file.h" 10 #include "base/platform_file.h"
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
49 #if defined(OS_WIN) 49 #if defined(OS_WIN)
50 #include "third_party/WebKit/Source/WebKit/chromium/public/win/WebSandboxSupport .h" 50 #include "third_party/WebKit/Source/WebKit/chromium/public/win/WebSandboxSupport .h"
51 #endif 51 #endif
52 52
53 #if defined(OS_MACOSX) 53 #if defined(OS_MACOSX)
54 #include "content/common/font_descriptor_mac.h" 54 #include "content/common/font_descriptor_mac.h"
55 #include "content/common/font_loader_mac.h" 55 #include "content/common/font_loader_mac.h"
56 #include "third_party/WebKit/Source/WebKit/chromium/public/mac/WebSandboxSupport .h" 56 #include "third_party/WebKit/Source/WebKit/chromium/public/mac/WebSandboxSupport .h"
57 #endif 57 #endif
58 58
59 #if defined(OS_LINUX) 59 #if defined(OS_POSIX) && !defined(OS_MACOSX)
60 #include <string> 60 #include <string>
61 #include <map> 61 #include <map>
62 62
63 #include "base/synchronization/lock.h" 63 #include "base/synchronization/lock.h"
64 #include "content/common/child_process_sandbox_support_linux.h" 64 #include "content/common/child_process_sandbox_support_linux.h"
65 #include "third_party/WebKit/Source/WebKit/chromium/public/linux/WebSandboxSuppo rt.h" 65 #include "third_party/WebKit/Source/WebKit/chromium/public/linux/WebSandboxSuppo rt.h"
66 #endif 66 #endif
67 67
68 #if defined(OS_POSIX) 68 #if defined(OS_POSIX)
69 #include "base/file_descriptor_posix.h" 69 #include "base/file_descriptor_posix.h"
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
110 class RendererWebKitClientImpl::SandboxSupport 110 class RendererWebKitClientImpl::SandboxSupport
111 : public WebKit::WebSandboxSupport { 111 : public WebKit::WebSandboxSupport {
112 public: 112 public:
113 #if defined(OS_WIN) 113 #if defined(OS_WIN)
114 virtual bool ensureFontLoaded(HFONT); 114 virtual bool ensureFontLoaded(HFONT);
115 #elif defined(OS_MACOSX) 115 #elif defined(OS_MACOSX)
116 // TODO(jeremy): Remove once WebKit side of patch lands - crbug.com/72727 . 116 // TODO(jeremy): Remove once WebKit side of patch lands - crbug.com/72727 .
117 virtual bool loadFont(NSFont* srcFont, ATSFontContainerRef* out); 117 virtual bool loadFont(NSFont* srcFont, ATSFontContainerRef* out);
118 virtual bool loadFont( 118 virtual bool loadFont(
119 NSFont* srcFont, ATSFontContainerRef* container, uint32* fontID); 119 NSFont* srcFont, ATSFontContainerRef* container, uint32* fontID);
120 #elif defined(OS_LINUX) 120 #elif defined(OS_POSIX)
121 virtual WebKit::WebString getFontFamilyForCharacters( 121 virtual WebKit::WebString getFontFamilyForCharacters(
122 const WebKit::WebUChar* characters, 122 const WebKit::WebUChar* characters,
123 size_t numCharacters, 123 size_t numCharacters,
124 const char* preferred_locale); 124 const char* preferred_locale);
125 virtual void getRenderStyleForStrike( 125 virtual void getRenderStyleForStrike(
126 const char* family, int sizeAndStyle, WebKit::WebFontRenderStyle* out); 126 const char* family, int sizeAndStyle, WebKit::WebFontRenderStyle* out);
127 127
128 private: 128 private:
129 // WebKit likes to ask us for the correct font family to use for a set of 129 // WebKit likes to ask us for the correct font family to use for a set of
130 // unicode code points. It needs this information frequently so we cache it 130 // unicode code points. It needs this information frequently so we cache it
(...skipping 298 matching lines...) Expand 10 before | Expand all | Expand 10 after
429 //------------------------------------------------------------------------------ 429 //------------------------------------------------------------------------------
430 430
431 #if defined(OS_WIN) 431 #if defined(OS_WIN)
432 432
433 bool RendererWebKitClientImpl::SandboxSupport::ensureFontLoaded(HFONT font) { 433 bool RendererWebKitClientImpl::SandboxSupport::ensureFontLoaded(HFONT font) {
434 LOGFONT logfont; 434 LOGFONT logfont;
435 GetObject(font, sizeof(LOGFONT), &logfont); 435 GetObject(font, sizeof(LOGFONT), &logfont);
436 return RenderThread::current()->Send(new ViewHostMsg_PreCacheFont(logfont)); 436 return RenderThread::current()->Send(new ViewHostMsg_PreCacheFont(logfont));
437 } 437 }
438 438
439 #elif defined(OS_LINUX)
440
441 WebString RendererWebKitClientImpl::SandboxSupport::getFontFamilyForCharacters(
442 const WebKit::WebUChar* characters,
443 size_t num_characters,
444 const char* preferred_locale) {
445 base::AutoLock lock(unicode_font_families_mutex_);
446 const string16 key(characters, num_characters);
447 const std::map<string16, std::string>::const_iterator iter =
448 unicode_font_families_.find(key);
449 if (iter != unicode_font_families_.end())
450 return WebString::fromUTF8(iter->second);
451
452 const std::string family_name =
453 child_process_sandbox_support::getFontFamilyForCharacters(
454 characters,
455 num_characters,
456 preferred_locale);
457 unicode_font_families_.insert(make_pair(key, family_name));
458 return WebString::fromUTF8(family_name);
459 }
460
461 void RendererWebKitClientImpl::SandboxSupport::getRenderStyleForStrike(
462 const char* family, int sizeAndStyle, WebKit::WebFontRenderStyle* out) {
463 child_process_sandbox_support::getRenderStyleForStrike(family, sizeAndStyle,
464 out);
465 }
466
467 #elif defined(OS_MACOSX) 439 #elif defined(OS_MACOSX)
468 440
469 // TODO(jeremy): Remove once WebKit side of patch lands - crbug.com/72727 . 441 // TODO(jeremy): Remove once WebKit side of patch lands - crbug.com/72727 .
470 bool RendererWebKitClientImpl::SandboxSupport::loadFont( 442 bool RendererWebKitClientImpl::SandboxSupport::loadFont(
471 NSFont* srcFont, ATSFontContainerRef* out) { 443 NSFont* srcFont, ATSFontContainerRef* out) {
472 uint32 temp; 444 uint32 temp;
473 return loadFont(srcFont, out, &temp); 445 return loadFont(srcFont, out, &temp);
474 } 446 }
475 447
476 bool RendererWebKitClientImpl::SandboxSupport::loadFont( 448 bool RendererWebKitClientImpl::SandboxSupport::loadFont(
(...skipping 23 matching lines...) Expand all
500 return false; 472 return false;
501 } 473 }
502 474
503 // TODO(jeremy): Need to call back into WebKit to make sure that the font 475 // TODO(jeremy): Need to call back into WebKit to make sure that the font
504 // isn't already activated, based on the font id. If it's already 476 // isn't already activated, based on the font id. If it's already
505 // activated, don't reactivate it here - crbug.com/72727 . 477 // activated, don't reactivate it here - crbug.com/72727 .
506 return FontLoader::ATSFontContainerFromBuffer(font_data, font_data_size, 478 return FontLoader::ATSFontContainerFromBuffer(font_data, font_data_size,
507 container); 479 container);
508 } 480 }
509 481
482 #elif defined(OS_POSIX)
483
484 WebString RendererWebKitClientImpl::SandboxSupport::getFontFamilyForCharacters(
485 const WebKit::WebUChar* characters,
486 size_t num_characters,
487 const char* preferred_locale) {
488 base::AutoLock lock(unicode_font_families_mutex_);
489 const string16 key(characters, num_characters);
490 const std::map<string16, std::string>::const_iterator iter =
491 unicode_font_families_.find(key);
492 if (iter != unicode_font_families_.end())
493 return WebString::fromUTF8(iter->second);
494
495 const std::string family_name =
496 child_process_sandbox_support::getFontFamilyForCharacters(
497 characters,
498 num_characters,
499 preferred_locale);
500 unicode_font_families_.insert(make_pair(key, family_name));
501 return WebString::fromUTF8(family_name);
502 }
503
504 void RendererWebKitClientImpl::SandboxSupport::getRenderStyleForStrike(
505 const char* family, int sizeAndStyle, WebKit::WebFontRenderStyle* out) {
506 child_process_sandbox_support::getRenderStyleForStrike(family, sizeAndStyle,
507 out);
508 }
509
510 #endif 510 #endif
511 511
512 //------------------------------------------------------------------------------ 512 //------------------------------------------------------------------------------
513 513
514 WebKitClient::FileHandle RendererWebKitClientImpl::databaseOpenFile( 514 WebKitClient::FileHandle RendererWebKitClientImpl::databaseOpenFile(
515 const WebString& vfs_file_name, int desired_flags) { 515 const WebString& vfs_file_name, int desired_flags) {
516 return DatabaseUtil::DatabaseOpenFile(vfs_file_name, desired_flags); 516 return DatabaseUtil::DatabaseOpenFile(vfs_file_name, desired_flags);
517 } 517 }
518 518
519 int RendererWebKitClientImpl::databaseDeleteFile( 519 int RendererWebKitClientImpl::databaseDeleteFile(
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
594 } 594 }
595 595
596 //------------------------------------------------------------------------------ 596 //------------------------------------------------------------------------------
597 597
598 WebBlobRegistry* RendererWebKitClientImpl::blobRegistry() { 598 WebBlobRegistry* RendererWebKitClientImpl::blobRegistry() {
599 // RenderThread::current can be NULL when running some tests. 599 // RenderThread::current can be NULL when running some tests.
600 if (!blob_registry_.get() && RenderThread::current()) 600 if (!blob_registry_.get() && RenderThread::current())
601 blob_registry_.reset(new WebBlobRegistryImpl(RenderThread::current())); 601 blob_registry_.reset(new WebBlobRegistryImpl(RenderThread::current()));
602 return blob_registry_.get(); 602 return blob_registry_.get();
603 } 603 }
OLDNEW
« no previous file with comments | « content/renderer/renderer_main.cc ('k') | content/worker/worker_uitest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698