| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/child/browser_font_resource_trusted.h" | 5 #include "content/child/browser_font_resource_trusted.h" |
| 6 | 6 |
| 7 #include "base/strings/string_util.h" | 7 #include "base/strings/string_util.h" |
| 8 #include "base/strings/utf_string_conversions.h" | 8 #include "base/strings/utf_string_conversions.h" |
| 9 #include "ppapi/c/dev/ppb_font_dev.h" | 9 #include "ppapi/c/dev/ppb_font_dev.h" |
| 10 #include "ppapi/proxy/connection.h" | 10 #include "ppapi/proxy/connection.h" |
| (...skipping 25 matching lines...) Expand all Loading... |
| 36 using blink::WebCanvas; | 36 using blink::WebCanvas; |
| 37 | 37 |
| 38 namespace content { | 38 namespace content { |
| 39 | 39 |
| 40 namespace { | 40 namespace { |
| 41 | 41 |
| 42 // Same as WebPreferences::kCommonScript. I'd use that directly here, but get an | 42 // Same as WebPreferences::kCommonScript. I'd use that directly here, but get an |
| 43 // undefined reference linker error. | 43 // undefined reference linker error. |
| 44 const char kCommonScript[] = "Zyyy"; | 44 const char kCommonScript[] = "Zyyy"; |
| 45 | 45 |
| 46 base::string16 GetFontFromMap( | 46 base::string16 GetFontFromMap(const ScriptFontFamilyMap& map, |
| 47 const webkit_glue::ScriptFontFamilyMap& map, | 47 const std::string& script) { |
| 48 const std::string& script) { | 48 ScriptFontFamilyMap::const_iterator it = map.find(script); |
| 49 webkit_glue::ScriptFontFamilyMap::const_iterator it = | |
| 50 map.find(script); | |
| 51 if (it != map.end()) | 49 if (it != map.end()) |
| 52 return it->second; | 50 return it->second; |
| 53 return base::string16(); | 51 return base::string16(); |
| 54 } | 52 } |
| 55 | 53 |
| 56 // Splits a PP_BrowserFont_Trusted_TextRun into a sequence or LTR and RTL | 54 // Splits a PP_BrowserFont_Trusted_TextRun into a sequence or LTR and RTL |
| 57 // WebTextRuns that can be used for WebKit. Normally WebKit does this for us, | 55 // WebTextRuns that can be used for WebKit. Normally WebKit does this for us, |
| 58 // but the font drawing and measurement routines we call happen after this | 56 // but the font drawing and measurement routines we call happen after this |
| 59 // step. So for correct rendering of RTL content, we need to do it ourselves. | 57 // step. So for correct rendering of RTL content, we need to do it ourselves. |
| 60 class TextRunCollection { | 58 class TextRunCollection { |
| (...skipping 359 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 420 | 418 |
| 421 // Advance to the next run. Note that we avoid doing this for the last run | 419 // Advance to the next run. Note that we avoid doing this for the last run |
| 422 // since it's unnecessary, measuring text is slow, and most of the time | 420 // since it's unnecessary, measuring text is slow, and most of the time |
| 423 // there will be only one run anyway. | 421 // there will be only one run anyway. |
| 424 if (i != runs.num_runs() - 1) | 422 if (i != runs.num_runs() - 1) |
| 425 web_position.x += font_->calculateWidth(run); | 423 web_position.x += font_->calculateWidth(run); |
| 426 } | 424 } |
| 427 } | 425 } |
| 428 | 426 |
| 429 } // namespace content | 427 } // namespace content |
| OLD | NEW |