[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.21-584-g1e41756
kevino at webkit.org
kevino at webkit.org
Fri Feb 26 22:17:22 UTC 2010
The following commit has been merged in the webkit-1.1 branch:
commit 09c7df6dd2582905883a5ce0040be1119697035c
Author: kevino at webkit.org <kevino at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Thu Feb 11 01:22:52 2010 +0000
Reviewed by Kevin Ollivier.
[wx] Add Windows complex text support and Mac support for containsCharacters.
https://bugs.webkit.org/show_bug.cgi?id=34759
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@54633 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/JavaScriptCore/ChangeLog b/JavaScriptCore/ChangeLog
index 796278f..bcc1cc8 100644
--- a/JavaScriptCore/ChangeLog
+++ b/JavaScriptCore/ChangeLog
@@ -1,3 +1,13 @@
+2010-02-10 Kevin Watters <kevinwatters at gmail.com>
+
+ Reviewed by Kevin Ollivier.
+
+ [wx] Add Windows complex text support and Mac support for containsCharacters.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34759
+
+ * wscript:
+
2010-02-10 Alexey Proskuryakov <ap at apple.com>
Addressing issues found by style bot.
diff --git a/JavaScriptCore/wscript b/JavaScriptCore/wscript
index f5a041f..7caf8b4 100644
--- a/JavaScriptCore/wscript
+++ b/JavaScriptCore/wscript
@@ -72,6 +72,8 @@ def build(bld):
full_dirs = get_dirs_for_features(jscore_dir, features=[build_port], dirs=jscore_dirs)
includes = common_includes + full_dirs
+ if sys.platform.startswith('darwin'):
+ includes.append(os.path.join(jscore_dir, 'icu'))
# 1. A simple program
jscore = bld.new_task_gen(
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 6f0f694..45e0d07 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,5 +1,44 @@
-2010-02-10 Kwang Yul Seo <skyul at company100.net>
+2010-02-10 Kevin Watters <kevinwatters at gmail.com>
+
+ Reviewed by Kevin Ollivier.
+ [wx] Add Windows complex text support and Mac support for containsCharacters.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34759
+
+ * platform/graphics/SimpleFontData.h:
+ * platform/graphics/wx/FontPlatformData.h:
+ (WebCore::FontPlatformData::roundsGlyphAdvances):
+ * platform/graphics/wx/FontPlatformDataWx.cpp:
+ (WebCore::FontPlatformData::useGDI):
+ (WebCore::FontPlatformData::hfont):
+ * platform/graphics/wx/FontWx.cpp:
+ (WebCore::Font::canReturnFallbackFontsForComplexText):
+ (WebCore::Font::selectionRectForComplexText):
+ (WebCore::Font::drawComplexText):
+ (WebCore::Font::floatWidthForComplexText):
+ (WebCore::Font::offsetForPositionForComplexText):
+ * platform/graphics/wx/SimpleFontDataWx.cpp:
+ (WebCore::SimpleFontData::platformInit):
+ (WebCore::SimpleFontData::platformDestroy):
+ (WebCore::SimpleFontData::containsCharacters):
+ (WebCore::SimpleFontData::platformWidthForGlyph):
+ (WebCore::SimpleFontData::scriptFontProperties):
+ (WebCore::SimpleFontData::initGDIFont):
+ (WebCore::SimpleFontData::platformCommonDestroy):
+ (WebCore::SimpleFontData::widthForGDIGlyph):
+ * platform/wx/wxcode/fontprops.h:
+ * platform/wx/wxcode/gtk/fontprops.cpp:
+ (wxFontContainsCharacters):
+ * platform/wx/wxcode/mac/carbon/fontprops.cpp:
+ (wxFontContainsCharacters):
+ * platform/wx/wxcode/win/fontprops.cpp:
+ (wxFontContainsCharacters):
+ * platform/wx/wxcode/win/non-kerned-drawing.cpp:
+ (WebCore::drawTextWithSpacing):
+ * wscript:
+
+2010-02-10 Kwang Yul Seo <skyul at company100.net>
Reviewed by Eric Seidel.
[BREWMP] Add dummy Frame::dragImageForSelection
@@ -11,7 +50,6 @@
* page/brew/FrameBrew.cpp: Added.
(WebCore::Frame::dragImageForSelection):
-
2010-02-10 Kevin Ollivier <kevino at theolliviers.com>
[wx] Build fix. Switch drawPattern to Image class like other platforms.
diff --git a/WebCore/platform/graphics/SimpleFontData.h b/WebCore/platform/graphics/SimpleFontData.h
index 09ed0fc..0366e3b 100644
--- a/WebCore/platform/graphics/SimpleFontData.h
+++ b/WebCore/platform/graphics/SimpleFontData.h
@@ -35,7 +35,8 @@
typedef struct OpaqueATSUStyle* ATSUStyle;
#endif
-#if PLATFORM(WIN) && !OS(WINCE)
+#if (PLATFORM(WIN) && !OS(WINCE)) \
+ || (OS(WINDOWS) && PLATFORM(WX))
#include <usp10.h>
#endif
@@ -86,7 +87,7 @@ public:
float spaceWidth() const { return m_spaceWidth; }
float adjustedSpaceWidth() const { return m_adjustedSpaceWidth; }
-#if PLATFORM(CG) || PLATFORM(CAIRO)
+#if PLATFORM(CG) || PLATFORM(CAIRO) || (OS(WINDOWS) && PLATFORM(WX))
float syntheticBoldOffset() const { return m_syntheticBoldOffset; }
#endif
@@ -138,7 +139,7 @@ public:
QFont getQtFont() const { return m_platformData.font(); }
#endif
-#if PLATFORM(WIN)
+#if PLATFORM(WIN) || (OS(WINDOWS) && PLATFORM(WX))
bool isSystemFont() const { return m_isSystemFont; }
#if !OS(WINCE) // disable unused members to save space
SCRIPT_FONTPROPERTIES* scriptFontProperties() const;
@@ -162,7 +163,8 @@ private:
void commonInit();
-#if PLATFORM(WIN) && !OS(WINCE)
+#if (PLATFORM(WIN) && !OS(WINCE)) \
+ || (OS(WINDOWS) && PLATFORM(WX))
void initGDIFont();
void platformCommonDestroy();
float widthForGDIGlyph(Glyph glyph) const;
@@ -198,7 +200,7 @@ private:
mutable SimpleFontData* m_smallCapsFontData;
-#if PLATFORM(CG) || PLATFORM(CAIRO)
+#if PLATFORM(CG) || PLATFORM(CAIRO) || (OS(WINDOWS) && PLATFORM(WX))
float m_syntheticBoldOffset;
#endif
@@ -224,7 +226,7 @@ private:
mutable HashMap<unsigned, RetainPtr<CFDictionaryRef> > m_CFStringAttributes;
#endif
-#if PLATFORM(WIN)
+#if PLATFORM(WIN) || (OS(WINDOWS) && PLATFORM(WX))
bool m_isSystemFont;
#if !OS(WINCE) // disable unused members to save space
mutable SCRIPT_CACHE m_scriptCache;
diff --git a/WebCore/platform/graphics/wx/FontPlatformData.h b/WebCore/platform/graphics/wx/FontPlatformData.h
index 3b99830..be00edc 100644
--- a/WebCore/platform/graphics/wx/FontPlatformData.h
+++ b/WebCore/platform/graphics/wx/FontPlatformData.h
@@ -113,6 +113,13 @@ public:
bool isHashTableDeletedValue() const { return m_fontState == DELETED; }
+ bool roundsGlyphAdvances() const { return false; }
+
+#if OS(WINDOWS)
+ bool useGDI() const;
+ HFONT hfont() const;
+#endif
+
#ifndef NDEBUG
String description() const;
#endif
diff --git a/WebCore/platform/graphics/wx/FontPlatformDataWx.cpp b/WebCore/platform/graphics/wx/FontPlatformDataWx.cpp
index fd3322f..c9646d7 100644
--- a/WebCore/platform/graphics/wx/FontPlatformDataWx.cpp
+++ b/WebCore/platform/graphics/wx/FontPlatformDataWx.cpp
@@ -129,4 +129,16 @@ String FontPlatformData::description() const
}
#endif
+#if OS(WINDOWS)
+bool FontPlatformData::useGDI() const
+{
+ return true;
+}
+
+HFONT FontPlatformData::hfont() const
+{
+ return static_cast<HFONT>(m_font->font()->GetHFONT());
+}
+#endif
+
}
diff --git a/WebCore/platform/graphics/wx/FontWx.cpp b/WebCore/platform/graphics/wx/FontWx.cpp
index 04b2ec4..98b5a0a 100644
--- a/WebCore/platform/graphics/wx/FontWx.cpp
+++ b/WebCore/platform/graphics/wx/FontWx.cpp
@@ -33,6 +33,10 @@
#include "NotImplemented.h"
#include "SimpleFontData.h"
+#if OS(WINDOWS)
+#include "UniscribeController.h"
+#endif
+
#include <wx/dcclient.h>
#include "fontprops.h"
#include "non-kerned-drawing.h"
@@ -41,7 +45,11 @@ namespace WebCore {
bool Font::canReturnFallbackFontsForComplexText()
{
+#if OS(WINDOWS)
+ return true;
+#else
return false;
+#endif
}
void Font::drawGlyphs(GraphicsContext* graphicsContext, const SimpleFontData* font, const GlyphBuffer& glyphBuffer,
@@ -59,25 +67,80 @@ void Font::drawGlyphs(GraphicsContext* graphicsContext, const SimpleFontData* fo
FloatRect Font::selectionRectForComplexText(const TextRun& run, const IntPoint& point, int h, int from, int to) const
{
+#if OS(WINDOWS)
+ UniscribeController it(this, run);
+ it.advance(from);
+ float beforeWidth = it.runWidthSoFar();
+ it.advance(to);
+ float afterWidth = it.runWidthSoFar();
+
+ // Using roundf() rather than ceilf() for the right edge as a compromise to ensure correct caret positioning
+ if (run.rtl()) {
+ it.advance(run.length());
+ float totalWidth = it.runWidthSoFar();
+ return FloatRect(point.x() + floorf(totalWidth - afterWidth), point.y(), roundf(totalWidth - beforeWidth) - floorf(totalWidth - afterWidth), h);
+ }
+
+ return FloatRect(point.x() + floorf(beforeWidth), point.y(), roundf(afterWidth) - floorf(beforeWidth), h);
+#else
notImplemented();
return FloatRect();
+#endif
}
-void Font::drawComplexText(GraphicsContext* graphicsContext, const TextRun& run, const FloatPoint& point, int from, int to) const
+void Font::drawComplexText(GraphicsContext* context, const TextRun& run, const FloatPoint& point, int from, int to) const
{
+#if OS(WINDOWS)
+ // This glyph buffer holds our glyphs + advances + font data for each glyph.
+ GlyphBuffer glyphBuffer;
+
+ float startX = point.x();
+ UniscribeController controller(this, run);
+ controller.advance(from);
+ float beforeWidth = controller.runWidthSoFar();
+ controller.advance(to, &glyphBuffer);
+
+ // We couldn't generate any glyphs for the run. Give up.
+ if (glyphBuffer.isEmpty())
+ return;
+
+ float afterWidth = controller.runWidthSoFar();
+
+ if (run.rtl()) {
+ controller.advance(run.length());
+ startX += controller.runWidthSoFar() - afterWidth;
+ } else
+ startX += beforeWidth;
+
+ // Draw the glyph buffer now at the starting point returned in startX.
+ FloatPoint startPoint(startX, point.y());
+ drawGlyphBuffer(context, glyphBuffer, run, startPoint);
+#else
notImplemented();
+#endif
}
-float Font::floatWidthForComplexText(const TextRun& run, HashSet<const SimpleFontData*>* /* fallbackFonts */) const
+
+float Font::floatWidthForComplexText(const TextRun& run, HashSet<const SimpleFontData*>* fallbackFonts) const
{
+#if OS(WINDOWS)
+ UniscribeController controller(this, run, fallbackFonts);
+ controller.advance(run.length());
+ return controller.runWidthSoFar();
+#else
notImplemented();
return 0;
+#endif
}
int Font::offsetForPositionForComplexText(const TextRun& run, int x, bool includePartialGlyphs) const
{
+#if OS(WINDOWS)
+ UniscribeController controller(this, run);
+ return controller.offsetForPosition(x, includePartialGlyphs);
+#else
notImplemented();
return 0;
+#endif
}
-
}
diff --git a/WebCore/platform/graphics/wx/SimpleFontDataWx.cpp b/WebCore/platform/graphics/wx/SimpleFontDataWx.cpp
index 85979de..d9fd2b3 100644
--- a/WebCore/platform/graphics/wx/SimpleFontDataWx.cpp
+++ b/WebCore/platform/graphics/wx/SimpleFontDataWx.cpp
@@ -55,6 +55,13 @@ void SimpleFontData::platformInit()
m_unitsPerEm = 1; // FIXME!
m_lineGap = props.GetLineGap();
}
+
+#if OS(WINDOWS)
+ m_scriptCache = 0;
+ m_scriptFontProperties = 0;
+ m_isSystemFont = false;
+ m_syntheticBoldOffset = 0.0f;
+#endif
}
void SimpleFontData::platformCharWidthInit()
@@ -68,6 +75,16 @@ void SimpleFontData::platformDestroy()
{
delete m_smallCapsFontData;
m_smallCapsFontData = 0;
+
+#if OS(WINDOWS)
+ if (m_scriptFontProperties) {
+ delete m_scriptFontProperties;
+ m_scriptFontProperties = 0;
+ }
+
+ if (m_scriptCache)
+ ScriptFreeCache(&m_scriptCache);
+#endif
}
SimpleFontData* SimpleFontData::smallCapsFontData(const FontDescription& fontDescription) const
@@ -84,7 +101,7 @@ SimpleFontData* SimpleFontData::smallCapsFontData(const FontDescription& fontDes
bool SimpleFontData::containsCharacters(const UChar* characters, int length) const
{
// FIXME: We will need to implement this to load non-ASCII encoding sites
- return true;
+ return wxFontContainsCharacters(*m_platformData.font(), characters, length);
}
void SimpleFontData::determinePitch()
@@ -97,10 +114,44 @@ void SimpleFontData::determinePitch()
float SimpleFontData::platformWidthForGlyph(Glyph glyph) const
{
+#if __WXMSW__
+ // under Windows / wxMSW we currently always use GDI fonts.
+ return widthForGDIGlyph(glyph);
+#else
// TODO: fix this! Make GetTextExtents a method of wxFont in 2.9
int width = 10;
GetTextExtent(*m_platformData.font(), (wxChar)glyph, &width, NULL);
return width;
+#endif
+}
+
+#if OS(WINDOWS)
+SCRIPT_FONTPROPERTIES* SimpleFontData::scriptFontProperties() const
+{
+ // AFAICT this is never called even by the Win port anymore.
+ return 0;
+}
+
+void SimpleFontData::initGDIFont()
+{
+ // unused by wx port
+}
+
+void SimpleFontData::platformCommonDestroy()
+{
+ // unused by wx port
+}
+
+float SimpleFontData::widthForGDIGlyph(Glyph glyph) const
+{
+ HDC hdc = GetDC(0);
+ HGDIOBJ oldFont = SelectObject(hdc, m_platformData.hfont());
+ int width;
+ GetCharWidthI(hdc, glyph, 1, 0, &width);
+ SelectObject(hdc, oldFont);
+ ReleaseDC(0, hdc);
+ return width;
}
+#endif
}
diff --git a/WebCore/platform/wx/wxcode/fontprops.h b/WebCore/platform/wx/wxcode/fontprops.h
index 7f38bcf..3f99462 100644
--- a/WebCore/platform/wx/wxcode/fontprops.h
+++ b/WebCore/platform/wx/wxcode/fontprops.h
@@ -48,3 +48,4 @@ private:
};
+bool wxFontContainsCharacters(const wxFont& font, const UChar* characters, int length);
diff --git a/WebCore/platform/wx/wxcode/gtk/fontprops.cpp b/WebCore/platform/wx/wxcode/gtk/fontprops.cpp
index df14812..491458d 100644
--- a/WebCore/platform/wx/wxcode/gtk/fontprops.cpp
+++ b/WebCore/platform/wx/wxcode/gtk/fontprops.cpp
@@ -24,6 +24,8 @@
*/
#include "config.h"
+// this needs to be included before fontprops.h for UChar* to be defined.
+#include <wtf/unicode/Unicode.h>
#include <wx/defs.h>
#include <wx/gdicmn.h>
@@ -92,6 +94,11 @@ m_ascent(0), m_descent(0), m_lineGap(0), m_lineSpacing(0), m_xHeight(0)
#endif
}
+bool wxFontContainsCharacters(const wxFont& font, const UChar* characters, int length)
+{
+ return true;
+}
+
void GetTextExtent( const wxFont& font, const wxString& str, wxCoord *width, wxCoord *height,
wxCoord *descent, wxCoord *externalLeading )
{
diff --git a/WebCore/platform/wx/wxcode/mac/carbon/fontprops.cpp b/WebCore/platform/wx/wxcode/mac/carbon/fontprops.cpp
index 23dea6b..2312dec 100644
--- a/WebCore/platform/wx/wxcode/mac/carbon/fontprops.cpp
+++ b/WebCore/platform/wx/wxcode/mac/carbon/fontprops.cpp
@@ -24,6 +24,9 @@
*/
#include "config.h"
+// this needs to be included before fontprops.h for UChar* to be defined.
+#include <wtf/unicode/Unicode.h>
+
#include "fontprops.h"
#include <ApplicationServices/ApplicationServices.h>
@@ -89,6 +92,19 @@ m_ascent(0), m_descent(0), m_lineGap(0), m_lineSpacing(0), m_xHeight(0)
}
+bool wxFontContainsCharacters(const wxFont& font, const UChar* characters, int length)
+{
+#if wxOSX_USE_COCOA
+ NSString* string = [[NSString alloc] initWithCharactersNoCopy:const_cast<unichar*>(characters) length:length freeWhenDone:NO];
+ NSCharacterSet* set = [[font.GetNSFont() coveredCharacterSet] invertedSet];
+ bool result = set && [string rangeOfCharacterFromSet:set].location == NSNotFound;
+ [string release];
+ return result;
+#else
+ return true;
+#endif
+}
+
void GetTextExtent( const wxFont& font, const wxString& str, wxCoord *width, wxCoord *height,
wxCoord *descent, wxCoord *externalLeading )
{
diff --git a/WebCore/platform/wx/wxcode/win/fontprops.cpp b/WebCore/platform/wx/wxcode/win/fontprops.cpp
index 531db08..d6ba964 100644
--- a/WebCore/platform/wx/wxcode/win/fontprops.cpp
+++ b/WebCore/platform/wx/wxcode/win/fontprops.cpp
@@ -24,15 +24,21 @@
*/
#include "config.h"
-#include <wx/defs.h>
-#include <wx/gdicmn.h>
+// this needs to be included before fontprops.h for UChar* to be defined.
+#include <wtf/unicode/Unicode.h>
+
#include "fontprops.h"
#include "math.h"
#include "MathExtras.h"
+#include <wx/defs.h>
+#include <wx/gdicmn.h>
#include <wx/wx.h>
#include "wx/msw/private.h"
+#include <mlang.h>
+#include <usp10.h>
+
inline long my_round(double x)
{
return (long)(x < 0 ? x - 0.5 : x + 0.5);
@@ -60,6 +66,46 @@ m_ascent(0), m_descent(0), m_lineGap(0), m_lineSpacing(0), m_xHeight(0)
ReleaseDC(0, dc);
}
+bool wxFontContainsCharacters(const wxFont& font, const UChar* characters, int length)
+{
+ // FIXME: Microsoft documentation seems to imply that characters can be output using a given font and DC
+ // merely by testing code page intersection. This seems suspect though. Can't a font only partially
+ // cover a given code page?
+ static IMultiLanguage *multiLanguage;
+ if (!multiLanguage) {
+ if (CoCreateInstance(CLSID_CMultiLanguage, 0, CLSCTX_ALL, IID_IMultiLanguage, (void**)&multiLanguage) != S_OK)
+ return true;
+ }
+
+ static IMLangFontLink2* langFontLink;
+ if (!langFontLink) {
+ if (multiLanguage->QueryInterface(&langFontLink) != S_OK)
+ return true;
+ }
+
+ HDC dc = GetDC(0);
+
+ DWORD acpCodePages;
+ langFontLink->CodePageToCodePages(CP_ACP, &acpCodePages);
+
+ DWORD fontCodePages;
+ langFontLink->GetFontCodePages(dc, static_cast<HFONT>(font.GetHFONT()), &fontCodePages);
+
+ DWORD actualCodePages;
+ long numCharactersProcessed;
+ long offset = 0;
+ while (offset < length) {
+ langFontLink->GetStrCodePages(characters, length, acpCodePages, &actualCodePages, &numCharactersProcessed);
+ if ((actualCodePages & fontCodePages))
+ return false;
+ offset += numCharactersProcessed;
+ }
+
+ ReleaseDC(0, dc);
+
+ return true;
+}
+
void GetTextExtent( const wxFont& font, const wxString& str, wxCoord *width, wxCoord *height,
wxCoord *descent, wxCoord *externalLeading )
{
diff --git a/WebCore/platform/wx/wxcode/win/non-kerned-drawing.cpp b/WebCore/platform/wx/wxcode/win/non-kerned-drawing.cpp
index 72fcc54..2fcd761 100644
--- a/WebCore/platform/wx/wxcode/win/non-kerned-drawing.cpp
+++ b/WebCore/platform/wx/wxcode/win/non-kerned-drawing.cpp
@@ -122,7 +122,7 @@ void drawTextWithSpacing(GraphicsContext* graphicsContext, const SimpleFontData*
// draw text with optional character widths array
wxString string = wxString((wxChar*)(&glyphs[from]), numGlyphs);
- ::ExtTextOut(hdc, x, y, 0, NULL, string.c_str(), string.length(), spacing);
+ ::ExtTextOut(hdc, x, y, ETO_GLYPH_INDEX, 0, reinterpret_cast<const WCHAR*>(glyphs), numGlyphs, spacing);
::SetBkMode(hdc, TRANSPARENT);
diff --git a/WebCore/wscript b/WebCore/wscript
index 19cc392..5fdf64c 100644
--- a/WebCore/wscript
+++ b/WebCore/wscript
@@ -33,10 +33,10 @@ if build_port == "wx":
if building_on_win32:
webcore_dirs.extend(['platform/wx/wxcode/win', 'plugins/win'])
webcore_sources['wx-win'] = [
+ 'platform/graphics/win/TransformationMatrixWin.cpp',
# wxTimer on Windows has a bug that causes it to eat crashes in callbacks
# so we need to use the Win port's implementation until the wx bug fix is
# widely available (it was fixed in 2.8.10).
- 'platform/graphics/win/TransformationMatrixWin.cpp',
'platform/win/SharedTimerWin.cpp',
# Use the Windows plugin architecture
'page/win/PageWin.cpp',
@@ -90,6 +90,13 @@ def set_options(opt):
def configure(conf):
common_configure(conf)
generate_webcore_derived_sources()
+ if sys.platform.startswith('win'):
+ graphics_dir = os.path.join(wk_root, 'WebCore', 'platform', 'graphics')
+ # HACK ALERT: MSVC automatically adds the source file's directory as the first entry in the
+ # path. Unfortunately, that means when compiling these files we will end up including
+ # win/FontPlatformData.h, which breaks wx compilation. So we copy the files to the wx dir.
+ for afile in ['UniscribeController.h', 'UniscribeController.cpp', 'GlyphPageTreeNodeCairoWin.cpp']:
+ shutil.copy(os.path.join(graphics_dir, 'win', afile), os.path.join(graphics_dir, 'wx'))
def build(bld):
import Options
@@ -106,9 +113,11 @@ def build(bld):
]
features = [build_port]
- exclude_patterns = ['*None.cpp', '*CFNet.cpp', '*Qt.cpp', '*Win.cpp', '*Wince.cpp', '*Gtk.cpp', '*Mac.cpp', '*Safari.cpp', '*Chromium*.cpp','*SVG*.cpp', '*AllInOne.cpp', 'test*bindings.*']
+ exclude_patterns = ['*None.cpp', '*CFNet.cpp', '*Qt.cpp', '*Wince.cpp', '*Gtk.cpp', '*Mac.cpp', '*Safari.cpp', '*Chromium*.cpp','*SVG*.cpp', '*AllInOne.cpp', 'test*bindings.*']
if build_port == 'wx':
features.append('curl')
+ if not building_on_win32:
+ exclude_patterns.append('*Win.cpp')
if sys.platform.startswith('darwin'):
features.append('cf')
@@ -126,6 +135,8 @@ def build(bld):
wk_includes.append(os.path.join(jscore_dir, 'wtf', 'unicode'))
wk_includes.append(os.path.join(jscore_dir, 'wtf', 'unicode', 'icu'))
wk_includes += common_includes + full_dirs
+ if sys.platform.startswith('darwin'):
+ wk_includes.append(os.path.join(webcore_dir, 'icu'))
cxxflags = []
if building_on_win32:
@@ -168,6 +179,9 @@ def build(bld):
excludes.append('JSInspectorController.cpp')
if building_on_win32:
excludes.append('SharedTimerWx.cpp')
+ excludes.append('GlyphMapWx.cpp')
+ excludes.append('RenderThemeWin.cpp')
+ excludes.append('KeyEventWin.cpp')
excludes.append('AuthenticationCF.cpp')
excludes.append('LoaderRunLoopCF.cpp')
diff --git a/WebKitTools/ChangeLog b/WebKitTools/ChangeLog
index c774759..a17a5aa 100644
--- a/WebKitTools/ChangeLog
+++ b/WebKitTools/ChangeLog
@@ -1,3 +1,13 @@
+2010-02-10 Kevin Watters <kevinwatters at gmail.com>
+
+ Reviewed by Kevin Ollivier.
+
+ [wx] Add Windows complex text support.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34759
+
+ * wx/build/settings.py:
+
2010-02-10 Kevin Ollivier <kevino at theolliviers.com>
[wx] Build fix. Add stub for new LayoutTestController method.
diff --git a/WebKitTools/wx/build/settings.py b/WebKitTools/wx/build/settings.py
index 60a4db6..d3b7b2c 100644
--- a/WebKitTools/wx/build/settings.py
+++ b/WebKitTools/wx/build/settings.py
@@ -276,7 +276,9 @@ def common_configure(conf):
if sys.platform.startswith('darwin'):
conf.env['LIB_ICU'] = ['icucore']
# Apple does not ship the ICU headers with Mac OS X, so WebKit includes a copy of 3.2 headers
- conf.env['CPPPATH_ICU'] = [os.path.join(jscore_dir, 'icu'), os.path.join(webcore_dir, 'icu')]
+ conf.env.append_value('CPPPATH_JSCORE', os.path.join(jscore_dir, 'icu'))
+
+ conf.env.append_value('CPPPATH_WEBCORE', os.path.join(webcore_dir, 'icu'))
conf.env.append_value('CPPPATH', wklibs_dir)
conf.env.append_value('LIBPATH', wklibs_dir)
@@ -335,7 +337,7 @@ def common_configure(conf):
conf.env.append_value('LIB', [
'kernel32', 'user32','gdi32','comdlg32','winspool','winmm',
'shell32', 'shlwapi', 'comctl32', 'ole32', 'oleaut32', 'uuid', 'advapi32',
- 'wsock32', 'gdiplus', 'version'])
+ 'wsock32', 'gdiplus', 'usp10','version'])
conf.env['LIB_ICU'] = ['icudt', 'icule', 'iculx', 'icuuc', 'icuin', 'icuio', 'icutu']
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list