Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(483)

Side by Side Diff: sky/framework/inspector/page-agent.sky

Issue 951673003: Remove outdated examples and framework pieces (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « sky/framework/inspector/inspector.sky ('k') | sky/framework/inspector/runtime-agent.sky » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 <import src="../xmlhttprequest.sky" as="XMLHttpRequest" />
2 <script>
3 class Page {
4 constructor(delegate) {
5 this.delegate_ = delegate;
6 Object.preventExtensions(this);
7 }
8
9 enable() {
10 }
11
12 canScreencast() {
13 return {
14 result: false
15 };
16 }
17
18 canEmulate() {
19 return {
20 result: false
21 };
22 }
23
24 getResourceContent(params, messageId) {
25 var request = new XMLHttpRequest;
26 request.onload = function() {
27 var message = {
28 'content' : request.responseText,
29 };
30 this.delegate_.sendResponse(messageId, message);
31 }.bind(this);
32 request.open("GET", params.url);
33 request.send();
34
35 return this.delegate_.ASYNC_RESPONSE;
36 }
37
38 getResourceTree() {
39 // Unclear if this is all needed, but if we don't return something here
40 // the inspector hits an exception in WebInspector.ResourceTreeModel.
41 return {
42 "frameTree": {
43 "frame": {
44 "id": "1",
45 "loaderId": "1",
46 "url": String(document.URL),
47 "mimeType": "text/html",
48 "securityOrigin": String(document.URL),
49 },
50 "resources": arrayFromIterator(resourcesMapForSubtree(document).values() ),
51 }
52 };
53 }
54 }
55
56 // FIXME: ES6 has Array.from which theoretically does this.
57 function arrayFromIterator(iterator) {
58 var a = [];
59 for (var e of iterator)
60 a.push(e);
61 return a;
62 }
63
64 // FIXME: NodeList will soon inherit from array.
65 function forEachInNodeList(array, callback, scope) {
66 for (var i = 0; i < array.length; i++) {
67 callback.call(scope, array[i]);
68 }
69 }
70
71 function addResource(map, url, type, mimeType) {
72 // Be sure to string the url object since has(new Object)
73 // will always return false.
74 var absoluteURL = String(new URL(url, document.URL));
75 if (map.has(absoluteURL))
76 return;
77 map.set(absoluteURL, {
78 'url': String(absoluteURL),
79 'type': type,
80 'mimeType': mimeType,
81 })
82 }
83
84 function resourcesMapForSubtree(root_doc) {
85 var map = new Map;
86 var roots = [root_doc];
87 while (roots.length) {
88 var root = roots.pop();
89 var elements = root.querySelectorAll('*');
90 forEachInNodeList(elements, function(element) {
91 if (element.tagName == "import") {
92 // FIXME: It's no longer possible to walk into an import. :(
93 // roots.push(element.import);
94 addResource(map, element.getAttribute('src'), 'Document', 'text/html');
95 } else if (element.tagName == "img") {
96 // FIXME: Can't determine the type of an image from the DOM.
97 addResource(map, element.getAttribute('src'), 'Image', 'image/unknown');
98 }
99 if (element.shadowRoot) {
100 roots.push(element.shadowRoot);
101 }
102 });
103 }
104 return map;
105 }
106
107 module.exports = Page;
108 </script>
OLDNEW
« no previous file with comments | « sky/framework/inspector/inspector.sky ('k') | sky/framework/inspector/runtime-agent.sky » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698