Title: [140963] trunk/Source/WebCore
Revision
140963
Author
[email protected]
Date
2013-01-28 04:01:24 -0800 (Mon, 28 Jan 2013)

Log Message

Web Inspector: [Canvas] refactoring in CanvasAgent to reduce code dups
https://bugs.webkit.org/show_bug.cgi?id=108064

Reviewed by Pavel Feldman.

Introduce private methods injectedScriptCanvasModule() in InspectorCanvasAgent to reduce much of code duplication.
Drive-by: in InspectorPageAgent.assertFrame convert "String" argument to "const String&".

* inspector/InspectorCanvasAgent.cpp:
(WebCore::InspectorCanvasAgent::dropTraceLog):
(WebCore::InspectorCanvasAgent::captureFrame):
(WebCore::InspectorCanvasAgent::startCapturing):
(WebCore::InspectorCanvasAgent::stopCapturing):
(WebCore::InspectorCanvasAgent::getTraceLog):
(WebCore::InspectorCanvasAgent::replayTraceLog):
(WebCore::InspectorCanvasAgent::getResourceInfo):
(WebCore::InspectorCanvasAgent::getResourceState):
(WebCore::InspectorCanvasAgent::wrapCanvas2DRenderingContextForInstrumentation):
(WebCore::InspectorCanvasAgent::wrapWebGLRenderingContextForInstrumentation):
(WebCore::InspectorCanvasAgent::injectedScriptCanvasModule):
(WebCore):
(WebCore::InspectorCanvasAgent::findFramesWithUninstrumentedCanvases):
* inspector/InspectorCanvasAgent.h:
(InspectorCanvasAgent):
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::assertFrame):
(WebCore::InspectorPageAgent::assertDocumentLoader):
* inspector/InspectorPageAgent.h:
(InspectorPageAgent):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (140962 => 140963)


--- trunk/Source/WebCore/ChangeLog	2013-01-28 10:31:53 UTC (rev 140962)
+++ trunk/Source/WebCore/ChangeLog	2013-01-28 12:01:24 UTC (rev 140963)
@@ -1,3 +1,35 @@
+2013-01-28  Andrey Adaikin  <[email protected]>
+
+        Web Inspector: [Canvas] refactoring in CanvasAgent to reduce code dups
+        https://bugs.webkit.org/show_bug.cgi?id=108064
+
+        Reviewed by Pavel Feldman.
+
+        Introduce private methods injectedScriptCanvasModule() in InspectorCanvasAgent to reduce much of code duplication.
+        Drive-by: in InspectorPageAgent.assertFrame convert "String" argument to "const String&".
+
+        * inspector/InspectorCanvasAgent.cpp:
+        (WebCore::InspectorCanvasAgent::dropTraceLog):
+        (WebCore::InspectorCanvasAgent::captureFrame):
+        (WebCore::InspectorCanvasAgent::startCapturing):
+        (WebCore::InspectorCanvasAgent::stopCapturing):
+        (WebCore::InspectorCanvasAgent::getTraceLog):
+        (WebCore::InspectorCanvasAgent::replayTraceLog):
+        (WebCore::InspectorCanvasAgent::getResourceInfo):
+        (WebCore::InspectorCanvasAgent::getResourceState):
+        (WebCore::InspectorCanvasAgent::wrapCanvas2DRenderingContextForInstrumentation):
+        (WebCore::InspectorCanvasAgent::wrapWebGLRenderingContextForInstrumentation):
+        (WebCore::InspectorCanvasAgent::injectedScriptCanvasModule):
+        (WebCore):
+        (WebCore::InspectorCanvasAgent::findFramesWithUninstrumentedCanvases):
+        * inspector/InspectorCanvasAgent.h:
+        (InspectorCanvasAgent):
+        * inspector/InspectorPageAgent.cpp:
+        (WebCore::InspectorPageAgent::assertFrame):
+        (WebCore::InspectorPageAgent::assertDocumentLoader):
+        * inspector/InspectorPageAgent.h:
+        (InspectorPageAgent):
+
 2013-01-28  Kihong Kwon  <[email protected]>
 
         Replace the type of Proximity's supplementName for char*

Modified: trunk/Source/WebCore/inspector/InspectorCanvasAgent.cpp (140962 => 140963)


