Title: [142782] trunk/Source
Revision
142782
Author
[email protected]
Date
2013-02-13 13:22:55 -0800 (Wed, 13 Feb 2013)

Log Message

chromium: remove CompositorHUDFontAtlas
https://bugs.webkit.org/show_bug.cgi?id=109328

Patch by Eberhard Graether <[email protected]> on 2013-02-13
Reviewed by James Robinson.

After switching the HudLayer to use skia's font rendering the
CompositorHUDFontAtlas has become obsolete. This change removes
this class and the related WebLayerTreeView API.

Source/Platform:

* chromium/public/WebLayerTreeViewClient.h:
(WebLayerTreeViewClient):

Source/WebCore:

No new tests.

* WebCore.gypi:
* platform/graphics/chromium/CompositorHUDFontAtlas.cpp: Removed.
* platform/graphics/chromium/CompositorHUDFontAtlas.h: Removed.

Source/WebKit/chromium:

* src/WebViewImpl.cpp:
* src/WebViewImpl.h:

Modified Paths

Removed Paths

Diff

Modified: trunk/Source/Platform/ChangeLog (142781 => 142782)


--- trunk/Source/Platform/ChangeLog	2013-02-13 21:17:00 UTC (rev 142781)
+++ trunk/Source/Platform/ChangeLog	2013-02-13 21:22:55 UTC (rev 142782)
@@ -1,3 +1,17 @@
+2013-02-13  Eberhard Graether  <[email protected]>
+
+        chromium: remove CompositorHUDFontAtlas
+        https://bugs.webkit.org/show_bug.cgi?id=109328
+
+        Reviewed by James Robinson.
+
+        After switching the HudLayer to use skia's font rendering the
+        CompositorHUDFontAtlas has become obsolete. This change removes
+        this class and the related WebLayerTreeView API.
+
+        * chromium/public/WebLayerTreeViewClient.h:
+        (WebLayerTreeViewClient):
+
 2013-02-13  Tommy Widenflycht  <[email protected]>
 
         MediaStream API: Use the source id when creating new tracks

Modified: trunk/Source/Platform/chromium/public/WebLayerTreeViewClient.h (142781 => 142782)


--- trunk/Source/Platform/chromium/public/WebLayerTreeViewClient.h	2013-02-13 21:17:00 UTC (rev 142781)
+++ trunk/Source/Platform/chromium/public/WebLayerTreeViewClient.h	2013-02-13 21:22:55 UTC (rev 142782)
@@ -93,11 +93,6 @@
     // internally schedule a compositing pass when needed.
     virtual void scheduleComposite() = 0;
 
-    // Creates a font atlas to use for debug visualizations. The atlas is a bitmap
-    // containing glyph data, a table of ASCII character values to a subrectangle
-    // of the atlas representing the corresponding glyph, and the glyph height.
-    virtual void createFontAtlas(SkBitmap&, WebRect asciiToRectTable[128], int& fontHeight) { }
-
 protected:
     virtual ~WebLayerTreeViewClient() { }
 };

Modified: trunk/Source/WebCore/ChangeLog (142781 => 142782)


--- trunk/Source/WebCore/ChangeLog	2013-02-13 21:17:00 UTC (rev 142781)
+++ trunk/Source/WebCore/ChangeLog	2013-02-13 21:22:55 UTC (rev 142782)
@@ -1,3 +1,20 @@
+2013-02-13  Eberhard Graether  <[email protected]>
+
+        chromium: remove CompositorHUDFontAtlas
+        https://bugs.webkit.org/show_bug.cgi?id=109328
+
+        Reviewed by James Robinson.
+
+        After switching the HudLayer to use skia's font rendering the
+        CompositorHUDFontAtlas has become obsolete. This change removes
+        this class and the related WebLayerTreeView API.
+
+        No new tests.
+
+        * WebCore.gypi:
+        * platform/graphics/chromium/CompositorHUDFontAtlas.cpp: Removed.
+        * platform/graphics/chromium/CompositorHUDFontAtlas.h: Removed.
+
 2013-02-13  Dean Jackson  <[email protected]>
 
         Small update to speech bubble for captions menu [Mac]

Modified: trunk/Source/WebCore/WebCore.gypi (142781 => 142782)


--- trunk/Source/WebCore/WebCore.gypi	2013-02-13 21:17:00 UTC (rev 142781)
+++ trunk/Source/WebCore/WebCore.gypi	2013-02-13 21:22:55 UTC (rev 142782)
@@ -3882,8 +3882,6 @@
             'platform/graphics/chromium/Canvas2DLayerBridge.h',
             'platform/graphics/chromium/Canvas2DLayerManager.cpp',
             'platform/graphics/chromium/Canvas2DLayerManager.h',
