Chromium Code Reviews| 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 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 67 v8::Handle<v8::Context> frameContext = m_frontendPage->mainFrame() ? m_front endPage->mainFrame()->script()->currentWorldContext() : v8::Local<v8::Context>() ; | 67 v8::Handle<v8::Context> frameContext = m_frontendPage->mainFrame() ? m_front endPage->mainFrame()->script()->currentWorldContext() : v8::Local<v8::Context>() ; |
| 68 v8::Context::Scope contextScope(frameContext); | 68 v8::Context::Scope contextScope(frameContext); |
| 69 | 69 |
| 70 if (m_frontendHost) | 70 if (m_frontendHost) |
| 71 m_frontendHost->disconnectClient(); | 71 m_frontendHost->disconnectClient(); |
| 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 | |
| 78 ScriptController* scriptController = m_frontendPage->mainFrame() ? m_fronten dPage->mainFrame()->script() : 0; | |
| 79 if (scriptController) { | |
| 80 String installLegacyOverrides = | |
| 81 "(function(host) {" | |
| 82 " function dispatch(oldImpl, methodName) {" | |
| 83 " var argsArray = Array.prototype.slice.call(arguments, 2);" | |
| 84 " var message = {'method': methodName};" | |
| 85 " if (argsArray.length)" | |
| 86 " message.params = argsArray;" | |
| 87 " this.sendMessageToFrontendHost(JSON.stringify(message));" | |
| 88 " oldImpl.apply(this, argsArray);" | |
|
pfeldman
2013/08/23 11:20:27
if (oldImpl)
Vladislav Kaznacheev
2013/08/23 13:05:04
Done.
| |
| 89 " };" | |
| 90 " var legacyMethods = ['requestSetDockSide', 'closeWindow', 'bringT oFront', 'setAttachedWindowHeight', 'moveWindowBy', 'openInNewTab'," | |
|
pfeldman
2013/08/23 11:20:27
Lets generate this list as JSONArray of method nam
| |
| 91 " 'save', 'append', 'requestFileSystems', 'add FileSystem', 'removeFileSystem', 'indexPath', 'stopIndexing', 'searchInPath' ];" | |
| 92 " legacyMethods.forEach(function(methodName) {" | |
| 93 " host[methodName] = dispatch.bind(host, host[method], methodNa me);" | |
|
pfeldman
2013/08/23 11:20:27
methodName
Vladislav Kaznacheev
2013/08/23 13:05:04
Done.
| |
| 94 " });" | |
| 95 "})(InspectorFrontendHost);"; | |
| 96 scriptController->executeScriptInMainWorld(ScriptSourceCode(installLegac yOverrides)); | |
| 97 } | |
| 77 } | 98 } |
| 78 | 99 |
| 79 void InspectorFrontendClientImpl::moveWindowBy(float x, float y) | 100 void InspectorFrontendClientImpl::moveWindowBy(float x, float y) |
| 80 { | 101 { |
| 81 m_client->moveWindowBy(WebFloatPoint(x, y)); | 102 m_client->moveWindowBy(WebFloatPoint(x, y)); |
| 82 } | 103 } |
| 83 | 104 |
| 84 void InspectorFrontendClientImpl::bringToFront() | 105 void InspectorFrontendClientImpl::bringToFront() |
| 85 { | 106 { |
| 86 m_client->activateWindow(); | 107 m_client->activateWindow(); |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 125 void InspectorFrontendClientImpl::inspectedURLChanged(const String& url) | 146 void InspectorFrontendClientImpl::inspectedURLChanged(const String& url) |
| 126 { | 147 { |
| 127 m_frontendPage->mainFrame()->document()->setTitle("Developer Tools - " + url ); | 148 m_frontendPage->mainFrame()->document()->setTitle("Developer Tools - " + url ); |
| 128 } | 149 } |
| 129 | 150 |
| 130 void InspectorFrontendClientImpl::sendMessageToBackend(const String& message) | 151 void InspectorFrontendClientImpl::sendMessageToBackend(const String& message) |
| 131 { | 152 { |
| 132 m_client->sendMessageToBackend(message); | 153 m_client->sendMessageToBackend(message); |
| 133 } | 154 } |
| 134 | 155 |
| 156 void InspectorFrontendClientImpl::sendMessageToFrontendHost(const String& messag e) | |
| 157 { | |
| 158 m_client->sendMessageToFrontendHost(message); | |
| 159 } | |
| 160 | |
| 135 void InspectorFrontendClientImpl::requestFileSystems() | 161 void InspectorFrontendClientImpl::requestFileSystems() |
| 136 { | 162 { |
| 137 m_client->requestFileSystems(); | 163 m_client->requestFileSystems(); |
| 138 } | 164 } |
| 139 | 165 |
| 140 void InspectorFrontendClientImpl::indexPath(int requestId, const String& fileSys temPath) | 166 void InspectorFrontendClientImpl::indexPath(int requestId, const String& fileSys temPath) |
| 141 { | 167 { |
| 142 m_client->indexPath(requestId, fileSystemPath); | 168 m_client->indexPath(requestId, fileSystemPath); |
| 143 } | 169 } |
| 144 | 170 |
| (...skipping 16 matching lines...) Expand all Loading... | |
| 161 { | 187 { |
| 162 m_client->removeFileSystem(fileSystemPath); | 188 m_client->removeFileSystem(fileSystemPath); |
| 163 } | 189 } |
| 164 | 190 |
| 165 bool InspectorFrontendClientImpl::isUnderTest() | 191 bool InspectorFrontendClientImpl::isUnderTest() |
| 166 { | 192 { |
| 167 return m_client->isUnderTest(); | 193 return m_client->isUnderTest(); |
| 168 } | 194 } |
| 169 | 195 |
| 170 } // namespace WebKit | 196 } // namespace WebKit |
| OLD | NEW |