<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[182193] trunk/Source</title>
</head>
<body>
<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; }
#msg dl a { font-weight: bold}
#msg dl a:link { color:#fc3; }
#msg dl a:active { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/182193">182193</a></dd>
<dt>Author</dt> <dd>commit-queue@webkit.org</dd>
<dt>Date</dt> <dd>2015-03-31 12:01:59 -0700 (Tue, 31 Mar 2015)</dd>
</dl>
<h3>Log Message</h3>
<pre>Unreviewed, rolling out <a href="http://trac.webkit.org/projects/webkit/changeset/182186">r182186</a>.
https://bugs.webkit.org/show_bug.cgi?id=143270
it crashes all the WebGL tests on the Debug bots (Requested by
dino on #webkit).
Reverted changeset:
"Web Inspector: add 2D/WebGL canvas instrumentation
infrastructure"
https://bugs.webkit.org/show_bug.cgi?id=137278
http://trac.webkit.org/changeset/182186</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceJavaScriptCoreCMakeListstxt">trunk/Source/JavaScriptCore/CMakeLists.txt</a></li>
<li><a href="#trunkSourceJavaScriptCoreChangeLog">trunk/Source/JavaScriptCore/ChangeLog</a></li>
<li><a href="#trunkSourceJavaScriptCoreDerivedSourcesmake">trunk/Source/JavaScriptCore/DerivedSources.make</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorscriptscodegengeneratorpy">trunk/Source/JavaScriptCore/inspector/scripts/codegen/generator.py</a></li>
<li><a href="#trunkSourceWebCoreCMakeListstxt">trunk/Source/WebCore/CMakeLists.txt</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreWebCorexcodeprojprojectpbxproj">trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkSourceWebCoredomDocumentcpp">trunk/Source/WebCore/dom/Document.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLCanvasElementcpp">trunk/Source/WebCore/html/HTMLCanvasElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGLRenderingContextBasecpp">trunk/Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorAllInOnecpp">trunk/Source/WebCore/inspector/InspectorAllInOne.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorControllercpp">trunk/Source/WebCore/inspector/InspectorController.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorInstrumentationcpp">trunk/Source/WebCore/inspector/InspectorInstrumentation.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorInstrumentationh">trunk/Source/WebCore/inspector/InspectorInstrumentation.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorInstrumentingAgentscpp">trunk/Source/WebCore/inspector/InstrumentingAgents.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInstrumentingAgentsh">trunk/Source/WebCore/inspector/InstrumentingAgents.h</a></li>
<li><a href="#trunkSourceWebInspectorUIChangeLog">trunk/Source/WebInspectorUI/ChangeLog</a></li>
<li><a href="#trunkSourceWebInspectorUILocalizationsenlprojlocalizedStringsjs">trunk/Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceBaseMainjs">trunk/Source/WebInspectorUI/UserInterface/Base/Main.js</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceBaseTestjs">trunk/Source/WebInspectorUI/UserInterface/Base/Test.js</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceMainhtml">trunk/Source/WebInspectorUI/UserInterface/Main.html</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceTesthtml">trunk/Source/WebInspectorUI/UserInterface/Test.html</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceViewsFrameTreeElementjs">trunk/Source/WebInspectorUI/UserInterface/Views/FrameTreeElement.js</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceViewsResourceIconscss">trunk/Source/WebInspectorUI/UserInterface/Views/ResourceIcons.css</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceViewsResourceSidebarPaneljs">trunk/Source/WebInspectorUI/UserInterface/Views/ResourceSidebarPanel.js</a></li>
<li><a href="#trunkSourceWebInspectorUIWebInspectorUIvcxprojWebInspectorUIvcxproj">trunk/Source/WebInspectorUI/WebInspectorUI.vcxproj/WebInspectorUI.vcxproj</a></li>
<li><a href="#trunkSourceWebInspectorUIWebInspectorUIvcxprojWebInspectorUIvcxprojfilters">trunk/Source/WebInspectorUI/WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters</a></li>
</ul>
<h3>Removed Paths</h3>
<ul>
<li><a href="#trunkSourceJavaScriptCoreinspectorprotocolCanvasjson">trunk/Source/JavaScriptCore/inspector/protocol/Canvas.json</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorCanvasAgentcpp">trunk/Source/WebCore/inspector/InspectorCanvasAgent.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorCanvasAgenth">trunk/Source/WebCore/inspector/InspectorCanvasAgent.h</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceControllersCanvasManagerjs">trunk/Source/WebInspectorUI/UserInterface/Controllers/CanvasManager.js</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceImagesCanvassvg">trunk/Source/WebInspectorUI/UserInterface/Images/Canvas.svg</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceImagesDocumentGLpng">trunk/Source/WebInspectorUI/UserInterface/Images/DocumentGL.png</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceImagesDocumentGL2xpng">trunk/Source/WebInspectorUI/UserInterface/Images/DocumentGL@2x.png</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceModelsCanvasjs">trunk/Source/WebInspectorUI/UserInterface/Models/Canvas.js</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceModelsShaderProgramjs">trunk/Source/WebInspectorUI/UserInterface/Models/ShaderProgram.js</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceModelsWebGLContextAttributesjs">trunk/Source/WebInspectorUI/UserInterface/Models/WebGLContextAttributes.js</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceProtocolCanvasObserverjs">trunk/Source/WebInspectorUI/UserInterface/Protocol/CanvasObserver.js</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceViewsCanvasTreeElementjs">trunk/Source/WebInspectorUI/UserInterface/Views/CanvasTreeElement.js</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceViewsShaderProgramTreeElementjs">trunk/Source/WebInspectorUI/UserInterface/Views/ShaderProgramTreeElement.js</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceJavaScriptCoreCMakeListstxt"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/CMakeLists.txt (182192 => 182193)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/CMakeLists.txt        2015-03-31 18:53:25 UTC (rev 182192)
+++ trunk/Source/JavaScriptCore/CMakeLists.txt        2015-03-31 19:01:59 UTC (rev 182193)
</span><span class="lines">@@ -1041,7 +1041,6 @@
</span><span class="cx"> set(JavaScriptCore_INSPECTOR_DOMAINS
</span><span class="cx"> ${JAVASCRIPTCORE_DIR}/inspector/protocol/ApplicationCache.json
</span><span class="cx"> ${JAVASCRIPTCORE_DIR}/inspector/protocol/CSS.json
</span><del>- ${JAVASCRIPTCORE_DIR}/inspector/protocol/Canvas.json
</del><span class="cx"> ${JAVASCRIPTCORE_DIR}/inspector/protocol/Console.json
</span><span class="cx"> ${JAVASCRIPTCORE_DIR}/inspector/protocol/DOM.json
</span><span class="cx"> ${JAVASCRIPTCORE_DIR}/inspector/protocol/DOMDebugger.json
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/ChangeLog (182192 => 182193)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/ChangeLog        2015-03-31 18:53:25 UTC (rev 182192)
+++ trunk/Source/JavaScriptCore/ChangeLog        2015-03-31 19:01:59 UTC (rev 182193)
</span><span class="lines">@@ -1,3 +1,18 @@
</span><ins>+2015-03-31 Commit Queue <commit-queue@webkit.org>
+
+ Unreviewed, rolling out r182186.
+ https://bugs.webkit.org/show_bug.cgi?id=143270
+
+ it crashes all the WebGL tests on the Debug bots (Requested by
+ dino on #webkit).
+
+ Reverted changeset:
+
+ "Web Inspector: add 2D/WebGL canvas instrumentation
+ infrastructure"
+ https://bugs.webkit.org/show_bug.cgi?id=137278
+ http://trac.webkit.org/changeset/182186
+
</ins><span class="cx"> 2015-03-31 Yusuke Suzuki <utatane.tea@gmail.com>
</span><span class="cx">
</span><span class="cx"> [ES6] Object type restrictions on a first parameter of several Object.* functions are relaxed
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreDerivedSourcesmake"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/DerivedSources.make (182192 => 182193)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/DerivedSources.make        2015-03-31 18:53:25 UTC (rev 182192)
+++ trunk/Source/JavaScriptCore/DerivedSources.make        2015-03-31 19:01:59 UTC (rev 182193)
</span><span class="lines">@@ -117,7 +117,6 @@
</span><span class="cx"> INSPECTOR_DOMAINS = \
</span><span class="cx"> $(JavaScriptCore)/inspector/protocol/ApplicationCache.json \
</span><span class="cx"> $(JavaScriptCore)/inspector/protocol/CSS.json \
</span><del>- $(JavaScriptCore)/inspector/protocol/Canvas.json \
</del><span class="cx"> $(JavaScriptCore)/inspector/protocol/Console.json \
</span><span class="cx"> $(JavaScriptCore)/inspector/protocol/DOM.json \
</span><span class="cx"> $(JavaScriptCore)/inspector/protocol/DOMDebugger.json \
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorprotocolCanvasjson"></a>
<div class="delfile"><h4>Deleted: trunk/Source/JavaScriptCore/inspector/protocol/Canvas.json (182192 => 182193)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/protocol/Canvas.json        2015-03-31 18:53:25 UTC (rev 182192)
+++ trunk/Source/JavaScriptCore/inspector/protocol/Canvas.json        2015-03-31 19:01:59 UTC (rev 182193)
</span><span class="lines">@@ -1,94 +0,0 @@
</span><del>-{
- "domain": "Canvas",
- "availability": "web",
- "description": "Canvas domain allows tracking of 2D and WebGL canvases that have an associated graphics context. Tracks canvases belonging to a frame as well as CSS canvases created with -webkit-canvas.",
- "types": [
- {
- "id": "CanvasId",
- "type": "integer"
- },
- {
- "id": "ProgramId",
- "type": "object",
- "properties": [
- { "name": "canvasId", "$ref": "CanvasId", "description": "Parent canvas identifier." },
- { "name": "objectId", "type": "integer", "description": "Uniquely identifies shader program within parent canvas." }
- ]
- },
- {
- "id": "ContextType",
- "type": "string",
- "enum": ["canvas-2d", "webgl"],
- "description": "The type of rendering context backing the canvas element."
- },
- {
- "id": "ShaderType",
- "type": "string",
- "enum": ["fragment", "vertex"],
- "description": "Shader type. WebGL 1.0 supports VERTEX_SHADER and FRAGMENT_SHADER types."
- },
- {
- "id": "ContextAttributes",
- "type": "object",
- "description": "WebGL drawing surface attributes.",
- "properties": [
- { "name": "alpha", "type": "boolean" },
- { "name": "depth", "type": "boolean" },
- { "name": "stencil", "type": "boolean" },
- { "name": "antialias", "type": "boolean" },
- { "name": "premultipliedAlpha", "type": "boolean" },
- { "name": "preserveDrawingBuffer", "type": "boolean" }
- ]
- },
- {
- "id": "Canvas",
- "type": "object",
- "description": "Information about a 2D/WebGL canvas for which a rendering context has been created.",
- "properties": [
- { "name": "canvasId", "$ref": "CanvasId", "description": "The id for the canvas." },
- { "name": "frameId", "$ref": "Network.FrameId", "description": "Parent frame identifier." },
- { "name": "name", "type": "string", "description": "The CSS canvas identifier, or the canvas element id attribute." },
- { "name": "cssCanvas", "type": "boolean", "description": "True for canvases created with -webkit-canvas." },
- { "name": "contextType", "$ref": "ContextType", "description": "The type of rendering context backing the canvas." },
- { "name": "contextAttributes", "$ref": "ContextAttributes", "optional": true, "description": "Context attributes for WebGL rendering contexts." },
- { "name": "programIds", "type": "array", "items": { "$ref": "ProgramId" }, "description": "Array of program IDs for linked programs belonging to the canvas rendering context." }
- ]
- }
- ],
- "commands": [
- {
- "name": "getCanvases",
- "description": "Returns available canvases for all frames.",
- "returns": [
- { "name": "result", "type": "array", "items": { "$ref": "Canvas" }, "description": "Array of canvas objects." }
- ]
- }
- ],
- "events": [
- {
- "name": "canvasAdded",
- "parameters": [
- { "name": "canvas", "$ref": "Canvas", "description": "Canvas object." }
- ]
- },
- {
- "name": "canvasRemoved",
- "parameters": [
- { "name": "canvasId", "$ref": "CanvasId", "description": "Id of the canvas that was removed." }
- ]
- },
- {
- "name": "programCreated",
- "description": "Fired when a program is created. Does not imply that link was successful.",
- "parameters": [
- { "name": "programId", "$ref": "ProgramId", "description": "Id of the program." }
- ]
- },
- {
- "name": "programDeleted",
- "parameters": [
- { "name": "programId", "$ref": "ProgramId", "description": "Id of the program." }
- ]
- }
- ]
-}
</del></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorscriptscodegengeneratorpy"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/scripts/codegen/generator.py (182192 => 182193)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/scripts/codegen/generator.py        2015-03-31 18:53:25 UTC (rev 182192)
+++ trunk/Source/JavaScriptCore/inspector/scripts/codegen/generator.py        2015-03-31 19:01:59 UTC (rev 182193)
</span><span class="lines">@@ -38,12 +38,8 @@
</span><span class="cx"> def ucfirst(str):
</span><span class="cx"> return str[:1].upper() + str[1:]
</span><span class="cx">
</span><del>-_ALWAYS_UPPERCASED_ENUM_VALUE_SUBSTRINGS = set(['2D', 'API', 'CSS', 'DOM', 'HTML', 'XHR', 'XML'])
</del><ins>+_ALWAYS_UPPERCASED_ENUM_VALUE_SUBSTRINGS = set(['API', 'CSS', 'DOM', 'HTML', 'XHR', 'XML'])
</ins><span class="cx">
</span><del>-_ENUM_IDENTIFIER_RENAME_MAP = {
- 'webgl': 'WebGL', # Canvas.ContextType.webgl
-}
-
</del><span class="cx"> # These objects are built manually by creating and setting InspectorValues.
</span><span class="cx"> # Before sending these over the protocol, their shapes are checked against the specification.
</span><span class="cx"> # So, any types referenced by these types require debug-only assertions that check values.
</span><span class="lines">@@ -223,7 +219,7 @@
</span><span class="cx"> return match.group(1).upper()
</span><span class="cx">
</span><span class="cx"> # Split on hyphen, introduce camelcase, and force uppercasing of acronyms.
</span><del>- subwords = map(ucfirst, _ENUM_IDENTIFIER_RENAME_MAP.get(enum_value, enum_value).split('-'))
</del><ins>+ subwords = map(ucfirst, enum_value.split('-'))
</ins><span class="cx"> return re.sub(re.compile(regex, re.IGNORECASE), replaceCallback, "".join(subwords))
</span><span class="cx">
</span><span class="cx"> @staticmethod
</span></span></pre></div>
<a id="trunkSourceWebCoreCMakeListstxt"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/CMakeLists.txt (182192 => 182193)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/CMakeLists.txt        2015-03-31 18:53:25 UTC (rev 182192)
+++ trunk/Source/WebCore/CMakeLists.txt        2015-03-31 19:01:59 UTC (rev 182193)
</span><span class="lines">@@ -1786,7 +1786,6 @@
</span><span class="cx"> inspector/DOMPatchSupport.cpp
</span><span class="cx"> inspector/InspectorApplicationCacheAgent.cpp
</span><span class="cx"> inspector/InspectorCSSAgent.cpp
</span><del>- inspector/InspectorCanvasAgent.cpp
</del><span class="cx"> inspector/InspectorClient.cpp
</span><span class="cx"> inspector/InspectorController.cpp
</span><span class="cx"> inspector/InspectorDOMAgent.cpp
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (182192 => 182193)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2015-03-31 18:53:25 UTC (rev 182192)
+++ trunk/Source/WebCore/ChangeLog        2015-03-31 19:01:59 UTC (rev 182193)
</span><span class="lines">@@ -1,3 +1,18 @@
</span><ins>+2015-03-31 Commit Queue <commit-queue@webkit.org>
+
+ Unreviewed, rolling out r182186.
+ https://bugs.webkit.org/show_bug.cgi?id=143270
+
+ it crashes all the WebGL tests on the Debug bots (Requested by
+ dino on #webkit).
+
+ Reverted changeset:
+
+ "Web Inspector: add 2D/WebGL canvas instrumentation
+ infrastructure"
+ https://bugs.webkit.org/show_bug.cgi?id=137278
+ http://trac.webkit.org/changeset/182186
+
</ins><span class="cx"> 2015-03-31 Myles C. Maxfield <mmaxfield@apple.com>
</span><span class="cx">
</span><span class="cx"> Crash in CGContextShowGlyphsWithAdvances when passing kCGFontIndexInvalid
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (182192 => 182193)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2015-03-31 18:53:25 UTC (rev 182192)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2015-03-31 19:01:59 UTC (rev 182193)
</span><span class="lines">@@ -2287,8 +2287,6 @@
</span><span class="cx">                 65FD466519B596F0001E2B4D /* WebVideoFullscreenModelVideoElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 6586FE3C19B548BD005C3C82 /* WebVideoFullscreenModelVideoElement.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 65FD466619B596F6001E2B4D /* WebVideoFullscreenModelVideoElement.mm in Sources */ = {isa = PBXBuildFile; fileRef = 6586FE3D19B548BD005C3C82 /* WebVideoFullscreenModelVideoElement.mm */; };
</span><span class="cx">                 65FEA86909833ADE00BED4AB /* Page.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 65FEA86809833ADE00BED4AB /* Page.cpp */; };
</span><del>-                6A32D7CE1A16D8C000412F0B /* InspectorCanvasAgent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6A4B6D6619D225D8006F11D3 /* InspectorCanvasAgent.cpp */; };
-                6A4B6D6519D22519006F11D3 /* InspectorCanvasAgent.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A4B6D6419D22519006F11D3 /* InspectorCanvasAgent.h */; };
</del><span class="cx">                 6B3480940EEF50D400AC1B41 /* NativeImagePtr.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B3480920EEF50D400AC1B41 /* NativeImagePtr.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 6C568CB019DAFEA000430CA2 /* MaskImageOperation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6C568CAE19DAFEA000430CA2 /* MaskImageOperation.cpp */; };
</span><span class="cx">                 6C568CB119DAFEA000430CA2 /* MaskImageOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 6C568CAF19DAFEA000430CA2 /* MaskImageOperation.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="lines">@@ -9508,8 +9506,6 @@
</span><span class="cx">                 65E0E9431133C89F00B4CB10 /* JSDOMWrapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSDOMWrapper.h; sourceTree = "<group>"; };
</span><span class="cx">                 65F80697054D9F86008BF776 /* BlockExceptions.mm */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = BlockExceptions.mm; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
</span><span class="cx">                 65FEA86809833ADE00BED4AB /* Page.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Page.cpp; sourceTree = "<group>"; };
</span><del>-                6A4B6D6419D22519006F11D3 /* InspectorCanvasAgent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorCanvasAgent.h; sourceTree = "<group>"; };
-                6A4B6D6619D225D8006F11D3 /* InspectorCanvasAgent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InspectorCanvasAgent.cpp; sourceTree = "<group>"; };
</del><span class="cx">                 6B3480920EEF50D400AC1B41 /* NativeImagePtr.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = NativeImagePtr.h; sourceTree = "<group>"; };
</span><span class="cx">                 6C568CAE19DAFEA000430CA2 /* MaskImageOperation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MaskImageOperation.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 6C568CAF19DAFEA000430CA2 /* MaskImageOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MaskImageOperation.h; sourceTree = "<group>"; };
</span><span class="lines">@@ -15382,8 +15378,6 @@
</span><span class="cx">                                 7A54881514E432A1006AE05A /* DOMPatchSupport.h */,
</span><span class="cx">                                 B885E8D211E06DD2009FFBF4 /* InspectorApplicationCacheAgent.cpp */,
</span><span class="cx">                                 B885E8D311E06DD2009FFBF4 /* InspectorApplicationCacheAgent.h */,
</span><del>-                                6A4B6D6619D225D8006F11D3 /* InspectorCanvasAgent.cpp */,
-                                6A4B6D6419D22519006F11D3 /* InspectorCanvasAgent.h */,
</del><span class="cx">                                 7A1F2B51126C61B20006A7E6 /* InspectorClient.cpp */,
</span><span class="cx">                                 1C81B9580E97330800266E07 /* InspectorClient.h */,
</span><span class="cx">                                 F3F5CF1012ED81A80084C569 /* InspectorConsoleInstrumentation.h */,
</span><span class="lines">@@ -24784,7 +24778,6 @@
</span><span class="cx">                                 A871DE2B0A152AC800B12A68 /* HTMLFrameElement.h in Headers */,
</span><span class="cx">                                 14FFE31D0AE1963300136BF5 /* HTMLFrameElementBase.h in Headers */,
</span><span class="cx">                                 93E241FF0B2B4E4000C732A1 /* HTMLFrameOwnerElement.h in Headers */,
</span><del>-                                6A4B6D6519D22519006F11D3 /* InspectorCanvasAgent.h in Headers */,
</del><span class="cx">                                 A871DE280A152AC800B12A68 /* HTMLFrameSetElement.h in Headers */,
</span><span class="cx">                                 A871DE2D0A152AC800B12A68 /* HTMLHeadElement.h in Headers */,
</span><span class="cx">                                 A8EA7CB80A192B9C00A8EF5F /* HTMLHeadingElement.h in Headers */,
</span><span class="lines">@@ -27403,7 +27396,6 @@
</span><span class="cx">                         isa = PBXSourcesBuildPhase;
</span><span class="cx">                         buildActionMask = 2147483647;
</span><span class="cx">                         files = (
</span><del>-                                6A32D7CE1A16D8C000412F0B /* InspectorCanvasAgent.cpp in Sources */,
</del><span class="cx">                                 41E1B1D00FF5986900576B3B /* AbstractWorker.cpp in Sources */,
</span><span class="cx">                                 37F57AB91A50726900876F98 /* AccessibilityARIAGrid.cpp in Sources */,
</span><span class="cx">                                 37F57ABA1A50726F00876F98 /* AccessibilityARIAGridCell.cpp in Sources */,
</span></span></pre></div>
<a id="trunkSourceWebCoredomDocumentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Document.cpp (182192 => 182193)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Document.cpp        2015-03-31 18:53:25 UTC (rev 182192)
+++ trunk/Source/WebCore/dom/Document.cpp        2015-03-31 19:01:59 UTC (rev 182193)
</span><span class="lines">@@ -5053,10 +5053,8 @@
</span><span class="cx"> HTMLCanvasElement* Document::getCSSCanvasElement(const String& name)
</span><span class="cx"> {
</span><span class="cx"> RefPtr<HTMLCanvasElement>& element = m_cssCanvasElements.add(name, nullptr).iterator->value;
</span><del>- if (!element) {
</del><ins>+ if (!element)
</ins><span class="cx"> element = HTMLCanvasElement::create(*this);
</span><del>- InspectorInstrumentation::didCreateCSSCanvas(*element, name);
- }
</del><span class="cx"> return element.get();
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLCanvasElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLCanvasElement.cpp (182192 => 182193)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLCanvasElement.cpp        2015-03-31 18:53:25 UTC (rev 182192)
+++ trunk/Source/WebCore/html/HTMLCanvasElement.cpp        2015-03-31 19:01:59 UTC (rev 182193)
</span><span class="lines">@@ -41,7 +41,6 @@
</span><span class="cx"> #include "GraphicsContext.h"
</span><span class="cx"> #include "HTMLNames.h"
</span><span class="cx"> #include "ImageData.h"
</span><del>-#include "InspectorInstrumentation.h"
</del><span class="cx"> #include "MIMETypeRegistry.h"
</span><span class="cx"> #include "Page.h"
</span><span class="cx"> #include "RenderHTMLCanvas.h"
</span><span class="lines">@@ -194,7 +193,6 @@
</span><span class="cx"> usesDashbardCompatibilityMode = settings->usesDashboardBackwardCompatibilityMode();
</span><span class="cx"> #endif
</span><span class="cx"> m_context = std::make_unique<CanvasRenderingContext2D>(this, document().inQuirksMode(), usesDashbardCompatibilityMode);
</span><del>- InspectorInstrumentation::didCreateCanvasRenderingContext(*this);
</del><span class="cx"> #if USE(IOSURFACE_CANVAS_BACKING_STORE) || ENABLE(ACCELERATED_2D_CANVAS)
</span><span class="cx"> // Need to make sure a RenderLayer and compositing layer get created for the Canvas
</span><span class="cx"> setNeedsStyleRecalc(SyntheticStyleChange);
</span><span class="lines">@@ -211,7 +209,6 @@
</span><span class="cx"> if (!m_context) {
</span><span class="cx"> m_context = WebGLRenderingContextBase::create(this, static_cast<WebGLContextAttributes*>(attrs), type);
</span><span class="cx"> if (m_context) {
</span><del>- InspectorInstrumentation::didCreateCanvasRenderingContext(*this);
</del><span class="cx"> // Need to make sure a RenderLayer and compositing layer get created for the Canvas
</span><span class="cx"> setNeedsStyleRecalc(SyntheticStyleChange);
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasWebGLRenderingContextBasecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp (182192 => 182193)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp        2015-03-31 18:53:25 UTC (rev 182192)
+++ trunk/Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp        2015-03-31 19:01:59 UTC (rev 182193)
</span><span class="lines">@@ -49,7 +49,6 @@
</span><span class="cx"> #include "HTMLVideoElement.h"
</span><span class="cx"> #include "ImageBuffer.h"
</span><span class="cx"> #include "ImageData.h"
</span><del>-#include "InspectorInstrumentation.h"
</del><span class="cx"> #include "IntSize.h"
</span><span class="cx"> #include "Logging.h"
</span><span class="cx"> #include "MainFrame.h"
</span><span class="lines">@@ -834,8 +833,6 @@
</span><span class="cx"> }
</span><span class="cx"> m_context->attachShader(objectOrZero(program), objectOrZero(shader));
</span><span class="cx"> shader->onAttached();
</span><del>-
- InspectorInstrumentation::didAttachShader(*this, *program, *shader);
</del><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void WebGLRenderingContextBase::bindAttribLocation(WebGLProgram* program, GC3Duint index, const String& name, ExceptionCode& ec)
</span><span class="lines">@@ -1411,9 +1408,6 @@
</span><span class="cx"> return nullptr;
</span><span class="cx"> RefPtr<WebGLProgram> o = WebGLProgram::create(this);
</span><span class="cx"> addSharedObject(o.get());
</span><del>-
- InspectorInstrumentation::didCreateProgram(*this, *o);
-
</del><span class="cx"> return o;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -1488,8 +1482,6 @@
</span><span class="cx"> deleteObject(program);
</span><span class="cx"> // We don't reset m_currentProgram to 0 here because the deletion of the
</span><span class="cx"> // current program is delayed.
</span><del>-
- InspectorInstrumentation::didDeleteProgram(*this, *program);
</del><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void WebGLRenderingContextBase::deleteRenderbuffer(WebGLRenderbuffer* renderbuffer)
</span><span class="lines">@@ -1558,8 +1550,6 @@
</span><span class="cx"> }
</span><span class="cx"> m_context->detachShader(objectOrZero(program), objectOrZero(shader));
</span><span class="cx"> shader->onDetached(graphicsContext3D());
</span><del>-
- InspectorInstrumentation::didDetachShader(*this, *program, *shader);
</del><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void WebGLRenderingContextBase::disable(GC3Denum cap)
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorAllInOnecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorAllInOne.cpp (182192 => 182193)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorAllInOne.cpp        2015-03-31 18:53:25 UTC (rev 182192)
+++ trunk/Source/WebCore/inspector/InspectorAllInOne.cpp        2015-03-31 19:01:59 UTC (rev 182193)
</span><span class="lines">@@ -31,7 +31,6 @@
</span><span class="cx"> #include "DOMPatchSupport.cpp"
</span><span class="cx"> #include "InspectorApplicationCacheAgent.cpp"
</span><span class="cx"> #include "InspectorCSSAgent.cpp"
</span><del>-#include "InspectorCanvasAgent.cpp"
</del><span class="cx"> #include "InspectorClient.cpp"
</span><span class="cx"> #include "InspectorController.cpp"
</span><span class="cx"> #include "InspectorDOMAgent.cpp"
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorCanvasAgentcpp"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/inspector/InspectorCanvasAgent.cpp (182192 => 182193)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorCanvasAgent.cpp        2015-03-31 18:53:25 UTC (rev 182192)
+++ trunk/Source/WebCore/inspector/InspectorCanvasAgent.cpp        2015-03-31 19:01:59 UTC (rev 182193)
</span><span class="lines">@@ -1,346 +0,0 @@
</span><del>-/*
- * Copyright (C) 2015 Apple 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 INC. 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 INC. 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 "InspectorCanvasAgent.h"
-
-#include "CanvasRenderingContext2D.h"
-#include "Document.h"
-#include "DocumentLoader.h"
-#include "Event.h"
-#include "EventListener.h"
-#include "EventTarget.h"
-#include "ExceptionCode.h"
-#include "Frame.h"
-#include "GraphicsContext3D.h"
-#include "GraphicsTypes3D.h"
-#include "InspectorPageAgent.h"
-#include "InstrumentingAgents.h"
-#include "JSMainThreadExecState.h"
-#include "MainFrame.h"
-#include "WebGLContextAttributes.h"
-#include "WebGLProgram.h"
-#include "WebGLRenderingContextBase.h"
-#include "WebGLShader.h"
-#include <inspector/InspectorValues.h>
-#include <inspector/ScriptCallStack.h>
-#include <inspector/ScriptCallStackFactory.h>
-#include <wtf/Vector.h>
-
-using namespace Inspector;
-
-namespace WebCore {
-
-InspectorCanvasAgent::InspectorCanvasAgent(InstrumentingAgents* instrumentingAgents, InspectorPageAgent* pageAgent)
- : InspectorAgentBase(ASCIILiteral("Canvas"), instrumentingAgents)
- , m_pageAgent(pageAgent)
- , m_timer(*this, &InspectorCanvasAgent::canvasDestroyedTimerFired)
-{
- reset();
-}
-
-void InspectorCanvasAgent::didCreateFrontendAndBackend(Inspector::FrontendChannel* frontendChannel, Inspector::BackendDispatcher* backendDispatcher)
-{
- m_frontendDispatcher = std::make_unique<Inspector::CanvasFrontendDispatcher>(frontendChannel);
- m_backendDispatcher = Inspector::CanvasBackendDispatcher::create(backendDispatcher, this);
-}
-
-void InspectorCanvasAgent::willDestroyFrontendAndBackend(Inspector::DisconnectReason)
-{
- m_frontendDispatcher = nullptr;
- m_backendDispatcher.clear();
-}
-
-void InspectorCanvasAgent::frameNavigated(DocumentLoader* loader)
-{
- if (loader->frame()->isMainFrame()) {
- reset();
- return;
- }
-
- Vector<HTMLCanvasElement*> canvasesForFrame;
- for (const auto& canvasElement : m_canvasEntries.keys()) {
- if (canvasElement->document().frame() == loader->frame())
- canvasesForFrame.append(canvasElement);
- }
-
- for (auto* canvasElement : canvasesForFrame) {
- const auto& canvasEntry = m_canvasEntries.get(canvasElement);
- for (const auto& programEntry : canvasEntry.programEntries.values()) {
- removeShaderFromShaderMap(programEntry, programEntry.vertexShader);
- removeShaderFromShaderMap(programEntry, programEntry.fragmentShader);
- }
-
- if (m_frontendDispatcher)
- m_frontendDispatcher->canvasRemoved(canvasEntry.canvasId);
- }
-}
-
-void InspectorCanvasAgent::didCreateCSSCanvas(HTMLCanvasElement& canvasElement, const String& name)
-{
- ASSERT(!m_canvasToCSSCanvasId.contains(&canvasElement));
- ASSERT(!m_canvasEntries.contains(&canvasElement));
- if (m_canvasEntries.contains(&canvasElement))
- return;
-
- m_canvasToCSSCanvasId.set(&canvasElement, name);
-}
-
-void InspectorCanvasAgent::didCreateCanvasRenderingContext(HTMLCanvasElement& canvasElement)
-{
- ASSERT(!m_canvasEntries.contains(&canvasElement));
- if (m_canvasEntries.contains(&canvasElement))
- return;
-
- CanvasEntry newCanvasEntry(m_nextCanvasId++, &canvasElement);
- if (m_canvasToCSSCanvasId.contains(&canvasElement)) {
- ASSERT(!canvasElement.parentElement());
- newCanvasEntry.name = m_canvasToCSSCanvasId.get(&canvasElement);
- newCanvasEntry.cssCanvas = true;
- m_canvasToCSSCanvasId.remove(&canvasElement);
- } else
- newCanvasEntry.name = canvasElement.getAttribute("id");
-
- m_canvasEntries.set(&canvasElement, newCanvasEntry);
- canvasElement.addObserver(*this);
- if (m_frontendDispatcher)
- m_frontendDispatcher->canvasAdded(buildObjectForCanvas(newCanvasEntry, canvasElement));
-}
-
-void InspectorCanvasAgent::didAttachShader(WebGLRenderingContextBase& context, WebGLProgram& program, WebGLShader& shader)
-{
- ProgramEntry* programEntry = getProgramEntry(context, program);
- ASSERT(programEntry);
- if (!programEntry)
- return;
-
- ASSERT(!(programEntry->vertexShader == &shader || programEntry->fragmentShader == &shader));
- if (shader.getType() == GraphicsContext3D::VERTEX_SHADER)
- programEntry->vertexShader = &shader;
- else
- programEntry->fragmentShader = &shader;
-
- auto addResult = m_shaderToProgramEntries.add(&shader, HashSet<const ProgramEntry*>({programEntry}));
- if (!addResult.isNewEntry)
- addResult.iterator->value.add(programEntry);
- ASSERT(m_shaderToProgramEntries.contains(&shader));
-}
-
-void InspectorCanvasAgent::didDetachShader(WebGLRenderingContextBase& context, WebGLProgram& program, WebGLShader& shader)
-{
- ProgramEntry* programEntry = getProgramEntry(context, program);
- ASSERT(programEntry);
- if (!programEntry)
- return;
-
- ASSERT(programEntry->vertexShader == &shader || programEntry->fragmentShader == &shader);
- if (shader.getType() == GraphicsContext3D::VERTEX_SHADER) {
- removeShaderFromShaderMap(*programEntry, programEntry->vertexShader);
- programEntry->vertexShader = nullptr;
- } else {
- removeShaderFromShaderMap(*programEntry, programEntry->fragmentShader);
- programEntry->fragmentShader = nullptr;
- }
-}
-
-void InspectorCanvasAgent::didCreateProgram(WebGLRenderingContextBase& context, WebGLProgram& program)
-{
- CanvasEntry* canvasEntry = getCanvasEntry(context.canvas());
- ASSERT(canvasEntry);
- if (!canvasEntry)
- return;
-
- auto findResult = canvasEntry->programEntries.find(&program);
- ASSERT(findResult == canvasEntry->programEntries.end());
- if (findResult != canvasEntry->programEntries.end())
- return;
-
- unsigned programId = canvasEntry->nextProgramId++;
- canvasEntry->programEntries.set(&program, ProgramEntry(programId, canvasEntry, &program));
- if (m_frontendDispatcher) {
- auto compoundId = CanvasObjectId(canvasEntry->canvasId, programId);
- m_frontendDispatcher->programCreated(compoundId.asProtocolValue<Inspector::Protocol::Canvas::ProgramId>());
- }
-}
-
-void InspectorCanvasAgent::didDeleteProgram(WebGLRenderingContextBase& context, WebGLProgram& program)
-{
- ProgramEntry* programEntry = getProgramEntry(context, program);
- if (!programEntry)
- return;
-
- if (programEntry->vertexShader)
- removeShaderFromShaderMap(*programEntry, programEntry->vertexShader);
- if (programEntry->fragmentShader)
- removeShaderFromShaderMap(*programEntry, programEntry->fragmentShader);
- programEntry->canvasEntry->programEntries.remove(&program);
- if (m_frontendDispatcher) {
- auto compoundId = CanvasObjectId(programEntry->canvasEntry->canvasId, programEntry->programId);
- m_frontendDispatcher->programDeleted(compoundId.asProtocolValue<Inspector::Protocol::Canvas::ProgramId>());
- }
-}
-
-void InspectorCanvasAgent::getCanvases(ErrorString&, RefPtr<Inspector::Protocol::Array<Inspector::Protocol::Canvas::Canvas>>& result)
-{
- result = Inspector::Protocol::Array<Inspector::Protocol::Canvas::Canvas>::create();
- for (const auto& pair : m_canvasEntries) {
- HTMLCanvasElement& canvasElement = *pair.key;
- result->addItem(buildObjectForCanvas(pair.value, canvasElement));
- }
-}
-
-void InspectorCanvasAgent::canvasDestroyed(HTMLCanvasElement& canvasElement)
-{
- ASSERT(!m_canvasToCSSCanvasId.contains(&canvasElement));
-
- const CanvasEntry* canvasEntry = getCanvasEntry(&canvasElement);
- ASSERT(canvasEntry);
- if (!canvasEntry)
- return;
-
- m_canvasEntries.remove(&canvasElement);
-
- // WebCore::CanvasObserver::canvasDestroyed is called in response to the GC destroying the HTMLCanvasElement.
- // Due to the single-process model used in WebKit1, the event must be dispatched from a timer to prevent
- // the frontend from making JS allocations while the GC is still active.
- m_lastRemovedCanvasId = canvasEntry->canvasId;
- m_timer.startOneShot(0);
-}
-
-void InspectorCanvasAgent::canvasDestroyedTimerFired()
-{
- if (m_frontendDispatcher)
- m_frontendDispatcher->canvasRemoved(m_lastRemovedCanvasId);
-
- m_lastRemovedCanvasId = 0;
-}
-
-void InspectorCanvasAgent::reset()
-{
- m_nextCanvasId = 1;
- for (auto* canvasElement : m_canvasEntries.keys())
- canvasElement->removeObserver(*this);
-
- m_canvasToCSSCanvasId.clear();
- m_canvasEntries.clear();
- m_shaderToProgramEntries.clear();
-}
-
-InspectorCanvasAgent::CanvasEntry* InspectorCanvasAgent::getCanvasEntry(HTMLCanvasElement* canvasElement)
-{
- ASSERT(canvasElement);
- if (!canvasElement)
- return nullptr;
-
- auto findResult = m_canvasEntries.find(canvasElement);
- if (findResult != m_canvasEntries.end())
- return &findResult->value;
- return nullptr;
-}
-
-InspectorCanvasAgent::CanvasEntry* InspectorCanvasAgent::getCanvasEntry(unsigned canvasId)
-{
- for (auto& canvasEntry : m_canvasEntries.values()) {
- if (canvasEntry.canvasId == canvasId)
- return &canvasEntry;
- }
- return nullptr;
-}
-
-InspectorCanvasAgent::ProgramEntry* InspectorCanvasAgent::getProgramEntry(WebGLRenderingContextBase& context, WebGLProgram& program)
-{
- CanvasEntry* canvasEntry = getCanvasEntry(context.canvas());
- if (!canvasEntry)
- return nullptr;
-
- auto findResult = canvasEntry->programEntries.find(&program);
- if (findResult == canvasEntry->programEntries.end())
- return nullptr;
-
- return &findResult->value;
-}
-
-void InspectorCanvasAgent::removeShaderFromShaderMap(const ProgramEntry& programEntry, WebGLShader* shader)
-{
- ASSERT(shader);
- if (!shader)
- return;
-
- auto findResult = m_shaderToProgramEntries.find(shader);
- ASSERT(findResult != m_shaderToProgramEntries.end());
- if (findResult == m_shaderToProgramEntries.end())
- return;
-
- auto& programEntries = findResult->value;
- programEntries.remove(&programEntry);
- if (programEntries.isEmpty())
- m_shaderToProgramEntries.remove(shader);
-}
-
-Inspector::Protocol::Canvas::ContextType InspectorCanvasAgent::contextTypeJson(const CanvasRenderingContext* context)
-{
- if (context->is2d())
- return Inspector::Protocol::Canvas::ContextType::Canvas2D;
-
- ASSERT(context->is3d());
- return Inspector::Protocol::Canvas::ContextType::WebGL;
-}
-
-Ref<Inspector::Protocol::Canvas::Canvas> InspectorCanvasAgent::buildObjectForCanvas(const CanvasEntry& canvasEntry, HTMLCanvasElement& canvasElement)
-{
- Frame* frame = canvasElement.document().frame();
- CanvasRenderingContext* context = canvasElement.renderingContext();
-
- auto programIds = Inspector::Protocol::Array<Inspector::Protocol::Canvas::ProgramId>::create();
- for (auto& pair : canvasEntry.programEntries) {
- auto compoundId = CanvasObjectId(canvasEntry.canvasId, pair.value.programId);
- programIds->addItem(compoundId.asProtocolValue<Inspector::Protocol::Canvas::ProgramId>());
- }
-
- auto canvas = Inspector::Protocol::Canvas::Canvas::create()
- .setCanvasId(canvasEntry.canvasId)
- .setFrameId(m_pageAgent->frameId(frame))
- .setName(canvasEntry.name)
- .setCssCanvas(canvasEntry.cssCanvas)
- .setContextType(contextTypeJson(context))
- .setProgramIds(WTF::move(programIds))
- .release();
-
- if (context->is3d()) {
- auto attributes = static_cast<WebGLRenderingContextBase*>(context)->getContextAttributes();
- canvas->setContextAttributes(Inspector::Protocol::Canvas::ContextAttributes::create()
- .setAlpha(attributes->alpha())
- .setDepth(attributes->depth())
- .setStencil(attributes->stencil())
- .setAntialias(attributes->antialias())
- .setPremultipliedAlpha(attributes->premultipliedAlpha())
- .setPreserveDrawingBuffer(attributes->preserveDrawingBuffer())
- .release());
- }
-
- return canvas;
-}
-
-} // namespace WebCore
</del></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorCanvasAgenth"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/inspector/InspectorCanvasAgent.h (182192 => 182193)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorCanvasAgent.h        2015-03-31 18:53:25 UTC (rev 182192)
+++ trunk/Source/WebCore/inspector/InspectorCanvasAgent.h        2015-03-31 19:01:59 UTC (rev 182193)
</span><span class="lines">@@ -1,176 +0,0 @@
</span><del>-/*
- * Copyright (C) 2015 Apple 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 INC. 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 INC. 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 InspectorCanvasAgent_h
-#define InspectorCanvasAgent_h
-
-#include "HTMLCanvasElement.h"
-#include "InspectorWebAgentBase.h"
-#include "Timer.h"
-#include <inspector/InspectorBackendDispatchers.h>
-#include <inspector/InspectorFrontendDispatchers.h>
-#include <wtf/RefPtr.h>
-#include <wtf/text/WTFString.h>
-
-namespace WebCore {
-
-class DocumentLoader;
-class InspectorPageAgent;
-class WebGLProgram;
-class WebGLShader;
-class WebGLRenderingContextBase;
-
-typedef String ErrorString;
-
-class InspectorCanvasAgent final
- : public InspectorAgentBase
- , public CanvasObserver
- , public Inspector::CanvasBackendDispatcherHandler {
- WTF_MAKE_NONCOPYABLE(InspectorCanvasAgent);
- WTF_MAKE_FAST_ALLOCATED;
-public:
- InspectorCanvasAgent(InstrumentingAgents*, InspectorPageAgent*);
- virtual ~InspectorCanvasAgent() { }
-
- virtual void didCreateFrontendAndBackend(Inspector::FrontendChannel*, Inspector::BackendDispatcher*) override;
- virtual void willDestroyFrontendAndBackend(Inspector::DisconnectReason) override;
-
- // InspectorInstrumentation API
- void frameNavigated(DocumentLoader*);
- void didCreateCSSCanvas(HTMLCanvasElement&, const String&);
- void didCreateCanvasRenderingContext(HTMLCanvasElement&);
- void didAttachShader(WebGLRenderingContextBase&, WebGLProgram&, WebGLShader&);
- void didDetachShader(WebGLRenderingContextBase&, WebGLProgram&, WebGLShader&);
- void didCreateProgram(WebGLRenderingContextBase&, WebGLProgram&);
- void didDeleteProgram(WebGLRenderingContextBase&, WebGLProgram&);
-
- // Canvas API for InspectorFrontend
- virtual void getCanvases(ErrorString&, RefPtr<Inspector::Protocol::Array<Inspector::Protocol::Canvas::Canvas>>&) override;
-
- // CanvasObserver implementation
- virtual void canvasChanged(HTMLCanvasElement&, const FloatRect&) override { }
- virtual void canvasResized(HTMLCanvasElement&) override { }
- virtual void canvasDestroyed(HTMLCanvasElement&) override;
-
-private:
- class CanvasObjectId {
- public:
- CanvasObjectId() { }
-
- explicit CanvasObjectId(const RefPtr<Inspector::InspectorObject> value)
- {
- if (!value->getInteger(ASCIILiteral("canvasId"), m_canvasId))
- return;
- if (!value->getInteger(ASCIILiteral("objectId"), m_objectId))
- m_canvasId = 0;
- }
-
- CanvasObjectId(unsigned canvasId, unsigned programId)
- : m_canvasId(canvasId)
- , m_objectId(programId)
- {
- }
-
- bool isEmpty() const { return !(m_canvasId && m_objectId); }
- unsigned canvasId() const { return m_canvasId; }
- unsigned objectId() const { return m_objectId; }
-
- // ID type is either Inspector::Protocol::Canvas::ProgramId or Inspector::Protocol::Canvas::TextureId.
- template<typename ID>
- RefPtr<ID> asProtocolValue() const
- {
- if (isEmpty())
- return nullptr;
-
- return ID::create()
- .setCanvasId(m_canvasId)
- .setObjectId(m_objectId).release();
- }
-
- private:
- unsigned m_canvasId = {0};
- unsigned m_objectId = {0};
- };
-
- struct CanvasEntry;
-
- struct ProgramEntry {
- unsigned programId = {0};
- CanvasEntry* canvasEntry = {nullptr};
- WebGLProgram* program = {nullptr};
- WebGLShader* vertexShader = {nullptr};
- WebGLShader* fragmentShader = {nullptr};
-
- ProgramEntry() { }
-
- ProgramEntry(unsigned id, CanvasEntry* canvasEntry, WebGLProgram* program)
- : programId(id)
- , canvasEntry(canvasEntry)
- , program(program)
- {
- }
- };
-
- struct CanvasEntry {
- unsigned canvasId = {0};
- unsigned nextProgramId = {1};
- bool cssCanvas = {false};
- String name;
- HTMLCanvasElement* element = {nullptr};
- HashMap<WebGLProgram*, ProgramEntry> programEntries;
-
- CanvasEntry() { }
-
- CanvasEntry(unsigned id, HTMLCanvasElement* canvasElement)
- : canvasId(id)
- , element(canvasElement)
- {
- }
- };
-
- void canvasDestroyedTimerFired();
- void reset();
- CanvasEntry* getCanvasEntry(HTMLCanvasElement*);
- CanvasEntry* getCanvasEntry(unsigned);
- ProgramEntry* getProgramEntry(WebGLRenderingContextBase&, WebGLProgram&);
- void removeShaderFromShaderMap(const ProgramEntry&, WebGLShader*);
- static Inspector::Protocol::Canvas::ContextType contextTypeJson(const CanvasRenderingContext*);
- Ref<Inspector::Protocol::Canvas::Canvas> buildObjectForCanvas(const CanvasEntry&, HTMLCanvasElement&);
-
- InspectorPageAgent* m_pageAgent;
- std::unique_ptr<Inspector::CanvasFrontendDispatcher> m_frontendDispatcher;
- RefPtr<Inspector::CanvasBackendDispatcher> m_backendDispatcher;
-
- HashMap<HTMLCanvasElement*, String> m_canvasToCSSCanvasId;
- HashMap<HTMLCanvasElement*, CanvasEntry> m_canvasEntries;
- HashMap<const WebGLShader*, HashSet<const ProgramEntry*>> m_shaderToProgramEntries;
- Timer m_timer;
- unsigned m_nextCanvasId = {0};
- unsigned m_lastRemovedCanvasId = {0};
-};
-
-} // namespace WebCore
-
-#endif // !defined(InspectorCanvasAgent_h)
</del></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorControllercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorController.cpp (182192 => 182193)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorController.cpp        2015-03-31 18:53:25 UTC (rev 182192)
+++ trunk/Source/WebCore/inspector/InspectorController.cpp        2015-03-31 19:01:59 UTC (rev 182193)
</span><span class="lines">@@ -37,7 +37,6 @@
</span><span class="cx"> #include "GraphicsContext.h"
</span><span class="cx"> #include "InspectorApplicationCacheAgent.h"
</span><span class="cx"> #include "InspectorCSSAgent.h"
</span><del>-#include "InspectorCanvasAgent.h"
</del><span class="cx"> #include "InspectorClient.h"
</span><span class="cx"> #include "InspectorDOMAgent.h"
</span><span class="cx"> #include "InspectorDOMDebuggerAgent.h"
</span><span class="lines">@@ -158,10 +157,6 @@
</span><span class="cx"> m_domDebuggerAgent = domDebuggerAgentPtr.get();
</span><span class="cx"> m_agents.append(WTF::move(domDebuggerAgentPtr));
</span><span class="cx">
</span><del>- auto canvasAgentPtr = std::make_unique<InspectorCanvasAgent>(m_instrumentingAgents.get(), m_pageAgent);
- m_instrumentingAgents->setInspectorCanvasAgent(canvasAgentPtr.get());
- m_agents.append(WTF::move(canvasAgentPtr));
-
</del><span class="cx"> m_agents.append(std::make_unique<InspectorApplicationCacheAgent>(m_instrumentingAgents.get(), pageAgent));
</span><span class="cx"> m_agents.append(std::make_unique<InspectorWorkerAgent>(m_instrumentingAgents.get()));
</span><span class="cx"> m_agents.append(std::make_unique<InspectorLayerTreeAgent>(m_instrumentingAgents.get()));
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorInstrumentationcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorInstrumentation.cpp (182192 => 182193)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorInstrumentation.cpp        2015-03-31 18:53:25 UTC (rev 182192)
+++ trunk/Source/WebCore/inspector/InspectorInstrumentation.cpp        2015-03-31 19:01:59 UTC (rev 182193)
</span><span class="lines">@@ -43,7 +43,6 @@
</span><span class="cx"> #include "InspectorApplicationCacheAgent.h"
</span><span class="cx"> #include "InspectorController.h"
</span><span class="cx"> #include "InspectorCSSAgent.h"
</span><del>-#include "InspectorCanvasAgent.h"
</del><span class="cx"> #include "InspectorDOMAgent.h"
</span><span class="cx"> #include "InspectorDOMDebuggerAgent.h"
</span><span class="cx"> #include "InspectorDOMStorageAgent.h"
</span><span class="lines">@@ -63,7 +62,6 @@
</span><span class="cx"> #include "StyleResolver.h"
</span><span class="cx"> #include "StyleRule.h"
</span><span class="cx"> #include "WebConsoleAgent.h"
</span><del>-#include "WebGLRenderingContextBase.h"
</del><span class="cx"> #include "WorkerGlobalScope.h"
</span><span class="cx"> #include "WorkerInspectorController.h"
</span><span class="cx"> #include "WorkerRuntimeAgent.h"
</span><span class="lines">@@ -764,9 +762,6 @@
</span><span class="cx"> layerTreeAgent->reset();
</span><span class="cx"> }
</span><span class="cx">
</span><del>- if (InspectorCanvasAgent* canvasAgent = instrumentingAgents.inspectorCanvasAgent())
- canvasAgent->frameNavigated(loader);
-
</del><span class="cx"> if (InspectorDOMAgent* domAgent = instrumentingAgents.inspectorDOMAgent())
</span><span class="cx"> domAgent->didCommitLoad(loader->frame()->document());
</span><span class="cx">
</span><span class="lines">@@ -1033,44 +1028,6 @@
</span><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx">
</span><del>-void InspectorInstrumentation::didCreateCSSCanvasImpl(InstrumentingAgents* instrumentingAgents, HTMLCanvasElement& canvasElement, const String& name)
-{
- if (InspectorCanvasAgent* canvasAgent = instrumentingAgents->inspectorCanvasAgent())
- canvasAgent->didCreateCSSCanvas(canvasElement, name);
-}
-
-void InspectorInstrumentation::didCreateCanvasRenderingContextImpl(InstrumentingAgents* instrumentingAgents, HTMLCanvasElement& canvasElement)
-{
- if (InspectorCanvasAgent* canvasAgent = instrumentingAgents->inspectorCanvasAgent())
- canvasAgent->didCreateCanvasRenderingContext(canvasElement);
-}
-
-#if ENABLE(WEBGL)
-void InspectorInstrumentation::didAttachShaderImpl(InstrumentingAgents* instrumentingAgents, WebGLRenderingContextBase& context, WebGLProgram& program, WebGLShader& shader)
-{
- if (InspectorCanvasAgent* canvasAgent = instrumentingAgents->inspectorCanvasAgent())
- canvasAgent->didAttachShader(context, program, shader);
-}
-
-void InspectorInstrumentation::didDetachShaderImpl(InstrumentingAgents* instrumentingAgents, WebGLRenderingContextBase& context, WebGLProgram& program, WebGLShader& shader)
-{
- if (InspectorCanvasAgent* canvasAgent = instrumentingAgents->inspectorCanvasAgent())
- canvasAgent->didDetachShader(context, program, shader);
-}
-
-void InspectorInstrumentation::didCreateProgramImpl(InstrumentingAgents* instrumentingAgents, WebGLRenderingContextBase& context, WebGLProgram& program)
-{
- if (InspectorCanvasAgent* canvasAgent = instrumentingAgents->inspectorCanvasAgent())
- canvasAgent->didCreateProgram(context, program);
-}
-
-void InspectorInstrumentation::didDeleteProgramImpl(InstrumentingAgents* instrumentingAgents, WebGLRenderingContextBase& context, WebGLProgram& program)
-{
- if (InspectorCanvasAgent* canvasAgent = instrumentingAgents->inspectorCanvasAgent())
- canvasAgent->didDeleteProgram(context, program);
-}
-#endif
-
</del><span class="cx"> #if ENABLE(WEB_REPLAY)
</span><span class="cx"> void InspectorInstrumentation::sessionCreatedImpl(InstrumentingAgents& instrumentingAgents, RefPtr<ReplaySession>&& session)
</span><span class="cx"> {
</span><span class="lines">@@ -1264,16 +1221,6 @@
</span><span class="cx"> return nullptr;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-InstrumentingAgents* InspectorInstrumentation::instrumentingAgentsForRenderingContext(WebGLRenderingContextBase* context)
-{
- if (!context)
- return nullptr;
- HTMLCanvasElement* canvasElement = context->canvas();
- if (canvasElement)
- return instrumentingAgentsForDocument(&canvasElement->document());
- return nullptr;
-}
-
</del><span class="cx"> InstrumentingAgents* InspectorInstrumentation::instrumentingAgentsForPage(Page* page)
</span><span class="cx"> {
</span><span class="cx"> return page ? instrumentingAgentsForPage(*page) : nullptr;
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorInstrumentationh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorInstrumentation.h (182192 => 182193)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorInstrumentation.h        2015-03-31 18:53:25 UTC (rev 182192)
+++ trunk/Source/WebCore/inspector/InspectorInstrumentation.h        2015-03-31 19:01:59 UTC (rev 182193)
</span><span class="lines">@@ -36,7 +36,6 @@
</span><span class="cx"> #include "Element.h"
</span><span class="cx"> #include "FormData.h"
</span><span class="cx"> #include "Frame.h"
</span><del>-#include "HTMLCanvasElement.h"
</del><span class="cx"> #include "HitTestResult.h"
</span><span class="cx"> #include "InspectorInstrumentationCookie.h"
</span><span class="cx"> #include "Page.h"
</span><span class="lines">@@ -76,6 +75,7 @@
</span><span class="cx"> class DOMWrapperWorld;
</span><span class="cx"> class Database;
</span><span class="cx"> class Document;
</span><ins>+class Element;
</ins><span class="cx"> class DocumentLoader;
</span><span class="cx"> class DocumentStyleSheetCollection;
</span><span class="cx"> class GraphicsContext;
</span><span class="lines">@@ -93,15 +93,13 @@
</span><span class="cx"> class RenderObject;
</span><span class="cx"> class ResourceRequest;
</span><span class="cx"> class ResourceResponse;
</span><ins>+class ScriptExecutionContext;
</ins><span class="cx"> class SecurityOrigin;
</span><span class="cx"> class ShadowRoot;
</span><span class="cx"> class StorageArea;
</span><span class="cx"> class StyleResolver;
</span><span class="cx"> class StyleRule;
</span><span class="cx"> class ThreadableLoaderClient;
</span><del>-class WebGLShader;
-class WebGLProgram;
-class WebGLRenderingContextBase;
</del><span class="cx"> class WorkerGlobalScope;
</span><span class="cx"> class WorkerGlobalScopeProxy;
</span><span class="cx"> class XMLHttpRequest;
</span><span class="lines">@@ -265,13 +263,9 @@
</span><span class="cx"> static void didReceiveWebSocketFrameError(Document*, unsigned long identifier, const String& errorMessage);
</span><span class="cx"> #endif
</span><span class="cx">
</span><del>- static void didCreateCSSCanvas(HTMLCanvasElement&, const String&);
- static void didCreateCanvasRenderingContext(HTMLCanvasElement&);
</del><ins>+ static Deprecated::ScriptObject wrapCanvas2DRenderingContextForInstrumentation(Document*, const Deprecated::ScriptObject&);
</ins><span class="cx"> #if ENABLE(WEBGL)
</span><del>- static void didAttachShader(WebGLRenderingContextBase&, WebGLProgram&, WebGLShader&);
- static void didDetachShader(WebGLRenderingContextBase&, WebGLProgram&, WebGLShader&);
- static void didCreateProgram(WebGLRenderingContextBase&, WebGLProgram&);
- static void didDeleteProgram(WebGLRenderingContextBase&, WebGLProgram&);
</del><ins>+ static Deprecated::ScriptObject wrapWebGLRenderingContextForInstrumentation(Document*, const Deprecated::ScriptObject&);
</ins><span class="cx"> #endif
</span><span class="cx">
</span><span class="cx"> static void networkStateChanged(Page*);
</span><span class="lines">@@ -448,16 +442,7 @@
</span><span class="cx">
</span><span class="cx"> static void networkStateChangedImpl(InstrumentingAgents&);
</span><span class="cx"> static void updateApplicationCacheStatusImpl(InstrumentingAgents&, Frame*);
</span><del>- static void didCreateCSSCanvasImpl(InstrumentingAgents*, HTMLCanvasElement&, const String&);
- static void didCreateCanvasRenderingContextImpl(InstrumentingAgents*, HTMLCanvasElement&);
</del><span class="cx">
</span><del>-#if ENABLE(WEBGL)
- static void didAttachShaderImpl(InstrumentingAgents*, WebGLRenderingContextBase&, WebGLProgram&, WebGLShader&);
- static void didDetachShaderImpl(InstrumentingAgents*, WebGLRenderingContextBase&, WebGLProgram&, WebGLShader&);
- static void didCreateProgramImpl(InstrumentingAgents*, WebGLRenderingContextBase&, WebGLProgram&);
- static void didDeleteProgramImpl(InstrumentingAgents*, WebGLRenderingContextBase&, WebGLProgram&);
-#endif
-
</del><span class="cx"> static void layerTreeDidChangeImpl(InstrumentingAgents&);
</span><span class="cx"> static void renderLayerDestroyedImpl(InstrumentingAgents&, const RenderLayer&);
</span><span class="cx"> static void pseudoElementDestroyedImpl(InstrumentingAgents&, PseudoElement&);
</span><span class="lines">@@ -465,7 +450,6 @@
</span><span class="cx"> static InstrumentingAgents* instrumentingAgentsForPage(Page&);
</span><span class="cx"> static InstrumentingAgents* instrumentingAgentsForFrame(Frame&);
</span><span class="cx"> static InstrumentingAgents* instrumentingAgentsForFrame(Frame*);
</span><del>- static InstrumentingAgents* instrumentingAgentsForRenderingContext(WebGLRenderingContextBase*);
</del><span class="cx"> static InstrumentingAgents* instrumentingAgentsForContext(ScriptExecutionContext*);
</span><span class="cx"> static InstrumentingAgents* instrumentingAgentsForDocument(Document&);
</span><span class="cx"> static InstrumentingAgents* instrumentingAgentsForDocument(Document*);
</span><span class="lines">@@ -1171,75 +1155,6 @@
</span><span class="cx"> }
</span><span class="cx"> #endif // ENABLE(WEB_SOCKETS)
</span><span class="cx">
</span><del>-inline void InspectorInstrumentation::didCreateCSSCanvas(HTMLCanvasElement& canvasElement, const String& name)
-{
-#if ENABLE(INSPECTOR)
- if (InstrumentingAgents* instrumentingAgents = instrumentingAgentsForDocument(&canvasElement.document()))
- didCreateCSSCanvasImpl(instrumentingAgents, canvasElement, name);
-#else
- UNUSED_PARAM(canvasElement);
- UNUSED_PARAM(name);
-#endif
-}
-
-inline void InspectorInstrumentation::didCreateCanvasRenderingContext(HTMLCanvasElement& canvasElement)
-{
-#if ENABLE(INSPECTOR)
- if (InstrumentingAgents* instrumentingAgents = instrumentingAgentsForDocument(&canvasElement.document()))
- didCreateCanvasRenderingContextImpl(instrumentingAgents, canvasElement);
-#else
- UNUSED_PARAM(canvasElement);
-#endif
-}
-
-#if ENABLE(WEBGL)
-inline void InspectorInstrumentation::didAttachShader(WebGLRenderingContextBase& context, WebGLProgram& program, WebGLShader& shader)
-{
-#if ENABLE(INSPECTOR)
- if (InstrumentingAgents* instrumentingAgents = instrumentingAgentsForRenderingContext(&context))
- didAttachShaderImpl(instrumentingAgents, context, program, shader);
-#else
- UNUSED_PARAM(context);
- UNUSED_PARAM(program);
- UNUSED_PARAM(shader);
-#endif
-}
-
-inline void InspectorInstrumentation::didDetachShader(WebGLRenderingContextBase& context, WebGLProgram& program, WebGLShader& shader)
-{
-#if ENABLE(INSPECTOR)
- if (InstrumentingAgents* instrumentingAgents = instrumentingAgentsForRenderingContext(&context))
- didDetachShaderImpl(instrumentingAgents, context, program, shader);
-#else
- UNUSED_PARAM(context);
- UNUSED_PARAM(program);
- UNUSED_PARAM(shader);
-#endif
-}
-
-inline void InspectorInstrumentation::didCreateProgram(WebGLRenderingContextBase& context, WebGLProgram& program)
-{
-#if ENABLE(INSPECTOR)
- if (InstrumentingAgents* instrumentingAgents = instrumentingAgentsForRenderingContext(&context))
- didCreateProgramImpl(instrumentingAgents, context, program);
-#else
- UNUSED_PARAM(context);
- UNUSED_PARAM(program);
-#endif
-}
-
-inline void InspectorInstrumentation::didDeleteProgram(WebGLRenderingContextBase& context, WebGLProgram& program)
-{
-#if ENABLE(INSPECTOR)
- if (InstrumentingAgents* instrumentingAgents = instrumentingAgentsForRenderingContext(&context))
- didDeleteProgramImpl(instrumentingAgents, context, program);
-#else
- UNUSED_PARAM(context);
- UNUSED_PARAM(program);
-#endif
-}
-#endif
-
</del><span class="cx"> #if ENABLE(WEB_REPLAY)
</span><span class="cx"> inline void InspectorInstrumentation::sessionCreated(Page& page, RefPtr<ReplaySession>&& session)
</span><span class="cx"> {
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInstrumentingAgentscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InstrumentingAgents.cpp (182192 => 182193)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InstrumentingAgents.cpp        2015-03-31 18:53:25 UTC (rev 182192)
+++ trunk/Source/WebCore/inspector/InstrumentingAgents.cpp        2015-03-31 19:01:59 UTC (rev 182193)
</span><span class="lines">@@ -46,7 +46,6 @@
</span><span class="cx"> : m_environment(environment)
</span><span class="cx"> , m_inspectorAgent(nullptr)
</span><span class="cx"> , m_inspectorPageAgent(nullptr)
</span><del>- , m_inspectorCanvasAgent(nullptr)
</del><span class="cx"> , m_inspectorCSSAgent(nullptr)
</span><span class="cx"> , m_inspectorLayerTreeAgent(nullptr)
</span><span class="cx"> , m_webConsoleAgent(nullptr)
</span><span class="lines">@@ -73,7 +72,6 @@
</span><span class="cx"> {
</span><span class="cx"> m_inspectorAgent = nullptr;
</span><span class="cx"> m_inspectorPageAgent = nullptr;
</span><del>- m_inspectorCanvasAgent = nullptr;
</del><span class="cx"> m_inspectorCSSAgent = nullptr;
</span><span class="cx"> m_inspectorLayerTreeAgent = nullptr;
</span><span class="cx"> m_webConsoleAgent = nullptr;
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInstrumentingAgentsh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InstrumentingAgents.h (182192 => 182193)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InstrumentingAgents.h        2015-03-31 18:53:25 UTC (rev 182192)
+++ trunk/Source/WebCore/inspector/InstrumentingAgents.h        2015-03-31 19:01:59 UTC (rev 182193)
</span><span class="lines">@@ -46,7 +46,6 @@
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><span class="cx"> class InspectorApplicationCacheAgent;
</span><del>-class InspectorCanvasAgent;
</del><span class="cx"> class InspectorCSSAgent;
</span><span class="cx"> class InspectorDOMAgent;
</span><span class="cx"> class InspectorDOMDebuggerAgent;
</span><span class="lines">@@ -84,9 +83,6 @@
</span><span class="cx"> InspectorPageAgent* inspectorPageAgent() const { return m_inspectorPageAgent; }
</span><span class="cx"> void setInspectorPageAgent(InspectorPageAgent* agent) { m_inspectorPageAgent = agent; }
</span><span class="cx">
</span><del>- InspectorCanvasAgent* inspectorCanvasAgent() const { return m_inspectorCanvasAgent; }
- void setInspectorCanvasAgent(InspectorCanvasAgent* agent) { m_inspectorCanvasAgent = agent; }
-
</del><span class="cx"> InspectorCSSAgent* inspectorCSSAgent() const { return m_inspectorCSSAgent; }
</span><span class="cx"> void setInspectorCSSAgent(InspectorCSSAgent* agent) { m_inspectorCSSAgent = agent; }
</span><span class="cx">
</span><span class="lines">@@ -147,7 +143,6 @@
</span><span class="cx">
</span><span class="cx"> Inspector::InspectorAgent* m_inspectorAgent;
</span><span class="cx"> InspectorPageAgent* m_inspectorPageAgent;
</span><del>- InspectorCanvasAgent* m_inspectorCanvasAgent;
</del><span class="cx"> InspectorCSSAgent* m_inspectorCSSAgent;
</span><span class="cx"> InspectorLayerTreeAgent* m_inspectorLayerTreeAgent;
</span><span class="cx"> WebConsoleAgent* m_webConsoleAgent;
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/ChangeLog (182192 => 182193)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/ChangeLog        2015-03-31 18:53:25 UTC (rev 182192)
+++ trunk/Source/WebInspectorUI/ChangeLog        2015-03-31 19:01:59 UTC (rev 182193)
</span><span class="lines">@@ -1,3 +1,18 @@
</span><ins>+2015-03-31 Commit Queue <commit-queue@webkit.org>
+
+ Unreviewed, rolling out r182186.
+ https://bugs.webkit.org/show_bug.cgi?id=143270
+
+ it crashes all the WebGL tests on the Debug bots (Requested by
+ dino on #webkit).
+
+ Reverted changeset:
+
+ "Web Inspector: add 2D/WebGL canvas instrumentation
+ infrastructure"
+ https://bugs.webkit.org/show_bug.cgi?id=137278
+ http://trac.webkit.org/changeset/182186
+
</ins><span class="cx"> 2015-03-31 Matt Baker <mattbaker@apple.com>
</span><span class="cx">
</span><span class="cx"> Web Inspector: add 2D/WebGL canvas instrumentation infrastructure
</span></span></pre></div>
<a id="trunkSourceWebInspectorUILocalizationsenlprojlocalizedStringsjs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js (182192 => 182193)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js        2015-03-31 18:53:25 UTC (rev 182192)
+++ trunk/Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js        2015-03-31 19:01:59 UTC (rev 182193)
</span><span class="lines">@@ -36,7 +36,6 @@
</span><span class="cx"> localizedStrings["(uninitialized)"] = "(uninitialized)";
</span><span class="cx"> localizedStrings[", "] = ", ";
</span><span class="cx"> localizedStrings["1 match"] = "1 match";
</span><del>-localizedStrings["2D"] = "2D";
</del><span class="cx"> localizedStrings["999+"] = "999+";
</span><span class="cx"> localizedStrings["Accessibility"] = "Accessibility";
</span><span class="cx"> localizedStrings["Action"] = "Action";
</span><span class="lines">@@ -80,14 +79,10 @@
</span><span class="cx"> localizedStrings["Box Model"] = "Box Model";
</span><span class="cx"> localizedStrings["Bubbling"] = "Bubbling";
</span><span class="cx"> localizedStrings["Busy"] = "Busy";
</span><del>-localizedStrings["CSS canvas %s "] = "CSS canvas %s ";
</del><span class="cx"> localizedStrings["Cached"] = "Cached";
</span><span class="cx"> localizedStrings["Call Stack"] = "Call Stack";
</span><span class="cx"> localizedStrings["Calls"] = "Calls";
</span><span class="cx"> localizedStrings["Cancel Automatic Continue"] = "Cancel Automatic Continue";
</span><del>-localizedStrings["Canvas #%s"] = "Canvas #%s";
-localizedStrings["Canvas %d"] = "Canvas %d";
-localizedStrings["Canvases"] = "Canvases";
</del><span class="cx"> localizedStrings["Capturing"] = "Capturing";
</span><span class="cx"> localizedStrings["Catch Variables"] = "Catch Variables";
</span><span class="cx"> localizedStrings["Character Data"] = "Character Data";
</span><span class="lines">@@ -362,8 +357,6 @@
</span><span class="cx"> localizedStrings["Probe Sample Recorded"] = "Probe Sample Recorded";
</span><span class="cx"> localizedStrings["Probes"] = "Probes";
</span><span class="cx"> localizedStrings["Processing Instruction"] = "Processing Instruction";
</span><del>-localizedStrings["Program %d"] = "Program %d";
-localizedStrings["Programs"] = "Programs";
</del><span class="cx"> localizedStrings["Properties"] = "Properties";
</span><span class="cx"> localizedStrings["Prototype"] = "Prototype";
</span><span class="cx"> localizedStrings["Query Parameters"] = "Query Parameters";
</span><span class="lines">@@ -494,7 +487,6 @@
</span><span class="cx"> localizedStrings["Warning: "] = "Warning: ";
</span><span class="cx"> localizedStrings["Warnings"] = "Warnings";
</span><span class="cx"> localizedStrings["Web Inspector"] = "Web Inspector";
</span><del>-localizedStrings["WebGL"] = "WebGL";
</del><span class="cx"> localizedStrings["Width"] = "Width";
</span><span class="cx"> localizedStrings["With Object Properties"] = "With Object Properties";
</span><span class="cx"> localizedStrings["Working Copy"] = "Working Copy";
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceBaseMainjs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/UserInterface/Base/Main.js (182192 => 182193)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Base/Main.js        2015-03-31 18:53:25 UTC (rev 182192)
+++ trunk/Source/WebInspectorUI/UserInterface/Base/Main.js        2015-03-31 19:01:59 UTC (rev 182193)
</span><span class="lines">@@ -78,8 +78,6 @@
</span><span class="cx"> InspectorBackend.registerRuntimeDispatcher(new WebInspector.RuntimeObserver);
</span><span class="cx"> if (InspectorBackend.registerReplayDispatcher)
</span><span class="cx"> InspectorBackend.registerReplayDispatcher(new WebInspector.ReplayObserver);
</span><del>- if (InspectorBackend.registerCanvasDispatcher)
- InspectorBackend.registerCanvasDispatcher(new WebInspector.CanvasObserver);
</del><span class="cx">
</span><span class="cx"> // Enable agents.
</span><span class="cx"> if (window.InspectorAgent)
</span><span class="lines">@@ -112,7 +110,6 @@
</span><span class="cx"> this.dashboardManager = new WebInspector.DashboardManager;
</span><span class="cx"> this.probeManager = new WebInspector.ProbeManager;
</span><span class="cx"> this.replayManager = new WebInspector.ReplayManager;
</span><del>- this.canvasManager = new WebInspector.CanvasManager;
</del><span class="cx">
</span><span class="cx"> // Enable the Console Agent after creating the singleton managers.
</span><span class="cx"> if (window.ConsoleAgent)
</span><span class="lines">@@ -386,8 +383,7 @@
</span><span class="cx"> WebInspector.sidebarPanelForRepresentedObject = function(representedObject)
</span><span class="cx"> {
</span><span class="cx"> if (representedObject instanceof WebInspector.Frame || representedObject instanceof WebInspector.Resource ||
</span><del>- representedObject instanceof WebInspector.Script || representedObject instanceof WebInspector.ContentFlow ||
- representedObject instanceof WebInspector.Canvas || representedObject instanceof WebInspector.ShaderProgram)
</del><ins>+ representedObject instanceof WebInspector.Script || representedObject instanceof WebInspector.ContentFlow)
</ins><span class="cx"> return this.resourceSidebarPanel;
</span><span class="cx">
</span><span class="cx"> if (representedObject instanceof WebInspector.DOMStorageObject || representedObject instanceof WebInspector.CookieStorageObject ||
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceBaseTestjs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/UserInterface/Base/Test.js (182192 => 182193)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Base/Test.js        2015-03-31 18:53:25 UTC (rev 182192)
+++ trunk/Source/WebInspectorUI/UserInterface/Base/Test.js        2015-03-31 19:01:59 UTC (rev 182193)
</span><span class="lines">@@ -45,7 +45,6 @@
</span><span class="cx"> InspectorBackend.registerRuntimeDispatcher(new WebInspector.RuntimeObserver);
</span><span class="cx"> if (InspectorBackend.registerReplayDispatcher)
</span><span class="cx"> InspectorBackend.registerReplayDispatcher(new WebInspector.ReplayObserver);
</span><del>- InspectorBackend.registerCanvasDispatcher(new WebInspector.CanvasObserver);
</del><span class="cx">
</span><span class="cx"> // Instantiate controllers used by tests.
</span><span class="cx"> this.frameResourceManager = new WebInspector.FrameResourceManager;
</span><span class="lines">@@ -56,7 +55,6 @@
</span><span class="cx"> this.debuggerManager = new WebInspector.DebuggerManager;
</span><span class="cx"> this.probeManager = new WebInspector.ProbeManager;
</span><span class="cx"> this.replayManager = new WebInspector.ReplayManager;
</span><del>- this.canvasManager = new WebInspector.CanvasManager;
</del><span class="cx">
</span><span class="cx"> // Global controllers.
</span><span class="cx"> this.quickConsole = {executionContextIdentifier: undefined};
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceControllersCanvasManagerjs"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebInspectorUI/UserInterface/Controllers/CanvasManager.js (182192 => 182193)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Controllers/CanvasManager.js        2015-03-31 18:53:25 UTC (rev 182192)
+++ trunk/Source/WebInspectorUI/UserInterface/Controllers/CanvasManager.js        2015-03-31 19:01:59 UTC (rev 182193)
</span><span class="lines">@@ -1,162 +0,0 @@
</span><del>-/*
- * Copyright (C) 2015 Apple 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 INC. 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 INC. 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.
- */
-
-WebInspector.CanvasManager = class CanvasManager extends WebInspector.Object
-{
- constructor()
- {
- super();
-
- WebInspector.Frame.addEventListener(WebInspector.Frame.Event.MainResourceDidChange, this._mainResourceDidChange, this);
-
- this._waitingForCanvasesPayload = false;
- this._canvasIdMap = new Map;
-
- this._initialize();
- }
-
- canvasesForFrame(frame)
- {
- if (this._waitingForCanvasesPayload)
- return [];
-
- var canvases = [];
- for (var canvas of this._canvasIdMap.values()) {
- if (canvas.parentFrame.id === frame.id)
- canvases.push(canvas);
- }
- return canvases;
- }
-
- canvasAdded(canvasPayload)
- {
- // Called from WebInspector.CanvasObserver.
- console.assert(!this._canvasIdMap.has(canvasPayload.canvasId));
- var canvas = WebInspector.Canvas.fromPayload(canvasPayload);
-
- this._canvasIdMap.set(canvas.id, canvas);
- this.dispatchEventToListeners(WebInspector.CanvasManager.Event.CanvasWasAdded, {canvas: canvas});
- }
-
- canvasRemoved(canvasIdentifier)
- {
- // Called from WebInspector.CanvasObserver.
-
- console.assert(this._canvasIdMap.has(canvasIdentifier));
- if (!this._canvasIdMap.has(canvasIdentifier))
- return;
-
- var canvas = this._canvasIdMap.take(canvasIdentifier);
- this.dispatchEventToListeners(WebInspector.CanvasManager.Event.CanvasWasRemoved, {canvas: canvas});
- }
-
- programCreated(programIdentifier)
- {
- // Called from WebInspector.CanvasObserver.
-
- var canvas = this._canvasIdMap.get(programIdentifier.canvasId);
- console.assert(canvas);
- if (!canvas)
- return;
-
- canvas.programWasCreated(new WebInspector.ShaderProgram(programIdentifier, canvas));
- }
-
- programDeleted(programIdentifier)
- {
- // Called from WebInspector.CanvasObserver.
-
- var canvas = this._canvasIdMap.get(programIdentifier.canvasId);
- console.assert(canvas);
- if (!canvas)
- return;
-
- canvas.programWasDeleted(programIdentifier);
- }
-
- // Private
-
- _getCanvasesForFrameId(frameIdentifier)
- {
- var canvases = [];
- for (var canvas of this._canvasIdMap.values()) {
- if (canvas.parentFrame.id === frameIdentifier)
- canvases.push(canvas);
- }
- return canvases;
- }
-
- _initialize()
- {
- if (!window.CanvasAgent)
- return;
-
- for (var canvas of this._canvasIdMap.values())
- this.dispatchEventToListeners(WebInspector.CanvasManager.Event.CanvasWasRemoved, {canvas: canvas});
-
- WebInspector.Canvas.resetUniqueDisplayNameNumbers();
-
- this._canvasIdMap.clear();
- this._waitingForCanvasesPayload = true;
-
- CanvasAgent.getCanvases(this._processCanvasesPayload.bind(this));
- }
-
- _mainResourceDidChange(event)
- {
- console.assert(event.target instanceof WebInspector.Frame);
-
- if (!event.target.isMainFrame())
- return;
-
- this._initialize();
- }
-
- _processCanvasesPayload(error, canvasArrayPayload)
- {
- console.assert(this._waitingForCanvasesPayload);
- this._waitingForCanvasesPayload = false;
-
- if (error) {
- console.error(JSON.stringify(error));
- return;
- }
-
- for (var canvasPayload of canvasArrayPayload) {
- if (!this._canvasIdMap.has(canvasPayload.canvasId)) {
- var canvas = WebInspector.Canvas.fromPayload(canvasPayload);
- this._canvasIdMap.set(canvas.id, canvas);
- }
- }
-
- this.dispatchEventToListeners(WebInspector.CanvasManager.Event.CanvasesAvailable);
- }
-};
-
-WebInspector.CanvasManager.Event = {
- CanvasesAvailable: "canvas-manager-canvases-available",
- CanvasWasAdded: "canvas-manager-canvas-was-added",
- CanvasWasRemoved: "canvas-manager-canvas-was-removed"
-};
</del></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceImagesCanvassvg"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebInspectorUI/UserInterface/Images/Canvas.svg (182192 => 182193)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Images/Canvas.svg        2015-03-31 18:53:25 UTC (rev 182192)
+++ trunk/Source/WebInspectorUI/UserInterface/Images/Canvas.svg        2015-03-31 19:01:59 UTC (rev 182193)
</span><span class="lines">@@ -1,7 +0,0 @@
</span><del>-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright © 2015 Apple Inc. All rights reserved. -->
-<svg viewBox="0 0 14 16" version="1.1" xmlns="http://www.w3.org/2000/svg">
- <path d="M 0.5 4.29857047 L 7.09714095 7.59714095 L 7.09714095 15.0189245 L 0.5 11.720354 L 0.5 4.29857047 Z" stroke="white" stroke-width="0.5" stroke-linecap="square" stroke-linejoin="round" fill="rgb(92, 140, 229)"/>
- <path d="M 13.697 4.299 L 7.097 7.597 L 7.097 15.019 L 13.697 11.72 L 13.697 4.299 Z" stroke="white" stroke-width="0.5" stroke-linecap="square" stroke-linejoin="round" fill="rgb(242, 97, 97)"/>
- <path d="M 0.5 4.29857047 L 7.09714095 1 L 13.6908901 4.29857047 L 7.09714095 7.59714095 L 0.5 4.29857047 Z" stroke="white" stroke-width="0.5" stroke-linejoin="round" fill="rgb(97, 242, 97)"/>
-</svg>
</del></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceImagesDocumentGLpng"></a>
<div class="binary"><h4>Deleted: trunk/Source/WebInspectorUI/UserInterface/Images/DocumentGL.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceImagesDocumentGL2xpng"></a>
<div class="binary"><h4>Deleted: trunk/Source/WebInspectorUI/UserInterface/Images/DocumentGL@2x.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceMainhtml"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/UserInterface/Main.html (182192 => 182193)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Main.html        2015-03-31 18:53:25 UTC (rev 182192)
+++ trunk/Source/WebInspectorUI/UserInterface/Main.html        2015-03-31 19:01:59 UTC (rev 182193)
</span><span class="lines">@@ -188,7 +188,6 @@
</span><span class="cx">
</span><span class="cx"> <script src="Protocol/ApplicationCacheObserver.js"></script>
</span><span class="cx"> <script src="Protocol/CSSObserver.js"></script>
</span><del>- <script src="Protocol/CanvasObserver.js"></script>
</del><span class="cx"> <script src="Protocol/ConsoleObserver.js"></script>
</span><span class="cx"> <script src="Protocol/DOMObserver.js"></script>
</span><span class="cx"> <script src="Protocol/DOMStorageObserver.js"></script>
</span><span class="lines">@@ -228,7 +227,6 @@
</span><span class="cx"> <script src="Models/CSSStyleDeclaration.js"></script>
</span><span class="cx"> <script src="Models/CSSStyleSheet.js"></script>
</span><span class="cx"> <script src="Models/CallFrame.js"></script>
</span><del>- <script src="Models/Canvas.js"></script>
</del><span class="cx"> <script src="Models/CollectionEntry.js"></script>
</span><span class="cx"> <script src="Models/CollectionEntryPreview.js"></script>
</span><span class="cx"> <script src="Models/Color.js"></script>
</span><span class="lines">@@ -283,7 +281,6 @@
</span><span class="cx"> <script src="Models/ScriptSyntaxTree.js"></script>
</span><span class="cx"> <script src="Models/ScriptTimelineRecord.js"></script>
</span><span class="cx"> <script src="Models/Setting.js"></script>
</span><del>- <script src="Models/ShaderProgram.js"></script>
</del><span class="cx"> <script src="Models/SourceCodePosition.js"></script>
</span><span class="cx"> <script src="Models/SourceCodeRevision.js"></script>
</span><span class="cx"> <script src="Models/SourceCodeSearchMatchObject.js"></script>
</span><span class="lines">@@ -297,7 +294,6 @@
</span><span class="cx"> <script src="Models/TimelineRecording.js"></script>
</span><span class="cx"> <script src="Models/TypeSet.js"></script>
</span><span class="cx"> <script src="Models/UnitBezier.js"></script>
</span><del>- <script src="Models/WebGLContextAttributes.js"></script>
</del><span class="cx">
</span><span class="cx"> <script src="Views/LegacyConsoleMessage.js"></script>
</span><span class="cx"> <script src="Views/ContentView.js"></script>
</span><span class="lines">@@ -328,7 +324,6 @@
</span><span class="cx"> <script src="Views/ObjectTreeBaseTreeElement.js"></script>
</span><span class="cx"> <script src="Views/FolderTreeElement.js"></script>
</span><span class="cx"> <script src="Views/FolderizedTreeElement.js"></script>
</span><del>- <script src="Views/ShaderProgramTreeElement.js"></script>
</del><span class="cx"> <script src="Views/SourceCodeTreeElement.js"></script>
</span><span class="cx"> <script src="Views/StorageTreeElement.js"></script>
</span><span class="cx"> <script src="Views/TimelineRecordTreeElement.js"></script>
</span><span class="lines">@@ -349,7 +344,6 @@
</span><span class="cx"> <script src="Views/CSSStyleDeclarationTextEditor.js"></script>
</span><span class="cx"> <script src="Views/CSSStyleDetailsSidebarPanel.js"></script>
</span><span class="cx"> <script src="Views/CallFrameTreeElement.js"></script>
</span><del>- <script src="Views/CanvasTreeElement.js"></script>
</del><span class="cx"> <script src="Views/ClusterContentView.js"></script>
</span><span class="cx"> <script src="Views/CodeMirrorAdditions.js"></script>
</span><span class="cx"> <script src="Views/CodeMirrorFormatters.js"></script>
</span><span class="lines">@@ -502,7 +496,6 @@
</span><span class="cx"> <script src="Controllers/BasicBlockAnnotator.js"></script>
</span><span class="cx"> <script src="Controllers/BranchManager.js"></script>
</span><span class="cx"> <script src="Controllers/CSSStyleManager.js"></script>
</span><del>- <script src="Controllers/CanvasManager.js"></script>
</del><span class="cx"> <script src="Controllers/CodeMirrorColorEditingController.js"></script>
</span><span class="cx"> <script src="Controllers/CodeMirrorCompletionController.js"></script>
</span><span class="cx"> <script src="Controllers/CodeMirrorDragToAdjustNumberController.js"></script>
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceModelsCanvasjs"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebInspectorUI/UserInterface/Models/Canvas.js (182192 => 182193)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Models/Canvas.js        2015-03-31 18:53:25 UTC (rev 182192)
+++ trunk/Source/WebInspectorUI/UserInterface/Models/Canvas.js        2015-03-31 19:01:59 UTC (rev 182193)
</span><span class="lines">@@ -1,196 +0,0 @@
</span><del>-/*
- * Copyright (C) 2015 Apple 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 INC. 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 INC. 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.
- */
-
-WebInspector.Canvas = class Canvas extends WebInspector.Object
-{
- constructor(id, parentFrame, name, cssCanvas, contextType, contextAttributes, programs)
- {
- super();
-
- console.assert(id);
- console.assert(parentFrame);
- console.assert(contextType);
- console.assert(this._contextType !== WebInspector.Canvas.ContextType.WebGL || contextAttributes);
-
- this._id = id;
- this._parentFrame = parentFrame;
- this._name = name;
- this._cssCanvas = cssCanvas;
- this._contextType = contextType;
- this._contextAttributes = contextAttributes;
- this._programs = new Map;
-
- if (programs) {
- for (var program of programs) {
- program.updateCanvas(this);
- this._programs.set(program.id.objectId, program);
- }
- }
- }
-
- // Static
-
- static fromPayload(payload)
- {
- var parentFrame = WebInspector.frameResourceManager.frameForIdentifier(payload.frameId);
- var contextType = null;
- switch (payload.contextType) {
- case CanvasAgent.ContextType.Canvas2D:
- contextType = WebInspector.Canvas.ContextType.Canvas2D;
- break;
- case CanvasAgent.ContextType.WebGL:
- contextType = WebInspector.Canvas.ContextType.WebGL;
- break;
- default:
- console.error("Invalid canvas context type", payload.contextType);
- }
-
- var programs = [];
- for (var programId of payload.programIds)
- programs.push(new WebInspector.ShaderProgram(programId));
-
- var contextAttributes = null;
- if (payload.contextAttributes) {
- console.assert(contextType === WebInspector.Canvas.ContextType.WebGL);
- contextAttributes = WebInspector.WebGLContextAttributes.fromPayload(payload.contextAttributes);
- }
-
- return new WebInspector.Canvas(payload.canvasId, parentFrame, payload.name, payload.cssCanvas, contextType, contextAttributes, programs);
- }
-
- static displayNameForContextType(contextType)
- {
- switch (contextType) {
- case WebInspector.Canvas.ContextType.Canvas2D:
- return WebInspector.UIString("2D");
- case WebInspector.Canvas.ContextType.WebGL:
- return WebInspector.UIString("WebGL");
- default:
- console.error("Invalid canvas context type", contextType);
- }
- }
-
- static resetUniqueDisplayNameNumbers()
- {
- WebInspector.Canvas._nextUniqueDisplayNameNumber = 1;
- }
-
- // Public
-
- get id()
- {
- return this._id;
- }
-
- get parentFrame()
- {
- return this._parentFrame;
- }
-
- get name()
- {
- return this._name;
- }
-
- get cssCanvas()
- {
- return this._cssCanvas;
- }
-
- get contextType()
- {
- return this._contextType;
- }
-
- get contextAttributes()
- {
- return this._contextAttributes;
- }
-
- get programs()
- {
- var programs = [];
- for (var program of this._programs.values())
- programs.push(program);
- return programs;
- }
-
- get displayName()
- {
- if (this._cssCanvas)
- return WebInspector.UIString("CSS canvas “%s”").format(this._name);
-
- if (this._name)
- return WebInspector.UIString("Canvas #%s").format(this._name);
-
- if (!this._uniqueDisplayNameNumber)
- this._uniqueDisplayNameNumber = this.constructor._nextUniqueDisplayNameNumber++;
- return WebInspector.UIString("Canvas %d").format(this._uniqueDisplayNameNumber);
- }
-
- programForId(programIdentifier)
- {
- return this._programs.get(programIdentifier.objectId);
- }
-
- programWasCreated(program)
- {
- console.assert(!this._programs.has(program.id.objectId));
- this._programs.set(program.id.objectId, program);
-
- this.dispatchEventToListeners(WebInspector.Canvas.Event.ProgramWasCreated, {program: program});
- }
-
- programWasDeleted(programIdentifier)
- {
- var program = this._programs.take(programIdentifier.objectId);
- console.assert(program);
-
- this.dispatchEventToListeners(WebInspector.Canvas.Event.ProgramWasDeleted, {program: program});
- }
-
- saveIdentityToCookie(cookie)
- {
- cookie[WebInspector.Canvas.FrameURLCookieKey] = this.parentFrame.url.hash;
- cookie[WebInspector.Canvas.CSSCanvasCookieKey] = this._cssCanvas;
- cookie[WebInspector.Canvas.NameCookieKey] = this._name;
- }
-};
-
-WebInspector.Canvas.Event = {
- ProgramWasCreated: "canvas-program-was-created",
- ProgramWasDeleted: "canvas-program-was-deleted",
-};
-
-WebInspector.Canvas.ContextType = {
- Canvas2D: Symbol("canvas-context-type-canvas-2d"),
- WebGL: Symbol("canvas-context-type-webgl"),
-};
-
-WebInspector.Canvas._nextUniqueDisplayNameNumber = 1;
-
-WebInspector.Canvas.FrameURLCookieKey = "canvas-frame-url";
-WebInspector.Canvas.CSSCanvasCookieKey = "canvas-css-canvas";
-WebInspector.Canvas.NameCookieKey = "canvas-name";
</del></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceModelsShaderProgramjs"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebInspectorUI/UserInterface/Models/ShaderProgram.js (182192 => 182193)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Models/ShaderProgram.js        2015-03-31 18:53:25 UTC (rev 182192)
+++ trunk/Source/WebInspectorUI/UserInterface/Models/ShaderProgram.js        2015-03-31 19:01:59 UTC (rev 182193)
</span><span class="lines">@@ -1,71 +0,0 @@
</span><del>-/*
- * Copyright (C) 2015 Apple 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 INC. 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 INC. 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.
- */
-
-WebInspector.ShaderProgram = class ShaderProgram extends WebInspector.Object
-{
- constructor(id, canvas)
- {
- super();
-
- this._id = id;
- this._canvas = canvas || null;
- }
-
- // Public
-
- get id()
- {
- return this._id;
- }
-
- get canvas()
- {
- return this._canvas;
- }
-
- get displayName()
- {
- return WebInspector.UIString("Program %d").format(this._id.objectId);
- }
-
- saveIdentityToCookie(cookie)
- {
- cookie[WebInspector.ShaderProgram.FrameURLCookieKey] = this.canvas.parentFrame.url.hash;
- cookie[WebInspector.ShaderProgram.CanvasNameKey] = this.canvas.name.hash;
- cookie[WebInspector.ShaderProgram.IDCookieKey] = this._id;
- }
-
- updateCanvas(canvas)
- {
- // Called by canvas.
-
- console.assert(!this._canvas);
- this._canvas = canvas;
- }
-};
-
-WebInspector.ShaderProgram.FrameURLCookieKey = "shader-program-url";
-WebInspector.ShaderProgram.CanvasNameKey = "shader-program-canvas-name";
-WebInspector.ShaderProgram.IDCookieKey = "shader-program-id";
</del></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceModelsWebGLContextAttributesjs"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebInspectorUI/UserInterface/Models/WebGLContextAttributes.js (182192 => 182193)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Models/WebGLContextAttributes.js        2015-03-31 18:53:25 UTC (rev 182192)
+++ trunk/Source/WebInspectorUI/UserInterface/Models/WebGLContextAttributes.js        2015-03-31 19:01:59 UTC (rev 182193)
</span><span class="lines">@@ -1,79 +0,0 @@
</span><del>-/*
- * Copyright (C) 2015 Apple 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 INC. 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 INC. 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.
- */
-
-WebInspector.WebGLContextAttributes = class WebGLContextAttributes extends WebInspector.Object
-{
- constructor(alpha, depth, stencil, antialias, premultipliedAlpha, preserveDrawingBuffer)
- {
- super();
-
- this._alpha = alpha;
- this._depth = depth;
- this._stencil = stencil;
- this._antialias = antialias;
- this._premultipliedAlpha = premultipliedAlpha;
- this._preserveDrawingBuffer = preserveDrawingBuffer;
- }
-
- // Static
-
- static fromPayload(payload)
- {
- console.assert(payload);
- return new WebInspector.WebGLContextAttributes(payload.alpha, payload.depth, payload.stencil, payload.antialias, payload.premultipliedAlpha, payload.preserveDrawingBuffer);
- }
-
- // Public
-
- get alpha()
- {
- return this._alpha;
- }
-
- get depth()
- {
- return this._depth;
- }
-
- get stencil()
- {
- return this._stencil;
- }
-
- get antialias()
- {
- return this._antialias;
- }
-
- get premultipliedAlpha()
- {
- return this._premultipliedAlpha;
- }
-
- get preserveDrawingBuffer()
- {
- return this._preserveDrawingBuffer;
- }
-};
</del></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceProtocolCanvasObserverjs"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebInspectorUI/UserInterface/Protocol/CanvasObserver.js (182192 => 182193)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Protocol/CanvasObserver.js        2015-03-31 18:53:25 UTC (rev 182192)
+++ trunk/Source/WebInspectorUI/UserInterface/Protocol/CanvasObserver.js        2015-03-31 19:01:59 UTC (rev 182193)
</span><span class="lines">@@ -1,49 +0,0 @@
</span><del>-/*
- * Copyright (C) 2015 Apple 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 INC. 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 INC. 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.
- */
-
-WebInspector.CanvasObserver = class CanvasObserver
-{
- // Events defined by the "Canvas" domain.
-
- canvasAdded(canvas)
- {
- WebInspector.canvasManager.canvasAdded(canvas);
- }
-
- canvasRemoved(canvasId)
- {
- WebInspector.canvasManager.canvasRemoved(canvasId);
- }
-
- programCreated(programId)
- {
- WebInspector.canvasManager.programCreated(programId);
- }
-
- programDeleted(programId)
- {
- WebInspector.canvasManager.programDeleted(programId);
- }
-};
</del></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceTesthtml"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/UserInterface/Test.html (182192 => 182193)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Test.html        2015-03-31 18:53:25 UTC (rev 182192)
+++ trunk/Source/WebInspectorUI/UserInterface/Test.html        2015-03-31 19:01:59 UTC (rev 182193)
</span><span class="lines">@@ -50,7 +50,6 @@
</span><span class="cx">
</span><span class="cx"> <script src="Protocol/InspectorObserver.js"></script>
</span><span class="cx"> <script src="Protocol/CSSObserver.js"></script>
</span><del>- <script src="Protocol/CanvasObserver.js"></script>
</del><span class="cx"> <script src="Protocol/DOMObserver.js"></script>
</span><span class="cx"> <script src="Protocol/DOMStorageObserver.js"></script>
</span><span class="cx"> <script src="Protocol/DebuggerObserver.js"></script>
</span><span class="lines">@@ -76,7 +75,6 @@
</span><span class="cx"> <script src="Models/CSSStyleDeclaration.js"></script>
</span><span class="cx"> <script src="Models/CSSStyleSheet.js"></script>
</span><span class="cx"> <script src="Models/CallFrame.js"></script>
</span><del>- <script src="Models/Canvas.js"></script>
</del><span class="cx"> <script src="Models/CollectionEntry.js"></script>
</span><span class="cx"> <script src="Models/Color.js"></script>
</span><span class="cx"> <script src="Models/ContentFlow.js"></script>
</span><span class="lines">@@ -117,7 +115,6 @@
</span><span class="cx"> <script src="Models/ScriptSyntaxTree.js"></script>
</span><span class="cx"> <script src="Models/ScriptTimelineRecord.js"></script>
</span><span class="cx"> <script src="Models/Setting.js"></script>
</span><del>- <script src="Models/ShaderProgram.js"></script>
</del><span class="cx"> <script src="Models/SourceCodeLocation.js"></script>
</span><span class="cx"> <script src="Models/SourceCodeRevision.js"></script>
</span><span class="cx"> <script src="Models/SourceCodeTimeline.js"></script>
</span><span class="lines">@@ -125,10 +122,8 @@
</span><span class="cx"> <script src="Models/TextRange.js"></script>
</span><span class="cx"> <script src="Models/TimelineMarker.js"></script>
</span><span class="cx"> <script src="Models/TimelineRecording.js"></script>
</span><del>- <script src="Models/WebGLContextAttributes.js"></script>
</del><span class="cx">
</span><span class="cx"> <script src="Controllers/CSSStyleManager.js"></script>
</span><del>- <script src="Controllers/CanvasManager.js"></script>
</del><span class="cx"> <script src="Controllers/DOMTreeManager.js"></script>
</span><span class="cx"> <script src="Controllers/DebuggerManager.js"></script>
</span><span class="cx"> <script src="Controllers/FrameResourceManager.js"></script>
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceViewsCanvasTreeElementjs"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebInspectorUI/UserInterface/Views/CanvasTreeElement.js (182192 => 182193)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Views/CanvasTreeElement.js        2015-03-31 18:53:25 UTC (rev 182192)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/CanvasTreeElement.js        2015-03-31 19:01:59 UTC (rev 182193)
</span><span class="lines">@@ -1,97 +0,0 @@
</span><del>-/*
- * Copyright (C) 2015 Apple 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 INC. 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 INC. 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.
- */
-
-WebInspector.CanvasTreeElement = class CanvasTreeElement extends WebInspector.FolderizedTreeElement
-{
- constructor(canvas)
- {
- super("canvas-icon", canvas.displayName, null, canvas, false);
-
- console.assert(canvas instanceof WebInspector.Canvas);
-
- this.small = true;
- this.folderSettingsKey = canvas.parentFrame.url.hash + canvas.displayName.hash;
-
- this._expandedSetting = new WebInspector.Setting("canvas-expanded-" + this.folderSettingsKey, false);
- if (this._expandedSetting.value)
- this.expand();
- else
- this.collapse();
-
- canvas.addEventListener(WebInspector.Canvas.Event.ProgramWasCreated, this._programWasCreated, this);
- canvas.addEventListener(WebInspector.Canvas.Event.ProgramWasDeleted, this._programWasDeleted, this);
-
- function validateRepresentedObject(representedObject) {
- return representedObject instanceof WebInspector.ShaderProgram;
- }
-
- function countChildren() {
- return canvas.programs.length;
- }
-
- this.registerFolderizeSettings("programs", WebInspector.UIString("Programs"), validateRepresentedObject, countChildren.bind(this), WebInspector.ShaderProgramTreeElement);
- this.updateParentStatus();
- }
-
- // Overrides from TreeElement (Protected).
-
- onexpand()
- {
- this._expandedSetting.value = true;
- }
-
- oncollapse()
- {
- // Only store the setting if we have children, since setting hasChildren to false will cause a collapse,
- // and we only care about user triggered collapses.
- if (this.hasChildren)
- this._expandedSetting.value = false;
- }
-
- onpopulate()
- {
- if (this.children.length && !this.shouldRefreshChildren)
- return;
-
- this.shouldRefreshChildren = false;
-
- this.removeChildren();
-
- for (var program of this.representedObject.programs)
- this.addChildForRepresentedObject(program);
- }
-
- // Private
-
- _programWasCreated(event)
- {
- this.addRepresentedObjectToNewChildQueue(event.data.program);
- }
-
- _programWasDeleted(event)
- {
- this.removeChildForRepresentedObject(event.data.program);
- }
-};
</del></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceViewsFrameTreeElementjs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/UserInterface/Views/FrameTreeElement.js (182192 => 182193)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Views/FrameTreeElement.js        2015-03-31 18:53:25 UTC (rev 182192)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/FrameTreeElement.js        2015-03-31 19:01:59 UTC (rev 182193)
</span><span class="lines">@@ -63,12 +63,6 @@
</span><span class="cx"> WebInspector.ContentFlowTreeElement
</span><span class="cx"> );
</span><span class="cx">
</span><del>- this.registerFolderizeSettings("canvases", WebInspector.UIString("Canvases"),
- function(representedObject) { return representedObject instanceof WebInspector.Canvas; },
- function() { return WebInspector.canvasManager.canvasesForFrame(this._frame).length; }.bind(this),
- WebInspector.CanvasTreeElement
- );
-
</del><span class="cx"> function makeValidateCallback(resourceType) {
</span><span class="cx"> return function(representedObject) {
</span><span class="cx"> return representedObject instanceof WebInspector.Resource && representedObject.type === resourceType;
</span><span class="lines">@@ -142,10 +136,6 @@
</span><span class="cx"> // Immediate superclasses are skipped, since Frames handle their own SourceMapResources.
</span><span class="cx"> WebInspector.GeneralTreeElement.prototype.onattach.call(this);
</span><span class="cx">
</span><del>- WebInspector.canvasManager.addEventListener(WebInspector.CanvasManager.Event.CanvasesAvailable, this._canvasesAvailable, this);
- WebInspector.canvasManager.addEventListener(WebInspector.CanvasManager.Event.CanvasWasAdded, this._canvasWasAdded, this);
- WebInspector.canvasManager.addEventListener(WebInspector.CanvasManager.Event.CanvasWasRemoved, this._canvasWasRemoved, this);
-
</del><span class="cx"> if (this._frame.isMainFrame()) {
</span><span class="cx"> WebInspector.notifications.addEventListener(WebInspector.Notification.PageArchiveStarted, this._pageArchiveStarted, this);
</span><span class="cx"> WebInspector.notifications.addEventListener(WebInspector.Notification.PageArchiveEnded, this._pageArchiveEnded, this);
</span><span class="lines">@@ -156,10 +146,6 @@
</span><span class="cx"> {
</span><span class="cx"> WebInspector.ResourceTreeElement.prototype.ondetach.call(this);
</span><span class="cx">
</span><del>- WebInspector.canvasManager.removeEventListener(WebInspector.CanvasManager.Event.CanvasesAvailable, this._canvasesAvailable, this);
- WebInspector.canvasManager.removeEventListener(WebInspector.CanvasManager.Event.CanvasWasAdded, this._canvasWasAdded, this);
- WebInspector.canvasManager.removeEventListener(WebInspector.CanvasManager.Event.CanvasWasRemoved, this._canvasWasRemoved, this);
-
</del><span class="cx"> if (this._frame.isMainFrame()) {
</span><span class="cx"> WebInspector.notifications.removeEventListener(WebInspector.Notification.PageArchiveStarted, this._pageArchiveStarted, this);
</span><span class="cx"> WebInspector.notifications.removeEventListener(WebInspector.Notification.PageArchiveEnded, this._pageArchiveEnded, this);
</span><span class="lines">@@ -264,11 +250,8 @@
</span><span class="cx"> for (var flowKey in flowMap)
</span><span class="cx"> this.addChildForRepresentedObject(flowMap[flowKey]);
</span><span class="cx">
</span><del>- var canvases = WebInspector.canvasManager.canvasesForFrame(this._frame);
- for (var canvas of canvases)
- this.addChildForRepresentedObject(canvas);
</del><span class="cx"> }
</span><del>-
</del><ins>+
</ins><span class="cx"> onexpand()
</span><span class="cx"> {
</span><span class="cx"> this._expandedSetting.value = true;
</span><span class="lines">@@ -341,28 +324,6 @@
</span><span class="cx"> this.removeChildForRepresentedObject(event.data.flow);
</span><span class="cx"> }
</span><span class="cx">
</span><del>- _canvasesAvailable(event)
- {
- this.updateParentStatus();
- this.removeChildren();
-
- this.shouldRefreshChildren = true;
- }
-
- _canvasWasAdded(event)
- {
- var canvas = event.data.canvas;
- if (canvas.parentFrame == this._frame)
- this.addRepresentedObjectToNewChildQueue(canvas);
- }
-
- _canvasWasRemoved(event)
- {
- var canvas = event.data.canvas;
- if (canvas.parentFrame == this._frame)
- this.removeChildForRepresentedObject(canvas);
- }
-
</del><span class="cx"> _rootDOMNodeInvalidated()
</span><span class="cx"> {
</span><span class="cx"> if (this.expanded)
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceViewsResourceIconscss"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/UserInterface/Views/ResourceIcons.css (182192 => 182193)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Views/ResourceIcons.css        2015-03-31 18:53:25 UTC (rev 182192)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/ResourceIcons.css        2015-03-31 19:01:59 UTC (rev 182193)
</span><span class="lines">@@ -51,14 +51,6 @@
</span><span class="cx"> content: -webkit-image-set(url(../Images/ClippingJS.png) 1x, url(../Images/ClippingJS@2x.png) 2x);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-.canvas-icon .icon {
- content: url(../Images/Canvas.svg);
-}
-
-.shader-program-icon .icon {
- content: -webkit-image-set(url(../Images/DocumentGL.png) 1x, url(../Images/DocumentGL@2x.png) 2x);
-}
-
</del><span class="cx"> .source-map-resource.resource-icon .icon {
</span><span class="cx"> content: -webkit-image-set(url(../Images/ClippingGeneric.png) 1x, url(../Images/ClippingGeneric@2x.png) 2x);
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceViewsResourceSidebarPaneljs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/UserInterface/Views/ResourceSidebarPanel.js (182192 => 182193)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Views/ResourceSidebarPanel.js        2015-03-31 18:53:25 UTC (rev 182192)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/ResourceSidebarPanel.js        2015-03-31 19:01:59 UTC (rev 182193)
</span><span class="lines">@@ -774,7 +774,6 @@
</span><span class="cx"> if (treeElement instanceof WebInspector.ResourceTreeElement || treeElement instanceof WebInspector.ScriptTreeElement ||
</span><span class="cx"> treeElement instanceof WebInspector.StorageTreeElement || treeElement instanceof WebInspector.DatabaseTableTreeElement ||
</span><span class="cx"> treeElement instanceof WebInspector.DatabaseTreeElement || treeElement instanceof WebInspector.ApplicationCacheFrameTreeElement ||
</span><del>- treeElement instanceof WebInspector.CanvasTreeElement || treeElement instanceof WebInspector.ShaderProgramTreeElement ||
</del><span class="cx"> treeElement instanceof WebInspector.ContentFlowTreeElement || treeElement instanceof WebInspector.IndexedDatabaseObjectStoreTreeElement ||
</span><span class="cx"> treeElement instanceof WebInspector.IndexedDatabaseObjectStoreIndexTreeElement) {
</span><span class="cx"> WebInspector.contentBrowser.showContentViewForRepresentedObject(treeElement.representedObject);
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceViewsShaderProgramTreeElementjs"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebInspectorUI/UserInterface/Views/ShaderProgramTreeElement.js (182192 => 182193)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Views/ShaderProgramTreeElement.js        2015-03-31 18:53:25 UTC (rev 182192)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/ShaderProgramTreeElement.js        2015-03-31 19:01:59 UTC (rev 182193)
</span><span class="lines">@@ -1,36 +0,0 @@
</span><del>-/*
- * Copyright (C) 2015 Apple 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 INC. 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 INC. 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.
- */
-
-WebInspector.ShaderProgramTreeElement = class ShaderProgramTreeElement extends WebInspector.GeneralTreeElement
-{
- constructor(program)
- {
- super("shader-program-icon", program.displayName, null, program, false);
-
- console.assert(program instanceof WebInspector.ShaderProgram);
-
- this.small = true;
- }
-};
</del></span></pre></div>
<a id="trunkSourceWebInspectorUIWebInspectorUIvcxprojWebInspectorUIvcxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/WebInspectorUI.vcxproj/WebInspectorUI.vcxproj (182192 => 182193)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/WebInspectorUI.vcxproj/WebInspectorUI.vcxproj        2015-03-31 18:53:25 UTC (rev 182192)
+++ trunk/Source/WebInspectorUI/WebInspectorUI.vcxproj/WebInspectorUI.vcxproj        2015-03-31 19:01:59 UTC (rev 182193)
</span><span class="lines">@@ -292,14 +292,11 @@
</span><span class="cx"> <None Include="..\UserInterface\CallFrame.js" />
</span><span class="cx"> <None Include="..\UserInterface\CallFrameIcons.css" />
</span><span class="cx"> <None Include="..\UserInterface\CallFrameTreeElement.js" />
</span><del>- <None Include="..\UserInterface\Canvas.js" />
</del><span class="cx"> <None Include="..\UserInterface\CanvasDataGridNode.js" />
</span><del>- <None Include="..\UserInterface\CanvasManager.js" />
</del><span class="cx"> <None Include="..\UserInterface\CanvasObserver.js" />
</span><span class="cx"> <None Include="..\UserInterface\CanvasProfileObject.js" />
</span><span class="cx"> <None Include="..\UserInterface\CanvasProfileType.js" />
</span><span class="cx"> <None Include="..\UserInterface\CanvasProfileView.js" />
</span><del>- <None Include="..\UserInterface\CanvasTreeElement.js" />
</del><span class="cx"> <None Include="..\UserInterface\ClusterContentView.css" />
</span><span class="cx"> <None Include="..\UserInterface\ClusterContentView.js" />
</span><span class="cx"> <None Include="..\UserInterface\CodeMirrorAdditions.js" />
</span><span class="lines">@@ -476,7 +473,6 @@
</span><span class="cx"> <None Include="..\UserInterface\Images\BreakpointInactive.png" />
</span><span class="cx"> <None Include="..\UserInterface\Images\BreakpointInactiveButton.svg" />
</span><span class="cx"> <None Include="..\UserInterface\Images\Breakpoints.svg" />
</span><del>- <None Include="..\UserInterface\Images\Canvas.svg" />
</del><span class="cx"> <None Include="..\UserInterface\Images\ClippingCSS%402x.png" />
</span><span class="cx"> <None Include="..\UserInterface\Images\ClippingCSS.png" />
</span><span class="cx"> <None Include="..\UserInterface\Images\ClippingGeneric%402x.png" />
</span><span class="lines">@@ -635,8 +631,6 @@
</span><span class="cx"> <None Include="..\UserInterface\Images\Script.png" />
</span><span class="cx"> <None Include="..\UserInterface\Images\SessionStorage%402x.png" />
</span><span class="cx"> <None Include="..\UserInterface\Images\SessionStorage.png" />
</span><del>- <None Include="..\UserInterface\Images\ShaderProgram%402x.png" />
- <None Include="..\UserInterface\Images\ShaderProgram.png" />
</del><span class="cx"> <None Include="..\UserInterface\Images\ShadowDOM.svg" />
</span><span class="cx"> <None Include="..\UserInterface\Images\SortIndicatorDownArrow.svg" />
</span><span class="cx"> <None Include="..\UserInterface\Images\SortIndicatorUpArrow.svg" />
</span><span class="lines">@@ -779,8 +773,6 @@
</span><span class="cx"> <None Include="..\UserInterface\Section.css" />
</span><span class="cx"> <None Include="..\UserInterface\Section.js" />
</span><span class="cx"> <None Include="..\UserInterface\Setting.js" />
</span><del>- <None Include="..\UserInterface\ShaderProgram.js" />
- <None Include="..\UserInterface\ShaderProgramTreeElement.js" />
</del><span class="cx"> <None Include="..\UserInterface\Sidebar.css" />
</span><span class="cx"> <None Include="..\UserInterface\Sidebar.js" />
</span><span class="cx"> <None Include="..\UserInterface\SidebarPanel.css" />
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIWebInspectorUIvcxprojWebInspectorUIvcxprojfilters"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters (182192 => 182193)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters        2015-03-31 18:53:25 UTC (rev 182192)
+++ trunk/Source/WebInspectorUI/WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters        2015-03-31 19:01:59 UTC (rev 182193)
</span><span class="lines">@@ -126,15 +126,9 @@
</span><span class="cx"> <None Include="..\UserInterface\CallFrameTreeElement.js">
</span><span class="cx"> <Filter>UserInterface</Filter>
</span><span class="cx"> </None>
</span><del>- <None Include="..\UserInterface\Canvas.js">
- <Filter>UserInterface</Filter>
- </None>
</del><span class="cx"> <None Include="..\UserInterface\CanvasDataGridNode.js">
</span><span class="cx"> <Filter>UserInterface</Filter>
</span><span class="cx"> </None>
</span><del>- <None Include="..\UserInterface\CanvasManager.js">
- <Filter>UserInterface</Filter>
- </None>
</del><span class="cx"> <None Include="..\UserInterface\CanvasObserver.js">
</span><span class="cx"> <Filter>UserInterface</Filter>
</span><span class="cx"> </None>
</span><span class="lines">@@ -147,9 +141,6 @@
</span><span class="cx"> <None Include="..\UserInterface\CanvasProfileView.js">
</span><span class="cx"> <Filter>UserInterface</Filter>
</span><span class="cx"> </None>
</span><del>- <None Include="..\UserInterface\CanvasTreeElement.js">
- <Filter>UserInterface</Filter>
- </None>
</del><span class="cx"> <None Include="..\UserInterface\ClusterContentView.css">
</span><span class="cx"> <Filter>UserInterface</Filter>
</span><span class="cx"> </None>
</span><span class="lines">@@ -900,12 +891,6 @@
</span><span class="cx"> <None Include="..\UserInterface\Setting.js">
</span><span class="cx"> <Filter>UserInterface</Filter>
</span><span class="cx"> </None>
</span><del>- <None Include="..\UserInterface\ShaderProgram.js">
- <Filter>UserInterface</Filter>
- </None>
- <None Include="..\UserInterface\ShaderProgramTreeElement.js">
- <Filter>UserInterface</Filter>
- </None>
</del><span class="cx"> <None Include="..\UserInterface\Sidebar.css">
</span><span class="cx"> <Filter>UserInterface</Filter>
</span><span class="cx"> </None>
</span><span class="lines">@@ -1179,9 +1164,6 @@
</span><span class="cx"> <None Include="..\UserInterface\Images\Breakpoints.svg">
</span><span class="cx"> <Filter>Images</Filter>
</span><span class="cx"> </None>
</span><del>- <None Include="..\UserInterface\Images\Canvas.svg">
- <Filter>Images</Filter>
- </None>
</del><span class="cx"> <None Include="..\UserInterface\Images\ClippingCSS.png">
</span><span class="cx"> <Filter>Images</Filter>
</span><span class="cx"> </None>
</span><span class="lines">@@ -1644,12 +1626,6 @@
</span><span class="cx"> <None Include="..\UserInterface\Images\SessionStorage%402x.png">
</span><span class="cx"> <Filter>Images</Filter>
</span><span class="cx"> </None>
</span><del>- <None Include="..\UserInterface\Images\ShaderProgram%402x.png">
- <Filter>Images</Filter>
- </None>
- <None Include="..\UserInterface\Images\ShaderProgram.png">
- <Filter>Images</Filter>
- </None>
</del><span class="cx"> <None Include="..\UserInterface\Images\ShadowDOM.svg">
</span><span class="cx"> <Filter>Images</Filter>
</span><span class="cx"> </None>
</span></span></pre>
</div>
</div>
</body>
</html>