[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

commit-queue at webkit.org commit-queue at webkit.org
Wed Dec 22 12:26:03 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit 2fcc090dd752f7faa9375b5e6b54311824922e8e
Author: commit-queue at webkit.org <commit-queue at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Mon Aug 23 16:18:44 2010 +0000

    2010-08-23  Ryuan Choi  <ryuan.choi at samsung.com>
    
            Reviewed by Antonio Gomes.
    
            [EFL] rendering was broken when missing plugin.
            https://bugs.webkit.org/show_bug.cgi?id=43395
    
            Implement RenderThemeEfl::systemFont to render "Missing plugin" when we
            don't have proper plugin.
            In this case, RenderEmbeddedObject::paintReplaced call systemFont and
            pass returned font to GraphicsContext.
    
            * platform/efl/RenderThemeEfl.cpp:
            (WebCore::RenderThemeEfl::setDefaultFontSize):
            (WebCore::RenderThemeEfl::systemFont):
            * platform/efl/RenderThemeEfl.h:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@65813 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 4393564..4cf38e1 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,20 @@
+2010-08-23  Ryuan Choi  <ryuan.choi at samsung.com>
+
+        Reviewed by Antonio Gomes.
+
+        [EFL] rendering was broken when missing plugin.
+        https://bugs.webkit.org/show_bug.cgi?id=43395
+
+        Implement RenderThemeEfl::systemFont to render "Missing plugin" when we
+        don't have proper plugin.
+        In this case, RenderEmbeddedObject::paintReplaced call systemFont and
+        pass returned font to GraphicsContext.
+
+        * platform/efl/RenderThemeEfl.cpp:
+        (WebCore::RenderThemeEfl::setDefaultFontSize):
+        (WebCore::RenderThemeEfl::systemFont):
+        * platform/efl/RenderThemeEfl.h:
+
 2010-08-23  Pavel Podivilov  <podivilov at chromium.org>
 
         Reviewed by Pavel Feldman.
diff --git a/WebCore/platform/efl/RenderThemeEfl.cpp b/WebCore/platform/efl/RenderThemeEfl.cpp
index 36600a9..102f754 100644
--- a/WebCore/platform/efl/RenderThemeEfl.cpp
+++ b/WebCore/platform/efl/RenderThemeEfl.cpp
@@ -26,6 +26,7 @@
 #include "config.h"
 #include "RenderThemeEfl.h"
 
+#include "CSSValueKeywords.h"
 #include "FileSystem.h"
 #include "Frame.h"
 #include "FrameView.h"
@@ -631,6 +632,8 @@ void RenderThemeEfl::themeChanged()
     applyPartDescriptions();
 }
 
+float RenderThemeEfl::defaultFontSize = 16.0f;
+
 RenderThemeEfl::RenderThemeEfl(Page* page)
     : RenderTheme()
     , m_page(page)
@@ -985,10 +988,24 @@ bool RenderThemeEfl::paintSearchField(RenderObject* o, const PaintInfo& i, const
     return paintThemePart(o, SearchField, i, rect);
 }
 
-void RenderThemeEfl::systemFont(int, FontDescription&) const
+void RenderThemeEfl::setDefaultFontSize(int size)
 {
-    // If you remove this notImplemented(), replace it with an comment that explains why.
-    notImplemented();
+    defaultFontSize = size;
+}
+
+void RenderThemeEfl::systemFont(int propId, FontDescription& fontDescription) const
+{
+    // It was called by RenderEmbeddedObject::paintReplaced to render alternative string.
+    // To avoid cairo_error while rendering, fontDescription should be passed.
+    DEFINE_STATIC_LOCAL(String, fontFace, ("Sans"));
+    float fontSize = defaultFontSize;
+
+    fontDescription.firstFamily().setFamily(fontFace);
+    fontDescription.setSpecifiedSize(fontSize);
+    fontDescription.setIsAbsoluteSize(true);
+    fontDescription.setGenericFamily(FontDescription::NoFamily);
+    fontDescription.setWeight(FontWeightNormal);
+    fontDescription.setItalic(false);
 }
 
 }
diff --git a/WebCore/platform/efl/RenderThemeEfl.h b/WebCore/platform/efl/RenderThemeEfl.h
index 8e5650d..478dfc5 100644
--- a/WebCore/platform/efl/RenderThemeEfl.h
+++ b/WebCore/platform/efl/RenderThemeEfl.h
@@ -142,6 +142,12 @@ public:
 
     virtual void adjustSliderThumbStyle(CSSStyleSelector*, RenderStyle*, Element*) const;
     virtual bool paintSliderThumb(RenderObject*, const PaintInfo&, const IntRect&);
+
+    static void setDefaultFontSize(int size);
+
+protected:
+    static float defaultFontSize;
+
 private:
     void createCanvas();
     void createEdje();

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list