-            'platform/graphics/chromium/CompositorHUDFontAtlas.cpp',
-            'platform/graphics/chromium/CompositorHUDFontAtlas.h',
             'platform/graphics/chromium/CrossProcessFontLoading.h',
             'platform/graphics/chromium/CrossProcessFontLoading.mm',
             'platform/graphics/chromium/DeferredImageDecoder.cpp',

Deleted: trunk/Source/WebCore/platform/graphics/chromium/CompositorHUDFontAtlas.cpp (142781 => 142782)


--- trunk/Source/WebCore/platform/graphics/chromium/CompositorHUDFontAtlas.cpp	2013-02-13 21:17:00 UTC (rev 142781)
+++ trunk/Source/WebCore/platform/graphics/chromium/CompositorHUDFontAtlas.cpp	2013-02-13 21:22:55 UTC (rev 142782)
@@ -1,131 +0,0 @@
-/*
- * Copyright (C) 2012 Google Inc. All rights reserved.
- *
- * 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 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"
-
-#include "CompositorHUDFontAtlas.h"
-
-#include "Font.h"
-#include "FontCache.h"
-#include "FontDescription.h"
-#include "GraphicsContext.h"
-#include "PlatformContextSkia.h"
-#include "SkCanvas.h"
-#include "SkDevice.h"
-#include "TextRun.h"
-#include "skia/ext/platform_canvas.h"
-
-using WebKit::WebRect;
-
-namespace WebCore {
-
-#define ATLAS_SIZE 128
-
-static void wrapPositionIfNeeded(IntPoint& position, int textWidth, int textHeight)
-{
-    if (position.x() + textWidth > ATLAS_SIZE)
-        position = IntPoint(0, position.y() + textHeight);
-}
-
-// Paints the font into the atlas, from left-to-right, top-to-bottom, starting at
-// startingPosition. At the same time, it updates the ascii-to-WebRect mapping for
-// each character. By doing things this way, it is possible to support variable-width
-// fonts and multiple fonts on the same atlas.
-SkBitmap CompositorHUDFontAtlas::generateFontAtlas(WebRect asciiToRectTable[128], int& fontHeight)
-{
-    fontHeight = 14;
-
-    OwnPtr<SkCanvas> canvas = adoptPtr(skia::CreateBitmapCanvas(ATLAS_SIZE, ATLAS_SIZE, false /* opaque */));
-
-    PlatformContextSkia platformContext(canvas.get());
-    GraphicsContext atlasContext(&platformContext);
-    atlasContext.setShouldSmoothFonts(false);
-
-    // Clear the entire texture atlas to transparent before drawing fonts.
-    atlasContext.setFillColor(Color(0, 0, 0, 0), ColorSpaceDeviceRGB);
-    atlasContext.clearRect(FloatRect(0, 0, ATLAS_SIZE, ATLAS_SIZE));
-
-    // FIXME: monospace font does not work as expected.
-    FontDescription fontDescription;
-    fontDescription.setGenericFamily(FontDescription::MonospaceFamily);
-    fontDescription.setComputedSize(fontHeight);
-
-    FontCachePurgePreventer fontCachePurgePreventer;
-
-    int textHeight = fontDescription.computedPixelSize();
-    IntPoint position(0, textHeight);
-    // This is a dirty little trick to account for overhang letters like g, p, j.
-    int inflation = textHeight / 3;
-
-    Font font(fontDescription, 0, 0);
-    font.update(0);
-
-    Color fontColor(255, 0, 0);
-    atlasContext.setStrokeColor(fontColor, ColorSpaceDeviceRGB);
-    atlasContext.setFillColor(fontColor, ColorSpaceDeviceRGB);
-
-    // First, draw a generic rect that will be used for special and unknown characters that have nothing else to render.
-    {
-        int textWidth = textHeight / 2;
-        wrapPositionIfNeeded(position, textWidth, textHeight + inflation);
-        atlasContext.strokeRect(FloatRect(FloatPoint(position.x() + 1, position.y() - textHeight + 1 + inflation), FloatSize(textWidth - 2, textHeight - 2 - inflation)), 1);
-
-        // Initialize the rect that would be copied when drawing this glyph from the atlas.
-        asciiToRectTable[0] = WebRect(position.x(), position.y() - textHeight, textWidth, textHeight + inflation);
-
-        // Increment to the position where the next glyph will be placed.
-        position.setX(position.x() + textWidth);
-    }
-
-    // Then, draw the ASCII characters.
-    for (LChar i = 1; i < 128; ++i) {
-        if (i < 32) {
-            // Special characters will simply use the the default glyph.
-            asciiToRectTable[i] = asciiToRectTable[0];
-            continue;
-        }
-
-        String str;
-        str.append(i);
-        TextRun text(str);
-
-        int textWidth = round(font.width(text));
-        wrapPositionIfNeeded(position, textWidth, textHeight + inflation);
-        atlasContext.drawText(font, text, position);
-
-        // Initialize the rect that would be copied when drawing this glyph from the atlas.
-        asciiToRectTable[i] = WebRect(position.x(), position.y() - textHeight, textWidth, textHeight + inflation);
-
-        // Increment to the position where the next glyph will be placed.
-        position.setX(position.x() + textWidth);
-    }
-
-    SkBitmap copy;
-    const SkBitmap& source = canvas->getDevice()->accessBitmap(false);
-    source.copyTo(&copy, source.config());
-    return copy;
-}
-
-} // namespace WebCore

