diff options
36 files changed, 242 insertions, 265 deletions
diff --git a/cc/CCActiveAnimation.cpp b/cc/CCActiveAnimation.cpp index 87086a3..1602468 100644 --- a/cc/CCActiveAnimation.cpp +++ b/cc/CCActiveAnimation.cpp @@ -11,7 +11,6 @@ #include <cmath> #include <wtf/Assertions.h> #include <wtf/StdLibExtras.h> -#include <wtf/StringExtras.h> namespace { diff --git a/cc/CCFontAtlas.cpp b/cc/CCFontAtlas.cpp index 44695e1..eadc860 100644 --- a/cc/CCFontAtlas.cpp +++ b/cc/CCFontAtlas.cpp @@ -7,8 +7,10 @@ #if USE(ACCELERATED_COMPOSITING) #include "CCFontAtlas.h" +#include "base/string_split.h" #include "CCProxy.h" #include "SkCanvas.h" +#include <vector> namespace WebCore { @@ -26,12 +28,12 @@ CCFontAtlas::~CCFontAtlas() { } -void CCFontAtlas::drawText(SkCanvas* canvas, const SkPaint& paint, const String& text, const IntPoint& destPosition, const IntSize& clip) const +void CCFontAtlas::drawText(SkCanvas* canvas, const SkPaint& paint, const std::string& text, const IntPoint& destPosition, const IntSize& clip) const { ASSERT(CCProxy::isImplThread()); - Vector<String> lines; - text.split('\n', lines); + std::vector<std::string> lines; + base::SplitString(text, '\n', &lines); IntPoint position = destPosition; for (size_t i = 0; i < lines.size(); ++i) { @@ -42,7 +44,7 @@ void CCFontAtlas::drawText(SkCanvas* canvas, const SkPaint& paint, const String& } } -void CCFontAtlas::drawOneLineOfTextInternal(SkCanvas* canvas, const SkPaint& paint, const String& textLine, const IntPoint& destPosition) const +void CCFontAtlas::drawOneLineOfTextInternal(SkCanvas* canvas, const SkPaint& paint, const std::string& textLine, const IntPoint& destPosition) const { ASSERT(CCProxy::isImplThread()); diff --git a/cc/CCFontAtlas.h b/cc/CCFontAtlas.h index df4818f..bc7fac0 100644 --- a/cc/CCFontAtlas.h +++ b/cc/CCFontAtlas.h @@ -9,9 +9,9 @@ #include "IntRect.h" #include "SkBitmap.h" +#include <string> #include <wtf/OwnPtr.h> #include <wtf/PassOwnPtr.h> -#include <wtf/text/WTFString.h> class SkCanvas; @@ -39,7 +39,7 @@ public: // - IntSize clip is used to avoid wasting time drawing things that are outside the // target canvas bounds. // - Should only be called only on the impl thread. - void drawText(SkCanvas*, const SkPaint&, const String& text, const IntPoint& destPosition, const IntSize& clip) const; + void drawText(SkCanvas*, const SkPaint&, const std::string& text, const IntPoint& destPosition, const IntSize& clip) const; // Draws the entire atlas at the specified position, just for debugging purposes. void drawDebugAtlas(SkCanvas*, const IntPoint& destPosition) const; @@ -47,7 +47,7 @@ public: private: CCFontAtlas(SkBitmap, IntRect asciiToRectTable[128], int fontHeight); - void drawOneLineOfTextInternal(SkCanvas*, const SkPaint&, const String&, const IntPoint& destPosition) const; + void drawOneLineOfTextInternal(SkCanvas*, const SkPaint&, const std::string&, const IntPoint& destPosition) const; // The actual texture atlas containing all the pre-rendered glyphs. SkBitmap m_atlas; diff --git a/cc/CCHeadsUpDisplayLayerImpl.cpp b/cc/CCHeadsUpDisplayLayerImpl.cpp index 4f9c47d..ec2c126 100644 --- a/cc/CCHeadsUpDisplayLayerImpl.cpp +++ b/cc/CCHeadsUpDisplayLayerImpl.cpp @@ -6,6 +6,7 @@ #include "CCHeadsUpDisplayLayerImpl.h" +#include "base/stringprintf.h" #include "CCDebugRectHistory.h" #include "CCFontAtlas.h" #include "CCFrameRateCounter.h" @@ -18,7 +19,6 @@ #include "SkColorMatrixFilter.h" #include "SkPaint.h" #include "skia/ext/platform_canvas.h" -#include <wtf/text/WTFString.h> namespace WebCore { @@ -149,7 +149,7 @@ void CCHeadsUpDisplayLayerImpl::drawHudContents(SkCanvas* canvas) drawFPSCounter(canvas, layerTreeHostImpl()->fpsCounter(), fpsCounterTop, fpsCounterHeight); if (settings.showPlatformLayerTree && m_fontAtlas) { - String layerTree = layerTreeHostImpl()->layerTreeAsText(); + std::string layerTree = layerTreeHostImpl()->layerTreeAsText(); m_fontAtlas->drawText(canvas, createPaint(), layerTree, IntPoint(2, platformLayerTreeTop), bounds()); } @@ -225,7 +225,7 @@ void CCHeadsUpDisplayLayerImpl::drawFPSCounterText(SkCanvas* canvas, CCFrameRate // Draw FPS text. if (m_fontAtlas) - m_fontAtlas->drawText(canvas, createPaint(), String::format("FPS: %4.1f +/- %3.1f", averageFPS, stdDeviation), IntPoint(10, height / 3), IntSize(width, height)); + m_fontAtlas->drawText(canvas, createPaint(), base::StringPrintf("FPS: %4.1f +/- %3.1f", averageFPS, stdDeviation), IntPoint(10, height / 3), IntSize(width, height)); } void CCHeadsUpDisplayLayerImpl::drawDebugRects(SkCanvas* canvas, CCDebugRectHistory* debugRectHistory) diff --git a/cc/CCIOSurfaceLayerImpl.cpp b/cc/CCIOSurfaceLayerImpl.cpp index dee452c..ac875b3 100644 --- a/cc/CCIOSurfaceLayerImpl.cpp +++ b/cc/CCIOSurfaceLayerImpl.cpp @@ -8,13 +8,13 @@ #include "CCIOSurfaceLayerImpl.h" +#include "base/stringprintf.h" #include "CCGraphicsContext.h" #include "CCIOSurfaceDrawQuad.h" #include "CCLayerTreeHostImpl.h" #include "CCQuadSink.h" #include "CCRendererGL.h" // For the GLC() macro. #include "Extensions3D.h" -#include "TextStream.h" #include <public/WebGraphicsContext3D.h> namespace WebCore { @@ -84,11 +84,11 @@ void CCIOSurfaceLayerImpl::appendQuads(CCQuadSink& quadSink, CCAppendQuadsData& quadSink.append(CCIOSurfaceDrawQuad::create(sharedQuadState, quadRect, m_ioSurfaceSize, m_ioSurfaceTextureId, CCIOSurfaceDrawQuad::Flipped), appendQuadsData); } -void CCIOSurfaceLayerImpl::dumpLayerProperties(TextStream& ts, int indent) const +void CCIOSurfaceLayerImpl::dumpLayerProperties(std::string* str, int indent) const { - writeIndent(ts, indent); - ts << "iosurface id: " << m_ioSurfaceId << " texture id: " << m_ioSurfaceTextureId; - CCLayerImpl::dumpLayerProperties(ts, indent); + str->append(indentString(indent)); + base::StringAppendF(str, "iosurface id: %u texture id: %u\n", m_ioSurfaceId, m_ioSurfaceTextureId); + CCLayerImpl::dumpLayerProperties(str, indent); } void CCIOSurfaceLayerImpl::didLoseContext() diff --git a/cc/CCIOSurfaceLayerImpl.h b/cc/CCIOSurfaceLayerImpl.h index 476dbab..6f93205 100644 --- a/cc/CCIOSurfaceLayerImpl.h +++ b/cc/CCIOSurfaceLayerImpl.h @@ -25,7 +25,7 @@ public: virtual void willDraw(CCResourceProvider*) OVERRIDE; virtual void didLoseContext() OVERRIDE; - virtual void dumpLayerProperties(TextStream&, int indent) const OVERRIDE; + virtual void dumpLayerProperties(std::string*, int indent) const OVERRIDE; private: explicit CCIOSurfaceLayerImpl(int); diff --git a/cc/CCLayerImpl.cpp b/cc/CCLayerImpl.cpp index 8e35dca..cd28461 100644 --- a/cc/CCLayerImpl.cpp +++ b/cc/CCLayerImpl.cpp @@ -8,15 +8,14 @@ #include "CCLayerImpl.h" +#include "base/stringprintf.h" #include "CCDebugBorderDrawQuad.h" #include "CCLayerSorter.h" #include "CCMathUtil.h" #include "CCProxy.h" #include "CCQuadSink.h" #include "CCScrollbarAnimationController.h" -#include "TextStream.h" #include "TraceEvent.h" -#include <wtf/text/WTFString.h> using WebKit::WebTransformationMatrix; @@ -210,34 +209,37 @@ CCInputHandlerClient::ScrollStatus CCLayerImpl::tryScroll(const IntPoint& viewpo return CCInputHandlerClient::ScrollStarted; } -void CCLayerImpl::writeIndent(TextStream& ts, int indent) +std::string CCLayerImpl::indentString(int indent) { + std::string str; for (int i = 0; i != indent; ++i) - ts << " "; + str.append(" "); + return str; } -void CCLayerImpl::dumpLayerProperties(TextStream& ts, int indent) const +void CCLayerImpl::dumpLayerProperties(std::string* str, int indent) const { - writeIndent(ts, indent); - ts << "layer ID: " << m_layerId << "\n"; + std::string indentStr = indentString(indent); + str->append(indentStr); + base::StringAppendF(str, "layer ID: %d\n", m_layerId); - writeIndent(ts, indent); - ts << "bounds: " << bounds().width() << ", " << bounds().height() << "\n"; + str->append(indentStr); + base::StringAppendF(str, "bounds: %d, %d\n", bounds().width(), bounds().height()); if (m_renderTarget) { - writeIndent(ts, indent); - ts << "renderTarget: " << m_renderTarget->m_layerId << "\n"; + str->append(indentStr); + base::StringAppendF(str, "renderTarget: %d\n", m_renderTarget->m_layerId); } - writeIndent(ts, indent); - ts << "drawTransform: "; - ts << m_drawTransform.m11() << ", " << m_drawTransform.m12() << ", " << m_drawTransform.m13() << ", " << m_drawTransform.m14() << " // "; - ts << m_drawTransform.m21() << ", " << m_drawTransform.m22() << ", " << m_drawTransform.m23() << ", " << m_drawTransform.m24() << " // "; - ts << m_drawTransform.m31() << ", " << m_drawTransform.m32() << ", " << m_drawTransform.m33() << ", " << m_drawTransform.m34() << " // "; - ts << m_drawTransform.m41() << ", " << m_drawTransform.m42() << ", " << m_drawTransform.m43() << ", " << m_drawTransform.m44() << "\n"; + str->append(indentStr); + base::StringAppendF(str, "drawTransform: %f, %f, %f, %f // %f, %f, %f, %f // %f, %f, %f, %f // %f, %f, %f, %f\n", + m_drawTransform.m11(), m_drawTransform.m12(), m_drawTransform.m13(), m_drawTransform.m14(), + m_drawTransform.m21(), m_drawTransform.m22(), m_drawTransform.m23(), m_drawTransform.m24(), + m_drawTransform.m31(), m_drawTransform.m32(), m_drawTransform.m33(), m_drawTransform.m34(), + m_drawTransform.m41(), m_drawTransform.m42(), m_drawTransform.m43(), m_drawTransform.m44()); - writeIndent(ts, indent); - ts << "drawsContent: " << (m_drawsContent ? "yes" : "no") << "\n"; + str->append(indentStr); + base::StringAppendF(str, "drawsContent: %s\n", m_drawsContent ? "yes" : "no"); } void sortLayers(Vector<CCLayerImpl*>::iterator first, Vector<CCLayerImpl*>::iterator end, CCLayerSorter* layerSorter) @@ -246,30 +248,30 @@ void sortLayers(Vector<CCLayerImpl*>::iterator first, Vector<CCLayerImpl*>::iter layerSorter->sort(first, end); } -String CCLayerImpl::layerTreeAsText() const +std::string CCLayerImpl::layerTreeAsText() const { - TextStream ts; - dumpLayer(ts, 0); - return ts.release(); + std::string str; + dumpLayer(&str, 0); + return str; } -void CCLayerImpl::dumpLayer(TextStream& ts, int indent) const +void CCLayerImpl::dumpLayer(std::string* str, int indent) const { - writeIndent(ts, indent); - ts << layerTypeAsString() << "(" << m_debugName << ")\n"; - dumpLayerProperties(ts, indent+2); + str->append(indentString(indent)); + base::StringAppendF(str, "%s(%s)\n", layerTypeAsString(), m_debugName.data()); + dumpLayerProperties(str, indent+2); if (m_replicaLayer) { - writeIndent(ts, indent+2); - ts << "Replica:\n"; - m_replicaLayer->dumpLayer(ts, indent+3); + str->append(indentString(indent+2)); + str->append("Replica:\n"); + m_replicaLayer->dumpLayer(str, indent+3); } if (m_maskLayer) { - writeIndent(ts, indent+2); - ts << "Mask:\n"; - m_maskLayer->dumpLayer(ts, indent+3); + str->append(indentString(indent+2)); + str->append("Mask:\n"); + m_maskLayer->dumpLayer(str, indent+3); } for (size_t i = 0; i < m_children.size(); ++i) - m_children[i]->dumpLayer(ts, indent+1); + m_children[i]->dumpLayer(str, indent+1); } void CCLayerImpl::setStackingOrderChanged(bool stackingOrderChanged) diff --git a/cc/CCLayerImpl.h b/cc/CCLayerImpl.h index 01b4b75..c75e79b 100644 --- a/cc/CCLayerImpl.h +++ b/cc/CCLayerImpl.h @@ -14,13 +14,12 @@ #include "IntRect.h" #include "Region.h" #include "SkColor.h" -#include "TextStream.h" #include <public/WebFilterOperations.h> #include <public/WebTransformationMatrix.h> +#include <string> #include <wtf/OwnPtr.h> #include <wtf/PassRefPtr.h> #include <wtf/RefCounted.h> -#include <wtf/text/WTFString.h> namespace WebCore { @@ -144,8 +143,8 @@ public: bool hasDebugBorders() const; // Debug layer name. - void setDebugName(const String& debugName) { m_debugName = debugName; } - String debugName() const { return m_debugName; } + void setDebugName(const std::string& debugName) { m_debugName = debugName; } + std::string debugName() const { return m_debugName; } CCRenderSurface* renderSurface() const { return m_renderSurface.get(); } void createRenderSurface(); @@ -224,7 +223,7 @@ public: const FloatRect& updateRect() const { return m_updateRect; } void setUpdateRect(const FloatRect& updateRect) { m_updateRect = updateRect; } - String layerTreeAsText() const; + std::string layerTreeAsText() const; void setStackingOrderChanged(bool); @@ -257,8 +256,8 @@ protected: void appendDebugBorderQuad(CCQuadSink&, const CCSharedQuadState*, CCAppendQuadsData&) const; - virtual void dumpLayerProperties(TextStream&, int indent) const; - static void writeIndent(TextStream&, int indent); + virtual void dumpLayerProperties(std::string*, int indent) const; + static std::string indentString(int indent); private: void setParent(CCLayerImpl* parent) { m_parent = parent; } @@ -272,7 +271,7 @@ private: virtual const char* layerTypeAsString() const { return "LayerChromium"; } - void dumpLayer(TextStream&, int indent) const; + void dumpLayer(std::string*, int indent) const; // Properties internal to CCLayerImpl CCLayerImpl* m_parent; @@ -351,7 +350,7 @@ private: float m_debugBorderWidth; // Debug layer name. - String m_debugName; + std::string m_debugName; WebKit::WebFilterOperations m_filters; WebKit::WebFilterOperations m_backgroundFilters; diff --git a/cc/CCLayerTreeHostImpl.cpp b/cc/CCLayerTreeHostImpl.cpp index 5a46ac2..4c725dd 100644 --- a/cc/CCLayerTreeHostImpl.cpp +++ b/cc/CCLayerTreeHostImpl.cpp @@ -27,7 +27,6 @@ #include "CCScrollbarLayerImpl.h" #include "CCSettings.h" #include "CCSingleThreadProxy.h" -#include "TextStream.h" #include "TraceEvent.h" #include <wtf/CurrentTime.h> @@ -1221,24 +1220,24 @@ void CCLayerTreeHostImpl::clearRenderSurfaces() m_renderSurfaceLayerList.clear(); } -String CCLayerTreeHostImpl::layerTreeAsText() const +std::string CCLayerTreeHostImpl::layerTreeAsText() const { - TextStream ts; + std::string str; if (m_rootLayerImpl) { - ts << m_rootLayerImpl->layerTreeAsText(); - ts << "RenderSurfaces:\n"; - dumpRenderSurfaces(ts, 1, m_rootLayerImpl.get()); + str = m_rootLayerImpl->layerTreeAsText(); + str += "RenderSurfaces:\n"; + dumpRenderSurfaces(&str, 1, m_rootLayerImpl.get()); } - return ts.release(); + return str; } -void CCLayerTreeHostImpl::dumpRenderSurfaces(TextStream& ts, int indent, const CCLayerImpl* layer) const +void CCLayerTreeHostImpl::dumpRenderSurfaces(std::string* str, int indent, const CCLayerImpl* layer) const { if (layer->renderSurface()) - layer->renderSurface()->dumpSurface(ts, indent); + layer->renderSurface()->dumpSurface(str, indent); for (size_t i = 0; i < layer->children().size(); ++i) - dumpRenderSurfaces(ts, indent, layer->children()[i].get()); + dumpRenderSurfaces(str, indent, layer->children()[i].get()); } int CCLayerTreeHostImpl::sourceAnimationFrameNumber() const diff --git a/cc/CCLayerTreeHostImpl.h b/cc/CCLayerTreeHostImpl.h index 177f46f..5f39a36 100644 --- a/cc/CCLayerTreeHostImpl.h +++ b/cc/CCLayerTreeHostImpl.h @@ -104,7 +104,7 @@ public: bool canDraw(); CCGraphicsContext* context() const; - String layerTreeAsText() const; + std::string layerTreeAsText() const; void finishAllRendering(); int sourceAnimationFrameNumber() const; @@ -242,7 +242,7 @@ private: void animateScrollbarsRecursive(CCLayerImpl*, double monotonicTime); - void dumpRenderSurfaces(TextStream&, int indent, const CCLayerImpl*) const; + void dumpRenderSurfaces(std::string*, int indent, const CCLayerImpl*) const; OwnPtr<CCGraphicsContext> m_context; OwnPtr<CCResourceProvider> m_resourceProvider; diff --git a/cc/CCRenderSurface.cpp b/cc/CCRenderSurface.cpp index 7ddfa12..f109970 100644 --- a/cc/CCRenderSurface.cpp +++ b/cc/CCRenderSurface.cpp @@ -8,6 +8,7 @@ #include "CCRenderSurface.h" +#include "base/stringprintf.h" #include "CCDamageTracker.h" #include "CCDebugBorderDrawQuad.h" #include "CCLayerImpl.h" @@ -17,9 +18,7 @@ #include "CCRenderPassDrawQuad.h" #include "CCRenderPassSink.h" #include "CCSharedQuadState.h" -#include "TextStream.h" #include <public/WebTransformationMatrix.h> -#include <wtf/text/CString.h> using WebKit::WebTransformationMatrix; @@ -61,35 +60,40 @@ FloatRect CCRenderSurface::drawableContentRect() const return drawableContentRect; } -String CCRenderSurface::name() const +std::string CCRenderSurface::name() const { - return String::format("RenderSurface(id=%i,owner=%s)", m_owningLayer->id(), m_owningLayer->debugName().utf8().data()); + return base::StringPrintf("RenderSurface(id=%i,owner=%s)", m_owningLayer->id(), m_owningLayer->debugName().data()); } -static void writeIndent(TextStream& ts, int indent) +static std::string indentString(int indent) { + std::string str; for (int i = 0; i != indent; ++i) - ts << " "; + str.append(" "); + return str; } -void CCRenderSurface::dumpSurface(TextStream& ts, int indent) const +void CCRenderSurface::dumpSurface(std::string* str, int indent) const { - writeIndent(ts, indent); - ts << name() << "\n"; + std::string indentStr = indentString(indent); + str->append(indentStr); + base::StringAppendF(str, "%s\n", name().data()); - writeIndent(ts, indent+1); - ts << "contentRect: (" << m_contentRect.x() << ", " << m_contentRect.y() << ", " << m_contentRect.width() << ", " << m_contentRect.height() << "\n"; + indentStr.append(" "); + str->append(indentStr); + base::StringAppendF(str, "contentRect: (%d, %d, %d, %d)\n", m_contentRect.x(), m_contentRect.y(), m_contentRect.width(), m_contentRect.height()); - writeIndent(ts, indent+1); - ts << "drawTransform: "; - ts << m_drawTransform.m11() << ", " << m_drawTransform.m12() << ", " << m_drawTransform.m13() << ", " << m_drawTransform.m14() << " // "; - ts << m_drawTransform.m21() << ", " << m_drawTransform.m22() << ", " << m_drawTransform.m23() << ", " << m_drawTransform.m24() << " // "; - ts << m_drawTransform.m31() << ", " << m_drawTransform.m32() << ", " << m_drawTransform.m33() << ", " << m_drawTransform.m34() << " // "; - ts << m_drawTransform.m41() << ", " << m_drawTransform.m42() << ", " << m_drawTransform.m43() << ", " << m_drawTransform.m44() << "\n"; + str->append(indentStr); + base::StringAppendF(str, "drawTransform: %f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f\n", + m_drawTransform.m11(), m_drawTransform.m12(), m_drawTransform.m13(), m_drawTransform.m14(), + m_drawTransform.m21(), m_drawTransform.m22(), m_drawTransform.m23(), m_drawTransform.m24(), + m_drawTransform.m31(), m_drawTransform.m32(), m_drawTransform.m33(), m_drawTransform.m34(), + m_drawTransform.m41(), m_drawTransform.m42(), m_drawTransform.m43(), m_drawTransform.m44()); - writeIndent(ts, indent+1); - ts << "damageRect is pos(" << m_damageTracker->currentDamageRect().x() << "," << m_damageTracker->currentDamageRect().y() << "), "; - ts << "size(" << m_damageTracker->currentDamageRect().width() << "," << m_damageTracker->currentDamageRect().height() << ")\n"; + str->append(indentStr); + base::StringAppendF(str, "damageRect is pos(%f, %f), size(%f, %f)\n", + m_damageTracker->currentDamageRect().x(), m_damageTracker->currentDamageRect().y(), + m_damageTracker->currentDamageRect().width(), m_damageTracker->currentDamageRect().height()); } int CCRenderSurface::owningLayerId() const diff --git a/cc/CCRenderSurface.h b/cc/CCRenderSurface.h index 4c82198..26d0f90 100644 --- a/cc/CCRenderSurface.h +++ b/cc/CCRenderSurface.h @@ -14,7 +14,6 @@ #include "IntRect.h" #include <public/WebTransformationMatrix.h> #include <wtf/Noncopyable.h> -#include <wtf/text/WTFString.h> namespace WebCore { @@ -22,7 +21,6 @@ class CCDamageTracker; class CCQuadSink; class CCRenderPassSink; class CCLayerImpl; -class TextStream; struct CCAppendQuadsData; @@ -32,8 +30,8 @@ public: explicit CCRenderSurface(CCLayerImpl*); virtual ~CCRenderSurface(); - String name() const; - void dumpSurface(TextStream&, int indent) const; + std::string name() const; + void dumpSurface(std::string*, int indent) const; FloatPoint contentRectCenter() const { return FloatRect(m_contentRect).center(); } diff --git a/cc/CCRendererGL.cpp b/cc/CCRendererGL.cpp index dc20571..086d050 100644 --- a/cc/CCRendererGL.cpp +++ b/cc/CCRendererGL.cpp @@ -29,12 +29,18 @@ #include "ThrottledTextureUploader.h" #include "TraceEvent.h" #include "UnthrottledTextureUploader.h" +#ifdef LOG +#undef LOG +#endif +#include "base/string_split.h" #include <public/WebGraphicsContext3D.h> #include <public/WebSharedGraphicsContext3D.h> #include <public/WebVideoFrame.h> +#include <set> +#include <string> +#include <vector> #include <wtf/CurrentTime.h> #include <wtf/MainThread.h> -#include <wtf/text/StringHash.h> using namespace std; using WebKit::WebGraphicsContext3D; @@ -90,48 +96,45 @@ bool CCRendererGL::initialize() m_context->setContextLostCallback(this); m_context->pushGroupMarkerEXT("CompositorContext"); - WebKit::WebString extensionsWebString = m_context->getString(GraphicsContext3D::EXTENSIONS); - String extensionsString(extensionsWebString.data(), extensionsWebString.length()); - Vector<String> extensionsList; - extensionsString.split(' ', extensionsList); - HashSet<String> extensions; - for (size_t i = 0; i < extensionsList.size(); ++i) - extensions.add(extensionsList[i]); + std::string extensionsString = UTF16ToASCII(m_context->getString(GraphicsContext3D::EXTENSIONS)); + std::vector<std::string> extensionsList; + base::SplitString(extensionsString, ' ', &extensionsList); + std::set<string> extensions(extensionsList.begin(), extensionsList.end()); - if (settings().acceleratePainting && extensions.contains("GL_EXT_texture_format_BGRA8888") - && extensions.contains("GL_EXT_read_format_bgra")) + if (settings().acceleratePainting && extensions.count("GL_EXT_texture_format_BGRA8888") + && extensions.count("GL_EXT_read_format_bgra")) m_capabilities.usingAcceleratedPainting = true; else m_capabilities.usingAcceleratedPainting = false; - m_capabilities.contextHasCachedFrontBuffer = extensions.contains("GL_CHROMIUM_front_buffer_cached"); + m_capabilities.contextHasCachedFrontBuffer = extensions.count("GL_CHROMIUM_front_buffer_cached"); - m_capabilities.usingPartialSwap = CCSettings::partialSwapEnabled() && extensions.contains("GL_CHROMIUM_post_sub_buffer"); + m_capabilities.usingPartialSwap = CCSettings::partialSwapEnabled() && extensions.count("GL_CHROMIUM_post_sub_buffer"); // Use the swapBuffers callback only with the threaded proxy. if (CCProxy::hasImplThread()) - m_capabilities.usingSwapCompleteCallback = extensions.contains("GL_CHROMIUM_swapbuffers_complete_callback"); + m_capabilities.usingSwapCompleteCallback = extensions.count("GL_CHROMIUM_swapbuffers_complete_callback"); if (m_capabilities.usingSwapCompleteCallback) m_context->setSwapBuffersCompleteCallbackCHROMIUM(this); - m_capabilities.usingSetVisibility = extensions.contains("GL_CHROMIUM_set_visibility"); + m_capabilities.usingSetVisibility = extensions.count("GL_CHROMIUM_set_visibility"); - if (extensions.contains("GL_CHROMIUM_iosurface")) - ASSERT(extensions.contains("GL_ARB_texture_rectangle")); + if (extensions.count("GL_CHROMIUM_iosurface")) + ASSERT(extensions.count("GL_ARB_texture_rectangle")); - m_capabilities.usingGpuMemoryManager = extensions.contains("GL_CHROMIUM_gpu_memory_manager"); + m_capabilities.usingGpuMemoryManager = extensions.count("GL_CHROMIUM_gpu_memory_manager"); if (m_capabilities.usingGpuMemoryManager) m_context->setMemoryAllocationChangedCallbackCHROMIUM(this); - m_capabilities.usingDiscardFramebuffer = extensions.contains("GL_CHROMIUM_discard_framebuffer"); + m_capabilities.usingDiscardFramebuffer = extensions.count("GL_CHROMIUM_discard_framebuffer"); - m_capabilities.usingEglImage = extensions.contains("GL_OES_EGL_image_external"); + m_capabilities.usingEglImage = extensions.count("GL_OES_EGL_image_external"); GLC(m_context, m_context->getIntegerv(GraphicsContext3D::MAX_TEXTURE_SIZE, &m_capabilities.maxTextureSize)); - m_capabilities.bestTextureFormat = PlatformColor::bestTextureFormat(m_context, extensions.contains("GL_EXT_texture_format_BGRA8888")); + m_capabilities.bestTextureFormat = PlatformColor::bestTextureFormat(m_context, extensions.count("GL_EXT_texture_format_BGRA8888")); - m_isUsingBindUniform = extensions.contains("GL_CHROMIUM_bind_uniform_location"); + m_isUsingBindUniform = extensions.count("GL_CHROMIUM_bind_uniform_location"); if (!initializeSharedObjects()) return false; diff --git a/cc/CCResourceProvider.cpp b/cc/CCResourceProvider.cpp index 7acdadd..780539f 100644 --- a/cc/CCResourceProvider.cpp +++ b/cc/CCResourceProvider.cpp @@ -5,7 +5,12 @@ #include "config.h" #include "CCResourceProvider.h" +#ifdef LOG +#undef LOG +#endif +#include "base/string_split.h" +#include "base/string_util.h" #include "CCProxy.h" #include "CCRendererGL.h" // For the GLC() macro. #include "Extensions3DChromium.h" @@ -344,10 +349,9 @@ bool CCResourceProvider::initialize() if (!context3d->makeContextCurrent()) return false; - WebKit::WebString extensionsWebString = context3d->getString(GraphicsContext3D::EXTENSIONS); - String extensionsString(extensionsWebString.data(), extensionsWebString.length()); - Vector<String> extensions; - extensionsString.split(' ', extensions); + std::string extensionsString = UTF16ToASCII(context3d->getString(GraphicsContext3D::EXTENSIONS)); + std::vector<std::string> extensions; + base::SplitString(extensionsString, ' ', &extensions); bool useMapSub = false; for (size_t i = 0; i < extensions.size(); ++i) { if (extensions[i] == "GL_EXT_texture_storage") diff --git a/cc/CCSchedulerStateMachine.cpp b/cc/CCSchedulerStateMachine.cpp index f4157c4..2d88450 100644 --- a/cc/CCSchedulerStateMachine.cpp +++ b/cc/CCSchedulerStateMachine.cpp @@ -5,7 +5,7 @@ #include "config.h" #include "CCSchedulerStateMachine.h" -#include "TextStream.h" +#include "base/stringprintf.h" namespace WebCore { @@ -33,29 +33,29 @@ CCSchedulerStateMachine::CCSchedulerStateMachine() { } -String CCSchedulerStateMachine::toString() +std::string CCSchedulerStateMachine::toString() { - TextStream ts; - ts << "m_commitState = " << m_commitState << "; "; - ts << "m_currentFrameNumber = " << m_currentFrameNumber << "; "; - ts << "m_lastFrameNumberWhereDrawWasCalled = " << m_lastFrameNumberWhereDrawWasCalled << "; "; - ts << "m_consecutiveFailedDraws = " << m_consecutiveFailedDraws << "; "; - ts << "m_maximumNumberOfFailedDrawsBeforeDrawIsForced = " << m_maximumNumberOfFailedDrawsBeforeDrawIsForced << "; "; - ts << "m_needsRedraw = " << m_needsRedraw << "; "; - ts << "m_needsForcedRedraw = " << m_needsForcedRedraw << "; "; - ts << "m_needsForcedRedrawAfterNextCommit = " << m_needsForcedRedrawAfterNextCommit << "; "; - ts << "m_needsCommit = " << m_needsCommit << "; "; - ts << "m_needsForcedCommit = " << m_needsForcedCommit << "; "; - ts << "m_mainThreadNeedsLayerTextures = " << m_mainThreadNeedsLayerTextures << "; "; - ts << "m_updateMoreResourcesPending = " << m_updateMoreResourcesPending << "; "; - ts << "m_insideVSync = " << m_insideVSync << "; "; - ts << "m_visible = " << m_visible << "; "; - ts << "m_canBeginFrame = " << m_canBeginFrame << "; "; - ts << "m_canDraw = " << m_canDraw << "; "; - ts << "m_drawIfPossibleFailed = " << m_drawIfPossibleFailed << "; "; - ts << "m_textureState = " << m_textureState << "; "; - ts << "m_contextState = " << m_contextState << "; "; - return ts.release(); + std::string str; + base::StringAppendF(&str, "m_commitState = %d; ", m_commitState); + base::StringAppendF(&str, "m_currentFrameNumber = %d; ", m_currentFrameNumber); + base::StringAppendF(&str, "m_lastFrameNumberWhereDrawWasCalled = %d; ", m_lastFrameNumberWhereDrawWasCalled); + base::StringAppendF(&str, "m_consecutiveFailedDraws = %d; ", m_consecutiveFailedDraws); + base::StringAppendF(&str, "m_maximumNumberOfFailedDrawsBeforeDrawIsForced = %d; ", m_maximumNumberOfFailedDrawsBeforeDrawIsForced); + base::StringAppendF(&str, "m_needsRedraw = %d; ", m_needsRedraw); + base::StringAppendF(&str, "m_needsForcedRedraw = %d; ", m_needsForcedRedraw); + base::StringAppendF(&str, "m_needsForcedRedrawAfterNextCommit = %d; ", m_needsForcedRedrawAfterNextCommit); + base::StringAppendF(&str, "m_needsCommit = %d; ", m_needsCommit); + base::StringAppendF(&str, "m_needsForcedCommit = %d; ", m_needsForcedCommit); + base::StringAppendF(&str, "m_mainThreadNeedsLayerTextures = %d; ", m_mainThreadNeedsLayerTextures); + base::StringAppendF(&str, "m_updateMoreResourcesPending = %d; ", m_updateMoreResourcesPending); + base::StringAppendF(&str, "m_insideVSync = %d; ", m_insideVSync); + base::StringAppendF(&str, "m_visible = %d; ", m_visible); + base::StringAppendF(&str, "m_canBeginFrame = %d; ", m_canBeginFrame); + base::StringAppendF(&str, "m_canDraw = %d; ", m_canDraw); + base::StringAppendF(&str, "m_drawIfPossibleFailed = %d; ", m_drawIfPossibleFailed); + base::StringAppendF(&str, "m_textureState = %d; ", m_textureState); + base::StringAppendF(&str, "m_contextState = %d; ", m_contextState); + return str; } bool CCSchedulerStateMachine::hasDrawnThisFrame() const diff --git a/cc/CCSchedulerStateMachine.h b/cc/CCSchedulerStateMachine.h index 5cd46a7..330b480 100644 --- a/cc/CCSchedulerStateMachine.h +++ b/cc/CCSchedulerStateMachine.h @@ -5,8 +5,8 @@ #ifndef CCSchedulerStateMachine_h #define CCSchedulerStateMachine_h +#include <string> #include <wtf/Noncopyable.h> -#include <wtf/text/WTFString.h> namespace WebCore { @@ -129,7 +129,7 @@ public: // Exposed for testing purposes. void setMaximumNumberOfFailedDrawsBeforeDrawIsForced(int); - String toString(); + std::string toString(); protected: bool shouldDrawForced() const; diff --git a/cc/CCSchedulerStateMachineTest.cpp b/cc/CCSchedulerStateMachineTest.cpp index d573a31..d379869 100644 --- a/cc/CCSchedulerStateMachineTest.cpp +++ b/cc/CCSchedulerStateMachineTest.cpp @@ -7,8 +7,6 @@ #include "CCSchedulerStateMachine.h" #include <gtest/gtest.h> -#include <wtf/text/CString.h> -#include <wtf/text/WTFString.h> using namespace WTF; using namespace WebCore; diff --git a/cc/CCSolidColorLayerImpl.cpp b/cc/CCSolidColorLayerImpl.cpp index 557740a..03b5dd3 100644 --- a/cc/CCSolidColorLayerImpl.cpp +++ b/cc/CCSolidColorLayerImpl.cpp @@ -11,7 +11,6 @@ #include "CCQuadSink.h" #include "CCSolidColorDrawQuad.h" #include <wtf/MathExtras.h> -#include <wtf/text/WTFString.h> using namespace std; using WebKit::WebTransformationMatrix; diff --git a/cc/CCTextureLayerImpl.cpp b/cc/CCTextureLayerImpl.cpp index 215028a..ef3e342 100644 --- a/cc/CCTextureLayerImpl.cpp +++ b/cc/CCTextureLayerImpl.cpp @@ -8,10 +8,10 @@ #include "CCTextureLayerImpl.h" +#include "base/stringprintf.h" #include "CCQuadSink.h" #include "CCRenderer.h" #include "CCTextureDrawQuad.h" -#include "TextStream.h" namespace WebCore { @@ -61,11 +61,11 @@ void CCTextureLayerImpl::didDraw(CCResourceProvider* resourceProvider) m_externalTextureResource = 0; } -void CCTextureLayerImpl::dumpLayerProperties(TextStream& ts, int indent) const +void CCTextureLayerImpl::dumpLayerProperties(std::string* str, int indent) const { - writeIndent(ts, indent); - ts << "texture layer texture id: " << m_textureId << " premultiplied: " << m_premultipliedAlpha << "\n"; - CCLayerImpl::dumpLayerProperties(ts, indent); + str->append(indentString(indent)); + base::StringAppendF(str, "texture layer texture id: %u premultiplied: %d\n", m_textureId, m_premultipliedAlpha); + CCLayerImpl::dumpLayerProperties(str, indent); } void CCTextureLayerImpl::didLoseContext() diff --git a/cc/CCTextureLayerImpl.h b/cc/CCTextureLayerImpl.h index c29ba2d..275daab 100644 --- a/cc/CCTextureLayerImpl.h +++ b/cc/CCTextureLayerImpl.h @@ -23,7 +23,7 @@ public: virtual void didLoseContext() OVERRIDE; - virtual void dumpLayerProperties(TextStream&, int indent) const OVERRIDE; + virtual void dumpLayerProperties(std::string*, int indent) const OVERRIDE; unsigned textureId() const { return m_textureId; } void setTextureId(unsigned id) { m_textureId = id; } diff --git a/cc/CCTiledLayerImpl.cpp b/cc/CCTiledLayerImpl.cpp index 8db9b04..5c63275 100644 --- a/cc/CCTiledLayerImpl.cpp +++ b/cc/CCTiledLayerImpl.cpp @@ -8,6 +8,7 @@ #include "CCTiledLayerImpl.h" +#include "base/stringprintf.h" #include "CCAppendQuadsData.h" #include "CCCheckerboardDrawQuad.h" #include "CCDebugBorderDrawQuad.h" @@ -19,8 +20,6 @@ #include "FloatQuad.h" #include "GraphicsContext3D.h" #include "SkColor.h" -#include "TextStream.h" -#include <wtf/text/WTFString.h> using namespace std; using WebKit::WebTransformationMatrix; @@ -75,11 +74,11 @@ CCResourceProvider::ResourceId CCTiledLayerImpl::contentsResourceId() const return resourceId; } -void CCTiledLayerImpl::dumpLayerProperties(TextStream& ts, int indent) const +void CCTiledLayerImpl::dumpLayerProperties(std::string* str, int indent) const { - CCLayerImpl::dumpLayerProperties(ts, indent); - writeIndent(ts, indent); - ts << "skipsDraw: " << (!m_tiler || m_skipsDraw) << "\n"; + str->append(indentString(indent)); + base::StringAppendF(str, "skipsDraw: %d\n", (!m_tiler || m_skipsDraw)); + CCLayerImpl::dumpLayerProperties(str, indent); } bool CCTiledLayerImpl::hasTileAt(int i, int j) const diff --git a/cc/CCTiledLayerImpl.h b/cc/CCTiledLayerImpl.h index c8c739d..48d52f5 100644 --- a/cc/CCTiledLayerImpl.h +++ b/cc/CCTiledLayerImpl.h @@ -25,7 +25,7 @@ public: virtual CCResourceProvider::ResourceId contentsResourceId() const OVERRIDE; - virtual void dumpLayerProperties(TextStream&, int indent) const OVERRIDE; + virtual void dumpLayerProperties(std::string*, int indent) const OVERRIDE; void setSkipsDraw(bool skipsDraw) { m_skipsDraw = skipsDraw; } void setTilingData(const CCLayerTilingData& tiler); diff --git a/cc/CCVideoLayerImpl.cpp b/cc/CCVideoLayerImpl.cpp index b83cb88..8b0bcd4 100644 --- a/cc/CCVideoLayerImpl.cpp +++ b/cc/CCVideoLayerImpl.cpp @@ -19,9 +19,7 @@ #include "Extensions3DChromium.h" #include "GraphicsContext3D.h" #include "NotImplemented.h" -#include "TextStream.h" #include <public/WebVideoFrame.h> -#include <wtf/text/WTFString.h> namespace WebCore { @@ -376,11 +374,11 @@ void CCVideoLayerImpl::setNeedsRedraw() layerTreeHostImpl()->setNeedsRedraw(); } -void CCVideoLayerImpl::dumpLayerProperties(TextStream& ts, int indent) const +void CCVideoLayerImpl::dumpLayerProperties(std::string* str, int indent) const { - writeIndent(ts, indent); - ts << "video layer\n"; - CCLayerImpl::dumpLayerProperties(ts, indent); + str->append(indentString(indent)); + str->append("video layer\n"); + CCLayerImpl::dumpLayerProperties(str, indent); } } diff --git a/cc/CCVideoLayerImpl.h b/cc/CCVideoLayerImpl.h index 91cfae9..bd216cc 100644 --- a/cc/CCVideoLayerImpl.h +++ b/cc/CCVideoLayerImpl.h @@ -33,7 +33,7 @@ public: virtual void appendQuads(CCQuadSink&, CCAppendQuadsData&) OVERRIDE; virtual void didDraw(CCResourceProvider*) OVERRIDE; - virtual void dumpLayerProperties(TextStream&, int indent) const OVERRIDE; + virtual void dumpLayerProperties(std::string*, int indent) const OVERRIDE; Mutex& providerMutex() { return m_providerMutex; } diff --git a/cc/LayerChromium.cpp b/cc/LayerChromium.cpp index c8f6d66..3b71824 100644 --- a/cc/LayerChromium.cpp +++ b/cc/LayerChromium.cpp @@ -13,8 +13,6 @@ #include "CCLayerImpl.h" #include "CCLayerTreeHost.h" #include "CCSettings.h" -#include "TextStream.h" - #include <public/WebAnimationDelegate.h> #include <public/WebLayerScrollClient.h> #include <public/WebSize.h> @@ -509,7 +507,7 @@ void LayerChromium::pushPropertiesTo(CCLayerImpl* layer) layer->setContentBounds(contentBounds()); layer->setDebugBorderColor(m_debugBorderColor); layer->setDebugBorderWidth(m_debugBorderWidth); - layer->setDebugName(m_debugName.isolatedCopy()); // We have to use isolatedCopy() here to safely pass ownership to another thread. + layer->setDebugName(m_debugName); layer->setDoubleSided(m_doubleSided); layer->setDrawCheckerboardForMissingTiles(m_drawCheckerboardForMissingTiles); layer->setForceRenderSurface(m_forceRenderSurface); @@ -581,7 +579,7 @@ void LayerChromium::setDebugBorderWidth(float width) setNeedsCommit(); } -void LayerChromium::setDebugName(const String& debugName) +void LayerChromium::setDebugName(const std::string& debugName) { m_debugName = debugName; setNeedsCommit(); diff --git a/cc/LayerChromium.h b/cc/LayerChromium.h index 7b06a6d..583a448 100644 --- a/cc/LayerChromium.h +++ b/cc/LayerChromium.h @@ -15,16 +15,14 @@ #include "Region.h" #include "RenderSurfaceChromium.h" #include "SkColor.h" - #include <public/WebFilterOperations.h> #include <public/WebTransformationMatrix.h> +#include <string> #include <wtf/OwnPtr.h> #include <wtf/PassOwnPtr.h> #include <wtf/PassRefPtr.h> #include <wtf/RefCounted.h> #include <wtf/Vector.h> -#include <wtf/text/StringHash.h> -#include <wtf/text/WTFString.h> namespace WebKit { class WebAnimationDelegate; @@ -186,7 +184,7 @@ public: void setDebugBorderColor(SkColor); void setDebugBorderWidth(float); - void setDebugName(const String&); + void setDebugName(const std::string&); virtual void pushPropertiesTo(CCLayerImpl*); @@ -325,7 +323,7 @@ private: SkColor m_backgroundColor; SkColor m_debugBorderColor; float m_debugBorderWidth; - String m_debugName; + std::string m_debugName; float m_opacity; WebKit::WebFilterOperations m_filters; WebKit::WebFilterOperations m_backgroundFilters; diff --git a/cc/ProgramBinding.cpp b/cc/ProgramBinding.cpp index e61bf78..1c175b9 100644 --- a/cc/ProgramBinding.cpp +++ b/cc/ProgramBinding.cpp @@ -13,7 +13,6 @@ #include "GraphicsContext3D.h" #include "TraceEvent.h" #include <public/WebGraphicsContext3D.h> -#include <wtf/text/CString.h> using WebKit::WebGraphicsContext3D; @@ -42,7 +41,7 @@ static bool contextLost(WebGraphicsContext3D* context) } -void ProgramBindingBase::init(WebGraphicsContext3D* context, const String& vertexShader, const String& fragmentShader) +void ProgramBindingBase::init(WebGraphicsContext3D* context, const std::string& vertexShader, const std::string& fragmentShader) { TRACE_EVENT0("cc", "ProgramBindingBase::init"); m_vertexShaderId = loadShader(context, GraphicsContext3D::VERTEX_SHADER, vertexShader); @@ -94,13 +93,12 @@ void ProgramBindingBase::cleanup(WebGraphicsContext3D* context) cleanupShaders(context); } -unsigned ProgramBindingBase::loadShader(WebGraphicsContext3D* context, unsigned type, const String& shaderSource) +unsigned ProgramBindingBase::loadShader(WebGraphicsContext3D* context, unsigned type, const std::string& shaderSource) { unsigned shader = context->createShader(type); if (!shader) return 0; - String sourceString(shaderSource); - GLC(context, context->shaderSource(shader, sourceString.utf8().data())); + GLC(context, context->shaderSource(shader, shaderSource.data())); GLC(context, context->compileShader(shader)); #ifndef NDEBUG int compiled = 0; diff --git a/cc/ProgramBinding.h b/cc/ProgramBinding.h index fdf0063..5c59fd2 100644 --- a/cc/ProgramBinding.h +++ b/cc/ProgramBinding.h @@ -7,7 +7,7 @@ #if USE(ACCELERATED_COMPOSITING) -#include <wtf/text/WTFString.h> +#include <string> namespace WebKit { class WebGraphicsContext3D; @@ -20,7 +20,7 @@ public: ProgramBindingBase(); ~ProgramBindingBase(); - void init(WebKit::WebGraphicsContext3D*, const String& vertexShader, const String& fragmentShader); + void init(WebKit::WebGraphicsContext3D*, const std::string& vertexShader, const std::string& fragmentShader); void link(WebKit::WebGraphicsContext3D*); void cleanup(WebKit::WebGraphicsContext3D*); @@ -29,7 +29,7 @@ public: protected: - unsigned loadShader(WebKit::WebGraphicsContext3D*, unsigned type, const String& shaderSource); + unsigned loadShader(WebKit::WebGraphicsContext3D*, unsigned type, const std::string& shaderSource); unsigned createShaderProgram(WebKit::WebGraphicsContext3D*, unsigned vertexShader, unsigned fragmentShader); void cleanupShaders(WebKit::WebGraphicsContext3D*); diff --git a/cc/RenderSurfaceChromium.cpp b/cc/RenderSurfaceChromium.cpp index 7f207c4..0ca05ee 100644 --- a/cc/RenderSurfaceChromium.cpp +++ b/cc/RenderSurfaceChromium.cpp @@ -11,7 +11,6 @@ #include "CCMathUtil.h" #include "LayerChromium.h" #include <public/WebTransformationMatrix.h> -#include <wtf/text/CString.h> using WebKit::WebTransformationMatrix; diff --git a/cc/ShaderChromium.cpp b/cc/ShaderChromium.cpp index 270a11d..bfb642e 100644 --- a/cc/ShaderChromium.cpp +++ b/cc/ShaderChromium.cpp @@ -9,6 +9,7 @@ #include "ShaderChromium.h" #include <public/WebGraphicsContext3D.h> +#include <wtf/StdLibExtras.h> #define SHADER0(Src) #Src #define SHADER(Src) SHADER0(Src) @@ -52,7 +53,7 @@ void VertexShaderPosTex::init(WebGraphicsContext3D* context, unsigned program, b ASSERT(m_matrixLocation != -1); } -String VertexShaderPosTex::getShaderString() const +std::string VertexShaderPosTex::getShaderString() const { return SHADER( attribute vec4 a_position; @@ -91,7 +92,7 @@ void VertexShaderPosTexYUVStretch::init(WebGraphicsContext3D* context, unsigned ASSERT(m_matrixLocation != -1 && m_yWidthScaleFactorLocation != -1 && m_uvWidthScaleFactorLocation != -1); } -String VertexShaderPosTexYUVStretch::getShaderString() const +std::string VertexShaderPosTexYUVStretch::getShaderString() const { return SHADER( precision mediump float; @@ -129,7 +130,7 @@ void VertexShaderPos::init(WebGraphicsContext3D* context, unsigned program, bool ASSERT(m_matrixLocation != -1); } -String VertexShaderPos::getShaderString() const +std::string VertexShaderPos::getShaderString() const { return SHADER( attribute vec4 a_position; @@ -162,7 +163,7 @@ void VertexShaderPosTexTransform::init(WebGraphicsContext3D* context, unsigned p ASSERT(m_matrixLocation != -1 && m_texTransformLocation != -1); } -String VertexShaderPosTexTransform::getShaderString() const +std::string VertexShaderPosTexTransform::getShaderString() const { return SHADER( attribute vec4 a_position; @@ -184,7 +185,7 @@ VertexShaderQuad::VertexShaderQuad() { } -String VertexShaderPosTexIdentity::getShaderString() const +std::string VertexShaderPosTexIdentity::getShaderString() const { return SHADER( attribute vec4 a_position; @@ -212,7 +213,7 @@ void VertexShaderQuad::init(WebGraphicsContext3D* context, unsigned program, boo ASSERT(m_matrixLocation != -1 && m_pointLocation != -1); } -String VertexShaderQuad::getShaderString() const +std::string VertexShaderQuad::getShaderString() const { return SHADER( attribute vec4 a_position; @@ -258,7 +259,7 @@ void VertexShaderTile::init(WebGraphicsContext3D* context, unsigned program, boo ASSERT(m_matrixLocation != -1 && m_pointLocation != -1 && m_vertexTexTransformLocation != -1); } -String VertexShaderTile::getShaderString() const +std::string VertexShaderTile::getShaderString() const { return SHADER( attribute vec4 a_position; @@ -302,7 +303,7 @@ bool VertexShaderVideoTransform::init(WebGraphicsContext3D* context, unsigned pr return m_matrixLocation != -1 && m_texMatrixLocation != -1; } -String VertexShaderVideoTransform::getShaderString() const +std::string VertexShaderVideoTransform::getShaderString() const { return SHADER( attribute vec4 a_position; @@ -357,7 +358,7 @@ void FragmentTexOpaqueBinding::init(WebGraphicsContext3D* context, unsigned prog ASSERT(m_samplerLocation != -1); } -String FragmentShaderRGBATexFlipAlpha::getShaderString() const +std::string FragmentShaderRGBATexFlipAlpha::getShaderString() const { return SHADER( precision mediump float; @@ -385,7 +386,7 @@ bool FragmentShaderOESImageExternal::init(WebGraphicsContext3D* context, unsigne return m_samplerLocation != -1; } -String FragmentShaderOESImageExternal::getShaderString() const +std::string FragmentShaderOESImageExternal::getShaderString() const { // Cannot use the SHADER() macro because of the '#' char return "#extension GL_OES_EGL_image_external : require \n" @@ -399,7 +400,7 @@ String FragmentShaderOESImageExternal::getShaderString() const "}\n"; } -String FragmentShaderRGBATexAlpha::getShaderString() const +std::string FragmentShaderRGBATexAlpha::getShaderString() const { return SHADER( precision mediump float; @@ -414,7 +415,7 @@ String FragmentShaderRGBATexAlpha::getShaderString() const ); } -String FragmentShaderRGBATexRectFlipAlpha::getShaderString() const +std::string FragmentShaderRGBATexRectFlipAlpha::getShaderString() const { // This must be paired with VertexShaderPosTexTransform to pick up the texTransform uniform. // The necessary #extension preprocessing directive breaks the SHADER and SHADER0 macros. @@ -431,7 +432,7 @@ String FragmentShaderRGBATexRectFlipAlpha::getShaderString() const "}\n"; } -String FragmentShaderRGBATexRectAlpha::getShaderString() const +std::string FragmentShaderRGBATexRectAlpha::getShaderString() const { return "#extension GL_ARB_texture_rectangle : require\n" "precision mediump float;\n" @@ -445,7 +446,7 @@ String FragmentShaderRGBATexRectAlpha::getShaderString() const "}\n"; } -String FragmentShaderRGBATexOpaque::getShaderString() const +std::string FragmentShaderRGBATexOpaque::getShaderString() const { return SHADER( precision mediump float; @@ -459,7 +460,7 @@ String FragmentShaderRGBATexOpaque::getShaderString() const ); } -String FragmentShaderRGBATex::getShaderString() const +std::string FragmentShaderRGBATex::getShaderString() const { return SHADER( precision mediump float; @@ -472,7 +473,7 @@ String FragmentShaderRGBATex::getShaderString() const ); } -String FragmentShaderRGBATexSwizzleAlpha::getShaderString() const +std::string FragmentShaderRGBATexSwizzleAlpha::getShaderString() const { return SHADER( precision mediump float; @@ -487,7 +488,7 @@ String FragmentShaderRGBATexSwizzleAlpha::getShaderString() const ); } -String FragmentShaderRGBATexSwizzleOpaque::getShaderString() const +std::string FragmentShaderRGBATexSwizzleOpaque::getShaderString() const { return SHADER( precision mediump float; @@ -525,7 +526,7 @@ void FragmentShaderRGBATexAlphaAA::init(WebGraphicsContext3D* context, unsigned ASSERT(m_samplerLocation != -1 && m_alphaLocation != -1 && m_edgeLocation != -1); } -String FragmentShaderRGBATexAlphaAA::getShaderString() const +std::string FragmentShaderRGBATexAlphaAA::getShaderString() const { return SHADER( precision mediump float; @@ -577,7 +578,7 @@ void FragmentTexClampAlphaAABinding::init(WebGraphicsContext3D* context, unsigne ASSERT(m_samplerLocation != -1 && m_alphaLocation != -1 && m_fragmentTexTransformLocation != -1 && m_edgeLocation != -1); } -String FragmentShaderRGBATexClampAlphaAA::getShaderString() const +std::string FragmentShaderRGBATexClampAlphaAA::getShaderString() const { return SHADER( precision mediump float; @@ -604,7 +605,7 @@ String FragmentShaderRGBATexClampAlphaAA::getShaderString() const ); } -String FragmentShaderRGBATexClampSwizzleAlphaAA::getShaderString() const +std::string FragmentShaderRGBATexClampSwizzleAlphaAA::getShaderString() const { return SHADER( precision mediump float; @@ -660,7 +661,7 @@ void FragmentShaderRGBATexAlphaMask::init(WebGraphicsContext3D* context, unsigne ASSERT(m_samplerLocation != -1 && m_maskSamplerLocation != -1 && m_alphaLocation != -1); } -String FragmentShaderRGBATexAlphaMask::getShaderString() const +std::string FragmentShaderRGBATexAlphaMask::getShaderString() const { return SHADER( precision mediump float; @@ -712,7 +713,7 @@ void FragmentShaderRGBATexAlphaMaskAA::init(WebGraphicsContext3D* context, unsig ASSERT(m_samplerLocation != -1 && m_maskSamplerLocation != -1 && m_alphaLocation != -1 && m_edgeLocation != -1); } -String FragmentShaderRGBATexAlphaMaskAA::getShaderString() const +std::string FragmentShaderRGBATexAlphaMaskAA::getShaderString() const { return SHADER( precision mediump float; @@ -777,7 +778,7 @@ void FragmentShaderYUVVideo::init(WebGraphicsContext3D* context, unsigned progra && m_alphaLocation != -1 && m_ccMatrixLocation != -1 && m_yuvAdjLocation != -1); } -String FragmentShaderYUVVideo::getShaderString() const +std::string FragmentShaderYUVVideo::getShaderString() const { return SHADER( precision mediump float; @@ -820,7 +821,7 @@ void FragmentShaderColor::init(WebGraphicsContext3D* context, unsigned program, ASSERT(m_colorLocation != -1); } -String FragmentShaderColor::getShaderString() const +std::string FragmentShaderColor::getShaderString() const { return SHADER( precision mediump float; @@ -856,7 +857,7 @@ void FragmentShaderCheckerboard::init(WebGraphicsContext3D* context, unsigned pr ASSERT(m_alphaLocation != -1 && m_texTransformLocation != -1 && m_frequencyLocation != -1); } -String FragmentShaderCheckerboard::getShaderString() const +std::string FragmentShaderCheckerboard::getShaderString() const { // Shader based on Example 13-17 of "OpenGL ES 2.0 Programming Guide" // by Munshi, Ginsburg, Shreiner. diff --git a/cc/ShaderChromium.h b/cc/ShaderChromium.h index ffb6767..503ae47 100644 --- a/cc/ShaderChromium.h +++ b/cc/ShaderChromium.h @@ -8,7 +8,7 @@ #if USE(ACCELERATED_COMPOSITING) #include "SkColorPriv.h" -#include <wtf/text/WTFString.h> +#include <string> namespace WebKit { class WebGraphicsContext3D; @@ -21,7 +21,7 @@ public: VertexShaderPosTex(); void init(WebKit::WebGraphicsContext3D*, unsigned program, bool usingBindUniform, int* baseUniformIndex); - String getShaderString() const; + std::string getShaderString() const; int matrixLocation() const { return m_matrixLocation; } @@ -34,7 +34,7 @@ public: VertexShaderPosTexYUVStretch(); void init(WebKit::WebGraphicsContext3D*, unsigned program, bool usingBindUniform, int* baseUniformIndex); - String getShaderString() const; + std::string getShaderString() const; int matrixLocation() const { return m_matrixLocation; } int yWidthScaleFactorLocation() const { return m_yWidthScaleFactorLocation; } @@ -51,7 +51,7 @@ public: VertexShaderPos(); void init(WebKit::WebGraphicsContext3D*, unsigned program, bool usingBindUniform, int* baseUniformIndex); - String getShaderString() const; + std::string getShaderString() const; int matrixLocation() const { return m_matrixLocation; } @@ -62,7 +62,7 @@ private: class VertexShaderPosTexIdentity { public: void init(WebKit::WebGraphicsContext3D*, unsigned program, bool usingBindUniform, int* baseUniformIndex) { } - String getShaderString() const; + std::string getShaderString() const; }; class VertexShaderPosTexTransform { @@ -70,7 +70,7 @@ public: VertexShaderPosTexTransform(); void init(WebKit::WebGraphicsContext3D*, unsigned program, bool usingBindUniform, int* baseUniformIndex); - String getShaderString() const; + std::string getShaderString() const; int matrixLocation() const { return m_matrixLocation; } int texTransformLocation() const { return m_texTransformLocation; } @@ -85,7 +85,7 @@ public: VertexShaderQuad(); void init(WebKit::WebGraphicsContext3D*, unsigned program, bool usingBindUniform, int* baseUniformIndex); - String getShaderString() const; + std::string getShaderString() const; int matrixLocation() const { return m_matrixLocation; } int pointLocation() const { return m_pointLocation; } @@ -100,7 +100,7 @@ public: VertexShaderTile(); void init(WebKit::WebGraphicsContext3D*, unsigned program, bool usingBindUniform, int* baseUniformIndex); - String getShaderString() const; + std::string getShaderString() const; int matrixLocation() const { return m_matrixLocation; } int pointLocation() const { return m_pointLocation; } @@ -117,7 +117,7 @@ public: VertexShaderVideoTransform(); bool init(WebKit::WebGraphicsContext3D*, unsigned program, bool usingBindUniform, int* baseUniformIndex); - String getShaderString() const; + std::string getShaderString() const; int matrixLocation() const { return m_matrixLocation; } int texMatrixLocation() const { return m_texMatrixLocation; } @@ -158,50 +158,50 @@ private: class FragmentShaderRGBATexFlipAlpha : public FragmentTexAlphaBinding { public: - String getShaderString() const; + std::string getShaderString() const; }; class FragmentShaderRGBATexAlpha : public FragmentTexAlphaBinding { public: - String getShaderString() const; + std::string getShaderString() const; }; class FragmentShaderRGBATexRectFlipAlpha : public FragmentTexAlphaBinding { public: - String getShaderString() const; + std::string getShaderString() const; }; class FragmentShaderRGBATexRectAlpha : public FragmentTexAlphaBinding { public: - String getShaderString() const; + std::string getShaderString() const; }; class FragmentShaderRGBATexOpaque : public FragmentTexOpaqueBinding { public: - String getShaderString() const; + std::string getShaderString() const; }; class FragmentShaderRGBATex : public FragmentTexOpaqueBinding { public: - String getShaderString() const; + std::string getShaderString() const; }; // Swizzles the red and blue component of sampled texel with alpha. class FragmentShaderRGBATexSwizzleAlpha : public FragmentTexAlphaBinding { public: - String getShaderString() const; + std::string getShaderString() const; }; // Swizzles the red and blue component of sampled texel without alpha. class FragmentShaderRGBATexSwizzleOpaque : public FragmentTexOpaqueBinding { public: - String getShaderString() const; + std::string getShaderString() const; }; // Fragment shader for external textures. class FragmentShaderOESImageExternal : public FragmentTexAlphaBinding { public: - String getShaderString() const; + std::string getShaderString() const; bool init(WebKit::WebGraphicsContext3D*, unsigned program, bool usingBindUniform, int* baseUniformIndex); private: int m_samplerLocation; @@ -212,7 +212,7 @@ public: FragmentShaderRGBATexAlphaAA(); void init(WebKit::WebGraphicsContext3D*, unsigned program, bool usingBindUniform, int* baseUniformIndex); - String getShaderString() const; + std::string getShaderString() const; int alphaLocation() const { return m_alphaLocation; } int samplerLocation() const { return m_samplerLocation; } @@ -243,19 +243,19 @@ private: class FragmentShaderRGBATexClampAlphaAA : public FragmentTexClampAlphaAABinding { public: - String getShaderString() const; + std::string getShaderString() const; }; // Swizzles the red and blue component of sampled texel. class FragmentShaderRGBATexClampSwizzleAlphaAA : public FragmentTexClampAlphaAABinding { public: - String getShaderString() const; + std::string getShaderString() const; }; class FragmentShaderRGBATexAlphaMask { public: FragmentShaderRGBATexAlphaMask(); - String getShaderString() const; + std::string getShaderString() const; void init(WebKit::WebGraphicsContext3D*, unsigned program, bool usingBindUniform, int* baseUniformIndex); int alphaLocation() const { return m_alphaLocation; } @@ -275,7 +275,7 @@ private: class FragmentShaderRGBATexAlphaMaskAA { public: FragmentShaderRGBATexAlphaMaskAA(); - String getShaderString() const; + std::string getShaderString() const; void init(WebKit::WebGraphicsContext3D*, unsigned program, bool usingBindUniform, int* baseUniformIndex); int alphaLocation() const { return m_alphaLocation; } @@ -297,7 +297,7 @@ private: class FragmentShaderYUVVideo { public: FragmentShaderYUVVideo(); - String getShaderString() const; + std::string getShaderString() const; void init(WebKit::WebGraphicsContext3D*, unsigned program, bool usingBindUniform, int* baseUniformIndex); @@ -320,7 +320,7 @@ private: class FragmentShaderColor { public: FragmentShaderColor(); - String getShaderString() const; + std::string getShaderString() const; void init(WebKit::WebGraphicsContext3D*, unsigned program, bool usingBindUniform, int* baseUniformIndex); int colorLocation() const { return m_colorLocation; } @@ -332,7 +332,7 @@ private: class FragmentShaderCheckerboard { public: FragmentShaderCheckerboard(); - String getShaderString() const; + std::string getShaderString() const; void init(WebKit::WebGraphicsContext3D*, unsigned program, bool usingBindUniform, int* baseUniformIndex); int alphaLocation() const { return m_alphaLocation; } diff --git a/cc/TextureCopier.h b/cc/TextureCopier.h index adffddc..1bb890e 100644 --- a/cc/TextureCopier.h +++ b/cc/TextureCopier.h @@ -10,6 +10,7 @@ #include "ShaderChromium.h" #include <wtf/OwnPtr.h> #include <wtf/PassOwnPtr.h> +#include <wtf/Noncopyable.h> namespace WebKit { class WebGraphicsContext3D; diff --git a/cc/TiledLayerChromium.cpp b/cc/TiledLayerChromium.cpp index 8a6e4b9..1a29940 100644 --- a/cc/TiledLayerChromium.cpp +++ b/cc/TiledLayerChromium.cpp @@ -15,7 +15,6 @@ #include "CCTiledLayerImpl.h" #include "GraphicsContext3D.h" #include "Region.h" -#include "TextStream.h" #include <wtf/CurrentTime.h> #include <wtf/MathExtras.h> @@ -249,7 +249,6 @@ 'stubs/NotImplemented.h', 'stubs/Region.h', 'stubs/SkiaUtils.h', - 'stubs/TextStream.h', 'stubs/TilingData.h', 'stubs/TraceEvent.h', 'stubs/UnitBezier.h', diff --git a/cc/stubs/TextStream.h b/cc/stubs/TextStream.h deleted file mode 100644 index 8ed4fbb..0000000 --- a/cc/stubs/TextStream.h +++ /dev/null @@ -1,24 +0,0 @@ -// Copyright (c) 2012 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef CC_STUBS_TEXTSTREAM_H_ -#define CC_STUBS_TEXTSTREAM_H_ - -#include <wtf/text/WTFString.h> - -namespace WebCore { - -// These symbols are all defined inside WebCore. -class TextStream { -public: - TextStream& operator<<(const String&); - TextStream& operator<<(const char*); - TextStream& operator<<(int); - String release(); -}; - -} - -#endif // CC_STUBS_TEXTSTREAM_H_ - diff --git a/webkit/compositor_bindings/WebLayerImpl.cpp b/webkit/compositor_bindings/WebLayerImpl.cpp index 84f5e5a..c087bf8 100644 --- a/webkit/compositor_bindings/WebLayerImpl.cpp +++ b/webkit/compositor_bindings/WebLayerImpl.cpp @@ -9,6 +9,10 @@ #include "LayerChromium.h" #include "SkMatrix44.h" #include "WebAnimationImpl.h" +#ifdef LOG +#undef LOG +#endif +#include "base/string_util.h" #include <public/WebFloatPoint.h> #include <public/WebFloatRect.h> #include <public/WebSize.h> @@ -275,7 +279,7 @@ void WebLayerImpl::setDebugBorderWidth(float width) void WebLayerImpl::setDebugName(WebString name) { - m_layer->setDebugName(name); + m_layer->setDebugName(UTF16ToASCII(string16(name.data(), name.length()))); } void WebLayerImpl::setAnimationDelegate(WebAnimationDelegate* delegate) |