--- trunk/Source/WebCore/inspector/InspectorCanvasAgent.cpp	2013-01-28 10:31:53 UTC (rev 140962)
+++ trunk/Source/WebCore/inspector/InspectorCanvasAgent.cpp	2013-01-28 12:01:24 UTC (rev 140963)
@@ -108,7 +108,7 @@
 
 void InspectorCanvasAgent::dropTraceLog(ErrorString* errorString, const String& traceLogId)
 {
-    InjectedScriptCanvasModule module = injectedScriptCanvasModuleForTraceLogId(errorString, traceLogId);
+    InjectedScriptCanvasModule module = injectedScriptCanvasModule(errorString, traceLogId);
     if (!module.hasNoValue())
         module.dropTraceLog(errorString, traceLogId);
 }
@@ -122,128 +122,116 @@
 
 void InspectorCanvasAgent::captureFrame(ErrorString* errorString, String* traceLogId)
 {
-    if (!checkIsEnabled(errorString))
-        return;
-    ScriptState* scriptState = mainWorldScriptState(m_inspectedPage->mainFrame());
-    InjectedScriptCanvasModule module = InjectedScriptCanvasModule::moduleForState(m_injectedScriptManager, scriptState);
-    if (module.hasNoValue()) {
-        *errorString = "Inspected frame has gone";
-        return;
-    }
-    module.captureFrame(errorString, traceLogId);
+    InjectedScriptCanvasModule module = injectedScriptCanvasModule(errorString, mainWorldScriptState(m_inspectedPage->mainFrame()));
+    if (!module.hasNoValue())
+        module.captureFrame(errorString, traceLogId);
 }
 
 void InspectorCanvasAgent::startCapturing(ErrorString* errorString, String* traceLogId)
 {
-    if (!checkIsEnabled(errorString))
-        return;
-    ScriptState* scriptState = mainWorldScriptState(m_inspectedPage->mainFrame());
-    InjectedScriptCanvasModule module = InjectedScriptCanvasModule::moduleForState(m_injectedScriptManager, scriptState);
-    if (module.hasNoValue()) {
-        *errorString = "Inspected frame has gone";
-        return;
-    }
-    module.startCapturing(errorString, traceLogId);
+    InjectedScriptCanvasModule module = injectedScriptCanvasModule(errorString, mainWorldScriptState(m_inspectedPage->mainFrame()));
+    if (!module.hasNoValue())
+        module.startCapturing(errorString, traceLogId);
 }
 
 void InspectorCanvasAgent::stopCapturing(ErrorString* errorString, const String& traceLogId)
 {
-    if (!checkIsEnabled(errorString))
-        return;
-    InjectedScriptCanvasModule module = injectedScriptCanvasModuleForTraceLogId(errorString, traceLogId);
+    InjectedScriptCanvasModule module = injectedScriptCanvasModule(errorString, traceLogId);
     if (!module.hasNoValue())
         module.stopCapturing(errorString, traceLogId);
 }
 
 void InspectorCanvasAgent::getTraceLog(ErrorString* errorString, const String& traceLogId, const int* startOffset, const int* maxLength, RefPtr<TypeBuilder::Canvas::TraceLog>& traceLog)
 {
-    if (!checkIsEnabled(errorString))
-        return;
-    InjectedScriptCanvasModule module = injectedScriptCanvasModuleForTraceLogId(errorString, traceLogId);
+    InjectedScriptCanvasModule module = injectedScriptCanvasModule(errorString, traceLogId);
     if (!module.hasNoValue())
         module.traceLog(errorString, traceLogId, startOffset, maxLength, &traceLog);
 }
 
 void InspectorCanvasAgent::replayTraceLog(ErrorString* errorString, const String& traceLogId, int stepNo, RefPtr<TypeBuilder::Canvas::ResourceState>& result)
 {
-    if (!checkIsEnabled(errorString))
-        return;
-    InjectedScriptCanvasModule module = injectedScriptCanvasModuleForTraceLogId(errorString, traceLogId);
+    InjectedScriptCanvasModule module = injectedScriptCanvasModule(errorString, traceLogId);
     if (!module.hasNoValue())
         module.replayTraceLog(errorString, traceLogId, stepNo, &result);
 }
 
 void InspectorCanvasAgent::getResourceInfo(ErrorString* errorString, const String& resourceId, RefPtr<TypeBuilder::Canvas::ResourceInfo>& result)
 {
-    if (!checkIsEnabled(errorString))
-        return;
-    InjectedScriptCanvasModule module = injectedScriptCanvasModuleForTraceLogId(errorString, resourceId);
+    InjectedScriptCanvasModule module = injectedScriptCanvasModule(errorString, resourceId);
     if (!module.hasNoValue())
         module.resourceInfo(errorString, resourceId, &result);
 }
 
 void InspectorCanvasAgent::getResourceState(ErrorString* errorString, const String& traceLogId, const String& resourceId, RefPtr<TypeBuilder::Canvas::ResourceState>& result)
 {
-    if (!checkIsEnabled(errorString))
-        return;
-    InjectedScriptCanvasModule module = injectedScriptCanvasModuleForTraceLogId(errorString, traceLogId);
+    InjectedScriptCanvasModule module = injectedScriptCanvasModule(errorString, traceLogId);
     if (!module.hasNoValue())
         module.resourceState(errorString, traceLogId, resourceId, &result);
 }
 
 ScriptObject InspectorCanvasAgent::wrapCanvas2DRenderingContextForInstrumentation(const ScriptObject& context)
 {
-    if (context.hasNoValue()) {
-        ASSERT_NOT_REACHED();
+    ErrorString error;
+    InjectedScriptCanvasModule module = injectedScriptCanvasModule(&error, context);
+    if (module.hasNoValue())
         return ScriptObject();
-    }
-    InjectedScriptCanvasModule module = InjectedScriptCanvasModule::moduleForState(m_injectedScriptManager, context.scriptState());
-    if (module.hasNoValue()) {
-        ASSERT_NOT_REACHED();
-        return ScriptObject();
-    }
     return module.wrapCanvas2DContext(context);
 }
 
 #if ENABLE(WEBGL)
 ScriptObject InspectorCanvasAgent::wrapWebGLRenderingContextForInstrumentation(const ScriptObject& glContext)
 {
-    if (glContext.hasNoValue()) {
-        ASSERT_NOT_REACHED();
+    ErrorString error;
+    InjectedScriptCanvasModule module = injectedScriptCanvasModule(&error, glContext);
+    if (module.hasNoValue())
         return ScriptObject();
-    }
-    InjectedScriptCanvasModule module = InjectedScriptCanvasModule::moduleForState(m_injectedScriptManager, glContext.scriptState());
-    if (module.hasNoValue()) {
-        ASSERT_NOT_REACHED();
-        return ScriptObject();
-    }
     return module.wrapWebGLContext(glContext);
 }
 #endif
 