Deleted: trunk/Source/WebCore/platform/graphics/chromium/CompositorHUDFontAtlas.h (142781 => 142782)


--- trunk/Source/WebCore/platform/graphics/chromium/CompositorHUDFontAtlas.h	2013-02-13 21:17:00 UTC (rev 142781)
+++ trunk/Source/WebCore/platform/graphics/chromium/CompositorHUDFontAtlas.h	2013-02-13 21:22:55 UTC (rev 142782)
@@ -1,45 +0,0 @@
-/*
- * Copyright (C) 2012 Google Inc. All rights reserved.
- *
- * 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 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.
- */
-
-#ifndef CompositorHUDFontAtlas_h
-#define CompositorHUDFontAtlas_h
-
-#include "SkBitmap.h"
-#include <public/WebRect.h>
-
-namespace WebCore {
-
-class CompositorHUDFontAtlas {
-public:
-    // This is a helper function that can generate a font atlas suitable for the compositor's heads up display.
-    // Returns a bitmap containing glyphs and populates asciiToRectTable with the
-    // location of each glyph.
-    static SkBitmap generateFontAtlas(WebKit::WebRect asciiToRectTable[128], int& fontHeight);
-};
-
-} // namespace WebCore
-
-#endif // CompositorHUDFontAtlas_h
-

Modified: trunk/Source/WebKit/chromium/ChangeLog (142781 => 142782)


--- trunk/Source/WebKit/chromium/ChangeLog	2013-02-13 21:17:00 UTC (rev 142781)
+++ trunk/Source/WebKit/chromium/ChangeLog	2013-02-13 21:22:55 UTC (rev 142782)
@@ -1,3 +1,17 @@
+2013-02-13  Eberhard Graether  <[email protected]>
+
+        chromium: remove CompositorHUDFontAtlas
+        https://bugs.webkit.org/show_bug.cgi?id=109328
+
+        Reviewed by James Robinson.
+
+        After switching the HudLayer to use skia's font rendering the
+        CompositorHUDFontAtlas has become obsolete. This change removes
+        this class and the related WebLayerTreeView API.
+
+        * src/WebViewImpl.cpp:
+        * src/WebViewImpl.h:
+
 2013-02-13  Sheriff Bot  <[email protected]>
 
         Unreviewed.  Rolled Chromium DEPS to r182150.  Requested by

Modified: trunk/Source/WebKit/chromium/src/WebViewImpl.cpp (142781 => 142782)


--- trunk/Source/WebKit/chromium/src/WebViewImpl.cpp	2013-02-13 21:17:00 UTC (rev 142781)
+++ trunk/Source/WebKit/chromium/src/WebViewImpl.cpp	2013-02-13 21:22:55 UTC (rev 142782)
@@ -41,7 +41,6 @@
 #include "Color.h"
 #include "ColorSpace.h"
 #include "CompositionUnderlineVectorBuilder.h"
-#include "CompositorHUDFontAtlas.h"
 #include "ContextFeaturesClientImpl.h"
 #include "ContextMenu.h"
 #include "ContextMenuController.h"
@@ -4259,12 +4258,6 @@
     m_client->scheduleComposite();
 }
 
-void WebViewImpl::createFontAtlas(SkBitmap& bitmap, WebRect asciiToRectTable[128], int& fontHeight)
-{
-    TRACE_EVENT0("webkit", "WebViewImpl::loadFontAtlas");
-    bitmap = WebCore::CompositorHUDFontAtlas::generateFontAtlas(asciiToRectTable, fontHeight);
-}
-
 void WebViewImpl::updateLayerTreeViewport()
 {
     if (!page() || !m_nonCompositedContentHost || !m_layerTreeView)

Modified: trunk/Source/WebKit/chromium/src/WebViewImpl.h (142781 => 142782)


--- trunk/Source/WebKit/chromium/src/WebViewImpl.h	2013-02-13 21:17:00 UTC (rev 142781)
+++ trunk/Source/WebKit/chromium/src/WebViewImpl.h	2013-02-13 21:22:55 UTC (rev 142782)
@@ -328,7 +328,6 @@
     virtual void didCommitAndDrawFrame();
     virtual void didCompleteSwapBuffers();
     virtual void scheduleComposite();
-    virtual void createFontAtlas(SkBitmap&, WebRect[128], int&);
 
     // WebViewImpl
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to