mirror of
				https://bitbucket.org/chromiumembedded/cef
				synced 2025-06-05 21:39:12 +02:00 
			
		
		
		
	- Add support for loading localized strings from locale .pak files (issue #357).
- Add support for loading DevTools resources from chrome.pak via the chrome-devtools scheme (issue #358). - Add tools_gyp.patch to fix a bug in GYP. git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@295 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
This commit is contained in:
		@@ -16,25 +16,12 @@
 | 
			
		||||
#include "base/path_service.h"
 | 
			
		||||
#include "base/utf_string_conversions.h"
 | 
			
		||||
#include "grit/webkit_resources.h"
 | 
			
		||||
#include "ui/base/resource/data_pack.h"
 | 
			
		||||
#include "ui/base/resource/resource_bundle.h"
 | 
			
		||||
#include "webkit/glue/webkit_glue.h"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
namespace webkit_glue {
 | 
			
		||||
  
 | 
			
		||||
// Data pack resource. This is a pointer to the mmapped resources file.
 | 
			
		||||
static ui::DataPack* g_resource_data_pack = NULL;
 | 
			
		||||
  
 | 
			
		||||
void InitializeDataPak() {
 | 
			
		||||
  // mmap the data pack which holds strings used by WebCore.
 | 
			
		||||
  // TODO(port): Allow the embedder to customize the pak name.
 | 
			
		||||
  g_resource_data_pack = new ui::DataPack;
 | 
			
		||||
  NSString *resource_path =
 | 
			
		||||
      [base::mac::MainAppBundle() pathForResource:@"cefclient" ofType:@"pak"];
 | 
			
		||||
  FilePath resources_pak_path([resource_path fileSystemRepresentation]);
 | 
			
		||||
  if (!g_resource_data_pack->Load(resources_pak_path))
 | 
			
		||||
    LOG(FATAL) << "failed to load cefclient.pak";
 | 
			
		||||
}
 | 
			
		||||
  
 | 
			
		||||
// Helper method for getting the path to the CEF resources directory.
 | 
			
		||||
FilePath GetResourcesFilePath() {
 | 
			
		||||
  FilePath path;
 | 
			
		||||
@@ -53,37 +40,6 @@ FilePath GetResourcesFilePath() {
 | 
			
		||||
    return path.AppendASCII("res");
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
  
 | 
			
		||||
string16 GetLocalizedString(int message_id) {
 | 
			
		||||
  base::StringPiece res;
 | 
			
		||||
  if (!g_resource_data_pack->GetStringPiece(message_id, &res)) {
 | 
			
		||||
    LOG(FATAL) << "failed to load webkit string with id " << message_id;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  // Data packs hold strings as either UTF8 or UTF16.
 | 
			
		||||
  string16 msg;
 | 
			
		||||
  switch (g_resource_data_pack->GetTextEncodingType()) {
 | 
			
		||||
  case ui::DataPack::UTF8:
 | 
			
		||||
    msg = UTF8ToUTF16(res);
 | 
			
		||||
    break;
 | 
			
		||||
  case ui::DataPack::UTF16:
 | 
			
		||||
    msg = string16(reinterpret_cast<const char16*>(res.data()),
 | 
			
		||||
                   res.length() / 2);
 | 
			
		||||
    break;
 | 
			
		||||
  case ui::DataPack::BINARY:
 | 
			
		||||
  default:
 | 
			
		||||
    break;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return msg;
 | 
			
		||||
}
 | 
			
		||||
  
 | 
			
		||||
  
 | 
			
		||||
base::StringPiece NetResourceProvider(int key) {
 | 
			
		||||
  base::StringPiece res;
 | 
			
		||||
  g_resource_data_pack->GetStringPiece(key, &res);
 | 
			
		||||
  return res;
 | 
			
		||||
}  
 | 
			
		||||
 | 
			
		||||
base::StringPiece GetDataResource(int resource_id) {
 | 
			
		||||
  switch (resource_id) {
 | 
			
		||||
@@ -116,29 +72,15 @@ base::StringPiece GetDataResource(int resource_id) {
 | 
			
		||||
      }
 | 
			
		||||
      return resize_corner_data;
 | 
			
		||||
    }
 | 
			
		||||
      
 | 
			
		||||
    case IDR_SEARCH_CANCEL:
 | 
			
		||||
    case IDR_SEARCH_CANCEL_PRESSED:
 | 
			
		||||
    case IDR_SEARCH_MAGNIFIER:
 | 
			
		||||
    case IDR_SEARCH_MAGNIFIER_RESULTS:
 | 
			
		||||
    case IDR_MEDIA_PAUSE_BUTTON:
 | 
			
		||||
    case IDR_MEDIA_PLAY_BUTTON:
 | 
			
		||||
    case IDR_MEDIA_PLAY_BUTTON_DISABLED:
 | 
			
		||||
    case IDR_MEDIA_SOUND_FULL_BUTTON:
 | 
			
		||||
    case IDR_MEDIA_SOUND_NONE_BUTTON:
 | 
			
		||||
    case IDR_MEDIA_SOUND_DISABLED:
 | 
			
		||||
    case IDR_MEDIA_SLIDER_THUMB:
 | 
			
		||||
    case IDR_MEDIA_VOLUME_SLIDER_THUMB:
 | 
			
		||||
    case IDR_INPUT_SPEECH:
 | 
			
		||||
    case IDR_INPUT_SPEECH_RECORDING:
 | 
			
		||||
    case IDR_INPUT_SPEECH_WAITING:
 | 
			
		||||
      return NetResourceProvider(resource_id);
 | 
			
		||||
      
 | 
			
		||||
 | 
			
		||||
    default:
 | 
			
		||||
      break;
 | 
			
		||||
  }
 | 
			
		||||
  
 | 
			
		||||
  return base::StringPiece();
 | 
			
		||||
 | 
			
		||||
  base::StringPiece piece =
 | 
			
		||||
      ResourceBundle::GetSharedInstance().GetRawDataResource(resource_id);
 | 
			
		||||
  DCHECK(!piece.empty());
 | 
			
		||||
  return piece;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void DidLoadPlugin(const std::string& filename) {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user