OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2010 Google Inc. All rights reserved. | 2 * Copyright (C) 2010 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
72 m_frontendHost = InspectorFrontendHost::create(this, m_frontendPage); | 72 m_frontendHost = InspectorFrontendHost::create(this, m_frontendPage); |
73 v8::Handle<v8::Value> frontendHostObj = toV8(m_frontendHost.get(), v8::Handl
e<v8::Object>(), frameContext->GetIsolate()); | 73 v8::Handle<v8::Value> frontendHostObj = toV8(m_frontendHost.get(), v8::Handl
e<v8::Object>(), frameContext->GetIsolate()); |
74 v8::Handle<v8::Object> global = frameContext->Global(); | 74 v8::Handle<v8::Object> global = frameContext->Global(); |
75 | 75 |
76 global->Set(v8::String::New("InspectorFrontendHost"), frontendHostObj); | 76 global->Set(v8::String::New("InspectorFrontendHost"), frontendHostObj); |
77 | 77 |
78 ScriptController* scriptController = m_frontendPage->mainFrame() ? m_fronten
dPage->mainFrame()->script() : 0; | 78 ScriptController* scriptController = m_frontendPage->mainFrame() ? m_fronten
dPage->mainFrame()->script() : 0; |
79 if (scriptController) { | 79 if (scriptController) { |
80 String installLegacyOverrides = | 80 String installLegacyOverrides = |
81 "(function(host, legacyMethodNames) {" | 81 "(function(host, legacyMethodNames) {" |
82 " function dispatch(methodName, oldImpl) {" | 82 " function dispatch(methodName) {" |
83 " var argsArray = Array.prototype.slice.call(arguments, 2);" | 83 " var argsArray = Array.prototype.slice.call(arguments, 1);" |
84 " var message = {'method': methodName};" | 84 " var message = {'method': methodName};" |
85 " if (argsArray.length)" | 85 " if (argsArray.length)" |
86 " message.params = argsArray;" | 86 " message.params = argsArray;" |
87 " this.sendMessageToEmbedder(JSON.stringify(message));" | 87 " this.sendMessageToEmbedder(JSON.stringify(message));" |
88 " if (oldImpl)" | |
89 " oldImpl.apply(this, argsArray);" | |
90 " };" | 88 " };" |
91 " legacyMethodNames.forEach(function(methodName) {" | 89 " legacyMethodNames.forEach(function(methodName) {" |
92 " host[methodName] = dispatch.bind(host, methodName, host[met
hodName]);" | 90 " host[methodName] = dispatch.bind(host, methodName);" |
93 " });" | 91 " });" |
94 "})(InspectorFrontendHost," | 92 "})(InspectorFrontendHost," |
95 " ['moveWindowBy'," | 93 " ['moveWindowBy'," |
96 " 'bringToFront'," | 94 " 'bringToFront'," |
97 " 'requestSetDockSide'," | 95 " 'requestSetDockSide'," |
98 " 'openInNewTab'," | 96 " 'openInNewTab'," |
99 " 'save'," | 97 " 'save'," |
100 " 'append'," | 98 " 'append'," |
101 " 'requestFileSystems'," | 99 " 'requestFileSystems'," |
102 " 'indexPath'," | 100 " 'indexPath'," |
103 " 'stopIndexing'," | 101 " 'stopIndexing'," |
104 " 'searchInPath'," | 102 " 'searchInPath'," |
105 " 'addFileSystem'," | 103 " 'addFileSystem'," |
106 " 'removeFileSystem']);"; | 104 " 'removeFileSystem']);"; |
107 | 105 |
108 scriptController->executeScriptInMainWorld(ScriptSourceCode(installLegac
yOverrides)); | 106 scriptController->executeScriptInMainWorld(ScriptSourceCode(installLegac
yOverrides)); |
109 } | 107 } |
110 } | 108 } |
111 | 109 |
112 void InspectorFrontendClientImpl::moveWindowBy(float x, float y) | |
113 { | |
114 m_client->moveWindowBy(WebFloatPoint(x, y)); | |
115 } | |
116 | |
117 void InspectorFrontendClientImpl::bringToFront() | |
118 { | |
119 m_client->activateWindow(); | |
120 } | |
121 | |
122 void InspectorFrontendClientImpl::closeWindow() | |
123 { | |
124 m_client->closeWindow(); | |
125 } | |
126 | |
127 void InspectorFrontendClientImpl::requestSetDockSide(DockSide side) | |
128 { | |
129 String sideString = "undocked"; | |
130 switch (side) { | |
131 case DockedToRight: sideString = "right"; break; | |
132 case DockedToBottom: sideString = "bottom"; break; | |
133 case Undocked: sideString = "undocked"; break; | |
134 } | |
135 m_client->requestSetDockSide(sideString); | |
136 } | |
137 | |
138 void InspectorFrontendClientImpl::changeAttachedWindowHeight(unsigned height) | |
139 { | |
140 m_client->changeAttachedWindowHeight(height); | |
141 } | |
142 | |
143 void InspectorFrontendClientImpl::openInNewTab(const String& url) | |
144 { | |
145 m_client->openInNewTab(url); | |
146 } | |
147 | |
148 void InspectorFrontendClientImpl::save(const String& url, const String& content,
bool forceSaveAs) | |
149 { | |
150 m_client->save(url, content, forceSaveAs); | |
151 } | |
152 | |
153 void InspectorFrontendClientImpl::append(const String& url, const String& conten
t) | |
154 { | |
155 m_client->append(url, content); | |
156 } | |
157 | |
158 void InspectorFrontendClientImpl::inspectedURLChanged(const String& url) | 110 void InspectorFrontendClientImpl::inspectedURLChanged(const String& url) |
159 { | 111 { |
160 m_frontendPage->mainFrame()->document()->setTitle("Developer Tools - " + url
); | 112 m_frontendPage->mainFrame()->document()->setTitle("Developer Tools - " + url
); |
161 } | 113 } |
162 | 114 |
163 void InspectorFrontendClientImpl::sendMessageToBackend(const String& message) | 115 void InspectorFrontendClientImpl::sendMessageToBackend(const String& message) |
164 { | 116 { |
165 m_client->sendMessageToBackend(message); | 117 m_client->sendMessageToBackend(message); |
166 } | 118 } |
167 | 119 |
168 void InspectorFrontendClientImpl::sendMessageToEmbedder(const String& message) | 120 void InspectorFrontendClientImpl::sendMessageToEmbedder(const String& message) |
169 { | 121 { |
170 m_client->sendMessageToEmbedder(message); | 122 m_client->sendMessageToEmbedder(message); |
171 } | 123 } |
172 | 124 |
173 void InspectorFrontendClientImpl::requestFileSystems() | |
174 { | |
175 m_client->requestFileSystems(); | |
176 } | |
177 | |
178 void InspectorFrontendClientImpl::indexPath(int requestId, const String& fileSys
temPath) | |
179 { | |
180 m_client->indexPath(requestId, fileSystemPath); | |
181 } | |
182 | |
183 void InspectorFrontendClientImpl::stopIndexing(int requestId) | |
184 { | |
185 m_client->stopIndexing(requestId); | |
186 } | |
187 | |
188 void InspectorFrontendClientImpl::searchInPath(int requestId, const String& file
SystemPath, const String& query) | |
189 { | |
190 m_client->searchInPath(requestId, fileSystemPath, query); | |
191 } | |
192 | |
193 void InspectorFrontendClientImpl::addFileSystem() | |
194 { | |
195 m_client->addFileSystem(); | |
196 } | |
197 | |
198 void InspectorFrontendClientImpl::removeFileSystem(const String& fileSystemPath) | |
199 { | |
200 m_client->removeFileSystem(fileSystemPath); | |
201 } | |
202 | |
203 bool InspectorFrontendClientImpl::isUnderTest() | 125 bool InspectorFrontendClientImpl::isUnderTest() |
204 { | 126 { |
205 return m_client->isUnderTest(); | 127 return m_client->isUnderTest(); |
206 } | 128 } |
207 | 129 |
208 } // namespace WebKit | 130 } // namespace WebKit |
OLD | NEW |