-InjectedScriptCanvasModule InspectorCanvasAgent::injectedScriptCanvasModuleForTraceLogId(ErrorString* errorString, const String& traceLogId)
+InjectedScriptCanvasModule InspectorCanvasAgent::injectedScriptCanvasModule(ErrorString* errorString, ScriptState* scriptState)
 {
-    InjectedScript injectedScript = m_injectedScriptManager->injectedScriptForObjectId(traceLogId);
-    if (injectedScript.hasNoValue()) {
-        *errorString = "Inspected frame has gone";
+    if (!checkIsEnabled(errorString))
         return InjectedScriptCanvasModule();
-    }
-    InjectedScriptCanvasModule module = InjectedScriptCanvasModule::moduleForState(m_injectedScriptManager, injectedScript.scriptState());
+    InjectedScriptCanvasModule module = InjectedScriptCanvasModule::moduleForState(m_injectedScriptManager, scriptState);
     if (module.hasNoValue()) {
         ASSERT_NOT_REACHED();
         *errorString = "Internal error: no Canvas module";
-        return InjectedScriptCanvasModule();
     }
     return module;
 }
 
+InjectedScriptCanvasModule InspectorCanvasAgent::injectedScriptCanvasModule(ErrorString* errorString, const ScriptObject& scriptObject)
+{
+    if (!checkIsEnabled(errorString))
+        return InjectedScriptCanvasModule();
+    if (scriptObject.hasNoValue()) {
+        ASSERT_NOT_REACHED();
+        *errorString = "Internal error: original ScriptObject has no value";
+        return InjectedScriptCanvasModule();
+    }
+    return injectedScriptCanvasModule(errorString, scriptObject.scriptState());
+}
+
+InjectedScriptCanvasModule InspectorCanvasAgent::injectedScriptCanvasModule(ErrorString* errorString, const String& objectId)
+{
+    if (!checkIsEnabled(errorString))
+        return InjectedScriptCanvasModule();
+    InjectedScript injectedScript = m_injectedScriptManager->injectedScriptForObjectId(objectId);
+    if (injectedScript.hasNoValue()) {
+        *errorString = "Inspected frame has gone";
+        return InjectedScriptCanvasModule();
+    }
+    return injectedScriptCanvasModule(errorString, injectedScript.scriptState());
+}
+
 void InspectorCanvasAgent::findFramesWithUninstrumentedCanvases()
 {
     class NodeVisitor : public WrappedNodeVisitor {
     public:
-        NodeVisitor(Page* page, FramesWithUninstrumentedCanvases& hasUninstrumentedCanvasesResults)
+        NodeVisitor(Page* page, HashSet<Frame*>& result)
             : m_page(page)
-            , m_framesWithUninstrumentedCanvases(hasUninstrumentedCanvasesResults)
+            , m_framesWithUninstrumentedCanvases(result)
         {
         }
 
@@ -263,7 +251,7 @@
 
     private:
         Page* m_page;
-        FramesWithUninstrumentedCanvases& m_framesWithUninstrumentedCanvases;
+        HashSet<Frame*>& m_framesWithUninstrumentedCanvases;
     } nodeVisitor(m_inspectedPage, m_framesWithUninstrumentedCanvases);
 
     ScriptProfiler::visitNodeWrappers(&nodeVisitor);

Modified: trunk/Source/WebCore/inspector/InspectorCanvasAgent.h (140962 => 140963)


--- trunk/Source/WebCore/inspector/InspectorCanvasAgent.h	2013-01-28 10:31:53 UTC (rev 140962)
+++ trunk/Source/WebCore/inspector/InspectorCanvasAgent.h	2013-01-28 12:01:24 UTC (rev 140963)
@@ -91,7 +91,10 @@
 private:
     InspectorCanvasAgent(InstrumentingAgents*, InspectorCompositeState*, Page*, InjectedScriptManager*);
 
-    InjectedScriptCanvasModule injectedScriptCanvasModuleForTraceLogId(ErrorString*, const String&);
+    InjectedScriptCanvasModule injectedScriptCanvasModule(ErrorString*, ScriptState*);
+    InjectedScriptCanvasModule injectedScriptCanvasModule(ErrorString*, const ScriptObject&);
+    InjectedScriptCanvasModule injectedScriptCanvasModule(ErrorString*, const String&);
+
     void findFramesWithUninstrumentedCanvases();
     bool checkIsEnabled(ErrorString*) const;
 
@@ -99,8 +102,7 @@
     InjectedScriptManager* m_injectedScriptManager;
     InspectorFrontend::Canvas* m_frontend;
     bool m_enabled;
-    typedef HashSet<Frame*> FramesWithUninstrumentedCanvases;
-    FramesWithUninstrumentedCanvases m_framesWithUninstrumentedCanvases;
+    HashSet<Frame*> m_framesWithUninstrumentedCanvases;
 };
 
 } // namespace WebCore

