Changeset 106218 in webkit
- Timestamp:
- Jan 30, 2012 12:57:18 AM (12 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r106217 r106218 1 2012-01-30 Peter Rybin <peter.rybin@gmail.com> 2 3 Web Inspector: CodeGeneratorInspector.py: clean InspectorBackendDispatcher.h 4 https://bugs.webkit.org/show_bug.cgi?id=77062 5 6 Reviewed by Yury Semikhatsky. 7 8 Code generator is changed. Now it generates InspectorBackendDispatcher 9 as an abstract class so that implementation details could be fully 10 hidden in .cpp file in a separate 'impl' class. This should make .h 11 file more clear. 12 Also new formal interfaces to domain agents are generated. This is an 13 improvement over the current case when interfaces to agents are 14 definen implicitly at calling sites. 15 16 * inspector/CodeGeneratorInspector.py: 17 (RawTypes): 18 (RawTypes.OutputPassModel): 19 (RawTypes.OutputPassModel.ByPointer): 20 (RawTypes.OutputPassModel.ByPointer.get_argument_prefix): 21 (RawTypes.OutputPassModel.ByPointer.get_parameter_type_suffix): 22 (RawTypes.OutputPassModel.ByReference): 23 (RawTypes.OutputPassModel.ByReference.get_argument_prefix): 24 (RawTypes.OutputPassModel.ByReference.get_parameter_type_suffix): 25 (RawTypes.BaseType.is_event_param_check_optional): 26 (RawTypes.String): 27 (RawTypes.String.get_output_pass_model): 28 (RawTypes.String.is_heavy_value): 29 (RawTypes.Int): 30 (RawTypes.Int.get_output_pass_model): 31 (RawTypes.Int.is_heavy_value): 32 (RawTypes.Number): 33 (RawTypes.Number.get_output_pass_model): 34 (RawTypes.Number.is_heavy_value): 35 (RawTypes.Bool.get_c_param_type): 36 (RawTypes.Bool): 37 (RawTypes.Bool.get_output_pass_model): 38 (RawTypes.Bool.is_heavy_value): 39 (RawTypes.Object): 40 (RawTypes.Object.get_output_pass_model): 41 (RawTypes.Object.is_heavy_value): 42 (RawTypes.Any.get_c_initializer): 43 (RawTypes.Any): 44 (RawTypes.Any.get_output_pass_model): 45 (RawTypes.Any.is_heavy_value): 46 (RawTypes.Array): 47 (RawTypes.Array.get_output_pass_model): 48 (RawTypes.Array.is_heavy_value): 49 (InspectorBackendDispatcherImpl): 50 (void): 51 (Generator): 52 (Generator.go): 53 (Generator.process_command): 54 * inspector/InspectorController.cpp: 55 (WebCore::InspectorController::connectFrontend): 56 * inspector/WorkerInspectorController.cpp: 57 (WebCore::WorkerInspectorController::connectFrontend): 58 1 59 2012-01-29 Zoltan Herczeg <zherczeg@webkit.org> 2 60 -
trunk/Source/WebCore/inspector/CodeGeneratorInspector.py
r105863 r106218 220 220 raise Exception("Unknown type: %s" % json_type) 221 221 222 # For output parameter all values are passed by pointer except RefPtr-based types. 223 class OutputPassModel: 224 class ByPointer: 225 @staticmethod 226 def get_argument_prefix(): 227 return "&" 228 229 @staticmethod 230 def get_parameter_type_suffix(): 231 return "*" 232 233 class ByReference: 234 @staticmethod 235 def get_argument_prefix(): 236 return "" 237 238 @staticmethod 239 def get_parameter_type_suffix(): 240 return "&" 241 222 242 class BaseType(object): 223 243 need_internal_runtime_cast_ = False … … 230 250 def is_event_param_check_optional(): 231 251 return False 232 233 @staticmethod234 def get_output_argument_prefix():235 return "&"236 252 237 253 @classmethod … … 294 310 return ValidateMethodParams 295 311 312 @staticmethod 313 def get_output_pass_model(): 314 return RawTypes.OutputPassModel.ByPointer 315 316 @staticmethod 317 def is_heavy_value(): 318 return True 319 296 320 _plain_c_type = CParamType("String") 297 321 _ref_c_type = CParamType("const String&") … … 322 346 return ValidateMethodParams 323 347 348 @staticmethod 349 def get_output_pass_model(): 350 return RawTypes.OutputPassModel.ByPointer 351 352 @staticmethod 353 def is_heavy_value(): 354 return False 355 324 356 default_c_param_type = CParamType("int") 325 357 … … 344 376 def get_validate_method_params(): 345 377 raise Exception("TODO") 378 379 @staticmethod 380 def get_output_pass_model(): 381 return RawTypes.OutputPassModel.ByPointer 382 383 @staticmethod 384 def is_heavy_value(): 385 return False 346 386 347 387 default_c_param_type = CParamType("double") … … 350 390 @classmethod 351 391 def get_c_param_type(cls, param_type, optional): 352 if (param_type == ParamType.EVENT):392 if param_type == ParamType.EVENT: 353 393 if optional: 354 394 return cls._ref_c_type … … 379 419 def get_validate_method_params(): 380 420 raise Exception("TODO") 421 422 @staticmethod 423 def get_output_pass_model(): 424 return RawTypes.OutputPassModel.ByPointer 425 426 @staticmethod 427 def is_heavy_value(): 428 return False 381 429 382 430 _plain_c_type = CParamType("bool") … … 417 465 raise Exception("TODO") 418 466 467 @staticmethod 468 def get_output_pass_model(): 469 return RawTypes.OutputPassModel.ByReference 470 471 @staticmethod 472 def is_heavy_value(): 473 return True 474 419 475 _plain_c_type = CParamType("RefPtr<InspectorObject>") 420 476 _ref_c_type = CParamType("PassRefPtr<InspectorObject>") … … 436 492 @staticmethod 437 493 def get_c_initializer(): 438 r eturn "InspectorValue::create()"494 raise Exception("Unsupported") 439 495 440 496 @staticmethod … … 456 512 def get_raw_validator_call_text(): 457 513 return "assertAny" 514 515 @staticmethod 516 def get_output_pass_model(): 517 return RawTypes.OutputPassModel.ByReference 518 519 @staticmethod 520 def is_heavy_value(): 521 return True 458 522 459 523 _plain_c_type = CParamType("RefPtr<InspectorValue>") … … 495 559 def get_validate_method_params(): 496 560 raise Exception("TODO") 561 562 @staticmethod 563 def get_output_pass_model(): 564 return RawTypes.OutputPassModel.ByReference 565 566 @staticmethod 567 def is_heavy_value(): 568 return True 497 569 498 570 _plain_c_type = CParamType("RefPtr<InspectorArray>") … … 1522 1594 1523 1595 backend_method = string.Template( 1524 """void InspectorBackendDispatcher ::${domainName}_$methodName(long callId, InspectorObject*$requestMessageObject)1596 """void InspectorBackendDispatcherImpl::${domainName}_$methodName(long callId, InspectorObject*$requestMessageObject) 1525 1597 { 1526 1598 RefPtr<InspectorArray> protocolErrors = InspectorArray::create(); … … 1616 1688 class InspectorBackendDispatcher: public RefCounted<InspectorBackendDispatcher> { 1617 1689 public: 1618 InspectorBackendDispatcher(InspectorFrontendChannel* inspectorFrontendChannel) 1619 : m_inspectorFrontendChannel(inspectorFrontendChannel) 1620 $constructorInit 1621 { } 1622 1623 $setters 1624 1625 void clearFrontend() { m_inspectorFrontendChannel = 0; } 1690 static PassRefPtr<InspectorBackendDispatcher> create(InspectorFrontendChannel* inspectorFrontendChannel); 1691 1692 $agentInterfaces 1693 $virtualSetters 1694 1695 virtual void clearFrontend() = 0; 1626 1696 1627 1697 enum CommonErrorCode { … … 1636 1706 1637 1707 void reportProtocolError(const long* const callId, CommonErrorCode, const String& errorMessage) const; 1638 v oid reportProtocolError(const long* const callId, CommonErrorCode, const String& errorMessage, PassRefPtr<InspectorArray> data) const;1639 v oid dispatch(const String& message);1708 virtual void reportProtocolError(const long* const callId, CommonErrorCode, const String& errorMessage, PassRefPtr<InspectorArray> data) const = 0; 1709 virtual void dispatch(const String& message) = 0; 1640 1710 static bool getCommandName(const String& message, String* result); 1641 1711 … … 1645 1715 1646 1716 static const char* commandNames[]; 1647 1717 }; 1718 1719 } // namespace WebCore 1720 #endif // !defined(InspectorBackendDispatcher_h) 1721 1722 1723 """) 1724 1725 backend_cpp = string.Template(file_header_ + 1726 """ 1727 1728 #include "config.h" 1729 #include "InspectorBackendDispatcher.h" 1730 #include <wtf/text/WTFString.h> 1731 #include <wtf/text/CString.h> 1732 1733 #if ENABLE(INSPECTOR) 1734 1735 #include "InspectorAgent.h" 1736 #include "InspectorValues.h" 1737 #include "InspectorFrontendChannel.h" 1738 #include <wtf/text/WTFString.h> 1739 $includes 1740 1741 namespace WebCore { 1742 1743 const char* InspectorBackendDispatcher::commandNames[] = { 1744 $methodNameDeclarations 1745 }; 1746 1747 1748 class InspectorBackendDispatcherImpl : public InspectorBackendDispatcher { 1749 public: 1750 InspectorBackendDispatcherImpl(InspectorFrontendChannel* inspectorFrontendChannel) 1751 : m_inspectorFrontendChannel(inspectorFrontendChannel) 1752 $constructorInit 1753 { } 1754 1755 void clearFrontend() { m_inspectorFrontendChannel = 0; } 1756 void dispatch(const String& message); 1757 void reportProtocolError(const long* const callId, CommonErrorCode, const String& errorMessage, PassRefPtr<InspectorArray> data) const; 1758 using InspectorBackendDispatcher::reportProtocolError; 1759 1760 $setters 1648 1761 private: 1762 $methodDeclarations 1763 1764 InspectorFrontendChannel* m_inspectorFrontendChannel; 1765 $fieldDeclarations 1766 1649 1767 static int getInt(InspectorObject* object, const String& name, bool* valueFound, InspectorArray* protocolErrors); 1650 1768 static String getString(InspectorObject* object, const String& name, bool* valueFound, InspectorArray* protocolErrors); … … 1654 1772 void sendResponse(long callId, PassRefPtr<InspectorObject> result, const String& errorMessage, PassRefPtr<InspectorArray> protocolErrors, ErrorString invocationError); 1655 1773 1656 $methodDeclarations1657 1658 InspectorFrontendChannel* m_inspectorFrontendChannel;1659 $fieldDeclarations1660 1774 }; 1661 1775 1662 } // namespace WebCore1663 #endif // !defined(InspectorBackendDispatcher_h)1664 1665 1666 """)1667 1668 backend_cpp = string.Template(file_header_ +1669 """1670 1671 #include "config.h"1672 #include "InspectorBackendDispatcher.h"1673 #include <wtf/text/WTFString.h>1674 #include <wtf/text/CString.h>1675 1676 #if ENABLE(INSPECTOR)1677 1678 #include "InspectorAgent.h"1679 #include "InspectorValues.h"1680 #include "InspectorFrontendChannel.h"1681 #include <wtf/text/WTFString.h>1682 $includes1683 1684 namespace WebCore {1685 1686 const char* InspectorBackendDispatcher::commandNames[] = {1687 $methodNameDeclarations1688 };1689 1690 1691 1776 $methods 1692 void InspectorBackendDispatcher::dispatch(const String& message) 1777 1778 PassRefPtr<InspectorBackendDispatcher> InspectorBackendDispatcher::create(InspectorFrontendChannel* inspectorFrontendChannel) 1779 { 1780 return adoptRef(new InspectorBackendDispatcherImpl(inspectorFrontendChannel)); 1781 } 1782 1783 1784 void InspectorBackendDispatcherImpl::dispatch(const String& message) 1693 1785 { 1694 1786 RefPtr<InspectorBackendDispatcher> protect = this; 1695 typedef void (InspectorBackendDispatcher ::*CallHandler)(long callId, InspectorObject* messageObject);1787 typedef void (InspectorBackendDispatcherImpl::*CallHandler)(long callId, InspectorObject* messageObject); 1696 1788 typedef HashMap<String, CallHandler> DispatchMap; 1697 1789 DEFINE_STATIC_LOCAL(DispatchMap, dispatchMap, ); … … 1751 1843 } 1752 1844 1753 void InspectorBackendDispatcher ::sendResponse(long callId, PassRefPtr<InspectorObject> result, const String& errorMessage, PassRefPtr<InspectorArray> protocolErrors, ErrorString invocationError)1845 void InspectorBackendDispatcherImpl::sendResponse(long callId, PassRefPtr<InspectorObject> result, const String& errorMessage, PassRefPtr<InspectorArray> protocolErrors, ErrorString invocationError) 1754 1846 { 1755 1847 if (protocolErrors->length()) { … … 1774 1866 } 1775 1867 1776 void InspectorBackendDispatcher ::reportProtocolError(const long* const callId, CommonErrorCode code, const String& errorMessage, PassRefPtr<InspectorArray> data) const1868 void InspectorBackendDispatcherImpl::reportProtocolError(const long* const callId, CommonErrorCode code, const String& errorMessage, PassRefPtr<InspectorArray> data) const 1777 1869 { 1778 1870 DEFINE_STATIC_LOCAL(Vector<int>,s_commonErrors,); … … 1804 1896 } 1805 1897 1806 int InspectorBackendDispatcher ::getInt(InspectorObject* object, const String& name, bool* valueFound, InspectorArray* protocolErrors)1898 int InspectorBackendDispatcherImpl::getInt(InspectorObject* object, const String& name, bool* valueFound, InspectorArray* protocolErrors) 1807 1899 { 1808 1900 ASSERT(protocolErrors); … … 1838 1930 } 1839 1931 1840 String InspectorBackendDispatcher ::getString(InspectorObject* object, const String& name, bool* valueFound, InspectorArray* protocolErrors)1932 String InspectorBackendDispatcherImpl::getString(InspectorObject* object, const String& name, bool* valueFound, InspectorArray* protocolErrors) 1841 1933 { 1842 1934 ASSERT(protocolErrors); … … 1872 1964 } 1873 1965 1874 bool InspectorBackendDispatcher ::getBoolean(InspectorObject* object, const String& name, bool* valueFound, InspectorArray* protocolErrors)1966 bool InspectorBackendDispatcherImpl::getBoolean(InspectorObject* object, const String& name, bool* valueFound, InspectorArray* protocolErrors) 1875 1967 { 1876 1968 ASSERT(protocolErrors); … … 1906 1998 } 1907 1999 1908 PassRefPtr<InspectorObject> InspectorBackendDispatcher ::getObject(InspectorObject* object, const String& name, bool* valueFound, InspectorArray* protocolErrors)2000 PassRefPtr<InspectorObject> InspectorBackendDispatcherImpl::getObject(InspectorObject* object, const String& name, bool* valueFound, InspectorArray* protocolErrors) 1909 2001 { 1910 2002 ASSERT(protocolErrors); … … 1940 2032 } 1941 2033 1942 PassRefPtr<InspectorArray> InspectorBackendDispatcher ::getArray(InspectorObject* object, const String& name, bool* valueFound, InspectorArray* protocolErrors)2034 PassRefPtr<InspectorArray> InspectorBackendDispatcherImpl::getArray(InspectorObject* object, const String& name, bool* valueFound, InspectorArray* protocolErrors) 1943 2035 { 1944 2036 ASSERT(protocolErrors); … … 1973 2065 return value; 1974 2066 } 2067 1975 2068 bool InspectorBackendDispatcher::getCommandName(const String& message, String* result) 1976 2069 { … … 2042 2135 typebuilder_h = string.Template(file_header_ + 2043 2136 """ 2044 #ifndef Inspector BackendDispatcher_h2045 #define Inspector BackendDispatcher_h2137 #ifndef InspectorTypeBuilder_h 2138 #define InspectorTypeBuilder_h 2046 2139 2047 2140 namespace WebCore { … … 2053 2146 2054 2147 } // namespace WebCore 2055 #endif // !defined(Inspector BackendDispatcher_h)2148 #endif // !defined(InspectorTypeBuilder_h) 2056 2149 2057 2150 """) … … 2221 2314 backend_js_domain_initializer_list = [] 2222 2315 2316 backend_virtual_setters_list = [] 2317 backend_agent_interface_list = [] 2223 2318 backend_setters_list = [] 2224 2319 backend_constructor_init_list = [] … … 2243 2338 Generator.backend_method_implementation_list, 2244 2339 Generator.backend_method_name_declaration_list, 2340 Generator.backend_agent_interface_list, 2245 2341 Generator.frontend_class_field_lines, 2246 2342 Generator.frontend_constructor_init_list, … … 2282 2378 frontendDomainMethodDeclarations=join(flatten_list(frontend_method_declaration_lines), ""))) 2283 2379 2380 agent_interface_name = Capitalizer.lower_camel_case_to_upper(domain_name) + "CommandHandler" 2381 Generator.backend_agent_interface_list.append(" class %s {\n" % agent_interface_name) 2382 Generator.backend_agent_interface_list.append(" public:\n") 2284 2383 if "commands" in json_domain: 2285 2384 for json_command in json_domain["commands"]: 2286 2385 Generator.process_command(json_command, domain_name, agent_field_name) 2386 Generator.backend_agent_interface_list.append(" };\n\n") 2287 2387 2288 2388 if domain_guard: … … 2296 2396 sorted_cycle_guardable_list_list = [ 2297 2397 Generator.backend_constructor_init_list, 2398 Generator.backend_virtual_setters_list, 2298 2399 Generator.backend_setters_list, 2299 2400 Generator.backend_field_list, … … 2311 2412 domain_guard.generate_open(l) 2312 2413 2414 agent_interface_name = Capitalizer.lower_camel_case_to_upper(domain_name) + "CommandHandler" 2415 2313 2416 agent_type_name = domain_fixes.agent_type_name 2314 2417 agent_field_name = domain_fixes.agent_field_name 2315 2418 Generator.backend_constructor_init_list.append(" , m_%s(0)" % agent_field_name) 2316 Generator.backend_setters_list.append(" void registerAgent(%s* %s) { ASSERT(!m_%s); m_%s = %s; }" % (agent_type_name, agent_field_name, agent_field_name, agent_field_name, agent_field_name)) 2317 Generator.backend_field_list.append(" %s* m_%s;" % (agent_type_name, agent_field_name)) 2419 Generator.backend_virtual_setters_list.append(" virtual void registerAgent(%s /* %s */* %s) = 0;" % (agent_type_name, agent_interface_name, agent_field_name)) 2420 Generator.backend_setters_list.append(" void registerAgent(%s /* %s */* %s) { ASSERT(!m_%s); m_%s = %s; }" % (agent_type_name, agent_interface_name, agent_field_name, agent_field_name, agent_field_name, agent_field_name)) 2421 Generator.backend_field_list.append(" %s /* %s */* m_%s;" % (agent_type_name, agent_interface_name, agent_field_name)) 2318 2422 Generator.backend_forward_list.append("class %s;" % agent_type_name) 2319 2423 Generator.backend_include_list.append("#include \"%s.h\"" % agent_type_name) … … 2419 2523 json_command_name = json_command["name"] 2420 2524 Generator.method_name_enum_list.append(" k%s_%sCmd," % (domain_name, json_command["name"])) 2421 Generator.method_handler_list.append(" &InspectorBackendDispatcher ::%s_%s," % (domain_name, json_command_name))2525 Generator.method_handler_list.append(" &InspectorBackendDispatcherImpl::%s_%s," % (domain_name, json_command_name)) 2422 2526 Generator.backend_method_declaration_list.append(" void %s_%s(long callId, InspectorObject* requestMessageObject);" % (domain_name, json_command_name)) 2527 2528 Generator.backend_agent_interface_list.append(" virtual void %s(ErrorString*" % json_command_name) 2423 2529 2424 2530 method_in_code = "" … … 2440 2546 2441 2547 var_type = param_raw_type.get_c_param_type(ParamType.INPUT, None) 2548 formal_param_type = var_type 2442 2549 getter_name = param_raw_type.get_getter_name() 2443 2550 2444 if "optional" in json_parameter and json_parameter["optional"]: 2551 optional = json_parameter.get("optional") 2552 if optional: 2445 2553 code = (" bool %s_valueFound = false;\n" 2446 2554 " %s in_%s = get%s(paramsContainerPtr, \"%s\", &%s_valueFound, protocolErrorsPtr);\n" % 2447 2555 (json_param_name, var_type.get_text(), json_param_name, getter_name, json_param_name, json_param_name)) 2448 2556 param = ", %s_valueFound ? &in_%s : 0" % (json_param_name, json_param_name) 2557 formal_param_type_pattern = "const %s*" 2449 2558 else: 2450 2559 code = (" %s in_%s = get%s(paramsContainerPtr, \"%s\", 0, protocolErrorsPtr);\n" % 2451 2560 (var_type.get_text(), json_param_name, getter_name, json_param_name)) 2452 2561 param = ", in_%s" % json_param_name 2562 if param_raw_type.is_heavy_value(): 2563 formal_param_type_pattern = "const %s&" 2564 else: 2565 formal_param_type_pattern = "%s" 2453 2566 2454 2567 method_in_code += code 2455 2568 agent_call_param_list.append(param) 2569 Generator.backend_agent_interface_list.append(", %s in_%s" % (formal_param_type_pattern % formal_param_type.get_text(), json_param_name)) 2456 2570 2457 2571 js_bind_type = param_raw_type.get_js_bind_type() … … 2481 2595 2482 2596 code = " %s out_%s = %s;\n" % (var_type.get_text(), json_return_name, initializer) 2483 param = ", %sout_%s" % (raw_type.get_output_ argument_prefix(), json_return_name)2597 param = ", %sout_%s" % (raw_type.get_output_pass_model().get_argument_prefix(), json_return_name) 2484 2598 cook = " result->set%s(\"%s\", out_%s);\n" % (setter_type, json_return_name, json_return_name) 2485 2599 if optional: 2600 # FIXME: support optional properly. Probably an additional output parameter should be in each case. 2486 2601 if var_type.get_text() == "bool": 2487 2602 cook = (" if (out_%s)\n " % json_return_name) + cook 2488 2603 else: 2489 # FIXME: support optionals.2490 2604 cook = " // FIXME: support optional here.\n" + cook 2491 2605 2492 2606 method_out_code += code 2493 2607 agent_call_param_list.append(param) 2608 Generator.backend_agent_interface_list.append(", %s%s out_%s" % (var_type.get_text(), raw_type.get_output_pass_model().get_parameter_type_suffix(), json_return_name)) 2494 2609 response_cook_list.append(cook) 2495 2610 … … 2511 2626 2512 2627 Generator.backend_js_domain_initializer_list.append("InspectorBackend.registerCommand(\"%s.%s\", [%s], %s);\n" % (domain_name, json_command_name, js_parameters_text, js_reply_list)) 2628 Generator.backend_agent_interface_list.append(") = 0;\n") 2513 2629 2514 2630 @staticmethod … … 2605 2721 2606 2722 backend_h_file.write(Templates.backend_h.substitute(None, 2723 virtualSetters=join(Generator.backend_virtual_setters_list, "\n"), 2724 agentInterfaces=join(Generator.backend_agent_interface_list, ""), 2725 methodNamesEnumContent=join(Generator.method_name_enum_list, "\n"), 2726 forwardDeclarations=join(Generator.backend_forward_list, "\n"))) 2727 2728 backend_cpp_file.write(Templates.backend_cpp.substitute(None, 2607 2729 constructorInit=join(Generator.backend_constructor_init_list, "\n"), 2608 2730 setters=join(Generator.backend_setters_list, "\n"), 2609 methodNamesEnumContent=join(Generator.method_name_enum_list, "\n"),2610 methodDeclarations=join(Generator.backend_method_declaration_list, "\n"),2611 2731 fieldDeclarations=join(Generator.backend_field_list, "\n"), 2612 forwardDeclarations=join(Generator.backend_forward_list, "\n")))2613 2614 backend_cpp_file.write(Templates.backend_cpp.substitute(None,2615 2732 methodNameDeclarations=join(Generator.backend_method_name_declaration_list, "\n"), 2616 2733 includes=join(Generator.backend_include_list, "\n"), 2617 2734 methods=join(Generator.backend_method_implementation_list, "\n"), 2735 methodDeclarations=join(Generator.backend_method_declaration_list, "\n"), 2618 2736 messageHandlers=join(Generator.method_handler_list, "\n"))) 2619 2737 -
trunk/Source/WebCore/inspector/InspectorController.cpp
r105877 r106218 219 219 220 220 ASSERT(m_inspectorClient); 221 m_inspectorBackendDispatcher = adoptRef(new InspectorBackendDispatcher(m_inspectorClient));221 m_inspectorBackendDispatcher = InspectorBackendDispatcher::create(m_inspectorClient); 222 222 223 223 InspectorBackendDispatcher* dispatcher = m_inspectorBackendDispatcher.get(); -
trunk/Source/WebCore/inspector/WorkerInspectorController.cpp
r101531 r106218 124 124 m_frontendChannel = adoptPtr(new PageInspectorProxy(m_workerContext)); 125 125 m_frontend = adoptPtr(new InspectorFrontend(m_frontendChannel.get())); 126 m_backendDispatcher = adoptRef(new InspectorBackendDispatcher(m_frontendChannel.get()));126 m_backendDispatcher = InspectorBackendDispatcher::create(m_frontendChannel.get()); 127 127 m_consoleAgent->registerInDispatcher(m_backendDispatcher.get()); 128 128 #if ENABLE(JAVASCRIPT_DEBUGGER)
Note: See TracChangeset
for help on using the changeset viewer.