--- webkit-1.0.1.orig/JavaScriptCore/wtf/FastMalloc.cpp +++ webkit-1.0.1/JavaScriptCore/wtf/FastMalloc.cpp @@ -1824,13 +1824,13 @@ // Page-level allocator static SpinLock pageheap_lock = SPINLOCK_INITIALIZER; -static void* pageheap_memory[(sizeof(TCMalloc_PageHeap) + sizeof(void*) - 1) / sizeof(void*)]; +static uint64_t pageheap_memory[(sizeof(TCMalloc_PageHeap) + sizeof(uint64_t) - 1) / sizeof(uint64_t)]; static bool phinited = false; // Avoid extra level of indirection by making "pageheap" be just an alias // of pageheap_memory. typedef union { - void* m_memory; + uint64_t* m_memory; TCMalloc_PageHeap* m_pageHeap; } PageHeapUnion; --- webkit-1.0.1.orig/JavaScriptCore/wtf/Platform.h +++ webkit-1.0.1/JavaScriptCore/wtf/Platform.h @@ -172,6 +172,23 @@ #define WTF_PLATFORM_X86_64 1 #endif +/* PLATFORM(SPARC) */ +#if defined(__sparc__) \ + || defined(__sparc) +#define WTF_PLATFORM_SPARC 1 +#define WTF_PLATFORM_BIG_ENDIAN 1 +#endif + +/* For undefined platforms */ +#if !defined(WTF_PLATFORM_BIG_ENDIAN) && !defined(WTF_PLATFORM_MIDDLE_ENDIAN) +#include +#if __BYTE_ORDER == __BIG_ENDIAN +#define WTF_PLATFORM_BIG_ENDIAN 1 +#elif __BYTE_ORDER == __PDP_ENDIAN +#define WTF_PLATFORM_MIDDLE_ENDIAN 1 +#endif +#endif + /* Compiler */ /* COMPILER(MSVC) */ --- webkit-1.0.1.orig/JavaScriptCore/wtf/Vector.h +++ webkit-1.0.1/JavaScriptCore/wtf/Vector.h @@ -386,8 +386,7 @@ static const size_t m_inlineBufferSize = inlineCapacity * sizeof(T); T* inlineBuffer() { return reinterpret_cast(&m_inlineBuffer); } - // FIXME: Nothing guarantees this buffer is appropriately aligned to hold objects of type T. - char m_inlineBuffer[m_inlineBufferSize]; + uint64_t m_inlineBuffer[(m_inlineBufferSize + sizeof(uint64_t) - 1) / sizeof(uint64_t)]; }; template --- webkit-1.0.1.orig/JavaScriptCore/wtf/ListHashSet.h +++ webkit-1.0.1/JavaScriptCore/wtf/ListHashSet.h @@ -122,7 +122,7 @@ : m_freeList(pool()) , m_isDoneWithInitialFreeList(false) { - memset(m_pool.pool, 0, sizeof(m_pool.pool)); + memset(m_pool, 0, sizeof(m_pool)); } Node* allocate() @@ -166,7 +166,7 @@ } private: - Node* pool() { return reinterpret_cast(m_pool.pool); } + Node* pool() { return reinterpret_cast(m_pool); } Node* pastPool() { return pool() + m_poolSize; } bool inPool(Node* node) @@ -177,10 +177,7 @@ Node* m_freeList; bool m_isDoneWithInitialFreeList; static const size_t m_poolSize = 256; - union { - char pool[sizeof(Node) * m_poolSize]; - double forAlignment; - } m_pool; + uint32_t m_pool[(sizeof(Node) * m_poolSize + sizeof(uint32_t) - 1) / sizeof(uint32_t)]; }; template struct ListHashSetNode { --- webkit-1.0.1.orig/GNUmakefile.am +++ webkit-1.0.1/GNUmakefile.am @@ -251,6 +251,7 @@ libwebkit_1_0_la_LDFLAGS = \ $(COVERAGE_LDFLAGS) \ -version-info @LIBWEBKITGTK_VERSION@ \ + -Wl,--version-script,$(srcdir)/symbols.filter \ $(no_undefined) libwebkit_1_0_la_LIBADD = \ --- webkit-1.0.1.orig/symbols.filter +++ webkit-1.0.1/symbols.filter @@ -0,0 +1,4 @@ +{ +local: +_Z*; +}; --- webkit-1.0.1.orig/debian/libwebkit-1.0-1.symbols +++ webkit-1.0.1/debian/libwebkit-1.0-1.symbols @@ -0,0 +1,165 @@ +libwebkit-1.0.so.1 libwebkit-1.0-1 #MINVER# + JSCheckScriptSyntax@Base 0~svn31841 + JSClassCreate@Base 0~svn31841 + JSClassRelease@Base 0~svn31841 + JSClassRetain@Base 0~svn31841 + JSContextGetGlobalObject@Base 0~svn31841 + JSEvaluateScript@Base 0~svn31841 + JSGarbageCollect@Base 0~svn31841 + JSGlobalContextCreate@Base 0~svn31841 + JSGlobalContextRelease@Base 0~svn31841 + JSGlobalContextRetain@Base 0~svn31841 + JSObjectCallAsConstructor@Base 0~svn31841 + JSObjectCallAsFunction@Base 0~svn31841 + JSObjectCopyPropertyNames@Base 0~svn31841 + JSObjectDeleteProperty@Base 0~svn31841 + JSObjectGetPrivate@Base 0~svn31841 + JSObjectGetProperty@Base 0~svn31841 + JSObjectGetPropertyAtIndex@Base 0~svn31841 + JSObjectGetPrototype@Base 0~svn31841 + JSObjectHasProperty@Base 0~svn31841 + JSObjectIsConstructor@Base 0~svn31841 + JSObjectIsFunction@Base 0~svn31841 + JSObjectMake@Base 0~svn31841 + JSObjectMakeConstructor@Base 0~svn31841 + JSObjectMakeFunction@Base 0~svn31841 + JSObjectMakeFunctionWithCallback@Base 0~svn31841 + JSObjectSetPrivate@Base 0~svn31841 + JSObjectSetProperty@Base 0~svn31841 + JSObjectSetPropertyAtIndex@Base 0~svn31841 + JSObjectSetPrototype@Base 0~svn31841 + JSPropertyNameAccumulatorAddName@Base 0~svn31841 + JSPropertyNameArrayGetCount@Base 0~svn31841 + JSPropertyNameArrayGetNameAtIndex@Base 0~svn31841 + JSPropertyNameArrayRelease@Base 0~svn31841 + JSPropertyNameArrayRetain@Base 0~svn31841 + JSStringCreateWithCharacters@Base 0~svn31841 + JSStringCreateWithUTF8CString@Base 0~svn31841 + JSStringGetCharactersPtr@Base 0~svn31841 + JSStringGetLength@Base 0~svn31841 + JSStringGetMaximumUTF8CStringSize@Base 0~svn31841 + JSStringGetUTF8CString@Base 0~svn31841 + JSStringIsEqual@Base 0~svn31841 + JSStringIsEqualToUTF8CString@Base 0~svn31841 + JSStringRelease@Base 0~svn31841 + JSStringRetain@Base 0~svn31841 + JSValueGetType@Base 0~svn31841 + JSValueIsBoolean@Base 0~svn31841 + JSValueIsEqual@Base 0~svn31841 + JSValueIsInstanceOfConstructor@Base 0~svn31841 + JSValueIsNull@Base 0~svn31841 + JSValueIsNumber@Base 0~svn31841 + JSValueIsObject@Base 0~svn31841 + JSValueIsObjectOfClass@Base 0~svn31841 + JSValueIsStrictEqual@Base 0~svn31841 + JSValueIsString@Base 0~svn31841 + JSValueIsUndefined@Base 0~svn31841 + JSValueMakeBoolean@Base 0~svn31841 + JSValueMakeNull@Base 0~svn31841 + JSValueMakeNumber@Base 0~svn31841 + JSValueMakeString@Base 0~svn31841 + JSValueMakeUndefined@Base 0~svn31841 + JSValueProtect@Base 0~svn31841 + JSValueToBoolean@Base 0~svn31841 + JSValueToNumber@Base 0~svn31841 + JSValueToObject@Base 0~svn31841 + JSValueToStringCopy@Base 0~svn31841 + JSValueUnprotect@Base 0~svn31841 + kJSClassDefinitionEmpty@Base 0~svn31841 + webkit_major_version@Base 1.0.1 + webkit_micro_version@Base 1.0.1 + webkit_minor_version@Base 1.0.1 + webkit_network_request_get_type@Base 0~svn31841 + webkit_network_request_get_uri@Base 0~svn31841 + webkit_network_request_new@Base 0~svn31841 + webkit_network_request_set_uri@Base 0~svn31841 + webkit_web_back_forward_list_contains_item@Base 0~svn31841 + webkit_web_back_forward_list_get_back_item@Base 0~svn31841 + webkit_web_back_forward_list_get_back_length@Base 0~svn31841 + webkit_web_back_forward_list_get_back_list_with_limit@Base 0~svn31841 + webkit_web_back_forward_list_get_current_item@Base 0~svn31841 + webkit_web_back_forward_list_get_forward_item@Base 0~svn31841 + webkit_web_back_forward_list_get_forward_length@Base 0~svn31841 + webkit_web_back_forward_list_get_forward_list_with_limit@Base 0~svn31841 + webkit_web_back_forward_list_get_limit@Base 0~svn31841 + webkit_web_back_forward_list_get_nth_item@Base 0~svn31841 + webkit_web_back_forward_list_get_type@Base 0~svn31841 + webkit_web_back_forward_list_go_back@Base 0~svn31841 + webkit_web_back_forward_list_go_forward@Base 0~svn31841 + webkit_web_back_forward_list_go_to_item@Base 0~svn31841 + webkit_web_back_forward_list_new_with_web_view@Base 0~svn31841 + webkit_web_back_forward_list_set_limit@Base 0~svn31841 + webkit_web_frame_find_frame@Base 0~svn31841 + webkit_web_frame_get_children@Base 0~svn31841 + webkit_web_frame_get_global_context@Base 0~svn31841 + webkit_web_frame_get_inner_text@Base 0~svn31841 + webkit_web_frame_get_name@Base 0~svn31841 + webkit_web_frame_get_parent@Base 0~svn31841 + webkit_web_frame_get_title@Base 0~svn31841 + webkit_web_frame_get_type@Base 0~svn31841 + webkit_web_frame_get_uri@Base 0~svn31841 + webkit_web_frame_get_web_view@Base 0~svn31841 + webkit_web_frame_load_request@Base 0~svn31841 + webkit_web_frame_new@Base 0~svn31841 + webkit_web_frame_print@Base 0~svn31841 + webkit_web_frame_reload@Base 0~svn31841 + webkit_web_frame_stop_loading@Base 0~svn31841 + webkit_web_history_item_get_alternate_title@Base 0~svn31841 + webkit_web_history_item_get_last_visited_time@Base 0~svn31841 + webkit_web_history_item_get_original_uri@Base 0~svn31841 + webkit_web_history_item_get_title@Base 0~svn31841 + webkit_web_history_item_get_type@Base 0~svn31841 + webkit_web_history_item_get_uri@Base 0~svn31841 + webkit_web_history_item_new@Base 0~svn31841 + webkit_web_history_item_new_with_data@Base 0~svn31841 + webkit_web_history_item_set_alternate_title@Base 0~svn31841 + webkit_web_settings_copy@Base 0~svn31841 + webkit_web_settings_get_type@Base 0~svn31841 + webkit_web_settings_new@Base 0~svn31841 + webkit_web_view_can_copy_clipboard@Base 0~svn31841 + webkit_web_view_can_cut_clipboard@Base 0~svn31841 + webkit_web_view_can_go_back@Base 0~svn31841 + webkit_web_view_can_go_back_or_forward@Base 0~svn31841 + webkit_web_view_can_go_forward@Base 0~svn31841 + webkit_web_view_can_paste_clipboard@Base 0~svn31841 + webkit_web_view_copy_clipboard@Base 0~svn31841 + webkit_web_view_cut_clipboard@Base 0~svn31841 + webkit_web_view_delete_selection@Base 0~svn31841 + webkit_web_view_execute_script@Base 0~svn31841 + webkit_web_view_get_back_forward_list@Base 0~svn31841 + webkit_web_view_get_copy_target_list@Base 0~svn31841 + webkit_web_view_get_editable@Base 0~svn31841 + webkit_web_view_get_focused_frame@Base 0~svn31841 + webkit_web_view_get_full_content_zoom@Base 1.0.1 + webkit_web_view_get_main_frame@Base 0~svn31841 + webkit_web_view_get_paste_target_list@Base 0~svn31841 + webkit_web_view_get_selected_text@Base 0~svn31841 + webkit_web_view_get_settings@Base 0~svn31841 + webkit_web_view_get_transparent@Base 0~svn31841 + webkit_web_view_get_type@Base 0~svn31841 + webkit_web_view_get_zoom_level@Base 1.0.1 + webkit_web_view_go_back@Base 0~svn31841 + webkit_web_view_go_back_or_forward@Base 0~svn31841 + webkit_web_view_go_forward@Base 0~svn31841 + webkit_web_view_go_to_back_forward_item@Base 0~svn31841 + webkit_web_view_has_selection@Base 0~svn31841 + webkit_web_view_load_html_string@Base 0~svn31841 + webkit_web_view_load_string@Base 0~svn31841 + webkit_web_view_mark_text_matches@Base 0~svn31841 + webkit_web_view_new@Base 0~svn31841 + webkit_web_view_open@Base 0~svn31841 + webkit_web_view_paste_clipboard@Base 0~svn31841 + webkit_web_view_reload@Base 0~svn31841 + webkit_web_view_search_text@Base 0~svn31841 + webkit_web_view_select_all@Base 0~svn31841 + webkit_web_view_set_editable@Base 0~svn31841 + webkit_web_view_set_full_content_zoom@Base 1.0.1 + webkit_web_view_set_highlight_text_matches@Base 0~svn31841 + webkit_web_view_set_maintains_back_forward_list@Base 0~svn31841 + webkit_web_view_set_settings@Base 0~svn31841 + webkit_web_view_set_transparent@Base 0~svn31841 + webkit_web_view_set_zoom_level@Base 1.0.1 + webkit_web_view_stop_loading@Base 0~svn31841 + webkit_web_view_unmark_text_matches@Base 0~svn31841 + webkit_web_view_zoom_in@Base 1.0.1 + webkit_web_view_zoom_out@Base 1.0.1 --- webkit-1.0.1.orig/debian/control +++ webkit-1.0.1/debian/control @@ -0,0 +1,56 @@ +Source: webkit +Priority: optional +Section: web +Maintainer: Debian WebKit Maintainers +Uploaders: Mike Hommey +Build-Depends: debhelper (>= 5.0), libgtk2.0-dev (>= 2.10), libpango1.0-dev (>= 1.16), libicu-dev, libxslt-dev, libcurl4-dev, libsqlite3-dev, gperf, bison, flex, libjpeg62-dev, libpng12-dev, autoconf, automake, libtool, libxt-dev +Standards-Version: 3.8.0.1 +Homepage: http://webkit.org/ +Vcs-Browser: http://git.debian.org/?p=pkg-webkit/webkit.git +Vcs-Git: git://git.debian.org/git/pkg-webkit/webkit.git + +Package: libwebkit-1.0-1 +Section: libs +Architecture: any +Depends: ${shlibs:Depends} +Description: Web content engine library for Gtk+ + WebKit is a web content engine, derived from KHTML and KJS from KDE, and + used primarily in Apple's Safari browser. It is made to be embedded in + other applications, such as mail readers, or web browsers. + . + It is able to display content such as HTML, SVG, XML, and others. It also + supports DOM, XMLHttpRequest, XSLT, CSS, Javascript/ECMAscript and more. + . + This is the library for embedding in Gtk+ applications. + +Package: libwebkit-dev +Section: libdevel +Priority: extra +Architecture: all +Depends: libwebkit-1.0-1 (>= ${source:Upstream-Version}), libgtk2.0-dev +Conflicts: libwebkitgdk-dev +Description: Web content engine library for Gtk+ - Development files + WebKit is a web content engine, derived from KHTML and KJS from KDE, and + used primarily in Apple's Safari browser. It is made to be embedded in + other applications, such as mail readers, or web browsers. + . + It is able to display content such as HTML, SVG, XML, and others. It also + supports DOM, XMLHttpRequest, XSLT, CSS, Javascript/ECMAscript and more. + . + This package provides development files required to create Gtk+ applications + embedding WebKit. + +Package: libwebkit-1.0-1-dbg +Section: libdevel +Priority: extra +Architecture: any +Depends: libwebkit-1.0-1 (= ${binary:Version}) +Description: Web content engine library for Gtk+ - Debugging symbols + WebKit is a web content engine, derived from KHTML and KJS from KDE, and + used primarily in Apple's Safari browser. It is made to be embedded in + other applications, such as mail readers, or web browsers. + . + It is able to display content such as HTML, SVG, XML, and others. It also + supports DOM, XMLHttpRequest, XSLT, CSS, Javascript/ECMAscript and more. + . + This package provides the debugging symbols for the Webkit library for Gtk+. --- webkit-1.0.1.orig/debian/copyright +++ webkit-1.0.1/debian/copyright @@ -0,0 +1,1082 @@ +Original source may be found at http://people.freedesktop.org/~alp/webkit/gtk/ + +Files: debian/* +Copyright: © 2007 Mike Hommey +License: LGPL-2+ (/usr/share/common-licenses/LGPL-2) + +Files: JavaScriptCore/API/*, + JavaScriptCore/profiler/Profile.*, + JavaScriptCore/wtf/Assertions.*, + JavaScriptCore/wtf/HashIterators.h, + JavaScriptCore/wtf/MathExtras.h, + JavaScriptCore/wtf/OwnPtrWin.cpp, + JavaScriptCore/wtf/Platform.h, + JavaScriptCore/wtf/StringExtras.h, + JavaScriptCore/wtf/unicode/UTF8.*, + WebCore/WebCorePrefix.cpp, + WebCore/bindings/js/JSAudioConstructor.*, + WebCore/bindings/js/JSConsoleCustom.cpp, + WebCore/bindings/js/JSCSSRuleCustom.cpp, + WebCore/bindings/js/JSCSSStyleDeclarationCustom.*, + WebCore/bindings/js/JSCSSValueCustom.cpp, + WebCore/bindings/js/JSCustomXPathNSResolver.*, + WebCore/bindings/js/JSDOMApplicationCacheCustom.cpp, + WebCore/bindings/js/JSEventTargetBase.*, + WebCore/bindings/js/JSEventTargetNode.*, + WebCore/bindings/js/JSHTMLAllCollection.h, + WebCore/bindings/js/JSHTMLAppletElementCustom.*, + WebCore/bindings/js/JSHTMLDocumentCustom.cpp, + WebCore/bindings/js/JSHTMLElementCustom.cpp, + WebCore/bindings/js/JSHTMLEmbedElementCustom.*, + WebCore/bindings/js/JSHTMLFormElementCustom.cpp, + WebCore/bindings/js/JSHTMLFrameSetElementCustom.cpp, + WebCore/bindings/js/JSHTMLObjectElementCustom.*, + WebCore/bindings/js/JSHistoryCustom.h, + WebCore/bindings/js/JSInspectedObjectWrapper.*, + WebCore/bindings/js/JSInspectorCallbackWrapper.*, + WebCore/bindings/js/JSJavaScriptCallFrameCustom.cpp, + WebCore/bindings/js/JSLocationCustom.h, + WebCore/bindings/js/JSNamedNodeMapCustom.cpp, + WebCore/bindings/js/JSNamedNodesCollection.*, + WebCore/bindings/js/JSNodeCustom.cpp, + WebCore/bindings/js/JSNodeFilterCustom.cpp, + WebCore/bindings/js/JSNodeListCustom.cpp, + WebCore/bindings/js/JSQuarantinedObjectWrapper.*, + WebCore/bindings/js/JSSVGPODTypeWrapper.h, + WebCore/bindings/js/JSStorageCustom.*, + WebCore/bindings/js/JSStyleSheetCustom.cpp, + WebCore/bindings/js/JSStyleSheetListCustom.cpp, + WebCore/bindings/js/JSTextCustom.cpp, + WebCore/bindings/js/JSXSLTProcessorConstructor.*, + WebCore/bindings/js/GCController.*, + WebCore/bindings/objc/*, + WebCore/bridge/*, + WebCore/css/CSSCanvasValue.*, + WebCore/css/CSSFontFace.*, + WebCore/css/CSSFontFaceSource.*, + WebCore/css/CSSFontFaceSrcValue.*, + WebCore/css/CSSFontSelector.*, + WebCore/css/CSSGradientValue.*, + WebCore/css/CSSImageGeneratorValue.*, + WebCore/css/CSSPrimitiveValueMappings.h, + WebCore/css/CSSReflectValue.*, + WebCore/css/CSSReflectionDirection.h, + WebCore/css/CSSRuleList.idl, + WebCore/css/CSSSegmentedFontFace.*, + WebCore/css/CSSTimingFunctionValue.*, + WebCore/css/CSSTransformValue.*, + WebCore/css/CSSUnicodeRangeValue.*, + WebCore/css/CSSValueList.idl, + WebCore/css/MediaList.idl, + WebCore/css/MediaQuery*, + WebCore/css/view-source.css, + WebCore/css/svg.css, + WebCore/dom/BeforeTextInsertedEvent.*, + WebCore/dom/Clipboard.cpp, + WebCore/dom/ClipboardAccessPolicy.h, + WebCore/dom/EventTarget.cpp, + WebCore/dom/EventTarget.h, + WebCore/dom/ExceptionCode.cpp, + WebCore/dom/MessageEvent.*, + WebCore/dom/NodeWithIndex.h, + WebCore/dom/OverflowEvent.*, + WebCore/dom/Position*, + WebCore/dom/ProgressEvent.*, + WebCore/dom/RangeBoundaryPoint.h, + WebCore/dom/TextEvent.*, + WebCore/editing/*, + WebCore/history/*, + WebCore/html/Canvas*, + WebCore/html/HTMLAudioElement.*, + WebCore/html/HTMLCanvasElement.*, + WebCore/html/HTMLMediaElement.*, + WebCore/html/HTMLParserErrorCodes.*, + WebCore/html/HTMLSourceElement.*, + WebCore/html/HTMLTextFieldInnerElement.*, + WebCore/html/HTMLVideoElement.*, + WebCore/html/HTMLViewSourceDocument.*, + WebCore/html/MediaError.h, + WebCore/html/PreloadScanner.*, + WebCore/html/TimeRanges.*, + WebCore/html/VoidCallback.h, + WebCore/loader/CachePolicy.h, + WebCore/loader/CachedFont.*, + WebCore/loader/ImageDocument.*, + WebCore/loader/PluginDocument.*, + WebCore/loader/ProgressTracker.*, + WebCore/loader/SubstituteData.h, + WebCore/loader/SubstituteResource.h, + WebCore/loader/TextDocument.*, + WebCore/loader/FTPDirectoryDocument.*, + WebCore/loader/*/*, + WebCore/page/*, + WebCore/page/inspector/Breakpoint.js, + WebCore/page/inspector/BreakpointsSidebarPane.js, + WebCore/page/inspector/CallStackSidebarPane.js, + WebCore/page/inspector/DataGrid.js, + WebCore/page/inspector/DatabaseQueryView.js, + WebCore/page/inspector/DatabaseTableView.js, + WebCore/page/inspector/Object.js, + WebCore/page/inspector/ObjectPropertiesSection.js, + WebCore/page/inspector/Placard.js, + WebCore/page/inspector/ProfileView.js, + WebCore/page/inspector/ProfilesPanel.js, + WebCore/page/inspector/ScopeChainSidebarPane.js, + WebCore/page/inspector/Script.js, + WebCore/page/inspector/ScriptsPanel.js, + WebCore/page/inspector/ScriptView.js, + WebCore/page/inspector/SidebarTreeElement.js, + WebCore/page/inspector/SourceFrame.js, + WebCore/page/inspector/View.js, + WebCore/page/win/AXObjectCacheWin.cpp, + WebCore/page/win/AccessibilityObjectWrapperWin.h, + WebCore/platform/*, + WebCore/platform/graphics/svg/filters/cg/WK*, + WebCore/plugins/gtk/PluginDatabaseGtk.cpp, + WebCore/plugins/gtk/PluginPackageGtk.cpp, + WebCore/plugins/gtk/PluginViewGtk.cpp, + WebCore/plugins/npapi.cpp, + WebCore/plugins/npfunctions.h, + WebCore/plugins/PluginDatabase.*, + WebCore/plugins/PluginDebug.h, + WebCore/plugins/PluginInfoStore.*, + WebCore/plugins/PluginStream.*, + WebCore/plugins/PluginPackage.*, + WebCore/plugins/PluginView.*, + WebCore/plugins/PluginQuirkSet.h, + WebCore/plugins/qt/PluginDatabaseQt.cpp, + WebCore/plugins/qt/PluginPackageQt.cpp, + WebCore/plugins/qt/PluginViewQt.cpp, + WebCore/plugins/win/PluginMessageThrottlerWin.*, + WebCore/plugins/win/PluginDatabaseWin.cpp, + WebCore/plugins/win/PluginViewWin.cpp, + WebCore/plugins/win/PluginPackageWin.cpp, + WebCore/plugins/wx/PluginDataWx.cpp, + WebCore/plugins/wx/PluginDatabaseWx.cpp, + WebCore/plugins/wx/PluginPackageWx.cpp, + WebCore/plugins/wx/PluginViewWx.cpp, + WebCore/rendering/LayoutState.*, + WebCore/rendering/RenderHTMLCanvas.*, + WebCore/rendering/RenderImageGeneratedContent.*, + WebCore/rendering/RenderMedia.*, + WebCore/rendering/RenderTreeAsText.*, + WebCore/rendering/RenderWordBreak.*, + WebCore/rendering/SVGRenderTreeAsText.*, + WebCore/rendering/RenderVideo.*, + WebCore/storage/LocalStorage.*, + WebCore/storage/LocalStorageArea.*, + WebCore/storage/LocalStorageTask.*, + WebCore/storage/LocalStorageThread.*, + WebCore/storage/SessionStorage.*, + WebCore/storage/SessionStorageArea.*, + WebCore/storage/Storage.*, + WebCore/storage/StorageArea.*, + WebCore/storage/StorageEvent.*, + WebCore/storage/StorageMap.*, + WebCore/svg/ElementTimeControl.h, + WebCore/svg/*.idl, + WebCore/svg/animation/*, + WebCore/svg/graphics/SVGImage.*, + WebCore/svg/graphics/SVGImageEmptyClients.h, + WebCore/svg/graphics/SVGPaintServer*, + WebCore/svg/graphics/SVGResource*, + WebCore/svg/graphics/cg/CgSupport.*, + WebCore/svg/graphics/cg/RenderPathCg.cpp, + WebCore/svg/graphics/cg/SVGResourceClipperCg.cpp, + WebCore/svg/graphics/cg/SVGResourceFilterCg.cpp, + WebCore/svg/graphics/cg/SVGResourceMaskerCg.cpp, + WebCore/svg/graphics/filters/cg/WK*, + WebCore/svg/graphics/mac/SVGResourceFilterPlatformDataMac.h, + WebCore/xml/*, + WebKit/gtk/WebCoreSupport/ContextMenuClientGtk.*, + WebKit/gtk/WebCoreSupport/EditorClientGtk.*, + WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.*, + WebKitTools/DumpRenderTree/cg/ImageDiffCG.cpp, + WebKitTools/DumpRenderTree/mac/ObjCPlugin.*, + WebKitTools/DumpRenderTree/mac/ObjCPluginFunction.*, + WebKitTools/GtkLauncher/main.c, + WebKitTools/Scripts/run-sunspider, + WebKitTools/Scripts/update-sources-list.py, + WebKitTools/wx/build-wxwebkit, + WebKitTools/wx/browser/browser.cpp, + WebKitTools/WinLauncher/stdafx.*, + WebKitTools/WinLauncher/WinLauncher.*, + WebKit/mac/History/WebHistoryInternal.h + WebKit/mac/Misc/WebIconFetcher.*, + WebKit/mac/Misc/WebIconFetcherInternal.h, + WebKit/mac/Plugins/WebNetscapePluginEventHandler.*, + WebKit/mac/Plugins/WebNetscapePluginEventHandlerCarbon.*, + WebKit/mac/Plugins/WebNetscapePluginEventHandlerCocoa.*, + WebKit/mac/Plugins/nptextinput.h, + WebKit/mac/WebCoreSupport/WebDragClient.h, + WebKit/mac/WebCoreSupport/WebPasteboardHelper.h, + WebKit/win/*, + WebKit/wx/*, + WebKitLibraries/win/tools/scripts/auto-version.sh +Copyright: © 2002, 2003, 2004, 2005, 2006, 2007, 2008 Apple Inc. + © 2005, 2006, 2007 Alexey Proskuryakov (ap@nypop.com) + © 2006, 2007 Trolltech ASA + © 2006, 2007 Nikolas Zimmermann + © 2006 Samuel Weinig + © 2006 James G. Speth (speth@end.com) + © 2006 Jonas Witt + © 2005 Frerich Raabe + © 2005 Maksim Orlovich + © 2001, 2002 Thomas Broyer, Charlie Bozeman and Daniel Veillard + © 2005, 2006 Alexander Kellett + © 2005, 2006 Kimmo Kinnunen + © 2005, 2006 Michael Emmel mike.emmel@gmail.com + © 2005 Ben La Monica + © 2005 Google Inc. + © 2005, 2006 Nokia Corporation + © 2005, 2006 Oliver Hunt + © 2006, 2007 Eric Seidel + © 2006 Allan Sandfeld Jensen + © 2006 Charles Samuels + © 2006 Dave MacLachlan (dmaclach@mac.com) + © 2006 David Smith (catfish.man@gmail.com) + © 2006 Dirk Mueller + © 2006 Don Gibson + © 2006 Friedemann Kleint + © 2006 George Staikos + © 2006 Justin Haygood + © 2006, 2007, 2008 Kevin Ollivier + © 2006 Lars Knoll + © 2006 Nefaur Khandker + © 2006, 2007 Rob Buis + © 2006 Simon Hausmann + © 2006 Zack Rusin + © 2007 Alp Toker + © 2007 Holger Hans Peter Freyther + © 2007 Robin Dunn + © 2007 Staikos Computing Services Inc. + © 2007 Henry Mason (hmason@mac.com) + © 2007 Hiroyuki Ikezoe + © 2007 Kouhei Sutou + © 2007 Vaclav Slavik + © 2008 Xan Lopez + © 2008 Collabora, Ltd. + © 2008 Julien Chaffraix + © 2008 The Mozilla Foundation +License: BSD-2 + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + . + THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY + EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +Files: JavaScriptCore/API/JSRetainPtr.h, + JavaScriptCore/API/JSStringRefBSTR.*, + JavaScriptCore/DerivedSources.make, + JavaScriptCore/VM/*, + JavaScriptCore/kjs/CallData.h, + JavaScriptCore/kjs/CollectorHeapIntrospector.*, + JavaScriptCore/kjs/ConstructData.h, + JavaScriptCore/kjs/DebuggerCallFrame.*, + JavaScriptCore/kjs/InitializeThreading.*, + JavaScriptCore/kjs/JSActivation.*, + JavaScriptCore/kjs/JSGlobalData.*, + JavaScriptCore/kjs/JSGlobalObject.cpp, + JavaScriptCore/kjs/JSNotAnObject.*, + JavaScriptCore/kjs/JSVariableObject.*, + JavaScriptCore/kjs/SourceProvider.h, + JavaScriptCore/kjs/SourceRange.h, + JavaScriptCore/kjs/SymbolTable.h, + JavaScriptCore/profiler/*, + JavaScriptCore/wtf/ASCIICType.h, + JavaScriptCore/wtf/AVLTree.h, + JavaScriptCore/wtf/Deque.h, + JavaScriptCore/wtf/DisallowCType.h, + JavaScriptCore/wtf/Locker.h, + JavaScriptCore/wtf/MainThread.*, + JavaScriptCore/wtf/MallocZoneSupport.h, + JavaScriptCore/wtf/MessageQueue.h, + JavaScriptCore/wtf/Threading.h, + JavaScriptCore/wtf/ThreadingGtk.cpp, + JavaScriptCore/wtf/ThreadingNone.cpp, + JavaScriptCore/wtf/ThreadingPthreads.cpp, + JavaScriptCore/wtf/ThreadingQt.cpp, + JavaScriptCore/wtf/ThreadingWin.cpp, + JavaScriptCore/wtf/ThreadSpecific.h, + JavaScriptCore/wtf/mac/MainThreadMac.mm, + JavaScriptCore/wtf/gtk/MainThreadGtk.cpp, + JavaScriptCore/wtf/qt/MainThreadQt.cpp, + JavaScriptCore/wtf/unicode/Collator.h, + JavaScriptCore/wtf/unicode/CollatorDefault.cpp + JavaScriptCore/wtf/unicode/icu/CollatorICU.cpp, + JavaScriptCore/wtf/win/MainThreadWin.cpp, + JavaScriptCore/wtf/wx/MainThreadWx.cpp, + JavaScriptGlue/*, + WebCore/DerivedSources.make, + WebCore/WebCore.vcproj/migrate-idls.sh, + WebCore/bindings/js/JSAttrCustom.cpp, + WebCore/bindings/js/JSCanvasPixelArrayCustom.cpp, + WebCore/bindings/js/JSClipboardCustom.cpp, + WebCore/bindings/js/JSCustomSQL*, + WebCore/bindings/js/JSCustomVoidCallback.*, + WebCore/bindings/js/JSDatabaseCustom.cpp, + WebCore/bindings/js/JSHistoryCustom.cpp, + WebCore/bindings/js/JSEventCustom.cpp, + WebCore/bindings/js/JSHTMLFrameElementCustom.cpp, + WebCore/bindings/js/JSHTMLIFrameElementCustom.cpp, + WebCore/bindings/js/JSHTMLSelectElementCustom.h, + WebCore/bindings/js/JSSQLResultSetRowListCustom.cpp, + WebCore/bindings/js/JSSQLTransactionCustom.cpp, + WebCore/bindings/js/JSXMLHttpRequestCustom.cpp, + WebCore/bindings/js/JSXSLTProcessorCustom.cpp, + WebCore/bindings/js/StringSourceProvider.h, + WebCore/bindings/objc/DOMAbstractView.mm, + WebCore/bindings/objc/DOMAbstractViewFrame.h, + WebCore/bridge/npruntime.h, + WebCore/dom/ClassNodeList.*, + WebCore/dom/Clipboard.idl, + WebCore/dom/DOMCoreException.idl, + WebCore/dom/DOMCoreException.h, + WebCore/dom/EventException.idl, + WebCore/dom/EventException.h, + WebCore/dom/ExceptionBase.*, + WebCore/dom/SelectorNodeList.*, + WebCore/dom/StaticNodeList.*, + WebCore/dom/make_names.pl, + WebCore/editing/SmartReplace*, + WebCore/history/CachedPagePlatformData.h, + WebCore/html/CanvasPixelArray.*, + WebCore/html/HTMLTableRowsCollection.*, + WebCore/html/ImageData.*, + WebCore/loader/archive/*, + WebCore/loader/DocumentLoader.*, + WebCore/loader/FormState.*, + WebCore/loader/FrameLoader*, + WebCore/loader/MainResourceLoader.*, + WebCore/loader/NavigationAction.*, + WebCore/loader/NetscapePlugInStreamLoader.*, + WebCore/loader/ResourceLoader.*, + WebCore/loader/SubresourceLoader*, + WebCore/loader/icon/IconDatabaseClient.h, + WebCore/loader/icon/IconRecord.*, + WebCore/loader/icon/PageURLRecord.*, + WebCore/loader/mac/*, + WebCore/page/AccessibilityObject.*, + WebCore/page/AccessibilityListBox.*, + WebCore/page/AccessibilityListBoxOption.*, + WebCore/page/AccessibilityRenderObject.*, + WebCore/page/AnimationController.*, + WebCore/page/AXObjectCache.cpp, + WebCore/page/BarInfo.*, + WebCore/page/Console.*, + WebCore/page/DOMSelection.*, + WebCore/page/InspectorController.*, + WebCore/page/JavaScriptDebugListener.h, + WebCore/page/JavaScriptDebugServer.*, + WebCore/page/Location.*, + WebCore/page/Screen.*, + WebCore/page/WindowFeatures.h, + WebCore/page/inspector/*, + WebCore/page/mac/AccessibilityObjectWrapper.*, + WebCore/page/mac/PageMac.cpp, + WebCore/platform/AutodrainedPool.h, + WebCore/platform/FileChooser.*, + WebCore/platform/FileSystem.h, + WebCore/platform/FloatConversion.h, + WebCore/platform/SecurityOrigin.*, + WebCore/platform/SecurityOriginHash.h, + WebCore/platform/cf/FileSystemCF.cpp, + WebCore/platform/cf/SchedulePair.*, + WebCore/platform/cf/SharedBufferCF.cpp, + WebCore/platform/graphics/FontCache.*, + WebCore/platform/graphics/FontFallbackList.cpp, + WebCore/platform/graphics/FontDescription.cpp, + WebCore/platform/graphics/Glyph*, + WebCore/platform/graphics/SimpleFontData.cpp, + WebCore/platform/graphics/StringTruncator.*, + WebCore/platform/graphics/gtk/FontDataGtk.cpp, + WebCore/platform/graphics/gtk/FontCacheGtk.cpp, + WebCore/platform/graphics/gtk/GlyphPageTreeNodeGtk.cpp, + WebCore/platform/graphics/gtk/GlyphPageTreeNodePango.cpp, + WebCore/platform/graphics/gtk/IconGtk.cpp, + WebCore/platform/graphics/gtk/SimpleFontDataGtk.cpp, + WebCore/platform/graphics/gtk/SimpleFontDataPango.cpp, + WebCore/platform/graphics/mac/ColorMac.h, + WebCore/platform/graphics/mac/FontCacheMac.mm, + WebCore/platform/graphics/mac/FontDataMac.mm, + WebCore/platform/graphics/mac/GlyphPageTreeNodeMac.cpp, + WebCore/platform/graphics/mac/SimpleFontDataMac.mm, + WebCore/platform/graphics/win/ColorSafari.cpp, + WebCore/platform/graphics/win/FontCacheWin.cpp, + WebCore/platform/graphics/win/FontDataWin.cpp, + WebCore/platform/graphics/win/FontDatabase.*, + WebCore/platform/graphics/win/GlyphPageTreeNodeCairoWin.cpp, + WebCore/platform/graphics/win/GlyphPageTreeNodeCGWin.cpp, + WebCore/platform/graphics/win/SimpleFontDataWin.cpp, + WebCore/platform/graphics/win/SimpleFontDataCGWin.cpp, + WebCore/platform/graphics/win/SimpleFontDataCairoWin.cpp, + WebCore/platform/graphics/win/UniscribeController.*, + WebCore/platform/graphics/wx/FontCacheWx.cpp, + WebCore/platform/graphics/wx/FontDataWx.cpp, + WebCore/platform/graphics/wx/FontPlatformData.h, + WebCore/platform/graphics/wx/GlyphMapWx.cpp, + WebCore/platform/graphics/wx/SimpleFontDataWx.cpp, + WebCore/platform/gtk/ContextMenuGtk.cpp, + WebCore/platform/gtk/ContextMenuItemGtk.cpp, + WebCore/platform/gtk/PasteboardGtk.cpp, + WebCore/platform/gtk/SearchPopupMenuGtk.cpp, + WebCore/platform/mac/AutodrainedPool.mm, + WebCore/platform/mac/FileChooserMac.mm, + WebCore/platform/mac/SchedulePairMac.mm, + WebCore/platform/mac/SoftLinking.h, + WebCore/platform/mac/Threading.mm, + WebCore/platform/mac/WebCoreNSStringExtras.*, + WebCore/platform/mac/WebCoreObjCExtras.*, + WebCore/platform/mac/WebFontCache.mm, + WebCore/platform/network/HTTPParsers.*, + WebCore/platform/network/cf/FormDataStreamCFNet.*, + WebCore/platform/network/mac/FormDataStreamMac.*, + WebCore/platform/network/mac/WebCoreURLResponse.*, + WebCore/platform/posix/FileSystemPOSIX.cpp, + WebCore/platform/qt/FileSystemQt.cpp + WebCore/platform/qt/PlatformScreenQt.cpp, + WebCore/platform/qt/ThreadingQt.cpp, + WebCore/platform/sql/SQLValue.*, + WebCore/platform/sql/SQLiteAuthorizer.*, + WebCore/platform/text/StringBuffer.h, + WebCore/platform/text/StringBuilder.*, + WebCore/platform/text/mac/make-charset-table.pl, + WebCore/platform/win/FileSystemWin.cpp, + WebCore/platform/win/GDIObjectCounter.*, + WebCore/platform/win/MutexWin.cpp, + WebCore/platform/win/SharedBufferWin.cpp, + WebCore/platform/win/SoftLinking.h, + WebCore/platform/win/WindowMessageBroadcaster.*, + WebCore/platform/win/WindowMessageListener.h, + WebCore/platform/wx/ThreadingWx.cpp, + WebCore/rendering/MediaControlElements.*, + WebCore/rendering/RenderListBox.*, + WebCore/rendering/RenderReplica.*, + WebCore/storage/*, + WebCore/xml/XMLHttpRequest.idl, + WebCore/xml/XMLHttpRequestException.h, + WebCore/xml/XMLHttpRequestException.idl, + WebCore/xml/XPathException.h, + WebCore/xml/XPathException.idl, + WebCore/xml/XSLTUnicodeSort.*, + WebKit/qt/WebCoreSupport/InspectorClientQt.*, + WebKitTools/BuildSlaveSupport/*, + WebKitTools/CodeCoverage/*, + WebKitTools/DumpRenderTree/*, + WebKitTools/Scripts/*, + WebKitTools/WebKitLauncher/*, + WebKitTools/FindSafari/*, + WebKitTools/wx/browser/browser.bkl, + WebKitTools/wx/install-unix-extras, + WebKit/*, + WebKit/gtk/*, + WebKit/win/DOMCreateInstance.*, + WebKit/win/ForEachCoClass.h, + WebKit/win/GEN_DOMObject.*, + WebKit/win/WebDatabaseManager.*, + WebKit/win/WebDragClient.h, + WebKit/win/WebInspector.*, + WebKit/win/WebInspectorClient.*, + WebKit/win/WebKit.vcproj/FixMIDLHeaders.pl, + WebKit/win/WebKit.vcproj/build-generated-files.sh, + WebKit/win/WebKitLogging.*, + WebKit/win/WebKitPrefix.*, + WebKit/win/WebKitStatistics*, + WebKit/win/WebKitSystemBits.*, + WebKit/win/WebPreferenceKeysPrivate.h, + WebKit/win/WebScriptCallFrame.*, + WebKit/win/WebTextRenderer.*, + WebKit/win/WebNodeHighlight.*, + WebKit/win/Interfaces/IWebIconFetcher.idl, + WebKit/win/Interfaces/IWebMutableURLRequestPrivate.idl, + WebKit/win/Interfaces/IWebSecurityOrigin.idl, + WebKit/win/WebCoreSupport/FormValuesPropertyBag.*, + WebKit/win/WebCoreSupport/WebFrameLoaderClient.*, + WebKit/win/WebCoreSupport/WebInspectorDelegate.cpp, + WebKit/wx/WebViewPrivate.h +Copyright: © 2003, 2005, 2006, 2007, 2008 Apple Inc. + © 2006, 2007 Holger Hans Peter Freyther + © 2004, Apple Computer, Inc. and The Mozilla Foundation + © 2006 Samuel Weinig + © 2006, 2007 Trolltech ASA + © 2006 Alexey Proskuryakov (ap@nypop.com) + © 2007 Matt Lilek (pewtermoose@gmail.com) + © 2006 Michael Emmel mike.emmel@gmail.com + © 2007, 2008 Alp Toker + © 2006, 2007 Kevin Ollivier + © 2006 Mark Rowe + © 2004, 2005, 2006 Nathaniel Smith + © 2006, 2007 David Smith (catfish.man@gmail.com) + © 2006, 2007 Vladimir Olexa (vladimir.olexa@gmail.com) + © 2006 Nikolas Zimmermann + © 2006 Jonas Witt + © 2006 Eric Seidel (eric@webkit.org) + © 2006 Graham Dennis + © 2007 Staikos Computing Services, Inc. + © 2007 Brent Fulgham + © 2007 Justin Haygood (jhaygood@reaktix.com) + © 2008 Cameron Zwarich (cwzwarich@uwaterloo.ca) + © 2008 Tony Chang +License: BSD-3 + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + . + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. Neither the name of Apple, Inc. ("Apple") nor the names of + its contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY + EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +Files: WebCore/bridge/qt/*, + WebCore/page/Chrome.*, + WebCore/page/ChromeClient.h, + WebCore/page/Frame.*, + WebCore/page/FramePrivate.h, + WebCore/page/FrameTree.*, + WebCore/page/FrameView.*, + WebCore/page/MouseEventWithHitTestResults.*, + WebCore/page/Navigator.*, + WebCore/page/Page.*, + WebCore/page/Plugin.h, + WebCore/page/PrintContext.*, + WebCore/page/WindowFeatures.cpp, + WebCore/page/gtk/AXObjectCacheAtk.cpp, + WebCore/page/gtk/AccessibilityObjectWrapperAtk.*, + WebCore/page/mac/ChromeMac.mm, + WebCore/platform/PopupMenuClient.h, + WebCore/platform/PopupMenu.h, + WebCore/platform/SearchPopupMenu.h, + WebCore/platform/Shared.h, + WebCore/platform/StaticConstructors.h, + WebCore/platform/TreeShared.h, + WebCore/platform/graphics/FloatPoint3D.*, + WebCore/platform/graphics/Font.cpp, + WebCore/platform/graphics/Font.h, + WebCore/platform/graphics/FontDescription.h, + WebCore/platform/graphics/FontFallbackList.h, + WebCore/platform/graphics/Icon.h, + WebCore/platform/graphics/IntSizeHash.h, + WebCore/platform/graphics/PathTraversalState.cpp, + WebCore/platform/graphics/SimpleFontData.h, + WebCore/platform/graphics/cairo/CairoPath.h, + WebCore/platform/graphics/cairo/PathCairo.cpp, + WebCore/platform/graphics/gtk/FontPlatformData.h, + WebCore/platform/graphics/gtk/FontPlatformDataGtk.cpp, + WebCore/platform/graphics/gtk/FontPlatformDataPango.cpp, + WebCore/platform/graphics/gtk/MediaPlayerPrivateGStreamer.*, + WebCore/platform/graphics/gtk/PopupMenuGtk.cpp, + WebCore/platform/graphics/gtk/RenderThemeGtk.*, + WebCore/platform/graphics/gtk/VideoSinkGStreamer.*, + WebCore/platform/graphics/mac/FontCustomPlatformData.*, + WebCore/platform/graphics/mac/FontMac.mm, + WebCore/platform/graphics/mac/FontPlatformData.h, + WebCore/platform/graphics/mac/FontPlatformDataMac.mm, + WebCore/platform/graphics/mac/IconMac.mm, + WebCore/platform/graphics/qt/FontCacheQt.cpp, + WebCore/platform/graphics/qt/FontCustomPlatformData.*, + WebCore/platform/graphics/qt/FontDataQt.cpp, + WebCore/platform/graphics/qt/FontPlatformData.h, + WebCore/platform/graphics/qt/FontQt.cpp, + WebCore/platform/graphics/qt/GlyphPageTreeNodeQt.cpp, + WebCore/platform/graphics/qt/IconQt.cpp, + WebCore/platform/graphics/qt/MediaPlayerPrivatePhonon.*, + WebCore/platform/graphics/qt/SimpleFontDataQt.cpp, + WebCore/platform/graphics/win/FontCustomPlatformData.*, + WebCore/platform/graphics/win/FontCustomPlatformDataCairo.*, + WebCore/platform/graphics/win/FontPlatformData.h, + WebCore/platform/graphics/win/FontPlatformDataCGWin.cpp, + WebCore/platform/graphics/win/FontPlatformDataCairoWin.cpp, + WebCore/platform/graphics/win/IconWin.cpp, + WebCore/platform/gtk/CursorGtk.h, + WebCore/platform/gtk/EventLoopGtk.cpp, + WebCore/platform/gtk/PasteboardHelper.h, + WebCore/platform/mac/LocalCurrentGraphicsContext.*, + WebCore/platform/mac/PopupMenuMac.mm, + WebCore/platform/mac/SearchPopupMenuMac.mm, + WebCore/platform/network/FormData.*, + WebCore/platform/network/curl/CookieJarCurl.cpp, + WebCore/platform/network/soup/CookieJarSoup.cpp, + WebCore/platform/network/qt/QNetworkReplyHandler.*, + WebCore/platform/network/qt/ResourceRequestQt.cpp, + WebCore/platform/network/soup/ResourceHandleSoup.cpp, + WebCore/platform/qt/EventLoopQt.cpp, + WebCore/platform/qt/FileChooserQt.cpp, + WebCore/platform/qt/KURLQt.cpp, + WebCore/platform/qt/LoggingQt.cpp, + WebCore/platform/qt/MenuEventProxy.h, + WebCore/platform/qt/PopupMenuQt.cpp, + WebCore/platform/qt/QWebPopup.*, + WebCore/platform/qt/RenderThemeQt.*, + WebCore/platform/qt/SearchPopupMenuQt.cpp, + WebCore/platform/qt/WheelEventQt.cpp, + WebCore/platform/qt/html4-adjustments-qt.css, + WebCore/platform/text/AtomicString.*, + WebCore/platform/text/AtomicStringImpl.h, + WebCore/platform/text/Base64.cpp, + WebCore/platform/text/BidiContext.*, + WebCore/platform/text/BidiResolver.h, + WebCore/platform/text/ParserUtilities.h, + WebCore/platform/text/PlatformString.h, + WebCore/platform/text/String.cpp, + WebCore/platform/text/SegmentedString.*, + WebCore/platform/text/StringHash.h, + WebCore/platform/text/StringImpl.*, + WebCore/platform/text/TextBreakIterator.h, + WebCore/platform/text/TextBreakIteratorICU.cpp, + WebCore/platform/text/TextBreakIteratorInternalICU.h, + WebCore/platform/text/cf/StringCF.cpp, + WebCore/platform/text/cf/StringImplCF.cpp, + WebCore/platform/text/gtk/TextBreakIteratorInternalICUGtk.cpp, + WebCore/platform/text/mac/StringImplMac.mm, + WebCore/platform/text/mac/StringMac.mm, + WebCore/platform/text/mac/TextBreakIteratorInternalICUMac.mm, + WebCore/platform/text/qt/TextBreakIteratorQt.cpp, + WebCore/platform/text/win/TextBreakIteratorInternalICUWin.cpp, + WebCore/platform/win/PopupMenuWin.cpp, + WebCore/platform/win/SearchPopupMenuWin.cpp, + WebCore/platform/wx/PopupMenuWx.cpp, + WebCore/svg/SVGAngle.idl, + WebCore/svg/SVGColor.idl, + WebCore/svg/SVGDocument.idl, + WebCore/svg/SVGElement.idl, + WebCore/svg/SVGException.idl, + WebCore/svg/SVGFontData.*, + WebCore/svg/SVGHKernElement.idl, + WebCore/svg/SVGLength.idl, + WebCore/svg/SVGMatrix.idl, + WebCore/svg/SVGMetadataElement.idl, + WebCore/svg/SVGNumber.idl, + WebCore/svg/SVGPoint.idl, + WebCore/svg/SVGRect.idl, + WebCore/svg/SVGSVGElement.idl, + WebCore/svg/SVGTransform.idl, + WebCore/svg/graphics/SVGResourceFilter.*, + WebCore/svg/graphics/cg/SVGPaintServerCg.cpp, + WebCore/svg/graphics/cg/SVGPaintServerGradientCg.cpp, + WebCore/svg/graphics/cg/SVGPaintServerPatternCg.cpp, + WebCore/svg/graphics/cg/SVGPaintServerSolidCg.cpp, + WebCore/svg/graphics/filters/*, + WebCore/svg/graphics/filters/cg/SVG*, + WebCore/svg/graphics/qt/*, + WebCore/xml/DOMParser.*, + WebCore/xml/XMLSerializer.*, + WebCore/xml/XPathEvaluator.idl, + WebCore/xml/XPathExpression.idl, + WebCore/xml/XPathNSResolver.idl, + WebCore/xml/XPathResult.idl, + WebCore/xml/XSL*, + WebKit/gtk/WebCoreSupport/PasteboardHelperGtk.*, + WebKit/gtk/webkit/*, + WebKit/qt, + * +Copyright: © 2002, 2003, 2004, 2005, 2006, 2007, 2008 Apple Inc. + © 1991, 1999 Free Software Foundation, Inc. + © 1997 Martin Jones (mjones@kde.org) + © 1998, 1999 Torben Weis + © 1998-2003, 2006 Lars Knoll (knoll@kde.org) + © 1999-2004 Harri Porten (porten@kde.org) + © 1999, 2001 Antti Koivisto (koivisto@kde.org) + © 1999, 2002 Waldo Bastian (bastian@kde.org) + © 2000-2001 Dawit Alemayehu + © 2000 Daniel Molkentin (molkentin@kde.org) + © 2000-2003 Dirk Mueller (mueller@kde.org) + © 2000 Frederik Holljen (frederik.holljen@hig.no) + © 2000, 2001, 2003 Peter Kelly (pmk@post.com) + © 2000 Malte Starostik + © 2000 Simon Hausmann + © 2000 Stefan Schimanski (schimmi@kde.org) + © 2001 Tobias Anton (anton@stud.fbi.fh-darmstadt.de) + © 2001 Tim Copperfield + © 2002, 2003 The Karbon Developers + © 2002 Cyrus Patel + © 2004, 2005, 2006, 2007 Nikolas Zimmermann + © 2004, 2005, 2006, 2007 Rob Buis + © 2004, 2005 Allan Sandfeld Jensen (kde@carewolf.com) + © 2004, 2006 Zack Rusin + © 2004 Michal Zalewski + © 2005, 2006 Alexander Kellett + © 2005, 2006, 2007 Alexey Proskuryakov + © 2005, 2006 Oliver Hunt + © 2006, 2007 Eric Seidel (eric@webkit.org) + © 2006, 2007 Samuel Weinig + © 2006 Anders Carlsson + © 2006 Andrew Wellington (proton@wiretapped.net) + © 2006 Bjoern Graf (bjoern.graf@gmail.com) + © 2006 Enrico Ros + © 2006 George Staikos + © 2006 Graham Dennis (graham.dennis@gmail.com) + © 2006 James G. Speth (speth@end.com) + © 2006 Jon Shier (jshier@iastate.edu) + © 2006, 2007 Maks Orlovich + © 2006 Michael Emmel + © 2006, 2008 Trolltech ASA + © 2007, 2008 Alp Toker + © 2007 Cameron Zwarich (cwzwarich@uwaterloo.ca) + © 2007 Holger Hans Peter Freyther + © 2007 Krzysztof Kowalczyk + © 2007 Staikos Computing Services Inc. + © 2007 David Smith (catfish.man@gmail.com) + © 2007, 2008 Collabora, Ltd. + © 2007 OpenedHand + © 2007 Christian Dywan + © 2007 Luca Bruno + © 2008 Xan Lopez + © 2008 Nuanti Ltd + © 2007 Christian Dywan +License: LGPL-2+ (/usr/share/common-licenses/LGPL-2) + +Files: WebCore/bridge/npruntime_internal.h +Copyright: © 2007 Collabora, Ltd. +License: LGPL-2.1+ (/usr/share/common-licenses/LGPL-2) + +Files: JavaScriptCore/kjs/DateMath.*, + WebCore/bridge/npapi.h, + WebCore/html/HTMLDocument.cpp, + WebCore/platform/Arena.*, + WebCore/platform/gtk/gtk2drawing.c, + WebCore/platform/gtk/gtkdrawing.h, + WebCore/platform/image-decoders/gif/GIFImageReader.*, + WebCore/platform/image-decoders/jpeg/JPEGImageDecoder.cpp, + WebCore/platform/image-decoders/png/PNGImageDecoder.cpp, + WebCore/platform/image-decoders/zlib/mozzconf.h, + WebCore/platform/text/UnicodeRange.*, + WebCore/plugins/gtk/gtk2xtbin.*, + WebCore/plugins/gtk/xembed.h, + WebCore/rendering/RenderArena.*, + WebCore/rendering/RenderLayer.* +Copyright: © 1998, 2001-2006 mozilla.org + © 1999, 2000 Harri Porten (porten@kde.org) + © 2003, 2004, 2005, 2006, 2007 Apple Inc. + © 1998-2000, 2002 Netscape Communications Corporation. + © 1999 Lars Knoll (knoll@kde.org) + © 1999 Antti Koivisto (koivisto@kde.org) + © 2004 IBM Corporation + © 2002 Sun Microsystems, Inc. +License: LGPL-2.1+ (/usr/share/common-licenses/LGPL-2) | GPL-2+ (/usr/share/common-licenses/GPL-2) | MPL-1.1 + Other contributors for this code include: + - Boris Zbarsky + - Brian Ryner + - Chris Saari + - Christian Biesinger + - David Baron + - Jeff Hostetler + - Josh Soref + - Michael Ventnor + - Nick Blievers + - Pierre Chanial + - Raffaele Sena + - Randall Jesup + - Robert O'Callahan + - Roland Mainz + - Stuart Parmenter + - Tom Rini + +Files: JavaScriptCore/pcre/* +Copyright: © 1997-2005 University of Cambridge + © 2002, 2004, 2005, 2006, 2007 Apple Inc. +License: BSD-3 + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + . + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + . + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + . + * Neither the name of the University of Cambridge nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + +Files: JavaScriptCore/kjs/dtoa.cpp +Copyright: © 1991, 2000, 2001 Lucent Technologies +License: other + Permission to use, copy, modify, and distribute this software for any + purpose without fee is hereby granted, provided that this entire notice + is included in all copies of any software which is or includes a copy + or modification of this software and in all copies of the supporting + documentation for such software. + . + THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED + WARRANTY. IN PARTICULAR, NEITHER THE AUTHOR NOR LUCENT MAKES ANY + REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY + OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE. + +Files: JavaScriptCore/wtf/FastMalloc.cpp, + JavaScriptCore/wtf/TC* +Copyright: © 2005, 2007 Google Inc. +License: BSD-3 + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + . + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +Files: WebCore/platform/text/symbian/StringImplSymbian.* +Copyright: © 2006 Nokia Corporation +License: BSD-3 + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + . + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + * Neither the name of the Nokia Corporation nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE + USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + DAMAGE. + +Files: JavaScriptCore/icu/*, + JavaScriptGlue/icu/*, + WebCore/icu/*, + WebKit/mac/icu/*, +Copyright: © 1995-2006 International Business Machines Corporation and others +License: other + Permission is hereby granted, free of charge, to any person obtaining a copy of this + software and associated documentation files (the "Software"), to deal in the Software + without restriction, including without limitation the rights to use, copy, modify, + merge, publish, distribute, and/or sell copies of the Software, and to permit persons + to whom the Software is furnished to do so, provided that the above copyright notice(s) + and this permission notice appear in all copies of the Software and that both the above + copyright notice(s) and this permission notice appear in supporting documentation. + . + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, + INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR + PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER + OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR + CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR + PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING + OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + . + Except as contained in this notice, the name of a copyright holder shall not be used in + advertising or otherwise to promote the sale, use or other dealings in this Software + without prior written authorization of the copyright holder. + +Files: WebCore/platform/image-decoders/zlib/* +Copyright: © 1995-2005 Mark Adler + © 1995-2005 Jean-loup Gailly +License: other + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + . + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + . + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. + +Files: WebKitTools/DumpRenderTree/win/TestNetscapePlugin/main.c, + WebKitTools/DumpRenderTree/win/TestNetscapePlugin/main.cpp, + WebKitTools/DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp, + WebKitTools/DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.h, + WebKitTools/DumpRenderTree/TestNetscapePlugIn.subproj/TestObject.cpp, + WebKitTools/DumpRenderTree/TestNetscapePlugIn.subproj/TestObject.h, + WebKitTools/DumpRenderTree/TestNetscapePlugIn.subproj/main.cpp +Copyright: © Apple Inc. +License: other + IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc. ("Apple") in + consideration of your agreement to the following terms, and your use, installation, + modification or redistribution of this Apple software constitutes acceptance of these + terms. If you do not agree with these terms, please do not use, install, modify or + redistribute this Apple software. + . + In consideration of your agreement to abide by the following terms, and subject to these + terms, Apple grants you a personal, non-exclusive license, under Apple's copyrights in + this original Apple software (the "Apple Software"), to use, reproduce, modify and + redistribute the Apple Software, with or without modifications, in source and/or binary + forms; provided that if you redistribute the Apple Software in its entirety and without + modifications, you must retain this notice and the following text and disclaimers in all + such redistributions of the Apple Software. Neither the name, trademarks, service marks + or logos of Apple Computer, Inc. may be used to endorse or promote products derived from + the Apple Software without specific prior written permission from Apple. Except as expressly + stated in this notice, no other rights or licenses, express or implied, are granted by Apple + herein, including but not limited to any patent rights that may be infringed by your + derivative works or by other works in which the Apple Software may be incorporated. + . + The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO WARRANTIES, + EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS + USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS. + . + IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, + REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND + WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR + OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +Files: WebKitTools/iExploder/* +Copyright: © 2005 Thomas Stromberg +License: other + This software is provided 'as-is', without any express or implied warranty. + In no event will the authors be held liable for any damages arising from the + use of this software. + . + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + . + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software in a + product, an acknowledgment in the product documentation would be appreciated + but is not required. + . + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + . + 3. This notice may not be removed or altered from any source distribution. + +Files: WebKitTools/Scripts/prepare-ChangeLog +Copyright: © 2000, 2001 Eazel, Inc. + © 2002, 2003, 2004, 2005, 2006, 2007 Apple Inc. +License: GPL-2+ (/usr/share/common-licenses/GPL-2) + +Files: WebCore/bindings/scripts/XMLTiny.pm +Copyright: © 2007 David Cantrell +License: other + This program is free software; you can redistribute it and/or modify + it under the terms of either: + . + a) the GNU General Public License as published by the Free + Software Foundation; either version 1, or (at your option) any + later version, or + b) the "Artistic License" which comes with this Kit. + . + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See either + the GNU General Public License or the Artistic License for more details. + . + You should have received a copy of the Artistic License with this + Kit, in the file named "Artistic". If not, I'll be glad to provide one. + . + You should also have received a copy of the GNU General Public License + along with this program in the file named "Copying". If not, write to the + Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307, USA or visit their web page on the internet at + http://www.gnu.org/copyleft/gpl.html. + . + For those of you that choose to use the GNU General Public License, + my interpretation of the GNU General Public License is that no Perl + script falls under the terms of the GPL unless you explicitly put + said script under the terms of the GPL yourself. Furthermore, any + object code linked with perl does not automatically fall under the + terms of the GPL, provided such object code only adds definitions + of subroutines and variables, and does not otherwise impair the + resulting interpreter from executing any standard Perl script. I + consider linking in C subroutines in this manner to be the moral + equivalent of defining subroutines in the Perl language itself. You + may sell such an object file as proprietary provided that you provide + or offer to provide the Perl source, as specified by the GNU General + Public License. (This is merely an alternate way of specifying input + to the program.) You may also sell a binary produced by the dumping of + a running Perl script that belongs to you, provided that you provide or + offer to provide the Perl source as specified by the GPL. (The + fact that a Perl interpreter and your code are in the same binary file + is, in this case, a form of mere aggregation.) This is my interpretation + of the GPL. If you still have concerns or difficulties understanding + my intent, feel free to contact me. Of course, the Artistic License + spells all this out for your protection, so you may prefer to use that. + +Files: WebKitLibraries/WebCoreSQLite3 +Copyright: © 2001, 2006 +License: other + The author disclaims copyright to this source code. In place of + a legal notice, here is a blessing: + . + May you do good and not evil. + May you find forgiveness for yourself and forgive others. + May you share freely, never taking more than you give. + +Files: acinclude.m4 +Copyright: © 2007, 2008 Josh Triplett +License: other + Copying and distribution of this file, with or without modification, + are permitted in any medium without royalty provided the copyright + notice and this notice are preserved. --- webkit-1.0.1.orig/debian/changelog +++ webkit-1.0.1/debian/changelog @@ -0,0 +1,238 @@ +webkit (1.0.1-4~ppa2) hardy; urgency=low + + * Backport from Debian. + + -- Julien Lavergne Sun, 28 Sep 2008 00:28:55 +0200 + +webkit (1.0.1-4) unstable; urgency=high + + * WebCore/dom/Document.*, WebCore/loader/DocLoader.*: Avoid DoS via + crafted CSS import statements. Fixes: CVE-2008-3632. Closes: #499771. + + -- Mike Hommey Sat, 27 Sep 2008 08:57:48 +0200 + +webkit (1.0.1-3) unstable; urgency=low + + * WebCore/platform/graphics/gtk/FontCacheGtk.cpp, + WebCore/platform/graphics/gtk/FontGtk.cpp, + WebCore/platform/graphics/gtk/FontPlatformData.h, + WebCore/platform/graphics/gtk/FontPlatformDataGtk.cpp, + WebCore/platform/graphics/gtk/SimpleFontDataGtk.cpp: cherry-picked change + from SVN revision 36309 to fix various font selection problems. + Closes: #464477. + + -- Mike Hommey Sat, 20 Sep 2008 12:02:58 +0200 + +webkit (1.0.1-2) unstable; urgency=low + + * symbols.filter: As a workaround for #490173, hide all C++ mangled symbols. + This will be enough for now, while fixing FTBFS on ARM. + * debian/rules: Build with -Wl,--no-relax on alpha, to work around a + binutils bug causing FTBFS. + + -- Mike Hommey Thu, 10 Jul 2008 21:10:27 +0200 + +webkit (1.0.1-1) unstable; urgency=low + + * New upstream release. Closes: #489385. + * debian/copyright: + - Updated to fit additions/removals of files upstream. + - Updated where the source was gotten. + - Fixed typos for Collabora. Closes: #484661. + * JavaScriptCore/wtf/FastMalloc.cpp, JavaScriptCore/wtf/ListHashSet.h, + JavaScriptCore/wtf/Platform.h, JavaScriptCore/wtf/Vector.h, + WebCore/platform/text/AtomicString.cpp, + WebCore/platform/text/StringHash.h: Fixed some alignment problems on sparc + (and some that might occur on arm, too). Closes: #487745. Some compiler + warnings about alignment remain, but I don't know if they are a real + problem yet. + * debian/control: + - Added build dependency on libxt-dev. + - Relax libwebkit-dev dependency on libwebkit-1.0-1. + - Bumped Standards-Version to 3.8.0.1. No changes. + * WebCore/page/gtk/AXObjectCacheAtk.cpp: Include stdio.h to avoid FTBFS + because of undefined printf. + * GNUmakefile.am, symbols.filter: Filter out all std::* symbols exported + because of stl headers. + * debian/libwebkit-1.0-1.symbols: Add symbols file. + * debian/rules: Bump shlibs because of some new symbols. + + -- Mike Hommey Sun, 06 Jul 2008 15:09:55 +0200 + +webkit (0~svn32442-1) unstable; urgency=low + + [ Mike Hommey ] + * New upstream snapshot + * debian/copyright: Updated to fit additions/removals of files upstream. + * debian/control: Add libpango1.0-dev to build dependencies and tighten + libgtk2.0-dev build dependency. Closes: #477493. + + [ Luca Bruno ] + * debian/libwebkit-1.0-1.install, debian/rules: Install GtkLauncher + and DumpRenderTree in /usr/lib/webkit-1.0/libexec. Closes: #476514. + + -- Mike Hommey Wed, 23 Apr 2008 22:20:25 +0200 + +webkit (0~svn31841-1) unstable; urgency=low + + * New upstream snapshot + + Includes proper Requires in .pc file. Closes: #450949. + * debian/copyright: Updated to fit additions/removals of files upstream. + * debian/control, debian/rules: Don't build QtWebKit, it will be built from + Qt sources. + * debian/libqtwebkit*: Removed. + * debian/rules: Replaced make calls with $(MAKE). + * debian/control, debian/rules: Don't use qmake anymore, but use autotools + instead. + * debian/libwebkitgtk-dev.install: Remove the .prl file that was generated + by qmake. + * WebCore/WebCore.pro, WebKit.pro: Revert previous changes, as we don't use + qmake anymore. + * JavaScriptCore/wtf/ASCIICType.h: Revert what were warning fixes, to avoid + diverging too much from upstream. + * debian/rules: Clean-up autotools generated files in the clean target. + * debian/control, debian/rules, debian/libwebkit*: Rename packages to fit + new library SONAME. + * debian/control: libwebkit-dev doesn't need to depend on libglib2.0-dev. + * debian/libwebkit-1.0-1.install, debian/rules: Install GtkLauncher and + DumpRenderTree in /usr/lib/webkit-1.0, and don't rename DumpRenderTree, as + Qt homonym lie elsewhere. + * debian/libwebkit-1.0-1.preinst, debian/libwebkit-1.0-1.postrm: Don't + divert anything, since we don't clash with older files anymore. + * debian/rules: Ugly hack to add -Wl,--as-needed without it getting reordered + by libtool. + * WebKitTools/GNUmakefile.am: Don't build GtkLauncher and DumpRenderTree + with rpath. + + -- Mike Hommey Sat, 12 Apr 2008 21:40:00 +0200 + +webkit (0~svn27674-4) unstable; urgency=low + + * debian/rules: Revert change from 0~svn27674-3, which was obviously not + enough. + * WebKit.pro: Don't build testkjs, that provokes the s390 FTBFSes ; we don't + install it anyways. Closes: #466848. + * JavaScriptCore/kjs/interpreter.cpp, JavaScriptCore/wtf/ASCIICType.h, + WebCore/dom/Position.cpp, WebCore/editing/Selection.cpp, + WebCore/editing/SelectionController.cpp, + WebCore/editing/VisiblePosition.cpp, + WebCore/ksvg2/svg/SVGFontFaceElement.cpp, + WebCore/loader/FTPDirectoryParser.cpp, + WebCore/loader/icon/IconDatabase.cpp, + WebCore/platform/TextCodecLatin1.cpp, + WebCore/platform/TextCodecUserDefined.cpp, + WebCore/platform/TextStream.cpp, + WebCore/platform/image-decoders/jpeg/JPEGImageDecoder.cpp: Fix FTBFS with + gcc 4.3 due to missing includes. Closes: #455125. + + -- Mike Hommey Thu, 21 Feb 2008 23:01:12 +0100 + +webkit (0~svn27674-3) unstable; urgency=low + + * debian/rules: Work around #466613 (FTBFS on s390) by building a little bit + less optimized (-O1). Thanks to Josselin Mouette. + * debian/control: + - Add Vcs-Browser and Vcs-Git fields, and turn Homepage indications in + descriptions into a control field. + - Bumped Standards-Version to 3.7.3.0. No changes. + + -- Mike Hommey Wed, 20 Feb 2008 21:49:33 +0100 + +webkit (0~svn29752-1) experimental; urgency=low + + * New upstream snapshot + * debian/copyright: Updated to fit additions/removals of files upstream. + * JavaScriptCore/wtf/TCSpinLock.h: Revert our work-around, now that a + proper patch has been applied upstream. + * WebCore/WebCore.pro: Don't use Qt version as SO version for QtWebKit. + * debian/control, debian/rules, debian/lib*0d.install: Bump SO version to + 1d because of ABI incompatible changes, and change package names + accordingly. + * debian/rules: Don't remove -lqtwebico from QtWebKit.pc, since it's not + here anymore. + * debian/rules, debian/lib*1d.install: + - Install new Gtk port's DumpRenderTree tool. + - Rename both port's DumpRenderTree tools to DumpRenderTree + to avoid conflicting names. + * debian/lib*1d.postrm, debian/lib*1d.preinst: Avoid conflicting files with + lib*0d packages (*Launcher programs) but allow to install both new and old + libraries by using diversions. + + -- Mike Hommey Fri, 25 Jan 2008 00:31:51 +0100 + +webkit (0~svn27674-2) unstable; urgency=low + + * JavaScriptCore/JavaScriptCore.pri: cherry-picked change from revision + 28692 to fix FTBFS due to lack of -lpthread on the linker command line. + * debian/control: Add dependencies on necessary development packages + (essentially for header files) to our own development packages. + + -- Mike Hommey Sat, 15 Dec 2007 11:04:47 +0100 + +webkit (0~svn27674-1) unstable; urgency=low + + * New upstream snapshot + * debian/copyright: Updated to fit additions/removals of files upstream. + * debian/control: Make libwebkitgtk-dev conflict with the old + libwebkitgdk-dev. Closes: #449001. + * debian/rules: Bump qtwebkit shlibs. + * WebKit/qt/Api/qwebpage.cpp: cherry-picked change from revision 27904 to + fix crashes when an event is caught outside of the webkit frame in Qt. + This occurred, for example, when hovering over the QtLauncher toolbar. + + -- Mike Hommey Mon, 19 Nov 2007 23:10:38 +0100 + +webkit (0~svn26044-1) unstable; urgency=low + + * New upstream snapshot + * debian/rules: + - Add support for DEB_BUILD_OPTIONS=noopt. + - Bump qtwebkit shlibs, and remove versioning on the webkitgtk ones, + as the library is new. + * debian/copyright: Updated to fit additions/removals of files upstream. + * debian/control, debian/rules, debian/libwebkitgtk-dev.install, + debian/libwebkitgtk0d.install: Replace occurences of gdk by gtk, and + rename libwebkitgdk*, to fit upstream rename of the Gtk port. + Closes: #445060. + + -- Mike Hommey Fri, 05 Oct 2007 00:05:06 +0200 + +webkit (0~svn25144-2) unstable; urgency=low + + * JavaScriptCore/wtf/Platform.h: + - Also test if __arm__ is defined, which should fix the FTBFS on arm. + - Use better defines for our various arm ports. + * JavaScriptCore/kjs/ustring.h, WebCore/platform/DeprecatedString.h: Use + these new defines. Thanks Riku Voipio. + * debian/control: Build depend on Qt >= 4.3. Thanks Hubert Figuiere. + Closes: #439672. + * debian/rules: Explicitely use qmake-qt4 instead of qmake to avoid build + failures when qt3-dev-tools is installed. Thanks Michael Biebl. + Closes: #441007. + + -- Mike Hommey Thu, 06 Sep 2007 08:12:21 +0200 + +webkit (0~svn25144-1) unstable; urgency=low + + * New upstream snapshot + * debian/copyright: Updated so as to fit what we actually remove (there were + missing removals previously, which were not appropriate for the most + anyways), and to fit the additions/removals of files upstream. + * JavaScriptCore/wtf/TCSpinLock.h: Work around an FTBFS on PPC due to a + probable regression in gcc (#438415). + * debian/rules: + + Change the place we install QtLauncher from, since it moved. + + Set binary packages' shlibs correctly. + + Use $(CURDIR) variable more safely to avoid problem with build + directories with spaces. + * WebKitQt/Plugins/Plugins.pro: Build plugins with hidden symbols, so that + they don't expose unwanted symbols. + + -- Mike Hommey Sun, 19 Aug 2007 15:54:12 +0200 + +webkit (0~svn24735-1) unstable; urgency=low + + * Initial release. (Closes: #428855) + + -- Mike Hommey Wed, 15 Aug 2007 14:19:46 +0200 + --- webkit-1.0.1.orig/debian/libwebkit-dev.install +++ webkit-1.0.1/debian/libwebkit-dev.install @@ -0,0 +1,3 @@ +usr/lib/libwebkit-1.0.so +usr/include/webkit-1.0 +usr/lib/pkgconfig/webkit-1.0.pc --- webkit-1.0.1.orig/debian/rules +++ webkit-1.0.1/debian/rules @@ -0,0 +1,97 @@ +#!/usr/bin/make -f + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + +CFLAGS = -g -Wall + +ifeq (,$(filter noopt,$(DEB_BUILD_OPTIONS))) + CFLAGS += -O2 +else + CFLAGS += -O0 +endif + +ifeq ($(DEB_BUILD_ARCH),alpha) + CFLAGS += -Wl,--no-relax +endif + +clean: + dh_testdir + dh_testroot + + rm -f build-stamp install-stamp + rm -rf build + + rm -f GNUmakefile.in INSTALL README aclocal.m4 aconfig.h.in compile config.guess config.sub configure depcomp install-sh ltmain.sh missing + rm -rf autom4te.cache + + dh_clean + +build: build-stamp + +build-stamp: + dh_testdir + + [ ! -d build ] && mkdir build || true + cd build && \ + CFLAGS="$(CFLAGS)" \ + CXXFLAGS="$(CFLAGS)" \ + CC="gcc -Wl,--as-needed" \ + CXX="g++ -Wl,--as-needed" \ + ../autogen.sh --prefix=/usr --enable-svg-experimental + + $(MAKE) -C build + + touch $@ + +install: install-stamp + +install-stamp: build-stamp + dh_testdir + dh_testroot + + dh_clean -k + + $(MAKE) -C build install DESTDIR="$(CURDIR)"/debian/tmp + [ ! -d debian/tmp/usr/lib/webkit-1.0/libexec ] && install -d -m 755 debian/tmp/usr/lib/webkit-1.0/libexec || true + build/libtool --mode=install install -m 755 build/Programs/DumpRenderTree "$(CURDIR)"/debian/tmp/usr/lib/webkit-1.0/libexec/DumpRenderTree + build/libtool --mode=install install -m 755 build/Programs/GtkLauncher "$(CURDIR)"/debian/tmp/usr/lib/webkit-1.0/libexec/GtkLauncher + + touch $@ + +# Build architecture-independent files here. +binary-indep: build install + dh_testdir + dh_testroot + dh_installdocs -i + dh_installchangelogs -i + dh_install -i --sourcedir=debian/tmp + dh_link -i + dh_compress -i + dh_fixperms -i + dh_installdeb -i + dh_gencontrol -i + dh_md5sums -i + dh_builddeb -i + +# Build architecture-dependent files here. +binary-arch: build install + dh_testdir + dh_testroot + dh_installdocs -a + dh_installchangelogs -a + dh_install -a --sourcedir=debian/tmp + dh_link -a + dh_strip -a --dbg-package=libwebkit-1.0-1-dbg + dh_compress -a + dh_fixperms -a + dh_makeshlibs -a -V 'libwebkit-1.0-1 (>= 1.0.1)' -- -c4 + dh_installdeb -a + dh_shlibdeps -a + dh_gencontrol -a + dh_md5sums -a + dh_builddeb -a + +binary: binary-indep binary-arch + +.PHONY: build clean install binary binary-indep binary-arch --- webkit-1.0.1.orig/debian/compat +++ webkit-1.0.1/debian/compat @@ -0,0 +1 @@ +5 --- webkit-1.0.1.orig/debian/libwebkit-1.0-1.install +++ webkit-1.0.1/debian/libwebkit-1.0-1.install @@ -0,0 +1,3 @@ +usr/lib/libwebkit-1.0.so.* +usr/lib/webkit-1.0/libexec/GtkLauncher +usr/lib/webkit-1.0/libexec/DumpRenderTree --- webkit-1.0.1.orig/WebCore/loader/DocLoader.h +++ webkit-1.0.1/WebCore/loader/DocLoader.h @@ -51,7 +51,7 @@ friend class HTMLImageLoader; public: - DocLoader(Frame*, Document*); + DocLoader(Document*); ~DocLoader(); CachedImage* requestImage(const String& url); @@ -76,7 +76,7 @@ CachePolicy cachePolicy() const { return m_cachePolicy; } void setCachePolicy(CachePolicy); - Frame* frame() const { return m_frame; } + Frame* frame() const; // Can be NULL Document* doc() const { return m_doc; } void removeCachedResource(CachedResource*) const; @@ -108,8 +108,7 @@ HashSet m_reloadedURLs; mutable HashMap m_docResources; CachePolicy m_cachePolicy; - Frame* m_frame; - Document *m_doc; + Document* m_doc; int m_requestCount; --- webkit-1.0.1.orig/WebCore/loader/DocLoader.cpp +++ webkit-1.0.1/WebCore/loader/DocLoader.cpp @@ -42,10 +42,9 @@ namespace WebCore { -DocLoader::DocLoader(Frame *frame, Document* doc) +DocLoader::DocLoader(Document* doc) : m_cache(cache()) , m_cachePolicy(CachePolicyVerify) - , m_frame(frame) , m_doc(doc) , m_requestCount(0) , m_autoLoadImages(true) @@ -64,6 +63,11 @@ m_cache->removeDocLoader(this); } +Frame* DocLoader::frame() const +{ + return m_doc->frame(); +} + void DocLoader::checkForReload(const KURL& fullURL) { if (m_allowStaleResources) @@ -147,8 +151,8 @@ m_docResources.remove(it); } } - - if (m_frame && m_frame->loader()->isReloading()) + + if (frame() && frame()->loader()->isReloading()) setCachePolicy(CachePolicyReload); checkForReload(fullURL); @@ -196,14 +200,14 @@ void DocLoader::setLoadInProgress(bool load) { m_loadInProgress = load; - if (!load && m_frame) - m_frame->loader()->loadDone(); + if (!load && frame()) + frame()->loader()->loadDone(); } void DocLoader::checkCacheObjectStatus(CachedResource* resource) { // Return from the function for objects that we didn't load from the cache or if we don't have a frame. - if (!resource || !m_frame) + if (!resource || !frame()) return; switch (resource->status()) { @@ -217,7 +221,7 @@ } // FIXME: If the WebKit client changes or cancels the request, WebCore does not respect this and continues the load. - m_frame->loader()->loadedResourceFromMemoryCache(resource); + frame()->loader()->loadedResourceFromMemoryCache(resource); } void DocLoader::incrementRequestCount() --- webkit-1.0.1.orig/WebCore/page/gtk/AXObjectCacheAtk.cpp +++ webkit-1.0.1/WebCore/page/gtk/AXObjectCacheAtk.cpp @@ -26,6 +26,8 @@ #include "CString.h" +#include + namespace WebCore { void AXObjectCache::detachWrapper(AccessibilityObject* obj) --- webkit-1.0.1.orig/WebCore/platform/graphics/gtk/FontCacheGtk.cpp +++ webkit-1.0.1/WebCore/platform/graphics/gtk/FontCacheGtk.cpp @@ -1,31 +1,21 @@ /* - * Copyright (C) 2006 Apple Computer, Inc. All rights reserved. - * Copyright (C) 2006 Michael Emmel mike.emmel@gmail.com - * All rights reserved. + * Copyright (C) 2008 Alp Toker * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of - * its contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public License + * along with this library; see the file COPYING.LIB. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. * - * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include "config.h" @@ -45,12 +35,33 @@ const SimpleFontData* FontCache::getFontDataForCharacters(const Font& font, const UChar* characters, int length) { - return new SimpleFontData(FontPlatformData(font.fontDescription(), font.family().family())); +#if defined(USE_FREETYPE) + FcResult fresult; + FontPlatformData* prim = const_cast(&font.primaryFont()->m_font); + + if (!prim->m_fallbacks) + prim->m_fallbacks = FcFontSort(NULL, prim->m_pattern, FcTrue, NULL, &fresult); + + FcFontSet* fs = prim->m_fallbacks; + + for (int i = 0; i < fs->nfont; i++) { + FcPattern* fin = FcFontRenderPrepare(NULL, prim->m_pattern, fs->fonts[i]); + cairo_font_face_t* fontFace = cairo_ft_font_face_create_for_pattern(fin); + FontPlatformData alternateFont(fontFace, font.fontDescription().computedPixelSize(), false, false); + cairo_font_face_destroy(fontFace); + alternateFont.m_pattern = fin; + SimpleFontData* sfd = getCachedFontData(&alternateFont); + if (sfd->containsCharacters(characters, length)) + return sfd; + } +#endif + + return 0; } FontPlatformData* FontCache::getSimilarFontPlatformData(const Font& font) { - return new FontPlatformData(font.fontDescription(), font.family().family()); + return 0; } FontPlatformData* FontCache::getLastResortFallbackFont(const FontDescription& fontDescription) --- webkit-1.0.1.orig/WebCore/platform/graphics/gtk/FontPlatformData.h +++ webkit-1.0.1/WebCore/platform/graphics/gtk/FontPlatformData.h @@ -47,6 +47,7 @@ FontPlatformData(WTF::HashTableDeletedValueType) #if defined(USE_FREETYPE) : m_pattern(hashTableDeletedFontValue()) + , m_fallbacks(0) #elif defined(USE_PANGO) : m_context(0) , m_font(hashTableDeletedFontValue()) @@ -59,6 +60,7 @@ FontPlatformData() #if defined(USE_FREETYPE) : m_pattern(0) + , m_fallbacks(0) #elif defined(USE_PANGO) : m_context(0) , m_font(0) @@ -84,6 +86,10 @@ unsigned hash() const { +#if defined(USE_FREETYPE) + if (m_pattern) + return FcPatternHash(m_pattern); +#endif uintptr_t hashCodes[1] = { reinterpret_cast(m_scaledFont) }; return StringImpl::computeHash(reinterpret_cast(hashCodes), sizeof(hashCodes) / sizeof(UChar)); } @@ -99,6 +105,7 @@ #if defined(USE_FREETYPE) FcPattern* m_pattern; + FcFontSet* m_fallbacks; #elif defined(USE_PANGO) static PangoFontMap* m_fontMap; static GHashTable* m_hashTable; --- webkit-1.0.1.orig/WebCore/platform/graphics/gtk/SimpleFontDataGtk.cpp +++ webkit-1.0.1/WebCore/platform/graphics/gtk/SimpleFontDataGtk.cpp @@ -62,19 +62,25 @@ void SimpleFontData::platformDestroy() { - if (!isCustomFont()) { - if (m_font.m_pattern && ((FcPattern*)-1 != m_font.m_pattern)) { - FcPatternDestroy(m_font.m_pattern); - m_font.m_pattern = 0; - } + delete m_smallCapsFontData; - if (m_font.m_scaledFont) { - cairo_scaled_font_destroy(m_font.m_scaledFont); - m_font.m_scaledFont = 0; - } + if (isCustomFont()) + return; + + if (m_font.m_pattern && ((FcPattern*)-1 != m_font.m_pattern)) { + FcPatternDestroy(m_font.m_pattern); + m_font.m_pattern = 0; } - delete m_smallCapsFontData; + if (m_font.m_fallbacks) { + FcFontSetDestroy(m_font.m_fallbacks); + m_font.m_fallbacks = 0; + } + + if (m_font.m_scaledFont) { + cairo_scaled_font_destroy(m_font.m_scaledFont); + m_font.m_scaledFont = 0; + } } SimpleFontData* SimpleFontData::smallCapsFontData(const FontDescription& fontDescription) const --- webkit-1.0.1.orig/WebCore/platform/graphics/gtk/FontGtk.cpp +++ webkit-1.0.1/WebCore/platform/graphics/gtk/FontGtk.cpp @@ -5,6 +5,7 @@ * Copyright (c) 2007 Kouhei Sutou * Copyright (C) 2007 Alp Toker * Copyright (C) 2008 Xan Lopez + * Copyright (C) 2008 Nuanti Ltd. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -37,8 +38,12 @@ #include "SimpleFontData.h" #include +#include #include #include +#if defined(USE_FREETYPE) +#include +#endif namespace WebCore { @@ -133,10 +138,29 @@ static void setPangoAttributes(const Font* font, const TextRun& run, PangoLayout* layout) { +#if defined(USE_FREETYPE) + if (font->primaryFont()->m_font.m_pattern) { + PangoFontDescription* desc = pango_fc_font_description_from_pattern(font->primaryFont()->m_font.m_pattern, FALSE); + pango_layout_set_font_description(layout, desc); + pango_font_description_free(desc); + } +#elif defined(USE_PANGO) + if (font->primaryFont()->m_font.m_font) { + PangoFontDescription* desc = pango_font_describe(font->primaryFont()->m_font.m_font); + pango_layout_set_font_description(layout, desc); + pango_font_description_free(desc); + } +#endif + + pango_layout_set_auto_dir(layout, FALSE); + + PangoContext* pangoContext = pango_layout_get_context(layout); + PangoDirection direction = run.rtl() ? PANGO_DIRECTION_RTL : PANGO_DIRECTION_LTR; + pango_context_set_base_dir(pangoContext, direction); PangoAttrList* list = pango_attr_list_new(); PangoAttribute* attr; - attr = pango_attr_size_new_absolute((int)(font->size() * PANGO_SCALE)); + attr = pango_attr_size_new_absolute(font->pixelSize() * PANGO_SCALE); attr->end_index = G_MAXUINT; pango_attr_list_insert_before(list, attr); @@ -151,50 +175,106 @@ pango_layout_set_attributes(layout, list); pango_attr_list_unref(list); - - pango_layout_set_auto_dir(layout, FALSE); - - PangoContext* pangoContext = pango_layout_get_context(layout); - PangoDirection direction = run.rtl() ? PANGO_DIRECTION_RTL : PANGO_DIRECTION_LTR; - pango_context_set_base_dir(pangoContext, direction); } void Font::drawComplexText(GraphicsContext* context, const TextRun& run, const FloatPoint& point, int from, int to) const { cairo_t* cr = context->platformContext(); cairo_save(cr); + cairo_translate(cr, point.x(), point.y()); PangoLayout* layout = pango_cairo_create_layout(cr); + setPangoAttributes(this, run, layout); - gchar* utf8 = convertUniCharToUTF8(run.characters(), run.length(), from, to); + gchar* utf8 = convertUniCharToUTF8(run.characters(), run.length(), 0, run.length()); pango_layout_set_text(layout, utf8, -1); - g_free(utf8); - setPangoAttributes(this, run, layout); + // Our layouts are single line + PangoLayoutLine* layoutLine = pango_layout_get_line_readonly(layout, 0); + + GdkRegion* partialRegion = NULL; + if (to - from != run.length()) { + // Clip the region of the run to be rendered + char* start = g_utf8_offset_to_pointer(utf8, from); + char* end = g_utf8_offset_to_pointer(start, to - from); + int ranges[] = {start - utf8, end - utf8}; + partialRegion = gdk_pango_layout_line_get_clip_region(layoutLine, 0, 0, ranges, 1); + gdk_region_shrink(partialRegion, 0, -pixelSize()); + } - // Set the text color to use for drawing. + Color fillColor = context->fillColor(); float red, green, blue, alpha; - Color penColor = context->fillColor(); - penColor.getRGBA(red, green, blue, alpha); + + // Text shadow, inspired by FontMac + IntSize shadowSize; + int shadowBlur = 0; + Color shadowColor; + context->getShadow(shadowSize, shadowBlur, shadowColor); + bool hasShadow = context->textDrawingMode() == cTextFill && shadowColor.isValid() && !shadowSize.isEmpty(); + + // TODO: Blur support + if (hasShadow) { + // Disable graphics context shadows (not yet implemented) and paint them manually + context->clearShadow(); + Color shadowFillColor(shadowColor.red(), shadowColor.green(), shadowColor.blue(), shadowColor.alpha() * fillColor.alpha() / 255); + cairo_save(cr); + + shadowFillColor.getRGBA(red, green, blue, alpha); + cairo_set_source_rgba(cr, red, green, blue, alpha); + + cairo_translate(cr, shadowSize.width(), shadowSize.height()); + + if (partialRegion) { + gdk_cairo_region(cr, partialRegion); + cairo_clip(cr); + } + + pango_cairo_show_layout_line(cr, layoutLine); + + cairo_restore(cr); + } + + fillColor.getRGBA(red, green, blue, alpha); cairo_set_source_rgba(cr, red, green, blue, alpha); - // Our layouts are single line - cairo_move_to(cr, point.x(), point.y()); - PangoLayoutLine* layoutLine = pango_layout_get_line_readonly(layout, 0); + if (partialRegion) { + gdk_cairo_region(cr, partialRegion); + cairo_clip(cr); + } + pango_cairo_show_layout_line(cr, layoutLine); + if (context->textDrawingMode() & cTextStroke) { + Color strokeColor = context->strokeColor(); + strokeColor.getRGBA(red, green, blue, alpha); + cairo_set_source_rgba(cr, red, green, blue, alpha); + pango_cairo_layout_line_path(cr, layoutLine); + cairo_set_line_width(cr, context->strokeThickness()); + cairo_stroke(cr); + } + + // Re-enable the platform shadow we disabled earlier + if (hasShadow) + context->setShadow(shadowSize, shadowBlur, shadowColor); + + // Pango sometimes leaves behind paths we don't want + cairo_new_path(cr); + + if (partialRegion) + gdk_region_destroy(partialRegion); + + g_free(utf8); g_object_unref(layout); + cairo_restore(cr); } -// FIXME: we should create the layout with our actual context, but it seems -// we can't access it from here +// We should create the layout with our actual context but we can't access it from here. static PangoLayout* getDefaultPangoLayout(const TextRun& run) { - PangoFontMap* map = pango_cairo_font_map_get_default(); - PangoContext* pangoContext = pango_cairo_font_map_create_context(PANGO_CAIRO_FONT_MAP(map)); + static PangoFontMap* map = pango_cairo_font_map_get_default(); + static PangoContext* pangoContext = pango_cairo_font_map_create_context(PANGO_CAIRO_FONT_MAP(map)); PangoLayout* layout = pango_layout_new(pangoContext); - g_object_unref(pangoContext); return layout; } @@ -209,11 +289,11 @@ gchar* utf8 = convertUniCharToUTF8(run.characters(), run.length(), 0, run.length()); pango_layout_set_text(layout, utf8, -1); - g_free(utf8); - int layoutWidth; - pango_layout_get_size(layout, &layoutWidth, 0); - float width = (float)layoutWidth / (double)PANGO_SCALE; + int width; + pango_layout_get_pixel_size(layout, &width, 0); + + g_free(utf8); g_object_unref(layout); return width; @@ -230,6 +310,9 @@ int index, trailing; pango_layout_xy_to_index(layout, x * PANGO_SCALE, 1, &index, &trailing); glong offset = g_utf8_pointer_to_offset(utf8, utf8 + index); + if (includePartialGlyphs) + offset += trailing; + g_free(utf8); g_object_unref(layout); @@ -238,8 +321,40 @@ FloatRect Font::selectionRectForComplexText(const TextRun& run, const IntPoint& point, int h, int from, int to) const { - notImplemented(); - return FloatRect(); + PangoLayout* layout = getDefaultPangoLayout(run); + setPangoAttributes(this, run, layout); + + gchar* utf8 = convertUniCharToUTF8(run.characters(), run.length(), 0, run.length()); + pango_layout_set_text(layout, utf8, -1); + + char* start = g_utf8_offset_to_pointer(utf8, from); + char* end = g_utf8_offset_to_pointer(start, to - from); + + if (run.ltr()) { + from = start - utf8; + to = end - utf8; + } else { + from = end - utf8; + to = start - utf8; + } + + PangoLayoutLine* layoutLine = pango_layout_get_line_readonly(layout, 0); + int x_pos; + + x_pos = 0; + if (from < layoutLine->length) + pango_layout_line_index_to_x(layoutLine, from, FALSE, &x_pos); + float beforeWidth = PANGO_PIXELS_FLOOR(x_pos); + + x_pos = 0; + if (run.ltr() || to < layoutLine->length) + pango_layout_line_index_to_x(layoutLine, to, FALSE, &x_pos); + float afterWidth = PANGO_PIXELS(x_pos); + + g_free(utf8); + g_object_unref(layout); + + return FloatRect(point.x() + beforeWidth, point.y(), afterWidth - beforeWidth, h); } } --- webkit-1.0.1.orig/WebCore/platform/graphics/gtk/FontPlatformDataGtk.cpp +++ webkit-1.0.1/WebCore/platform/graphics/gtk/FontPlatformDataGtk.cpp @@ -37,7 +37,8 @@ FontPlatformData::FontPlatformData(const FontDescription& fontDescription, const AtomicString& familyName) : m_pattern(0) - , m_size(fontDescription.computedSize()) + , m_fallbacks(0) + , m_size(fontDescription.computedPixelSize()) , m_syntheticBold(false) , m_syntheticOblique(false) , m_scaledFont(0) @@ -49,7 +50,7 @@ int fcslant = FC_SLANT_ROMAN; // FIXME: Map all FontWeight values to fontconfig weights. int fcweight = FC_WEIGHT_NORMAL; - float fcsize = fontDescription.computedSize(); + double fcsize = fontDescription.computedPixelSize(); if (fontDescription.italic()) fcslant = FC_SLANT_ITALIC; if (fontDescription.weight() >= FontWeight600) @@ -67,27 +68,30 @@ goto freePattern; switch (type) { - case FontDescription::SerifFamily: - fcfamily = "serif"; - break; - case FontDescription::SansSerifFamily: - fcfamily = "sans-serif"; - break; - case FontDescription::MonospaceFamily: - fcfamily = "monospace"; - break; - case FontDescription::NoFamily: - case FontDescription::StandardFamily: - default: - fcfamily = "sans-serif"; + case FontDescription::SerifFamily: + fcfamily = "serif"; + break; + case FontDescription::SansSerifFamily: + fcfamily = "sans-serif"; + break; + case FontDescription::MonospaceFamily: + fcfamily = "monospace"; + break; + case FontDescription::StandardFamily: + fcfamily = "sans-serif"; + break; + case FontDescription::NoFamily: + default: + fcfamily = NULL; + break; } - if (!FcPatternAddString(pattern, FC_FAMILY, reinterpret_cast(fcfamily))) - goto freePattern; - if (!FcPatternAddInteger(pattern, FC_SLANT, fcslant)) + if (fcfamily && !FcPatternAddString(pattern, FC_FAMILY, reinterpret_cast(fcfamily))) goto freePattern; if (!FcPatternAddInteger(pattern, FC_WEIGHT, fcweight)) goto freePattern; + if (!FcPatternAddInteger(pattern, FC_SLANT, fcslant)) + goto freePattern; if (!FcPatternAddDouble(pattern, FC_PIXEL_SIZE, fcsize)) goto freePattern; @@ -101,7 +105,7 @@ goto freePattern; fontFace = cairo_ft_font_face_create_for_pattern(m_pattern); cairo_matrix_t ctm; - cairo_matrix_init_scale(&fontMatrix, fontDescription.computedSize(), fontDescription.computedSize()); + cairo_matrix_init_scale(&fontMatrix, fontDescription.computedPixelSize(), fontDescription.computedPixelSize()); cairo_matrix_init_identity(&ctm); #if GTK_CHECK_VERSION(2,10,0) @@ -122,6 +126,7 @@ FontPlatformData::FontPlatformData(float size, bool bold, bool italic) : m_pattern(0) + , m_fallbacks(0) , m_size(size) , m_syntheticBold(bold) , m_syntheticOblique(italic) @@ -131,6 +136,7 @@ FontPlatformData::FontPlatformData(cairo_font_face_t* fontFace, int size, bool bold, bool italic) : m_pattern(0) + , m_fallbacks(0) , m_size(size) , m_syntheticBold(bold) , m_syntheticOblique(italic) @@ -140,15 +146,19 @@ cairo_matrix_init_scale(&fontMatrix, size, size); cairo_matrix_t ctm; cairo_matrix_init_identity(&ctm); - cairo_font_options_t* options = cairo_font_options_create(); + static const cairo_font_options_t* defaultOptions = cairo_font_options_create(); + const cairo_font_options_t* options = NULL; - // We force antialiasing and disable hinting to provide consistent - // typographic qualities for custom fonts on all platforms. - cairo_font_options_set_hint_style(options, CAIRO_HINT_STYLE_NONE); - cairo_font_options_set_antialias(options, CAIRO_ANTIALIAS_GRAY); +#if GTK_CHECK_VERSION(2,10,0) + if (GdkScreen* screen = gdk_screen_get_default()) + options = gdk_screen_get_font_options(screen); +#endif + // gdk_screen_get_font_options() returns NULL if no default options are + // set, so we always have to check. + if (!options) + options = defaultOptions; m_scaledFont = cairo_scaled_font_create(fontFace, &fontMatrix, &ctm, options); - cairo_font_options_destroy(options); } bool FontPlatformData::init() --- webkit-1.0.1.orig/WebCore/platform/graphics/BitmapImage.cpp +++ webkit-1.0.1/WebCore/platform/graphics/BitmapImage.cpp @@ -203,7 +203,7 @@ bool BitmapImage::frameHasAlphaAtIndex(size_t index) { if (index >= frameCount()) - return 0; + return true; if (index >= m_frames.size() || !m_frames[index].m_frame) cacheFrame(index); --- webkit-1.0.1.orig/WebCore/platform/graphics/cairo/ImageCairo.cpp +++ webkit-1.0.1/WebCore/platform/graphics/cairo/ImageCairo.cpp @@ -76,6 +76,7 @@ m_frames.grow(1); m_frames[0].m_frame = surface; + m_frames[0].m_hasAlpha = cairo_surface_get_content(surface) != CAIRO_CONTENT_COLOR; checkForSolidColor(); } --- webkit-1.0.1.orig/WebCore/platform/graphics/cg/ImageCG.cpp +++ webkit-1.0.1/WebCore/platform/graphics/cg/ImageCG.cpp @@ -87,6 +87,7 @@ m_frames.grow(1); m_frames[0].m_frame = cgImage; + m_frames[0].m_hasAlpha = true; checkForSolidColor(); } --- webkit-1.0.1.orig/WebCore/platform/text/StringHash.h +++ webkit-1.0.1/WebCore/platform/text/StringHash.h @@ -46,6 +46,15 @@ if (aLength != bLength) return false; +#if PLATFORM(ARM) || PLATFORM(SPARC) + const UChar* aChars = a->characters(); + const UChar* bChars = b->characters(); + for (unsigned i = 0; i != aLength; ++i) + if (*aChars++ != *bChars++) + return false; + + return true; +#else const uint32_t* aChars = reinterpret_cast(a->characters()); const uint32_t* bChars = reinterpret_cast(b->characters()); @@ -58,6 +67,7 @@ return false; return true; +#endif } static unsigned hash(const RefPtr& key) { return key->hash(); } --- webkit-1.0.1.orig/WebCore/platform/text/AtomicString.cpp +++ webkit-1.0.1/WebCore/platform/text/AtomicString.cpp @@ -94,7 +94,7 @@ if (string->length() != length) return false; -#if PLATFORM(ARM) +#if PLATFORM(ARM) || PLATFORM(SPARC) const UChar* stringCharacters = string->characters(); for (unsigned i = 0; i != length; ++i) { if (*stringCharacters++ != *characters++) --- webkit-1.0.1.orig/WebCore/dom/Document.cpp +++ webkit-1.0.1/WebCore/dom/Document.cpp @@ -308,8 +308,7 @@ m_axObjectCache = 0; - // FIXME: DocLoader probably no longer needs the frame argument - m_docLoader = new DocLoader(frame, this); + m_docLoader = new DocLoader(this); visuallyOrdered = false; m_bParsing = false; @@ -1285,9 +1284,12 @@ if (render) render->destroy(); - - // FIXME: is this needed or desirable? - m_frame = 0; + + // This is required, as our Frame might delete itself as soon as it detaches + // us. However, this violates Node::detach() symantics, as it's never + // possible to re-attach. Eventually Document::detach() should be renamed + // or this call made explicit in each of the callers of Document::detach(). + clearFramePointer(); if (m_renderArena) { delete m_renderArena; @@ -1295,6 +1297,11 @@ } } +void Document::clearFramePointer() +{ + m_frame = 0; +} + void Document::removeAllEventListenersFromAllNodes() { m_windowEventListeners.clear(); --- webkit-1.0.1.orig/WebCore/dom/Document.h +++ webkit-1.0.1/WebCore/dom/Document.h @@ -377,6 +377,8 @@ virtual void attach(); virtual void detach(); + void clearFramePointer(); + RenderArena* renderArena() { return m_renderArena; } void clearAXObjectCache();