Modified: trunk/Source/WebCore/inspector/InspectorPageAgent.cpp (140962 => 140963)


--- trunk/Source/WebCore/inspector/InspectorPageAgent.cpp	2013-01-28 10:31:53 UTC (rev 140962)
+++ trunk/Source/WebCore/inspector/InspectorPageAgent.cpp	2013-01-28 12:01:24 UTC (rev 140963)
@@ -891,12 +891,11 @@
     return identifier;
 }
 
-Frame* InspectorPageAgent::assertFrame(ErrorString* errorString, String frameId)
+Frame* InspectorPageAgent::assertFrame(ErrorString* errorString, const String& frameId)
 {
     Frame* frame = frameForId(frameId);
     if (!frame)
         *errorString = "No frame for given id found";
-
     return frame;
 }
 
@@ -907,7 +906,6 @@
     DocumentLoader* documentLoader = frameLoader ? frameLoader->documentLoader() : 0;
     if (!documentLoader)
         *errorString = "No documentLoader for given frame found";
-
     return documentLoader;
 }
 

Modified: trunk/Source/WebCore/inspector/InspectorPageAgent.h (140962 => 140963)


--- trunk/Source/WebCore/inspector/InspectorPageAgent.h	2013-01-28 10:31:53 UTC (rev 140962)
+++ trunk/Source/WebCore/inspector/InspectorPageAgent.h	2013-01-28 12:01:24 UTC (rev 140963)
@@ -166,7 +166,7 @@
     Frame* frameForId(const String& frameId);
     String frameId(Frame*);
     String loaderId(DocumentLoader*);
-    Frame* assertFrame(ErrorString*, String frameId);
+    Frame* assertFrame(ErrorString*, const String& frameId);
     String scriptPreprocessor() { return m_scriptPreprocessor; }
     static DocumentLoader* assertDocumentLoader(ErrorString*, Frame*);
 
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to