Changeset 185722 in webkit
- Timestamp:
- Jun 18, 2015, 3:07:15 PM (11 years ago)
- Location:
- trunk/Source
- Files:
-
- 28 edited
-
JavaScriptCore/ChangeLog (modified) (1 diff)
-
JavaScriptCore/inspector/InspectorValues.cpp (modified) (1 diff)
-
JavaScriptCore/inspector/InspectorValues.h (modified) (1 diff)
-
JavaScriptCore/inspector/agents/InspectorDebuggerAgent.cpp (modified) (5 diffs)
-
JavaScriptCore/inspector/agents/InspectorDebuggerAgent.h (modified) (1 diff)
-
JavaScriptCore/inspector/agents/InspectorRuntimeAgent.cpp (modified) (5 diffs)
-
JavaScriptCore/inspector/agents/InspectorRuntimeAgent.h (modified) (1 diff)
-
JavaScriptCore/inspector/scripts/codegen/cpp_generator.py (modified) (2 diffs)
-
JavaScriptCore/inspector/scripts/codegen/generate_cpp_backend_dispatcher_header.py (modified) (2 diffs)
-
JavaScriptCore/inspector/scripts/codegen/generate_cpp_backend_dispatcher_implementation.py (modified) (7 diffs)
-
JavaScriptCore/inspector/scripts/codegen/generate_objc_backend_dispatcher_implementation.py (modified) (1 diff)
-
JavaScriptCore/inspector/scripts/tests/expected/commands-with-optional-call-return-parameters.json-result (modified) (15 diffs)
-
WebCore/ChangeLog (modified) (1 diff)
-
WebCore/inspector/InspectorCSSAgent.cpp (modified) (6 diffs)
-
WebCore/inspector/InspectorCSSAgent.h (modified) (1 diff)
-
WebCore/inspector/InspectorDOMAgent.cpp (modified) (10 diffs)
-
WebCore/inspector/InspectorDOMAgent.h (modified) (4 diffs)
-
WebCore/inspector/InspectorDOMStorageAgent.cpp (modified) (4 diffs)
-
WebCore/inspector/InspectorDOMStorageAgent.h (modified) (2 diffs)
-
WebCore/inspector/InspectorIndexedDBAgent.cpp (modified) (3 diffs)
-
WebCore/inspector/InspectorIndexedDBAgent.h (modified) (1 diff)
-
WebCore/inspector/InspectorReplayAgent.cpp (modified) (1 diff)
-
WebCore/inspector/InspectorReplayAgent.h (modified) (1 diff)
-
WebCore/inspector/InspectorResourceAgent.cpp (modified) (2 diffs)
-
WebCore/inspector/InspectorResourceAgent.h (modified) (2 diffs)
-
WebCore/inspector/InspectorStyleSheet.h (modified) (1 diff)
-
WebCore/inspector/InspectorWorkerAgent.cpp (modified) (1 diff)
-
WebCore/inspector/InspectorWorkerAgent.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/ChangeLog
r185715 r185722 1 2015-06-18 Brian J. Burg <burg@cs.washington.edu> 2 3 Web Inspector: improve generated types for objects passed to backend commands 4 https://bugs.webkit.org/show_bug.cgi?id=146091 5 6 Reviewed by Joseph Pecoraro. 7 8 The main change is that objects passed in will have a type like const T& or const T*, 9 rather than const RefPtr<T>&&. These protocol objects are owned by the generated dispatcher 10 methods and only exist to pass data to backend command implementations. So, there is no 11 reason for callees to add a reference or take ownership of these inputs. 12 13 Some small improvements were made in the code generator to standardize how these 14 expressions are generated for parameters. Optional in parameters are now prefixed with 15 'opt_in_' to make the generated method signatures and implementations clearer. 16 17 * inspector/InspectorValues.cpp: 18 (Inspector::InspectorArrayBase::get): Add const qualifier. 19 * inspector/InspectorValues.h: 20 * inspector/agents/InspectorDebuggerAgent.cpp: 21 (Inspector::InspectorDebuggerAgent::setBreakpointByUrl): 22 (Inspector::parseLocation): 23 (Inspector::InspectorDebuggerAgent::setBreakpoint): 24 (Inspector::InspectorDebuggerAgent::continueToLocation): 25 * inspector/agents/InspectorDebuggerAgent.h: 26 * inspector/agents/InspectorRuntimeAgent.cpp: 27 (Inspector::InspectorRuntimeAgent::callFunctionOn): 28 (Inspector::InspectorRuntimeAgent::saveResult): 29 (Inspector::InspectorRuntimeAgent::getRuntimeTypesForVariablesAtOffsets): 30 * inspector/agents/InspectorRuntimeAgent.h: 31 32 * inspector/scripts/codegen/cpp_generator.py: Always generate PrimitiveType('array'). 33 (CppGenerator.cpp_type_for_unchecked_formal_in_parameter): Alter the type signature 34 for an unchecked input to use pointers or references. 35 36 * inspector/scripts/codegen/generate_cpp_backend_dispatcher_header.py: 37 (CppBackendDispatcherHeaderGenerator._generate_handler_declaration_for_command): 38 (CppBackendDispatcherHeaderGenerator._generate_async_handler_declaration_for_command): 39 Local variables for optional parameters now have the 'opt_' prefix. 40 41 * inspector/scripts/codegen/generate_cpp_backend_dispatcher_implementation.py: 42 (CppBackendDispatcherImplementationGenerator._generate_async_dispatcher_class_for_domain): 43 (CppBackendDispatcherImplementationGenerator._generate_dispatcher_implementation_for_command): 44 Local variables for optional parameters now have the 'opt_' prefix. 45 Split parameterName and parameterKey into two separate template variables to avoid mixups. 46 47 * inspector/scripts/tests/expected/commands-with-optional-call-return-parameters.json-result: 48 1 49 2015-06-18 Joseph Pecoraro <pecoraro@apple.com> 2 50 -
trunk/Source/JavaScriptCore/inspector/InspectorValues.cpp
r179599 r185722 840 840 } 841 841 842 RefPtr<InspectorValue> InspectorArrayBase::get(size_t index) 842 RefPtr<InspectorValue> InspectorArrayBase::get(size_t index) const 843 843 { 844 844 ASSERT_WITH_SECURITY_IMPLICATION(index < m_data.size()); -
trunk/Source/JavaScriptCore/inspector/InspectorValues.h
r178060 r185722 280 280 void pushArray(RefPtr<InspectorArrayBase>&&); 281 281 282 RefPtr<InspectorValue> get(size_t index) ;282 RefPtr<InspectorValue> get(size_t index) const; 283 283 284 284 virtual void writeJSON(StringBuilder& output) const override; -
trunk/Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.cpp
r181722 r185722 276 276 } 277 277 278 void InspectorDebuggerAgent::setBreakpointByUrl(ErrorString& errorString, int lineNumber, const String* const optionalURL, const String* const optionalURLRegex, const int* const optionalColumnNumber, const RefPtr<InspectorObject>&&options, Inspector::Protocol::Debugger::BreakpointId* outBreakpointIdentifier, RefPtr<Inspector::Protocol::Array<Inspector::Protocol::Debugger::Location>>& locations)278 void InspectorDebuggerAgent::setBreakpointByUrl(ErrorString& errorString, int lineNumber, const String* const optionalURL, const String* const optionalURLRegex, const int* const optionalColumnNumber, const InspectorObject* options, Inspector::Protocol::Debugger::BreakpointId* outBreakpointIdentifier, RefPtr<Inspector::Protocol::Array<Inspector::Protocol::Debugger::Location>>& locations) 279 279 { 280 280 locations = Inspector::Protocol::Array<Inspector::Protocol::Debugger::Location>::create(); … … 322 322 } 323 323 324 static bool parseLocation(ErrorString& errorString, InspectorObject& location, JSC::SourceID& sourceID, unsigned& lineNumber, unsigned& columnNumber)324 static bool parseLocation(ErrorString& errorString, const InspectorObject& location, JSC::SourceID& sourceID, unsigned& lineNumber, unsigned& columnNumber) 325 325 { 326 326 String scriptIDStr; … … 337 337 } 338 338 339 void InspectorDebuggerAgent::setBreakpoint(ErrorString& errorString, const RefPtr<InspectorObject>&& location, const RefPtr<InspectorObject>&&options, Inspector::Protocol::Debugger::BreakpointId* outBreakpointIdentifier, RefPtr<Inspector::Protocol::Debugger::Location>& actualLocation)339 void InspectorDebuggerAgent::setBreakpoint(ErrorString& errorString, const InspectorObject& location, const InspectorObject* options, Inspector::Protocol::Debugger::BreakpointId* outBreakpointIdentifier, RefPtr<Inspector::Protocol::Debugger::Location>& actualLocation) 340 340 { 341 341 JSC::SourceID sourceID; 342 342 unsigned lineNumber; 343 343 unsigned columnNumber; 344 if (!parseLocation(errorString, *location, sourceID, lineNumber, columnNumber))344 if (!parseLocation(errorString, location, sourceID, lineNumber, columnNumber)) 345 345 return; 346 346 … … 389 389 } 390 390 391 void InspectorDebuggerAgent::continueToLocation(ErrorString& errorString, const RefPtr<InspectorObject>&& location)391 void InspectorDebuggerAgent::continueToLocation(ErrorString& errorString, const InspectorObject& location) 392 392 { 393 393 if (m_continueToLocationBreakpointID != JSC::noBreakpointID) { … … 399 399 unsigned lineNumber; 400 400 unsigned columnNumber; 401 if (!parseLocation(errorString, *location, sourceID, lineNumber, columnNumber))401 if (!parseLocation(errorString, location, sourceID, lineNumber, columnNumber)) 402 402 return; 403 403 -
trunk/Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.h
r180715 r185722 72 72 virtual void disable(ErrorString&) override; 73 73 virtual void setBreakpointsActive(ErrorString&, bool active) override; 74 virtual void setBreakpointByUrl(ErrorString&, int lineNumber, const String* optionalURL, const String* optionalURLRegex, const int* optionalColumnNumber, const RefPtr<Inspector::InspectorObject>&&options, Inspector::Protocol::Debugger::BreakpointId*, RefPtr<Inspector::Protocol::Array<Inspector::Protocol::Debugger::Location>>& locations) override;75 virtual void setBreakpoint(ErrorString&, const RefPtr<Inspector::InspectorObject>&& location, const RefPtr<Inspector::InspectorObject>&&options, Inspector::Protocol::Debugger::BreakpointId*, RefPtr<Inspector::Protocol::Debugger::Location>& actualLocation) override;74 virtual void setBreakpointByUrl(ErrorString&, int lineNumber, const String* optionalURL, const String* optionalURLRegex, const int* optionalColumnNumber, const Inspector::InspectorObject* options, Inspector::Protocol::Debugger::BreakpointId*, RefPtr<Inspector::Protocol::Array<Inspector::Protocol::Debugger::Location>>& locations) override; 75 virtual void setBreakpoint(ErrorString&, const Inspector::InspectorObject& location, const Inspector::InspectorObject* options, Inspector::Protocol::Debugger::BreakpointId*, RefPtr<Inspector::Protocol::Debugger::Location>& actualLocation) override; 76 76 virtual void removeBreakpoint(ErrorString&, const String& breakpointIdentifier) override; 77 virtual void continueToLocation(ErrorString&, const RefPtr<InspectorObject>&& location) override;77 virtual void continueToLocation(ErrorString&, const InspectorObject& location) override; 78 78 virtual void searchInContent(ErrorString&, const String& scriptID, const String& query, const bool* optionalCaseSensitive, const bool* optionalIsRegex, RefPtr<Inspector::Protocol::Array<Inspector::Protocol::GenericTypes::SearchMatch>>&) override; 79 79 virtual void getScriptSource(ErrorString&, const String& scriptID, String* scriptSource) override; -
trunk/Source/JavaScriptCore/inspector/agents/InspectorRuntimeAgent.cpp
r185379 r185722 135 135 } 136 136 137 void InspectorRuntimeAgent::callFunctionOn(ErrorString& errorString, const String& objectId, const String& expression, const RefPtr<InspectorArray>&&optionalArguments, const bool* const doNotPauseOnExceptionsAndMuteConsole, const bool* const returnByValue, const bool* generatePreview, RefPtr<Inspector::Protocol::Runtime::RemoteObject>& result, Inspector::Protocol::OptOutput<bool>* wasThrown)137 void InspectorRuntimeAgent::callFunctionOn(ErrorString& errorString, const String& objectId, const String& expression, const InspectorArray* optionalArguments, const bool* const doNotPauseOnExceptionsAndMuteConsole, const bool* const returnByValue, const bool* generatePreview, RefPtr<Inspector::Protocol::Runtime::RemoteObject>& result, Inspector::Protocol::OptOutput<bool>* wasThrown) 138 138 { 139 139 InjectedScript injectedScript = m_injectedScriptManager->injectedScriptForObjectId(objectId); … … 211 211 } 212 212 213 void InspectorRuntimeAgent::saveResult(ErrorString& errorString, const RefPtr<Inspector::InspectorObject>&& callArgument, const int* executionContextId, Inspector::Protocol::OptOutput<int>* savedResultIndex)213 void InspectorRuntimeAgent::saveResult(ErrorString& errorString, const Inspector::InspectorObject& callArgument, const int* executionContextId, Inspector::Protocol::OptOutput<int>* savedResultIndex) 214 214 { 215 215 InjectedScript injectedScript; 216 216 217 217 String objectId; 218 if (callArgument ->getString(ASCIILiteral("objectId"), objectId)) {218 if (callArgument.getString(ASCIILiteral("objectId"), objectId)) { 219 219 injectedScript = m_injectedScriptManager->injectedScriptForObjectId(objectId); 220 220 if (injectedScript.hasNoValue()) { … … 228 228 } 229 229 230 injectedScript.saveResult(errorString, callArgument ->toJSONString(), savedResultIndex);230 injectedScript.saveResult(errorString, callArgument.toJSONString(), savedResultIndex); 231 231 } 232 232 … … 248 248 } 249 249 250 void InspectorRuntimeAgent::getRuntimeTypesForVariablesAtOffsets(ErrorString& errorString, const RefPtr<Inspector::InspectorArray>&& locations, RefPtr<Inspector::Protocol::Array<Inspector::Protocol::Runtime::TypeDescription>>& typeDescriptions)250 void InspectorRuntimeAgent::getRuntimeTypesForVariablesAtOffsets(ErrorString& errorString, const Inspector::InspectorArray& locations, RefPtr<Inspector::Protocol::Array<Inspector::Protocol::Runtime::TypeDescription>>& typeDescriptions) 251 251 { 252 252 static const bool verbose = false; … … 261 261 vm.typeProfilerLog()->processLogEntries(ASCIILiteral("User Query")); 262 262 263 for (size_t i = 0; i < locations ->length(); i++) {264 RefPtr<Inspector::InspectorValue> value = locations ->get(i);263 for (size_t i = 0; i < locations.length(); i++) { 264 RefPtr<Inspector::InspectorValue> value = locations.get(i); 265 265 RefPtr<InspectorObject> location; 266 266 if (!value->asObject(location)) { -
trunk/Source/JavaScriptCore/inspector/agents/InspectorRuntimeAgent.h
r180913 r185722 62 62 virtual void parse(ErrorString&, const String& expression, Inspector::Protocol::Runtime::SyntaxErrorType* result, Inspector::Protocol::OptOutput<String>* message, RefPtr<Inspector::Protocol::Runtime::ErrorRange>&) override final; 63 63 virtual void evaluate(ErrorString&, const String& expression, const String* objectGroup, const bool* includeCommandLineAPI, const bool* doNotPauseOnExceptionsAndMuteConsole, const int* executionContextId, const bool* returnByValue, const bool* generatePreview, const bool* saveResult, RefPtr<Inspector::Protocol::Runtime::RemoteObject>& result, Inspector::Protocol::OptOutput<bool>* wasThrown, Inspector::Protocol::OptOutput<int>* savedResultIndex) override final; 64 virtual void callFunctionOn(ErrorString&, const String& objectId, const String& expression, const RefPtr<Inspector::InspectorArray>&&optionalArguments, const bool* doNotPauseOnExceptionsAndMuteConsole, const bool* returnByValue, const bool* generatePreview, RefPtr<Inspector::Protocol::Runtime::RemoteObject>& result, Inspector::Protocol::OptOutput<bool>* wasThrown) override final;64 virtual void callFunctionOn(ErrorString&, const String& objectId, const String& expression, const Inspector::InspectorArray* optionalArguments, const bool* doNotPauseOnExceptionsAndMuteConsole, const bool* returnByValue, const bool* generatePreview, RefPtr<Inspector::Protocol::Runtime::RemoteObject>& result, Inspector::Protocol::OptOutput<bool>* wasThrown) override final; 65 65 virtual void releaseObject(ErrorString&, const ErrorString& objectId) override final; 66 66 virtual void getProperties(ErrorString&, const String& objectId, const bool* ownProperties, const bool* generatePreview, RefPtr<Inspector::Protocol::Array<Inspector::Protocol::Runtime::PropertyDescriptor>>& result, RefPtr<Inspector::Protocol::Array<Inspector::Protocol::Runtime::InternalPropertyDescriptor>>& internalProperties) override final; 67 67 virtual void getDisplayableProperties(ErrorString&, const String& objectId, const bool* generatePreview, RefPtr<Inspector::Protocol::Array<Inspector::Protocol::Runtime::PropertyDescriptor>>& result, RefPtr<Inspector::Protocol::Array<Inspector::Protocol::Runtime::InternalPropertyDescriptor>>& internalProperties) override final; 68 68 virtual void getCollectionEntries(ErrorString&, const String& objectId, const String* objectGroup, const int* startIndex, const int* numberToFetch, RefPtr<Inspector::Protocol::Array<Inspector::Protocol::Runtime::CollectionEntry>>& entries) override final; 69 virtual void saveResult(ErrorString&, const RefPtr<Inspector::InspectorObject>&& callArgument, const int* executionContextId, Inspector::Protocol::OptOutput<int>* savedResultIndex) override final;69 virtual void saveResult(ErrorString&, const Inspector::InspectorObject& callArgument, const int* executionContextId, Inspector::Protocol::OptOutput<int>* savedResultIndex) override final; 70 70 virtual void releaseObjectGroup(ErrorString&, const String& objectGroup) override final; 71 71 virtual void run(ErrorString&) override; 72 virtual void getRuntimeTypesForVariablesAtOffsets(ErrorString&, const RefPtr<Inspector::InspectorArray>&& locations, RefPtr<Inspector::Protocol::Array<Inspector::Protocol::Runtime::TypeDescription>>&) override;72 virtual void getRuntimeTypesForVariablesAtOffsets(ErrorString&, const Inspector::InspectorArray& locations, RefPtr<Inspector::Protocol::Array<Inspector::Protocol::Runtime::TypeDescription>>&) override; 73 73 virtual void enableTypeProfiler(ErrorString&) override; 74 74 virtual void disableTypeProfiler(ErrorString&) override; -
trunk/Source/JavaScriptCore/inspector/scripts/codegen/cpp_generator.py
r180116 r185722 40 40 'string': 'String', 41 41 'object': 'Inspector::InspectorObject', 42 'array': 'Inspector::InspectorArray', 42 43 'any': 'Inspector::InspectorValue' 43 44 } … … 120 121 # This handles the 'any' type and objects with defined properties. 121 122 if isinstance(_type, ObjectType) or _type.qualified_name() is 'object': 122 return 'const RefPtr<Inspector::InspectorObject>&&' 123 if isinstance(_type, ArrayType): 124 return 'const RefPtr<Inspector::InspectorArray>&&' 123 cpp_name = 'Inspector::InspectorObject' 124 if parameter.is_optional: 125 return 'const %s*' % cpp_name 126 else: 127 return 'const %s&' % cpp_name 128 if isinstance(_type, ArrayType): 129 cpp_name = 'Inspector::InspectorArray' 130 if parameter.is_optional: 131 return 'const %s*' % cpp_name 132 else: 133 return 'const %s&' % cpp_name 125 134 if isinstance(_type, PrimitiveType): 126 135 cpp_name = CppGenerator.cpp_name_for_primitive_type(_type) -
trunk/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_backend_dispatcher_header.py
r180116 r185722 128 128 parameters = ['ErrorString&'] 129 129 for _parameter in command.call_parameters: 130 parameters.append("%s in_%s" % (CppGenerator.cpp_type_for_unchecked_formal_in_parameter(_parameter), _parameter.parameter_name)) 130 parameter_name = 'in_' + _parameter.parameter_name 131 if _parameter.is_optional: 132 parameter_name = 'opt_' + parameter_name 133 134 parameters.append("%s %s" % (CppGenerator.cpp_type_for_unchecked_formal_in_parameter(_parameter), parameter_name)) 131 135 132 136 if isinstance(_parameter.type, EnumType) and _parameter.parameter_name not in used_enum_names: … … 156 160 in_parameters = ['ErrorString&'] 157 161 for _parameter in command.call_parameters: 158 in_parameters.append("%s in_%s" % (CppGenerator.cpp_type_for_unchecked_formal_in_parameter(_parameter), _parameter.parameter_name)) 162 parameter_name = 'in_' + _parameter.parameter_name 163 if _parameter.is_optional: 164 parameter_name = 'opt_' + parameter_name 165 166 in_parameters.append("%s %s" % (CppGenerator.cpp_type_for_unchecked_formal_in_parameter(_parameter), parameter_name)) 159 167 in_parameters.append("Ref<%s>&& callback" % callbackName) 160 168 -
trunk/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_backend_dispatcher_implementation.py
r180116 r185722 140 140 param_args = { 141 141 'keyedSetMethod': CppGenerator.cpp_setter_method_for_type(parameter.type), 142 'parameterKey': parameter.parameter_name, 142 143 'parameterName': parameter.parameter_name, 143 144 'parameterType': CppGenerator.cpp_type_for_stack_in_parameter(parameter), … … 149 150 if CppGenerator.should_use_wrapper_for_return_type(parameter.type): 150 151 out_parameter_assignments.append(' if (%(parameterName)s.isAssigned())' % param_args) 151 out_parameter_assignments.append(' jsonMessage->%(keyedSetMethod)s(ASCIILiteral("%(parameter Name)s"), %(parameterName)s.getValue());' % param_args)152 out_parameter_assignments.append(' jsonMessage->%(keyedSetMethod)s(ASCIILiteral("%(parameterKey)s"), %(parameterName)s.getValue());' % param_args) 152 153 else: 153 154 out_parameter_assignments.append(' if (%(parameterName)s)' % param_args) 154 out_parameter_assignments.append(' jsonMessage->%(keyedSetMethod)s(ASCIILiteral("%(parameter Name)s"), %(parameterName)s);' % param_args)155 out_parameter_assignments.append(' jsonMessage->%(keyedSetMethod)s(ASCIILiteral("%(parameterKey)s"), %(parameterName)s);' % param_args) 155 156 elif parameter.type.is_enum(): 156 out_parameter_assignments.append(' jsonMessage->%(keyedSetMethod)s(ASCIILiteral("%(parameter Name)s"), Inspector::Protocol::getEnumConstantValue(%(parameterName)s));' % param_args)157 out_parameter_assignments.append(' jsonMessage->%(keyedSetMethod)s(ASCIILiteral("%(parameterKey)s"), Inspector::Protocol::getEnumConstantValue(%(parameterName)s));' % param_args) 157 158 else: 158 out_parameter_assignments.append(' jsonMessage->%(keyedSetMethod)s(ASCIILiteral("%(parameter Name)s"), %(parameterName)s);' % param_args)159 out_parameter_assignments.append(' jsonMessage->%(keyedSetMethod)s(ASCIILiteral("%(parameterKey)s"), %(parameterName)s);' % param_args) 159 160 160 161 async_args = { … … 174 175 175 176 for parameter in command.call_parameters: 177 parameter_name = 'in_' + parameter.parameter_name 178 if parameter.is_optional: 179 parameter_name = 'opt_' + parameter_name 180 176 181 out_success_argument = 'nullptr' 177 182 if parameter.is_optional: 178 out_success_argument = '&%s_valueFound' % parameter.parameter_name 179 in_parameter_declarations.append(' bool %s_valueFound = false;' % parameter.parameter_name) 180 181 parameter_expression = 'in_' + parameter.parameter_name 183 out_success_argument = '&%s_valueFound' % parameter_name 184 in_parameter_declarations.append(' bool %s_valueFound = false;' % parameter_name) 185 186 # Now add appropriate operators. 187 parameter_expression = parameter_name 188 182 189 if CppGenerator.should_use_references_for_type(parameter.type): 183 parameter_expression = '%s.copyRef()' % parameter_expression 190 if parameter.is_optional: 191 parameter_expression = '%s.get()' % parameter_expression 192 else: 193 # This assumes that we have already proved the object is non-null. 194 # If a required property is missing, InspectorBackend::getObject will 195 # append a protocol error, and the method dispatcher will return without 196 # invoking the backend method (and dereferencing the object). 197 parameter_expression = '*%s' % parameter_expression 184 198 elif parameter.is_optional: 185 199 parameter_expression = '&%s' % parameter_expression … … 187 201 param_args = { 188 202 'parameterType': CppGenerator.cpp_type_for_stack_in_parameter(parameter), 189 'parameterName': parameter.parameter_name, 203 'parameterKey': parameter.parameter_name, 204 'parameterName': parameter_name, 190 205 'parameterExpression': parameter_expression, 191 206 'keyedGetMethod': CppGenerator.cpp_getter_method_for_type(parameter.type), … … 193 208 } 194 209 195 in_parameter_declarations.append(' %(parameterType)s in_%(parameterName)s = BackendDispatcher::%(keyedGetMethod)s(paramsContainer.get(), ASCIILiteral("%(parameterName)s"), %(successOutParam)s, protocolErrors.get());' % param_args)210 in_parameter_declarations.append(' %(parameterType)s %(parameterName)s = BackendDispatcher::%(keyedGetMethod)s(paramsContainer.get(), ASCIILiteral("%(parameterKey)s"), %(successOutParam)s, protocolErrors.get());' % param_args) 196 211 197 212 if parameter.is_optional: … … 218 233 param_args = { 219 234 'parameterType': CppGenerator.cpp_type_for_stack_out_parameter(parameter), 235 'parameterKey': parameter.parameter_name, 220 236 'parameterName': parameter.parameter_name, 221 237 'keyedSetMethod': CppGenerator.cpp_setter_method_for_type(parameter.type), … … 227 243 if CppGenerator.should_use_wrapper_for_return_type(parameter.type): 228 244 out_parameter_assignments.append(' if (out_%(parameterName)s.isAssigned())' % param_args) 229 out_parameter_assignments.append(' result->%(keyedSetMethod)s(ASCIILiteral("%(parameter Name)s"), out_%(parameterName)s.getValue());' % param_args)245 out_parameter_assignments.append(' result->%(keyedSetMethod)s(ASCIILiteral("%(parameterKey)s"), out_%(parameterName)s.getValue());' % param_args) 230 246 else: 231 247 out_parameter_assignments.append(' if (out_%(parameterName)s)' % param_args) 232 out_parameter_assignments.append(' result->%(keyedSetMethod)s(ASCIILiteral("%(parameter Name)s"), out_%(parameterName)s);' % param_args)248 out_parameter_assignments.append(' result->%(keyedSetMethod)s(ASCIILiteral("%(parameterKey)s"), out_%(parameterName)s);' % param_args) 233 249 elif parameter.type.is_enum(): 234 out_parameter_assignments.append(' result->%(keyedSetMethod)s(ASCIILiteral("%(parameter Name)s"), Inspector::Protocol::getEnumConstantValue(out_%(parameterName)s));' % param_args)250 out_parameter_assignments.append(' result->%(keyedSetMethod)s(ASCIILiteral("%(parameterKey)s"), Inspector::Protocol::getEnumConstantValue(out_%(parameterName)s));' % param_args) 235 251 else: 236 out_parameter_assignments.append(' result->%(keyedSetMethod)s(ASCIILiteral("%(parameter Name)s"), out_%(parameterName)s);' % param_args)252 out_parameter_assignments.append(' result->%(keyedSetMethod)s(ASCIILiteral("%(parameterKey)s"), out_%(parameterName)s);' % param_args) 237 253 238 254 if CppGenerator.should_pass_by_copy_for_return_type(parameter.type): -
trunk/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_backend_dispatcher_implementation.py
r178127 r185722 159 159 _type = _type.primitive_type # Fall through to primitive. 160 160 if isinstance(_type, PrimitiveType): 161 if _type.raw_name() in ['array', 'any', 'object']: 162 return '&%s' % param_name if not parameter.is_optional else param_name 161 163 return '*%s' % param_name if parameter.is_optional else param_name 162 return ' %s.copyRef()' %param_name164 return '&%s' % param_name if not parameter.is_optional else param_name 163 165 164 166 for parameter in command.call_parameters: -
trunk/Source/JavaScriptCore/inspector/scripts/tests/expected/commands-with-optional-call-return-parameters.json-result
r184291 r185722 52 52 public: 53 53 virtual ~AlternateDatabaseBackendDispatcher() { } 54 virtual void executeAllOptionalParameters(long callId, const RefPtr<Inspector::InspectorArray>&& in_columnNames, const String* in_notes, const double* in_timestamp, const RefPtr<Inspector::InspectorObject>&& in_values, const Inspector::InspectorValue* in_payload, const int* in_databaseId, const RefPtr<Inspector::InspectorObject>&& in_sqlError, const String* in_screenColor, const RefPtr<Inspector::InspectorArray>&&in_alternateColors, const String* in_printColor) = 0;55 virtual void executeNoOptionalParameters(long callId, const RefPtr<Inspector::InspectorArray>&& in_columnNames, const String& in_notes, double in_timestamp, const RefPtr<Inspector::InspectorObject>&& in_values, Inspector::InspectorValue in_payload, int in_databaseId, const RefPtr<Inspector::InspectorObject>&& in_sqlError, const String& in_screenColor, const RefPtr<Inspector::InspectorArray>&& in_alternateColors, const String& in_printColor) = 0;54 virtual void executeAllOptionalParameters(long callId, const Inspector::InspectorArray* in_columnNames, const String* in_notes, const double* in_timestamp, const Inspector::InspectorObject* in_values, const Inspector::InspectorValue* in_payload, const int* in_databaseId, const Inspector::InspectorObject* in_sqlError, const String* in_screenColor, const Inspector::InspectorArray* in_alternateColors, const String* in_printColor) = 0; 55 virtual void executeNoOptionalParameters(long callId, const Inspector::InspectorArray& in_columnNames, const String& in_notes, double in_timestamp, const Inspector::InspectorObject& in_values, Inspector::InspectorValue in_payload, int in_databaseId, const Inspector::InspectorObject& in_sqlError, const String& in_screenColor, const Inspector::InspectorArray& in_alternateColors, const String& in_printColor) = 0; 56 56 }; 57 57 … … 162 162 Black = 6, 163 163 }; // enum class PrintColor 164 virtual void executeAllOptionalParameters(ErrorString&, const RefPtr<Inspector::InspectorArray>&& in_columnNames, const String* in_notes, const double* in_timestamp, const RefPtr<Inspector::InspectorObject>&& in_values, const Inspector::InspectorValue* in_payload, const int* in_databaseId, const RefPtr<Inspector::InspectorObject>&& in_sqlError, const String* in_screenColor, const RefPtr<Inspector::InspectorArray>&& in_alternateColors, const String*in_printColor, RefPtr<Inspector::Protocol::Array<String>>& opt_out_columnNames, Inspector::Protocol::OptOutput<String>* opt_out_notes, Inspector::Protocol::OptOutput<double>* opt_out_timestamp, Inspector::Protocol::OptOutput<Inspector::InspectorObject>* opt_out_values, Inspector::Protocol::OptOutput<Inspector::InspectorValue>* opt_out_payload, Inspector::Protocol::OptOutput<int>* opt_out_databaseId, RefPtr<Inspector::Protocol::Database::Error>& opt_out_sqlError, Inspector::Protocol::Database::PrimaryColors* opt_out_screenColor, RefPtr<Inspector::Protocol::Database::ColorList>& opt_out_alternateColors, DatabaseBackendDispatcherHandler::PrintColor* opt_out_printColor) = 0;165 virtual void executeNoOptionalParameters(ErrorString&, const RefPtr<Inspector::InspectorArray>&& in_columnNames, const String& in_notes, double in_timestamp, const RefPtr<Inspector::InspectorObject>&& in_values, Inspector::InspectorValue in_payload, int in_databaseId, const RefPtr<Inspector::InspectorObject>&& in_sqlError, const String& in_screenColor, const RefPtr<Inspector::InspectorArray>&& in_alternateColors, const String& in_printColor, RefPtr<Inspector::Protocol::Array<String>>& out_columnNames, String* out_notes, double* out_timestamp, Inspector::InspectorObject* out_values, Inspector::InspectorValue* out_payload, int* out_databaseId, RefPtr<Inspector::Protocol::Database::Error>& out_sqlError, Inspector::Protocol::Database::PrimaryColors* out_screenColor, RefPtr<Inspector::Protocol::Database::ColorList>& out_alternateColors, DatabaseBackendDispatcherHandler::PrintColor* out_printColor) = 0;164 virtual void executeAllOptionalParameters(ErrorString&, const Inspector::InspectorArray* opt_in_columnNames, const String* opt_in_notes, const double* opt_in_timestamp, const Inspector::InspectorObject* opt_in_values, const Inspector::InspectorValue* opt_in_payload, const int* opt_in_databaseId, const Inspector::InspectorObject* opt_in_sqlError, const String* opt_in_screenColor, const Inspector::InspectorArray* opt_in_alternateColors, const String* opt_in_printColor, RefPtr<Inspector::Protocol::Array<String>>& opt_out_columnNames, Inspector::Protocol::OptOutput<String>* opt_out_notes, Inspector::Protocol::OptOutput<double>* opt_out_timestamp, Inspector::Protocol::OptOutput<Inspector::InspectorObject>* opt_out_values, Inspector::Protocol::OptOutput<Inspector::InspectorValue>* opt_out_payload, Inspector::Protocol::OptOutput<int>* opt_out_databaseId, RefPtr<Inspector::Protocol::Database::Error>& opt_out_sqlError, Inspector::Protocol::Database::PrimaryColors* opt_out_screenColor, RefPtr<Inspector::Protocol::Database::ColorList>& opt_out_alternateColors, DatabaseBackendDispatcherHandler::PrintColor* opt_out_printColor) = 0; 165 virtual void executeNoOptionalParameters(ErrorString&, const Inspector::InspectorArray& in_columnNames, const String& in_notes, double in_timestamp, const Inspector::InspectorObject& in_values, Inspector::InspectorValue in_payload, int in_databaseId, const Inspector::InspectorObject& in_sqlError, const String& in_screenColor, const Inspector::InspectorArray& in_alternateColors, const String& in_printColor, RefPtr<Inspector::Protocol::Array<String>>& out_columnNames, String* out_notes, double* out_timestamp, Inspector::InspectorObject* out_values, Inspector::InspectorValue* out_payload, int* out_databaseId, RefPtr<Inspector::Protocol::Database::Error>& out_sqlError, Inspector::Protocol::Database::PrimaryColors* out_screenColor, RefPtr<Inspector::Protocol::Database::ColorList>& out_alternateColors, DatabaseBackendDispatcherHandler::PrintColor* out_printColor) = 0; 166 166 protected: 167 167 virtual ~DatabaseBackendDispatcherHandler(); … … 269 269 RefPtr<InspectorObject> paramsContainer; 270 270 message.getObject(ASCIILiteral("params"), paramsContainer); 271 bool columnNames_valueFound = false;272 RefPtr<Inspector::InspectorArray> in_columnNames = BackendDispatcher::getArray(paramsContainer.get(), ASCIILiteral("columnNames"), &columnNames_valueFound, protocolErrors.get());273 bool notes_valueFound = false;274 String in_notes = BackendDispatcher::getString(paramsContainer.get(), ASCIILiteral("notes"), ¬es_valueFound, protocolErrors.get());275 bool timestamp_valueFound = false;276 Inspector::Protocol::OptOutput<double> in_timestamp = BackendDispatcher::getDouble(paramsContainer.get(), ASCIILiteral("timestamp"), ×tamp_valueFound, protocolErrors.get());277 bool values_valueFound = false;278 RefPtr<Inspector::InspectorObject> in_values = BackendDispatcher::getObject(paramsContainer.get(), ASCIILiteral("values"), &values_valueFound, protocolErrors.get());279 bool payload_valueFound = false;280 RefPtr<Inspector::InspectorValue> in_payload = BackendDispatcher::getValue(paramsContainer.get(), ASCIILiteral("payload"), &payload_valueFound, protocolErrors.get());281 bool databaseId_valueFound = false;282 int in_databaseId = BackendDispatcher::getInteger(paramsContainer.get(), ASCIILiteral("databaseId"), &databaseId_valueFound, protocolErrors.get());283 bool sqlError_valueFound = false;284 RefPtr<Inspector::InspectorObject> in_sqlError = BackendDispatcher::getObject(paramsContainer.get(), ASCIILiteral("sqlError"), &sqlError_valueFound, protocolErrors.get());285 bool screenColor_valueFound = false;286 String in_screenColor = BackendDispatcher::getString(paramsContainer.get(), ASCIILiteral("screenColor"), &screenColor_valueFound, protocolErrors.get());287 bool alternateColors_valueFound = false;288 RefPtr<Inspector::InspectorArray> in_alternateColors = BackendDispatcher::getArray(paramsContainer.get(), ASCIILiteral("alternateColors"), &alternateColors_valueFound, protocolErrors.get());289 bool printColor_valueFound = false;290 String in_printColor = BackendDispatcher::getString(paramsContainer.get(), ASCIILiteral("printColor"), &printColor_valueFound, protocolErrors.get());271 bool opt_in_columnNames_valueFound = false; 272 RefPtr<Inspector::InspectorArray> opt_in_columnNames = BackendDispatcher::getArray(paramsContainer.get(), ASCIILiteral("columnNames"), &opt_in_columnNames_valueFound, protocolErrors.get()); 273 bool opt_in_notes_valueFound = false; 274 String opt_in_notes = BackendDispatcher::getString(paramsContainer.get(), ASCIILiteral("notes"), &opt_in_notes_valueFound, protocolErrors.get()); 275 bool opt_in_timestamp_valueFound = false; 276 Inspector::Protocol::OptOutput<double> opt_in_timestamp = BackendDispatcher::getDouble(paramsContainer.get(), ASCIILiteral("timestamp"), &opt_in_timestamp_valueFound, protocolErrors.get()); 277 bool opt_in_values_valueFound = false; 278 RefPtr<Inspector::InspectorObject> opt_in_values = BackendDispatcher::getObject(paramsContainer.get(), ASCIILiteral("values"), &opt_in_values_valueFound, protocolErrors.get()); 279 bool opt_in_payload_valueFound = false; 280 RefPtr<Inspector::InspectorValue> opt_in_payload = BackendDispatcher::getValue(paramsContainer.get(), ASCIILiteral("payload"), &opt_in_payload_valueFound, protocolErrors.get()); 281 bool opt_in_databaseId_valueFound = false; 282 int opt_in_databaseId = BackendDispatcher::getInteger(paramsContainer.get(), ASCIILiteral("databaseId"), &opt_in_databaseId_valueFound, protocolErrors.get()); 283 bool opt_in_sqlError_valueFound = false; 284 RefPtr<Inspector::InspectorObject> opt_in_sqlError = BackendDispatcher::getObject(paramsContainer.get(), ASCIILiteral("sqlError"), &opt_in_sqlError_valueFound, protocolErrors.get()); 285 bool opt_in_screenColor_valueFound = false; 286 String opt_in_screenColor = BackendDispatcher::getString(paramsContainer.get(), ASCIILiteral("screenColor"), &opt_in_screenColor_valueFound, protocolErrors.get()); 287 bool opt_in_alternateColors_valueFound = false; 288 RefPtr<Inspector::InspectorArray> opt_in_alternateColors = BackendDispatcher::getArray(paramsContainer.get(), ASCIILiteral("alternateColors"), &opt_in_alternateColors_valueFound, protocolErrors.get()); 289 bool opt_in_printColor_valueFound = false; 290 String opt_in_printColor = BackendDispatcher::getString(paramsContainer.get(), ASCIILiteral("printColor"), &opt_in_printColor_valueFound, protocolErrors.get()); 291 291 if (protocolErrors->length()) { 292 292 String errorMessage = String::format("Some arguments of method '%s' can't be processed", "Database.executeAllOptionalParameters"); … … 297 297 #if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) 298 298 if (m_alternateDispatcher) { 299 m_alternateDispatcher->executeAllOptionalParameters(callId, columnNames_valueFound ? in_columnNames.copyRef() : nullptr, notes_valueFound ? &in_notes : nullptr, timestamp_valueFound ? &in_timestamp : nullptr, values_valueFound ? in_values.copyRef() : nullptr, payload_valueFound ? in_payload.copyRef() : nullptr, databaseId_valueFound ? &in_databaseId : nullptr, sqlError_valueFound ? in_sqlError.copyRef() : nullptr, screenColor_valueFound ? &in_screenColor : nullptr, alternateColors_valueFound ? in_alternateColors.copyRef() : nullptr, printColor_valueFound ? &in_printColor : nullptr);299 m_alternateDispatcher->executeAllOptionalParameters(callId, opt_in_columnNames_valueFound ? opt_in_columnNames.get() : nullptr, opt_in_notes_valueFound ? &opt_in_notes : nullptr, opt_in_timestamp_valueFound ? &opt_in_timestamp : nullptr, opt_in_values_valueFound ? opt_in_values.get() : nullptr, opt_in_payload_valueFound ? opt_in_payload.get() : nullptr, opt_in_databaseId_valueFound ? &opt_in_databaseId : nullptr, opt_in_sqlError_valueFound ? opt_in_sqlError.get() : nullptr, opt_in_screenColor_valueFound ? &opt_in_screenColor : nullptr, opt_in_alternateColors_valueFound ? opt_in_alternateColors.get() : nullptr, opt_in_printColor_valueFound ? &opt_in_printColor : nullptr); 300 300 return; 301 301 } … … 314 314 RefPtr<Inspector::Protocol::Database::ColorList> out_alternateColors; 315 315 DatabaseBackendDispatcherHandler::PrintColor out_printColor; 316 m_agent->executeAllOptionalParameters(error, columnNames_valueFound ? in_columnNames.copyRef() : nullptr, notes_valueFound ? &in_notes : nullptr, timestamp_valueFound ? &in_timestamp : nullptr, values_valueFound ? in_values.copyRef() : nullptr, payload_valueFound ? in_payload.copyRef() : nullptr, databaseId_valueFound ? &in_databaseId : nullptr, sqlError_valueFound ? in_sqlError.copyRef() : nullptr, screenColor_valueFound ? &in_screenColor : nullptr, alternateColors_valueFound ? in_alternateColors.copyRef() : nullptr, printColor_valueFound ? &in_printColor : nullptr, out_columnNames, &out_notes, &out_timestamp, out_values, &out_payload, &out_databaseId, out_sqlError, &out_screenColor, out_alternateColors, &out_printColor);316 m_agent->executeAllOptionalParameters(error, opt_in_columnNames_valueFound ? opt_in_columnNames.get() : nullptr, opt_in_notes_valueFound ? &opt_in_notes : nullptr, opt_in_timestamp_valueFound ? &opt_in_timestamp : nullptr, opt_in_values_valueFound ? opt_in_values.get() : nullptr, opt_in_payload_valueFound ? opt_in_payload.get() : nullptr, opt_in_databaseId_valueFound ? &opt_in_databaseId : nullptr, opt_in_sqlError_valueFound ? opt_in_sqlError.get() : nullptr, opt_in_screenColor_valueFound ? &opt_in_screenColor : nullptr, opt_in_alternateColors_valueFound ? opt_in_alternateColors.get() : nullptr, opt_in_printColor_valueFound ? &opt_in_printColor : nullptr, out_columnNames, &out_notes, &out_timestamp, out_values, &out_payload, &out_databaseId, out_sqlError, &out_screenColor, out_alternateColors, &out_printColor); 317 317 318 318 if (!error.length()) { … … 364 364 #if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) 365 365 if (m_alternateDispatcher) { 366 m_alternateDispatcher->executeNoOptionalParameters(callId, in_columnNames.copyRef(), in_notes, in_timestamp, in_values.copyRef(), in_payload.copyRef(), in_databaseId, in_sqlError.copyRef(), in_screenColor, in_alternateColors.copyRef(), in_printColor);366 m_alternateDispatcher->executeNoOptionalParameters(callId, *in_columnNames, in_notes, in_timestamp, *in_values, *in_payload, in_databaseId, *in_sqlError, in_screenColor, *in_alternateColors, in_printColor); 367 367 return; 368 368 } … … 381 381 RefPtr<Inspector::Protocol::Database::ColorList> out_alternateColors; 382 382 DatabaseBackendDispatcherHandler::PrintColor out_printColor; 383 m_agent->executeNoOptionalParameters(error, in_columnNames.copyRef(), in_notes, in_timestamp, in_values.copyRef(), in_payload.copyRef(), in_databaseId, in_sqlError.copyRef(), in_screenColor, in_alternateColors.copyRef(), in_printColor, out_columnNames, &out_notes, &out_timestamp, out_values, &out_payload, &out_databaseId, out_sqlError, &out_screenColor, out_alternateColors, &out_printColor);383 m_agent->executeNoOptionalParameters(error, *in_columnNames, in_notes, in_timestamp, *in_values, *in_payload, in_databaseId, *in_sqlError, in_screenColor, *in_alternateColors, in_printColor, out_columnNames, &out_notes, &out_timestamp, out_values, &out_payload, &out_databaseId, out_sqlError, &out_screenColor, out_alternateColors, &out_printColor); 384 384 385 385 if (!error.length()) { … … 745 745 public: 746 746 ObjCInspectorDatabaseBackendDispatcher(id<RWIProtocolDatabaseDomainHandler> handler) { m_delegate = handler; } 747 virtual void executeAllOptionalParameters(long callId, const RefPtr<Inspector::InspectorArray>&& in_columnNames, const String* in_notes, const double* in_timestamp, const RefPtr<Inspector::InspectorObject>&& in_values, const Inspector::InspectorValue* in_payload, const int* in_databaseId, const RefPtr<Inspector::InspectorObject>&& in_sqlError, const String* in_screenColor, const RefPtr<Inspector::InspectorArray>&&in_alternateColors, const String* in_printColor) override;748 virtual void executeNoOptionalParameters(long callId, const RefPtr<Inspector::InspectorArray>&& in_columnNames, const String& in_notes, double in_timestamp, const RefPtr<Inspector::InspectorObject>&& in_values, Inspector::InspectorValue in_payload, int in_databaseId, const RefPtr<Inspector::InspectorObject>&& in_sqlError, const String& in_screenColor, const RefPtr<Inspector::InspectorArray>&& in_alternateColors, const String& in_printColor) override;747 virtual void executeAllOptionalParameters(long callId, const Inspector::InspectorArray* in_columnNames, const String* in_notes, const double* in_timestamp, const Inspector::InspectorObject* in_values, const Inspector::InspectorValue* in_payload, const int* in_databaseId, const Inspector::InspectorObject* in_sqlError, const String* in_screenColor, const Inspector::InspectorArray* in_alternateColors, const String* in_printColor) override; 748 virtual void executeNoOptionalParameters(long callId, const Inspector::InspectorArray& in_columnNames, const String& in_notes, double in_timestamp, const Inspector::InspectorObject& in_values, Inspector::InspectorValue in_payload, int in_databaseId, const Inspector::InspectorObject& in_sqlError, const String& in_screenColor, const Inspector::InspectorArray& in_alternateColors, const String& in_printColor) override; 749 749 private: 750 750 RetainPtr<id<RWIProtocolDatabaseDomainHandler>> m_delegate; … … 925 925 namespace Inspector { 926 926 927 void ObjCInspectorDatabaseBackendDispatcher::executeAllOptionalParameters(long callId, const RefPtr<Inspector::InspectorArray>&& in_columnNames, const String* in_notes, const double* in_timestamp, const RefPtr<Inspector::InspectorObject>&& in_values, const Inspector::InspectorValue* in_payload, const int* in_databaseId, const RefPtr<Inspector::InspectorObject>&& in_sqlError, const String* in_screenColor, const RefPtr<Inspector::InspectorArray>&&in_alternateColors, const String* in_printColor)927 void ObjCInspectorDatabaseBackendDispatcher::executeAllOptionalParameters(long callId, const Inspector::InspectorArray* in_columnNames, const String* in_notes, const double* in_timestamp, const Inspector::InspectorObject* in_values, const Inspector::InspectorValue* in_payload, const int* in_databaseId, const Inspector::InspectorObject* in_sqlError, const String* in_screenColor, const Inspector::InspectorArray* in_alternateColors, const String* in_printColor) 928 928 { 929 929 id errorCallback = ^(NSString *error) { … … 964 964 NSArray/*<NSString>*/ *o_in_columnNames; 965 965 if (in_columnNames) 966 o_in_columnNames = objcStringArray(in_columnNames .copyRef());966 o_in_columnNames = objcStringArray(in_columnNames); 967 967 NSString *o_in_notes; 968 968 if (in_notes) … … 973 973 RWIProtocolJSONObject *o_in_values; 974 974 if (in_values) 975 o_in_values = [[[RWIProtocolJSONObject alloc] initWithInspectorObject: *in_values] autorelease];975 o_in_values = [[[RWIProtocolJSONObject alloc] initWithInspectorObject:in_values] autorelease]; 976 976 RWIProtocolJSONObject *o_in_payload; 977 977 if (in_payload) 978 o_in_payload = [[[RWIProtocolJSONObject alloc] initWithInspectorObject: *in_payload] autorelease];978 o_in_payload = [[[RWIProtocolJSONObject alloc] initWithInspectorObject:in_payload] autorelease]; 979 979 int o_in_databaseId; 980 980 if (in_databaseId) … … 982 982 RWIProtocolDatabaseError *o_in_sqlError; 983 983 if (in_sqlError) 984 o_in_sqlError = [[[RWIProtocolDatabaseError alloc] initWithInspectorObject:in_sqlError .copyRef()] autorelease];984 o_in_sqlError = [[[RWIProtocolDatabaseError alloc] initWithInspectorObject:in_sqlError] autorelease]; 985 985 RWIProtocolDatabasePrimaryColors o_in_screenColor; 986 986 if (in_screenColor) … … 988 988 NSArray/*<NSString>*/ *o_in_alternateColors; 989 989 if (in_alternateColors) 990 o_in_alternateColors = objcStringArray(in_alternateColors .copyRef());990 o_in_alternateColors = objcStringArray(in_alternateColors); 991 991 RWIProtocolDatabaseExecuteAllOptionalParametersPrintColor o_in_printColor; 992 992 if (in_printColor) … … 996 996 } 997 997 998 void ObjCInspectorDatabaseBackendDispatcher::executeNoOptionalParameters(long callId, const RefPtr<Inspector::InspectorArray>&& in_columnNames, const String& in_notes, double in_timestamp, const RefPtr<Inspector::InspectorObject>&& in_values, Inspector::InspectorValue in_payload, int in_databaseId, const RefPtr<Inspector::InspectorObject>&& in_sqlError, const String& in_screenColor, const RefPtr<Inspector::InspectorArray>&& in_alternateColors, const String& in_printColor)998 void ObjCInspectorDatabaseBackendDispatcher::executeNoOptionalParameters(long callId, const Inspector::InspectorArray& in_columnNames, const String& in_notes, double in_timestamp, const Inspector::InspectorObject& in_values, Inspector::InspectorValue in_payload, int in_databaseId, const Inspector::InspectorObject& in_sqlError, const String& in_screenColor, const Inspector::InspectorArray& in_alternateColors, const String& in_printColor) 999 999 { 1000 1000 id errorCallback = ^(NSString *error) { … … 1023 1023 }; 1024 1024 1025 NSArray/*<NSString>*/ *o_in_columnNames = objcStringArray( in_columnNames.copyRef());1025 NSArray/*<NSString>*/ *o_in_columnNames = objcStringArray(&in_columnNames); 1026 1026 NSString *o_in_notes = in_notes; 1027 1027 double o_in_timestamp = in_timestamp; 1028 RWIProtocolJSONObject *o_in_values = [[[RWIProtocolJSONObject alloc] initWithInspectorObject: in_values] autorelease];1029 RWIProtocolJSONObject *o_in_payload = [[[RWIProtocolJSONObject alloc] initWithInspectorObject: in_payload] autorelease];1028 RWIProtocolJSONObject *o_in_values = [[[RWIProtocolJSONObject alloc] initWithInspectorObject:&in_values] autorelease]; 1029 RWIProtocolJSONObject *o_in_payload = [[[RWIProtocolJSONObject alloc] initWithInspectorObject:&in_payload] autorelease]; 1030 1030 int o_in_databaseId = in_databaseId; 1031 RWIProtocolDatabaseError *o_in_sqlError = [[[RWIProtocolDatabaseError alloc] initWithInspectorObject: in_sqlError.copyRef()] autorelease];1031 RWIProtocolDatabaseError *o_in_sqlError = [[[RWIProtocolDatabaseError alloc] initWithInspectorObject:&in_sqlError] autorelease]; 1032 1032 RWIProtocolDatabasePrimaryColors o_in_screenColor = fromProtocolString<RWIProtocolDatabasePrimaryColors>(in_screenColor); 1033 NSArray/*<NSString>*/ *o_in_alternateColors = objcStringArray( in_alternateColors.copyRef());1033 NSArray/*<NSString>*/ *o_in_alternateColors = objcStringArray(&in_alternateColors); 1034 1034 RWIProtocolDatabaseExecuteNoOptionalParametersPrintColor o_in_printColor = fromProtocolString<RWIProtocolDatabaseExecuteNoOptionalParametersPrintColor>(in_printColor); 1035 1035 -
trunk/Source/WebCore/ChangeLog
r185721 r185722 1 2015-06-18 Brian J. Burg <burg@cs.washington.edu> 2 3 Web Inspector: improve generated types for objects passed to backend commands 4 https://bugs.webkit.org/show_bug.cgi?id=146091 5 6 Reviewed by Joseph Pecoraro. 7 8 Update type signatures for backend command implementations. In a few cases, clean 9 up relevant helper function signatures and copy data out of parameter objects where 10 the code previously held onto a reference. 11 12 No new tests, no behavior changed. 13 14 * inspector/InspectorCSSAgent.cpp: 15 (WebCore::computePseudoClassMask): 16 (WebCore::InspectorCSSAgent::setStyleText): 17 (WebCore::InspectorCSSAgent::setRuleSelector): 18 (WebCore::InspectorCSSAgent::forcePseudoState): 19 * inspector/InspectorCSSAgent.h: 20 * inspector/InspectorDOMAgent.cpp: 21 (WebCore::parseColor): 22 (WebCore::parseConfigColor): 23 (WebCore::parseQuad): 24 (WebCore::InspectorDOMAgent::performSearch): 25 (WebCore::InspectorDOMAgent::setSearchingForNode): 26 (WebCore::InspectorDOMAgent::highlightConfigFromInspectorObject): 27 (WebCore::InspectorDOMAgent::setInspectModeEnabled): 28 (WebCore::InspectorDOMAgent::highlightRect): 29 (WebCore::InspectorDOMAgent::highlightQuad): 30 (WebCore::InspectorDOMAgent::innerHighlightQuad): 31 (WebCore::InspectorDOMAgent::highlightNode): 32 (WebCore::InspectorDOMAgent::highlightFrame): 33 * inspector/InspectorDOMAgent.h: 34 * inspector/InspectorDOMStorageAgent.cpp: 35 (WebCore::InspectorDOMStorageAgent::getDOMStorageItems): 36 (WebCore::InspectorDOMStorageAgent::setDOMStorageItem): 37 (WebCore::InspectorDOMStorageAgent::removeDOMStorageItem): 38 (WebCore::InspectorDOMStorageAgent::findStorageArea): 39 * inspector/InspectorDOMStorageAgent.h: 40 * inspector/InspectorIndexedDBAgent.cpp: 41 (WebCore::InspectorIndexedDBAgent::requestData): 42 * inspector/InspectorIndexedDBAgent.h: 43 * inspector/InspectorReplayAgent.cpp: 44 (WebCore::InspectorReplayAgent::replayToPosition): 45 * inspector/InspectorReplayAgent.h: 46 * inspector/InspectorResourceAgent.cpp: 47 (WebCore::InspectorResourceAgent::willSendRequest): 48 (WebCore::InspectorResourceAgent::setExtraHTTPHeaders): 49 Clean up extraHTTPHeaders to copy header key/values out of the InspectorObject, rather 50 than retaining the protocol object indefinitely. This matches the ownership scheme used 51 everywhere else. 52 53 * inspector/InspectorResourceAgent.h: 54 * inspector/InspectorStyleSheet.h: 55 (WebCore::InspectorCSSId::InspectorCSSId): 56 * inspector/InspectorWorkerAgent.cpp: 57 (WebCore::InspectorWorkerAgent::sendMessageToWorker): 58 * inspector/InspectorWorkerAgent.h: 59 1 60 2015-06-18 Anders Carlsson <andersca@apple.com> 2 61 -
trunk/Source/WebCore/inspector/InspectorCSSAgent.cpp
r180116 r185722 73 73 }; 74 74 75 static unsigned computePseudoClassMask( InspectorArray*pseudoClassArray)75 static unsigned computePseudoClassMask(const InspectorArray& pseudoClassArray) 76 76 { 77 77 DEPRECATED_DEFINE_STATIC_LOCAL(String, active, (ASCIILiteral("active"))); … … 79 79 DEPRECATED_DEFINE_STATIC_LOCAL(String, focus, (ASCIILiteral("focus"))); 80 80 DEPRECATED_DEFINE_STATIC_LOCAL(String, visited, (ASCIILiteral("visited"))); 81 if (!pseudoClassArray || !pseudoClassArray->length())81 if (!pseudoClassArray.length()) 82 82 return PseudoClassNone; 83 83 84 84 unsigned result = PseudoClassNone; 85 for (size_t i = 0; i < pseudoClassArray ->length(); ++i) {86 RefPtr<InspectorValue> pseudoClassValue = pseudoClassArray ->get(i);85 for (size_t i = 0; i < pseudoClassArray.length(); ++i) { 86 RefPtr<InspectorValue> pseudoClassValue = pseudoClassArray.get(i); 87 87 String pseudoClass; 88 88 bool success = pseudoClassValue->asString(pseudoClass); … … 625 625 } 626 626 627 void InspectorCSSAgent::setStyleText(ErrorString& errorString, const RefPtr<InspectorObject>&& fullStyleId, const String& text, RefPtr<Inspector::Protocol::CSS::CSSStyle>& result)628 { 629 InspectorCSSId compoundId(fullStyleId .copyRef());627 void InspectorCSSAgent::setStyleText(ErrorString& errorString, const InspectorObject& fullStyleId, const String& text, RefPtr<Inspector::Protocol::CSS::CSSStyle>& result) 628 { 629 InspectorCSSId compoundId(fullStyleId); 630 630 ASSERT(!compoundId.isEmpty()); 631 631 … … 641 641 } 642 642 643 void InspectorCSSAgent::setRuleSelector(ErrorString& errorString, const RefPtr<InspectorObject>&& fullRuleId, const String& selector, RefPtr<Inspector::Protocol::CSS::CSSRule>& result)644 { 645 InspectorCSSId compoundId(fullRuleId .copyRef());643 void InspectorCSSAgent::setRuleSelector(ErrorString& errorString, const InspectorObject& fullRuleId, const String& selector, RefPtr<Inspector::Protocol::CSS::CSSRule>& result) 644 { 645 InspectorCSSId compoundId(fullRuleId); 646 646 ASSERT(!compoundId.isEmpty()); 647 647 … … 709 709 } 710 710 711 void InspectorCSSAgent::forcePseudoState(ErrorString& errorString, int nodeId, const RefPtr<InspectorArray>&& forcedPseudoClasses)711 void InspectorCSSAgent::forcePseudoState(ErrorString& errorString, int nodeId, const InspectorArray& forcedPseudoClasses) 712 712 { 713 713 Element* element = m_domAgent->assertElement(errorString, nodeId); … … 715 715 return; 716 716 717 unsigned forcedPseudoState = computePseudoClassMask(forcedPseudoClasses .get());717 unsigned forcedPseudoState = computePseudoClassMask(forcedPseudoClasses); 718 718 NodeIdToForcedPseudoState::iterator it = m_nodeIdToForcedPseudoState.find(nodeId); 719 719 unsigned currentForcedPseudoState = it == m_nodeIdToForcedPseudoState.end() ? 0 : it->value; -
trunk/Source/WebCore/inspector/InspectorCSSAgent.h
r180116 r185722 116 116 virtual void getStyleSheetText(ErrorString&, const String& styleSheetId, String* result) override; 117 117 virtual void setStyleSheetText(ErrorString&, const String& styleSheetId, const String& text) override; 118 virtual void setStyleText(ErrorString&, const RefPtr<Inspector::InspectorObject>&& styleId, const String& text, RefPtr<Inspector::Protocol::CSS::CSSStyle>& result) override;119 virtual void setRuleSelector(ErrorString&, const RefPtr<Inspector::InspectorObject>&& ruleId, const String& selector, RefPtr<Inspector::Protocol::CSS::CSSRule>& result) override;118 virtual void setStyleText(ErrorString&, const Inspector::InspectorObject& styleId, const String& text, RefPtr<Inspector::Protocol::CSS::CSSStyle>& result) override; 119 virtual void setRuleSelector(ErrorString&, const Inspector::InspectorObject& ruleId, const String& selector, RefPtr<Inspector::Protocol::CSS::CSSRule>& result) override; 120 120 virtual void addRule(ErrorString&, int contextNodeId, const String& selector, RefPtr<Inspector::Protocol::CSS::CSSRule>& result) override; 121 121 virtual void getSupportedCSSProperties(ErrorString&, RefPtr<Inspector::Protocol::Array<Inspector::Protocol::CSS::CSSPropertyInfo>>& result) override; 122 virtual void forcePseudoState(ErrorString&, int nodeId, const RefPtr<Inspector::InspectorArray>&& forcedPseudoClasses) override;122 virtual void forcePseudoState(ErrorString&, int nodeId, const Inspector::InspectorArray& forcedPseudoClasses) override; 123 123 virtual void getNamedFlowCollection(ErrorString&, int documentNodeId, RefPtr<Inspector::Protocol::Array<Inspector::Protocol::CSS::NamedFlow>>& result) override; 124 124 -
trunk/Source/WebCore/inspector/InspectorDOMAgent.cpp
r185558 r185722 104 104 static const UChar ellipsisUChar[] = { 0x2026, 0 }; 105 105 106 static Color parseColor(const RefPtr<InspectorObject>&&colorObject)106 static Color parseColor(const InspectorObject* colorObject) 107 107 { 108 108 if (!colorObject) … … 128 128 } 129 129 130 static Color parseConfigColor(const String& fieldName, InspectorObject* configObject)130 static Color parseConfigColor(const String& fieldName, const InspectorObject* configObject) 131 131 { 132 132 RefPtr<InspectorObject> colorObject; 133 133 configObject->getObject(fieldName, colorObject); 134 return parseColor(WTF::move(colorObject)); 135 } 136 137 static bool parseQuad(const RefPtr<InspectorArray>& quadArray, FloatQuad* quad) 138 { 139 if (!quadArray) 140 return false; 134 135 return parseColor(colorObject.get()); 136 } 137 138 static bool parseQuad(const InspectorArray& quadArray, FloatQuad* quad) 139 { 141 140 const size_t coordinatesInQuad = 8; 142 141 double coordinates[coordinatesInQuad]; 143 if (quadArray ->length() != coordinatesInQuad)142 if (quadArray.length() != coordinatesInQuad) 144 143 return false; 145 144 for (size_t i = 0; i < coordinatesInQuad; ++i) { 146 if (!quadArray ->get(i)->asDouble(*(coordinates + i)))145 if (!quadArray.get(i)->asDouble(*(coordinates + i))) 147 146 return false; 148 147 } … … 875 874 } 876 875 877 void InspectorDOMAgent::performSearch(ErrorString& errorString, const String& whitespaceTrimmedQuery, const RefPtr<InspectorArray>&&nodeIds, String* searchId, int* resultCount)876 void InspectorDOMAgent::performSearch(ErrorString& errorString, const String& whitespaceTrimmedQuery, const InspectorArray* nodeIds, String* searchId, int* resultCount) 878 877 { 879 878 // FIXME: Search works with node granularity - number of matches within node is not calculated. … … 1013 1012 } 1014 1013 1015 void InspectorDOMAgent::setSearchingForNode(ErrorString& errorString, bool enabled, InspectorObject* highlightInspectorObject)1014 void InspectorDOMAgent::setSearchingForNode(ErrorString& errorString, bool enabled, const InspectorObject* highlightInspectorObject) 1016 1015 { 1017 1016 if (m_searchingForNode == enabled) … … 1028 1027 } 1029 1028 1030 std::unique_ptr<HighlightConfig> InspectorDOMAgent::highlightConfigFromInspectorObject(ErrorString& errorString, InspectorObject* highlightInspectorObject)1029 std::unique_ptr<HighlightConfig> InspectorDOMAgent::highlightConfigFromInspectorObject(ErrorString& errorString, const InspectorObject* highlightInspectorObject) 1031 1030 { 1032 1031 if (!highlightInspectorObject) { … … 1047 1046 } 1048 1047 1049 void InspectorDOMAgent::setInspectModeEnabled(ErrorString& errorString, bool enabled, const RefPtr<InspectorObject>&&highlightConfig)1050 { 1051 setSearchingForNode(errorString, enabled, highlightConfig ? highlightConfig .get(): nullptr);1052 } 1053 1054 void InspectorDOMAgent::highlightRect(ErrorString&, int x, int y, int width, int height, const RefPtr<InspectorObject>&& color, const RefPtr<InspectorObject>&&outlineColor, const bool* usePageCoordinates)1048 void InspectorDOMAgent::setInspectModeEnabled(ErrorString& errorString, bool enabled, const InspectorObject* highlightConfig) 1049 { 1050 setSearchingForNode(errorString, enabled, highlightConfig ? highlightConfig : nullptr); 1051 } 1052 1053 void InspectorDOMAgent::highlightRect(ErrorString&, int x, int y, int width, int height, const InspectorObject* color, const InspectorObject* outlineColor, const bool* usePageCoordinates) 1055 1054 { 1056 1055 auto quad = std::make_unique<FloatQuad>(FloatRect(x, y, width, height)); 1057 innerHighlightQuad(WTF::move(quad), color .copyRef(), outlineColor.copyRef(), usePageCoordinates);1058 } 1059 1060 void InspectorDOMAgent::highlightQuad(ErrorString& errorString, const RefPtr<InspectorArray>&& quadArray, const RefPtr<InspectorObject>&& color, const RefPtr<InspectorObject>&&outlineColor, const bool* usePageCoordinates)1056 innerHighlightQuad(WTF::move(quad), color, outlineColor, usePageCoordinates); 1057 } 1058 1059 void InspectorDOMAgent::highlightQuad(ErrorString& errorString, const InspectorArray& quadArray, const InspectorObject* color, const InspectorObject* outlineColor, const bool* usePageCoordinates) 1061 1060 { 1062 1061 auto quad = std::make_unique<FloatQuad>(); … … 1065 1064 return; 1066 1065 } 1067 innerHighlightQuad(WTF::move(quad), color .copyRef(), outlineColor.copyRef(), usePageCoordinates);1068 } 1069 1070 void InspectorDOMAgent::innerHighlightQuad(std::unique_ptr<FloatQuad> quad, const RefPtr<InspectorObject>&& color, const RefPtr<InspectorObject>&&outlineColor, const bool* usePageCoordinates)1066 innerHighlightQuad(WTF::move(quad), color, outlineColor, usePageCoordinates); 1067 } 1068 1069 void InspectorDOMAgent::innerHighlightQuad(std::unique_ptr<FloatQuad> quad, const InspectorObject* color, const InspectorObject* outlineColor, const bool* usePageCoordinates) 1071 1070 { 1072 1071 auto highlightConfig = std::make_unique<HighlightConfig>(); 1073 highlightConfig->content = parseColor(color .copyRef());1074 highlightConfig->contentOutline = parseColor(outlineColor .copyRef());1072 highlightConfig->content = parseColor(color); 1073 highlightConfig->contentOutline = parseColor(outlineColor); 1075 1074 highlightConfig->usePageCoordinates = usePageCoordinates ? *usePageCoordinates : false; 1076 1075 m_overlay->highlightQuad(WTF::move(quad), *highlightConfig); 1077 1076 } 1078 1077 1079 void InspectorDOMAgent::highlightNode(ErrorString& errorString, const RefPtr<InspectorObject>&& highlightInspectorObject, const int* nodeId, const String* objectId)1078 void InspectorDOMAgent::highlightNode(ErrorString& errorString, const InspectorObject& highlightInspectorObject, const int* nodeId, const String* objectId) 1080 1079 { 1081 1080 Node* node = 0; … … 1092 1091 return; 1093 1092 1094 std::unique_ptr<HighlightConfig> highlightConfig = highlightConfigFromInspectorObject(errorString, highlightInspectorObject.get());1093 std::unique_ptr<HighlightConfig> highlightConfig = highlightConfigFromInspectorObject(errorString, &highlightInspectorObject); 1095 1094 if (!highlightConfig) 1096 1095 return; … … 1099 1098 } 1100 1099 1101 void InspectorDOMAgent::highlightFrame(ErrorString&, const String& frameId, const RefPtr<InspectorObject>&& color, const RefPtr<InspectorObject>&&outlineColor)1100 void InspectorDOMAgent::highlightFrame(ErrorString&, const String& frameId, const InspectorObject* color, const InspectorObject* outlineColor) 1102 1101 { 1103 1102 Frame* frame = m_pageAgent->frameForId(frameId); … … 1105 1104 auto highlightConfig = std::make_unique<HighlightConfig>(); 1106 1105 highlightConfig->showInfo = true; // Always show tooltips for frames. 1107 highlightConfig->content = parseColor(color .copyRef());1108 highlightConfig->contentOutline = parseColor(outlineColor .copyRef());1106 highlightConfig->content = parseColor(color); 1107 highlightConfig->contentOutline = parseColor(outlineColor); 1109 1108 m_overlay->highlightNode(frame->ownerElement(), *highlightConfig); 1110 1109 } -
trunk/Source/WebCore/inspector/InspectorDOMAgent.h
r180116 r185722 131 131 virtual void getEventListenersForNode(ErrorString&, int nodeId, const WTF::String* objectGroup, RefPtr<Inspector::Protocol::Array<Inspector::Protocol::DOM::EventListener>>& listenersArray) override; 132 132 virtual void getAccessibilityPropertiesForNode(ErrorString&, int nodeId, RefPtr<Inspector::Protocol::DOM::AccessibilityProperties>& axProperties) override; 133 virtual void performSearch(ErrorString&, const String& whitespaceTrimmedQuery, const RefPtr<Inspector::InspectorArray>&&nodeIds, String* searchId, int* resultCount) override;133 virtual void performSearch(ErrorString&, const String& whitespaceTrimmedQuery, const Inspector::InspectorArray* nodeIds, String* searchId, int* resultCount) override; 134 134 virtual void getSearchResults(ErrorString&, const String& searchId, int fromIndex, int toIndex, RefPtr<Inspector::Protocol::Array<int>>&) override; 135 135 virtual void discardSearchResults(ErrorString&, const String& searchId) override; 136 136 virtual void resolveNode(ErrorString&, int nodeId, const String* objectGroup, RefPtr<Inspector::Protocol::Runtime::RemoteObject>& result) override; 137 137 virtual void getAttributes(ErrorString&, int nodeId, RefPtr<Inspector::Protocol::Array<String>>& result) override; 138 virtual void setInspectModeEnabled(ErrorString&, bool enabled, const RefPtr<Inspector::InspectorObject>&&highlightConfig) override;138 virtual void setInspectModeEnabled(ErrorString&, bool enabled, const Inspector::InspectorObject* highlightConfig) override; 139 139 virtual void requestNode(ErrorString&, const String& objectId, int* nodeId) override; 140 140 virtual void pushNodeByPathToFrontend(ErrorString&, const String& path, int* nodeId) override; … … 142 142 virtual void releaseBackendNodeIds(ErrorString&, const String& nodeGroup) override; 143 143 virtual void hideHighlight(ErrorString&) override; 144 virtual void highlightRect(ErrorString&, int x, int y, int width, int height, const RefPtr<Inspector::InspectorObject>&& color, const RefPtr<Inspector::InspectorObject>&&outlineColor, const bool* usePageCoordinates) override;145 virtual void highlightQuad(ErrorString&, const RefPtr<Inspector::InspectorArray>&& quad, const RefPtr<Inspector::InspectorObject>&& color, const RefPtr<Inspector::InspectorObject>&&outlineColor, const bool* usePageCoordinates) override;146 virtual void highlightNode(ErrorString&, const RefPtr<Inspector::InspectorObject>&& highlightConfig, const int* nodeId, const String* objectId) override;147 virtual void highlightFrame(ErrorString&, const String& frameId, const RefPtr<Inspector::InspectorObject>&& color, const RefPtr<Inspector::InspectorObject>&&outlineColor) override;144 virtual void highlightRect(ErrorString&, int x, int y, int width, int height, const Inspector::InspectorObject* color, const Inspector::InspectorObject* outlineColor, const bool* usePageCoordinates) override; 145 virtual void highlightQuad(ErrorString&, const Inspector::InspectorArray& quad, const Inspector::InspectorObject* color, const Inspector::InspectorObject* outlineColor, const bool* usePageCoordinates) override; 146 virtual void highlightNode(ErrorString&, const Inspector::InspectorObject& highlightConfig, const int* nodeId, const String* objectId) override; 147 virtual void highlightFrame(ErrorString&, const String& frameId, const Inspector::InspectorObject* color, const Inspector::InspectorObject* outlineColor) override; 148 148 149 149 virtual void moveTo(ErrorString&, int nodeId, int targetNodeId, const int* anchorNodeId, int* newNodeId) override; … … 213 213 214 214 private: 215 void setSearchingForNode(ErrorString&, bool enabled, Inspector::InspectorObject* highlightConfig);216 std::unique_ptr<HighlightConfig> highlightConfigFromInspectorObject(ErrorString&, Inspector::InspectorObject* highlightInspectorObject);215 void setSearchingForNode(ErrorString&, bool enabled, const Inspector::InspectorObject* highlightConfig); 216 std::unique_ptr<HighlightConfig> highlightConfigFromInspectorObject(ErrorString&, const Inspector::InspectorObject* highlightInspectorObject); 217 217 218 218 // Node-related methods. … … 242 242 void discardBindings(); 243 243 244 void innerHighlightQuad(std::unique_ptr<FloatQuad>, const RefPtr<Inspector::InspectorObject>&& color, const RefPtr<Inspector::InspectorObject>&&outlineColor, const bool* usePageCoordinates);244 void innerHighlightQuad(std::unique_ptr<FloatQuad>, const Inspector::InspectorObject* color, const Inspector::InspectorObject* outlineColor, const bool* usePageCoordinates); 245 245 246 246 InspectorPageAgent* m_pageAgent; -
trunk/Source/WebCore/inspector/InspectorDOMStorageAgent.cpp
r183867 r185722 93 93 } 94 94 95 void InspectorDOMStorageAgent::getDOMStorageItems(ErrorString& errorString, const RefPtr<InspectorObject>&& storageId, RefPtr<Inspector::Protocol::Array<Inspector::Protocol::Array<String>>>& items)95 void InspectorDOMStorageAgent::getDOMStorageItems(ErrorString& errorString, const InspectorObject& storageId, RefPtr<Inspector::Protocol::Array<Inspector::Protocol::Array<String>>>& items) 96 96 { 97 97 Frame* frame; 98 RefPtr<StorageArea> storageArea = findStorageArea(errorString, storageId .copyRef(), frame);98 RefPtr<StorageArea> storageArea = findStorageArea(errorString, storageId, frame); 99 99 if (!storageArea) { 100 100 errorString = ASCIILiteral("No StorageArea for given storageId"); … … 117 117 } 118 118 119 void InspectorDOMStorageAgent::setDOMStorageItem(ErrorString& errorString, const RefPtr<InspectorObject>&& storageId, const String& key, const String& value)119 void InspectorDOMStorageAgent::setDOMStorageItem(ErrorString& errorString, const InspectorObject& storageId, const String& key, const String& value) 120 120 { 121 121 Frame* frame; 122 RefPtr<StorageArea> storageArea = findStorageArea(errorString, storageId .copyRef(), frame);122 RefPtr<StorageArea> storageArea = findStorageArea(errorString, storageId, frame); 123 123 if (!storageArea) { 124 124 errorString = ASCIILiteral("Storage not found"); … … 132 132 } 133 133 134 void InspectorDOMStorageAgent::removeDOMStorageItem(ErrorString& errorString, const RefPtr<InspectorObject>&& storageId, const String& key)134 void InspectorDOMStorageAgent::removeDOMStorageItem(ErrorString& errorString, const InspectorObject& storageId, const String& key) 135 135 { 136 136 Frame* frame; 137 RefPtr<StorageArea> storageArea = findStorageArea(errorString, storageId .copyRef(), frame);137 RefPtr<StorageArea> storageArea = findStorageArea(errorString, storageId, frame); 138 138 if (!storageArea) { 139 139 errorString = ASCIILiteral("Storage not found"); … … 181 181 } 182 182 183 RefPtr<StorageArea> InspectorDOMStorageAgent::findStorageArea(ErrorString& errorString, const RefPtr<InspectorObject>&& storageId, Frame*& targetFrame)183 RefPtr<StorageArea> InspectorDOMStorageAgent::findStorageArea(ErrorString& errorString, const InspectorObject& storageId, Frame*& targetFrame) 184 184 { 185 185 String securityOrigin; 186 186 bool isLocalStorage = false; 187 bool success = storageId ->getString(ASCIILiteral("securityOrigin"), securityOrigin);187 bool success = storageId.getString(ASCIILiteral("securityOrigin"), securityOrigin); 188 188 if (success) 189 success = storageId ->getBoolean(ASCIILiteral("isLocalStorage"), isLocalStorage);189 success = storageId.getBoolean(ASCIILiteral("isLocalStorage"), isLocalStorage); 190 190 if (!success) { 191 191 errorString = ASCIILiteral("Invalid storageId format"); -
trunk/Source/WebCore/inspector/InspectorDOMStorageAgent.h
r180116 r185722 64 64 virtual void enable(ErrorString&) override; 65 65 virtual void disable(ErrorString&) override; 66 virtual void getDOMStorageItems(ErrorString&, const RefPtr<Inspector::InspectorObject>&& storageId, RefPtr<Inspector::Protocol::Array<Inspector::Protocol::Array<String>>>& items) override;67 virtual void setDOMStorageItem(ErrorString&, const RefPtr<Inspector::InspectorObject>&& storageId, const String& key, const String& value) override;68 virtual void removeDOMStorageItem(ErrorString&, const RefPtr<Inspector::InspectorObject>&& storageId, const String& key) override;66 virtual void getDOMStorageItems(ErrorString&, const Inspector::InspectorObject& storageId, RefPtr<Inspector::Protocol::Array<Inspector::Protocol::Array<String>>>& items) override; 67 virtual void setDOMStorageItem(ErrorString&, const Inspector::InspectorObject& storageId, const String& key, const String& value) override; 68 virtual void removeDOMStorageItem(ErrorString&, const Inspector::InspectorObject& storageId, const String& key) override; 69 69 70 70 // Called from the injected script. … … 76 76 77 77 private: 78 RefPtr<StorageArea> findStorageArea(ErrorString&, const RefPtr<Inspector::InspectorObject>&&, Frame*&);78 RefPtr<StorageArea> findStorageArea(ErrorString&, const Inspector::InspectorObject&, Frame*&); 79 79 80 80 InspectorPageAgent* m_pageAgent; -
trunk/Source/WebCore/inspector/InspectorIndexedDBAgent.cpp
r181613 r185722 379 379 } 380 380 381 static RefPtr<IDBKeyRange> idbKeyRangeFromKeyRange( InspectorObject* keyRange)381 static RefPtr<IDBKeyRange> idbKeyRangeFromKeyRange(const InspectorObject* keyRange) 382 382 { 383 383 RefPtr<InspectorObject> lower; … … 656 656 } 657 657 658 void InspectorIndexedDBAgent::requestData(ErrorString& errorString, const String& securityOrigin, const String& databaseName, const String& objectStoreName, const String& indexName, int skipCount, int pageSize, const RefPtr<InspectorObject>&&keyRange, Ref<RequestDataCallback>&& requestCallback)658 void InspectorIndexedDBAgent::requestData(ErrorString& errorString, const String& securityOrigin, const String& databaseName, const String& objectStoreName, const String& indexName, int skipCount, int pageSize, const InspectorObject* keyRange, Ref<RequestDataCallback>&& requestCallback) 659 659 { 660 660 Frame* frame = m_pageAgent->findFrameWithSecurityOrigin(securityOrigin); … … 669 669 InjectedScript injectedScript = m_injectedScriptManager->injectedScriptFor(mainWorldExecState(frame)); 670 670 671 RefPtr<IDBKeyRange> idbKeyRange = keyRange ? idbKeyRangeFromKeyRange(keyRange .get()) : nullptr;671 RefPtr<IDBKeyRange> idbKeyRange = keyRange ? idbKeyRangeFromKeyRange(keyRange) : nullptr; 672 672 if (keyRange && !idbKeyRange) { 673 673 errorString = ASCIILiteral("Can not parse key range."); -
trunk/Source/WebCore/inspector/InspectorIndexedDBAgent.h
r182068 r185722 62 62 virtual void requestDatabaseNames(ErrorString&, const String& securityOrigin, Ref<RequestDatabaseNamesCallback>&&) override; 63 63 virtual void requestDatabase(ErrorString&, const String& securityOrigin, const String& databaseName, Ref<RequestDatabaseCallback>&&) override; 64 virtual void requestData(ErrorString&, const String& securityOrigin, const String& databaseName, const String& objectStoreName, const String& indexName, int skipCount, int pageSize, const RefPtr<Inspector::InspectorObject>&&keyRange, Ref<RequestDataCallback>&&) override;64 virtual void requestData(ErrorString&, const String& securityOrigin, const String& databaseName, const String& objectStoreName, const String& indexName, int skipCount, int pageSize, const Inspector::InspectorObject* keyRange, Ref<RequestDataCallback>&&) override; 65 65 virtual void clearObjectStore(ErrorString&, const String& in_securityOrigin, const String& in_databaseName, const String& in_objectStoreName, Ref<ClearObjectStoreCallback>&&) override; 66 66 -
trunk/Source/WebCore/inspector/InspectorReplayAgent.cpp
r181081 r185722 330 330 } 331 331 332 void InspectorReplayAgent::replayToPosition(ErrorString& errorString, const RefPtr<InspectorObject>&& positionObject, bool fastReplay)332 void InspectorReplayAgent::replayToPosition(ErrorString& errorString, const InspectorObject& positionObject, bool fastReplay) 333 333 { 334 334 ReplayPosition position; 335 if (!positionObject ->getInteger(ASCIILiteral("segmentOffset"), position.segmentOffset)) {335 if (!positionObject.getInteger(ASCIILiteral("segmentOffset"), position.segmentOffset)) { 336 336 errorString = ASCIILiteral("Couldn't decode ReplayPosition segment offset provided to ReplayAgent.replayToPosition."); 337 337 return; 338 338 } 339 339 340 if (!positionObject ->getInteger(ASCIILiteral("inputOffset"), position.inputOffset)) {340 if (!positionObject.getInteger(ASCIILiteral("inputOffset"), position.inputOffset)) { 341 341 errorString = ASCIILiteral("Couldn't decode ReplayPosition input offset provided to ReplayAgent.replayToPosition."); 342 342 return; -
trunk/Source/WebCore/inspector/InspectorReplayAgent.h
r182068 r185722 97 97 virtual void stopCapturing(ErrorString&) override; 98 98 99 virtual void replayToPosition(ErrorString&, const RefPtr<Inspector::InspectorObject>&&, bool shouldFastForward) override;99 virtual void replayToPosition(ErrorString&, const Inspector::InspectorObject& position, bool shouldFastForward) override; 100 100 virtual void replayToCompletion(ErrorString&, bool shouldFastForward) override; 101 101 virtual void pausePlayback(ErrorString&) override; -
trunk/Source/WebCore/inspector/InspectorResourceAgent.cpp
r180132 r185722 300 300 m_resourcesData->setResourceType(requestId, type); 301 301 302 if (m_extraRequestHeaders) { 303 InspectorObject::const_iterator end = m_extraRequestHeaders->end(); 304 for (InspectorObject::const_iterator it = m_extraRequestHeaders->begin(); it != end; ++it) { 305 String value; 306 if (it->value->asString(value)) 307 request.setHTTPHeaderField(it->key, value); 308 } 309 } 302 for (auto& entry : m_extraRequestHeaders) 303 request.setHTTPHeaderField(entry.key, entry.value); 310 304 311 305 request.setReportLoadTiming(true); … … 625 619 } 626 620 627 void InspectorResourceAgent::setExtraHTTPHeaders(ErrorString&, const RefPtr<InspectorObject>&& headers) 628 { 629 m_extraRequestHeaders = headers.copyRef(); 621 void InspectorResourceAgent::setExtraHTTPHeaders(ErrorString&, const InspectorObject& headers) 622 { 623 for (auto& entry : headers) { 624 String stringValue; 625 if (entry.value->asString(stringValue)) 626 m_extraRequestHeaders.set(entry.key, stringValue); 627 } 630 628 } 631 629 -
trunk/Source/WebCore/inspector/InspectorResourceAgent.h
r180132 r185722 118 118 virtual void enable(ErrorString&) override; 119 119 virtual void disable(ErrorString&) override; 120 virtual void setExtraHTTPHeaders(ErrorString&, const RefPtr<Inspector::InspectorObject>&&) override;120 virtual void setExtraHTTPHeaders(ErrorString&, const Inspector::InspectorObject& headers) override; 121 121 virtual void getResponseBody(ErrorString&, const String& requestId, String* content, bool* base64Encoded) override; 122 122 virtual void canClearBrowserCache(ErrorString&, bool*) override; … … 140 140 bool m_cacheDisabled; 141 141 bool m_loadingXHRSynchronously; 142 RefPtr<Inspector::InspectorObject> m_extraRequestHeaders;142 HashMap<String, String> m_extraRequestHeaders; 143 143 144 144 HashSet<unsigned long> m_hiddenRequestIdentifiers; -
trunk/Source/WebCore/inspector/InspectorStyleSheet.h
r184437 r185722 57 57 InspectorCSSId() { } 58 58 59 explicit InspectorCSSId(const RefPtr<Inspector::InspectorObject>&& value)60 { 61 if (!value ->getString(ASCIILiteral("styleSheetId"), m_styleSheetId))59 explicit InspectorCSSId(const Inspector::InspectorObject& value) 60 { 61 if (!value.getString(ASCIILiteral("styleSheetId"), m_styleSheetId)) 62 62 return; 63 63 64 if (!value ->getInteger(ASCIILiteral("ordinal"), m_ordinal))64 if (!value.getInteger(ASCIILiteral("ordinal"), m_ordinal)) 65 65 m_styleSheetId = String(); 66 66 } -
trunk/Source/WebCore/inspector/InspectorWorkerAgent.cpp
r180116 r185722 172 172 } 173 173 174 void InspectorWorkerAgent::sendMessageToWorker(ErrorString& error, int workerId, const RefPtr<InspectorObject>&& message)174 void InspectorWorkerAgent::sendMessageToWorker(ErrorString& error, int workerId, const InspectorObject& message) 175 175 { 176 176 WorkerFrontendChannel* channel = m_idToChannel.get(workerId); 177 177 if (channel) 178 channel->proxy()->sendMessageToInspector(message ->toJSONString());178 channel->proxy()->sendMessageToInspector(message.toJSONString()); 179 179 else 180 180 error = ASCIILiteral("Worker is gone"); -
trunk/Source/WebCore/inspector/InspectorWorkerAgent.h
r180116 r185722 69 69 virtual void connectToWorker(ErrorString&, int workerId) override; 70 70 virtual void disconnectFromWorker(ErrorString&, int workerId) override; 71 virtual void sendMessageToWorker(ErrorString&, int workerId, const RefPtr<Inspector::InspectorObject>&& message) override;71 virtual void sendMessageToWorker(ErrorString&, int workerId, const Inspector::InspectorObject& message) override; 72 72 virtual void setAutoconnectToWorkers(ErrorString&, bool value) override; 73 73
Note:
See TracChangeset
for help on using the changeset viewer.