Diff
Modified: trunk/Source/_javascript_Core/ChangeLog (196880 => 196881)
--- trunk/Source/_javascript_Core/ChangeLog 2016-02-22 00:05:07 UTC (rev 196880)
+++ trunk/Source/_javascript_Core/ChangeLog 2016-02-22 00:08:37 UTC (rev 196881)
@@ -1,5 +1,48 @@
2016-02-21 Brian Burg <[email protected]>
+ Web Inspector: it should be possible to omit generated code guarded by INSPECTOR_ALTERNATE_DISPATCHERS
+ https://bugs.webkit.org/show_bug.cgi?id=154508
+ <rdar://problem/24759077>
+
+ Reviewed by Timothy Hatcher.
+
+ In preparation for being able to generate protocol files for WebKit2,
+ make it possible to not emit generated code that's guarded by
+ ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS). This code is not needed by
+ backend dispatchers generated outside of _javascript_Core. We can't just
+ define it to 0 for WebKit2, since it's defined to 1 in <wtf/Platform.h>
+ in the configurations where the code is actually used.
+
+ Add a new opt-in Framework configuration option that turns on generating
+ this code. Adjust how the code is generated so that it can be easily excluded.
+
+ * inspector/scripts/codegen/cpp_generator_templates.py:
+ Make a separate template for the declarations that are guarded.
+ Add an initializer _expression_ so the order of initalizers doesn't matter.
+
+ * inspector/scripts/codegen/generate_cpp_backend_dispatcher_header.py:
+ (CppBackendDispatcherHeaderGenerator.generate_output): Add a setting check.
+ (CppBackendDispatcherHeaderGenerator._generate_dispatcher_declarations_for_domain):
+ If the declarations are needed, they will be appended to the end of the
+ declarations list.
+
+ * inspector/scripts/codegen/generate_cpp_backend_dispatcher_implementation.py:
+ (CppBackendDispatcherImplementationGenerator.generate_output): Add a setting check.
+ (CppBackendDispatcherImplementationGenerator._generate_dispatcher_implementation_for_command): Add a setting check.
+
+ * inspector/scripts/codegen/models.py: Set the 'alternate_dispatchers' setting
+ to True for Framework._javascript_Core only. It's not needed elsewhere.
+
+ Rebaseline affected tests.
+
+ * inspector/scripts/tests/expected/commands-with-async-attribute.json-result:
+ * inspector/scripts/tests/expected/commands-with-optional-call-return-parameters.json-result:
+ * inspector/scripts/tests/expected/domains-with-varying-command-sizes.json-result:
+ * inspector/scripts/tests/expected/enum-values.json-result:
+ * inspector/scripts/tests/expected/generate-domains-with-feature-guards.json-result:
+
+2016-02-21 Brian Burg <[email protected]>
+
Web Inspector: clean up generator selection in generate-inspector-protocol-bindings.py
https://bugs.webkit.org/show_bug.cgi?id=154505
<rdar://problem/24758042>
Modified: trunk/Source/_javascript_Core/inspector/scripts/codegen/cpp_generator_templates.py (196880 => 196881)
--- trunk/Source/_javascript_Core/inspector/scripts/codegen/cpp_generator_templates.py 2016-02-22 00:05:07 UTC (rev 196880)
+++ trunk/Source/_javascript_Core/inspector/scripts/codegen/cpp_generator_templates.py 2016-02-22 00:08:37 UTC (rev 196881)
@@ -105,14 +105,16 @@
${commandDeclarations}
private:
${domainName}BackendDispatcher(BackendDispatcher&, ${domainName}BackendDispatcherHandler*);
- ${domainName}BackendDispatcherHandler* m_agent;
-#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
+ ${domainName}BackendDispatcherHandler* m_agent { nullptr };
+};""")
+
+ BackendDispatcherHeaderDomainDispatcherAlternatesDeclaration = (
+ """#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
public:
void setAlternateDispatcher(Alternate${domainName}BackendDispatcher* alternateDispatcher) { m_alternateDispatcher = alternateDispatcher; }
private:
- Alternate${domainName}BackendDispatcher* m_alternateDispatcher;
-#endif
-};""")
+ Alternate${domainName}BackendDispatcher* m_alternateDispatcher { nullptr };
+#endif""")
BackendDispatcherHeaderAsyncCommandDeclaration = (
""" ${classAndExportMacro} ${callbackName} : public BackendDispatcher::CallbackBase {
@@ -176,9 +178,6 @@
${domainName}BackendDispatcher::${domainName}BackendDispatcher(BackendDispatcher& backendDispatcher, ${domainName}BackendDispatcherHandler* agent)
: SupplementalBackendDispatcher(backendDispatcher)
, m_agent(agent)
-#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
- , m_alternateDispatcher(nullptr)
-#endif
{
m_backendDispatcher->registerDispatcherForDomain(ASCIILiteral("${domainName}"), this);
}""")
Modified: trunk/Source/_javascript_Core/inspector/scripts/codegen/generate_cpp_backend_dispatcher_header.py (196880 => 196881)
--- trunk/Source/_javascript_Core/inspector/scripts/codegen/generate_cpp_backend_dispatcher_header.py 2016-02-22 00:05:07 UTC (rev 196880)
+++ trunk/Source/_javascript_Core/inspector/scripts/codegen/generate_cpp_backend_dispatcher_header.py 2016-02-22 00:08:37 UTC (rev 196881)
@@ -67,7 +67,8 @@
sections = []
sections.append(self.generate_license())
sections.append(Template(CppTemplates.HeaderPrelude).substitute(None, **header_args))
- sections.append(self._generate_alternate_handler_forward_declarations_for_domains(domains))
+ if self.model().framework.setting('alternate_dispatchers', False):
+ sections.append(self._generate_alternate_handler_forward_declarations_for_domains(domains))
sections.extend(map(self._generate_handler_declarations_for_domain, domains))
sections.extend(map(self._generate_dispatcher_declarations_for_domain, domains))
sections.append(Template(CppTemplates.HeaderPostlude).substitute(None, **header_args))
@@ -196,6 +197,14 @@
declarations.append('private:')
declarations.extend(map(self._generate_dispatcher_declaration_for_command, domain.commands))
+ declaration_args = {
+ 'domainName': domain.domain_name,
+ }
+
+ # Add in a few more declarations at the end if needed.
+ if self.model().framework.setting('alternate_dispatchers', False):
+ declarations.append(Template(CppTemplates.BackendDispatcherHeaderDomainDispatcherAlternatesDeclaration).substitute(None, **declaration_args))
+
handler_args = {
'classAndExportMacro': " ".join(classComponents),
'domainName': domain.domain_name,
Modified: trunk/Source/_javascript_Core/inspector/scripts/codegen/generate_cpp_backend_dispatcher_implementation.py (196880 => 196881)
--- trunk/Source/_javascript_Core/inspector/scripts/codegen/generate_cpp_backend_dispatcher_implementation.py 2016-02-22 00:05:07 UTC (rev 196880)
+++ trunk/Source/_javascript_Core/inspector/scripts/codegen/generate_cpp_backend_dispatcher_implementation.py 2016-02-22 00:08:37 UTC (rev 196881)
@@ -55,11 +55,13 @@
'<wtf/text/CString.h>']
secondary_includes = ['#include %s' % header for header in secondary_headers]
- secondary_includes.append('')
- secondary_includes.append('#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)')
- secondary_includes.append('#include "InspectorAlternateBackendDispatchers.h"')
- secondary_includes.append('#endif')
+ if self.model().framework.setting('alternate_dispatchers', False):
+ secondary_includes.append('')
+ secondary_includes.append('#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)')
+ secondary_includes.append('#include "InspectorAlternateBackendDispatchers.h"')
+ secondary_includes.append('#endif')
+
header_args = {
'primaryInclude': '"InspectorBackendDispatchers.h"',
'secondaryIncludes': '\n'.join(secondary_includes),
@@ -276,13 +278,14 @@
if len(command.call_parameters) > 0:
lines.append(Template(CppTemplates.BackendDispatcherImplementationPrepareCommandArguments).substitute(None, **command_args))
- lines.append('#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)')
- lines.append(' if (m_alternateDispatcher) {')
- lines.append(' m_alternateDispatcher->%(commandName)s(%(alternateInvocationParameters)s);' % command_args)
- lines.append(' return;')
- lines.append(' }')
- lines.append('#endif')
- lines.append('')
+ if self.model().framework.setting('alternate_dispatchers', False):
+ lines.append('#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)')
+ lines.append(' if (m_alternateDispatcher) {')
+ lines.append(' m_alternateDispatcher->%(commandName)s(%(alternateInvocationParameters)s);' % command_args)
+ lines.append(' return;')
+ lines.append(' }')
+ lines.append('#endif')
+ lines.append('')
lines.append(' ErrorString error;')
lines.append(' Ref<InspectorObject> result = InspectorObject::create();')
Modified: trunk/Source/_javascript_Core/inspector/scripts/codegen/models.py (196880 => 196881)
--- trunk/Source/_javascript_Core/inspector/scripts/codegen/models.py 2016-02-22 00:05:07 UTC (rev 196880)
+++ trunk/Source/_javascript_Core/inspector/scripts/codegen/models.py 2016-02-22 00:08:37 UTC (rev 196881)
@@ -42,12 +42,14 @@
"Global": {
},
"_javascript_Core": {
- "export_macro": "JS_EXPORT_PRIVATE"
+ "export_macro": "JS_EXPORT_PRIVATE",
+ "alternate_dispatchers": True,
},
"WebInspector": {
},
# Used for code generator tests.
"Test": {
+ "alternate_dispatchers": True,
}
}
Modified: trunk/Source/_javascript_Core/inspector/scripts/tests/expected/commands-with-async-attribute.json-result (196880 => 196881)
--- trunk/Source/_javascript_Core/inspector/scripts/tests/expected/commands-with-async-attribute.json-result 2016-02-22 00:05:07 UTC (rev 196880)
+++ trunk/Source/_javascript_Core/inspector/scripts/tests/expected/commands-with-async-attribute.json-result 2016-02-22 00:08:37 UTC (rev 196881)
@@ -194,15 +194,15 @@
void executeSQLAsyncOptionalReturnValues(long requestId, RefPtr<InspectorObject>&& parameters);
void executeSQLSync(long requestId, RefPtr<InspectorObject>&& parameters);
void executeSQLAsync(long requestId, RefPtr<InspectorObject>&& parameters);
-private:
- DatabaseBackendDispatcher(BackendDispatcher&, DatabaseBackendDispatcherHandler*);
- DatabaseBackendDispatcherHandler* m_agent;
#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
public:
void setAlternateDispatcher(AlternateDatabaseBackendDispatcher* alternateDispatcher) { m_alternateDispatcher = alternateDispatcher; }
private:
- AlternateDatabaseBackendDispatcher* m_alternateDispatcher;
+ AlternateDatabaseBackendDispatcher* m_alternateDispatcher { nullptr };
#endif
+private:
+ DatabaseBackendDispatcher(BackendDispatcher&, DatabaseBackendDispatcherHandler*);
+ DatabaseBackendDispatcherHandler* m_agent { nullptr };
};
} // namespace Inspector
@@ -265,9 +265,6 @@
DatabaseBackendDispatcher::DatabaseBackendDispatcher(BackendDispatcher& backendDispatcher, DatabaseBackendDispatcherHandler* agent)
: SupplementalBackendDispatcher(backendDispatcher)
, m_agent(agent)
-#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
- , m_alternateDispatcher(nullptr)
-#endif
{
m_backendDispatcher->registerDispatcherForDomain(ASCIILiteral("Database"), this);
}
Modified: trunk/Source/_javascript_Core/inspector/scripts/tests/expected/commands-with-optional-call-return-parameters.json-result (196880 => 196881)
--- trunk/Source/_javascript_Core/inspector/scripts/tests/expected/commands-with-optional-call-return-parameters.json-result 2016-02-22 00:05:07 UTC (rev 196880)
+++ trunk/Source/_javascript_Core/inspector/scripts/tests/expected/commands-with-optional-call-return-parameters.json-result 2016-02-22 00:08:37 UTC (rev 196881)
@@ -175,15 +175,15 @@
private:
void executeAllOptionalParameters(long requestId, RefPtr<InspectorObject>&& parameters);
void executeNoOptionalParameters(long requestId, RefPtr<InspectorObject>&& parameters);
-private:
- DatabaseBackendDispatcher(BackendDispatcher&, DatabaseBackendDispatcherHandler*);
- DatabaseBackendDispatcherHandler* m_agent;
#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
public:
void setAlternateDispatcher(AlternateDatabaseBackendDispatcher* alternateDispatcher) { m_alternateDispatcher = alternateDispatcher; }
private:
- AlternateDatabaseBackendDispatcher* m_alternateDispatcher;
+ AlternateDatabaseBackendDispatcher* m_alternateDispatcher { nullptr };
#endif
+private:
+ DatabaseBackendDispatcher(BackendDispatcher&, DatabaseBackendDispatcherHandler*);
+ DatabaseBackendDispatcherHandler* m_agent { nullptr };
};
} // namespace Inspector
@@ -246,9 +246,6 @@
DatabaseBackendDispatcher::DatabaseBackendDispatcher(BackendDispatcher& backendDispatcher, DatabaseBackendDispatcherHandler* agent)
: SupplementalBackendDispatcher(backendDispatcher)
, m_agent(agent)
-#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
- , m_alternateDispatcher(nullptr)
-#endif
{
m_backendDispatcher->registerDispatcherForDomain(ASCIILiteral("Database"), this);
}
Modified: trunk/Source/_javascript_Core/inspector/scripts/tests/expected/domains-with-varying-command-sizes.json-result (196880 => 196881)
--- trunk/Source/_javascript_Core/inspector/scripts/tests/expected/domains-with-varying-command-sizes.json-result 2016-02-22 00:05:07 UTC (rev 196880)
+++ trunk/Source/_javascript_Core/inspector/scripts/tests/expected/domains-with-varying-command-sizes.json-result 2016-02-22 00:08:37 UTC (rev 196881)
@@ -192,15 +192,15 @@
virtual void dispatch(long requestId, const String& method, Ref<InspectorObject>&& message) override;
private:
void loadResource1(long requestId, RefPtr<InspectorObject>&& parameters);
-private:
- Network1BackendDispatcher(BackendDispatcher&, Network1BackendDispatcherHandler*);
- Network1BackendDispatcherHandler* m_agent;
#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
public:
void setAlternateDispatcher(AlternateNetwork1BackendDispatcher* alternateDispatcher) { m_alternateDispatcher = alternateDispatcher; }
private:
- AlternateNetwork1BackendDispatcher* m_alternateDispatcher;
+ AlternateNetwork1BackendDispatcher* m_alternateDispatcher { nullptr };
#endif
+private:
+ Network1BackendDispatcher(BackendDispatcher&, Network1BackendDispatcherHandler*);
+ Network1BackendDispatcherHandler* m_agent { nullptr };
};
class Network3BackendDispatcher final : public SupplementalBackendDispatcher {
@@ -215,15 +215,15 @@
void loadResource5(long requestId, RefPtr<InspectorObject>&& parameters);
void loadResource6(long requestId, RefPtr<InspectorObject>&& parameters);
void loadResource7(long requestId, RefPtr<InspectorObject>&& parameters);
-private:
- Network3BackendDispatcher(BackendDispatcher&, Network3BackendDispatcherHandler*);
- Network3BackendDispatcherHandler* m_agent;
#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
public:
void setAlternateDispatcher(AlternateNetwork3BackendDispatcher* alternateDispatcher) { m_alternateDispatcher = alternateDispatcher; }
private:
- AlternateNetwork3BackendDispatcher* m_alternateDispatcher;
+ AlternateNetwork3BackendDispatcher* m_alternateDispatcher { nullptr };
#endif
+private:
+ Network3BackendDispatcher(BackendDispatcher&, Network3BackendDispatcherHandler*);
+ Network3BackendDispatcherHandler* m_agent { nullptr };
};
} // namespace Inspector
@@ -287,9 +287,6 @@
Network1BackendDispatcher::Network1BackendDispatcher(BackendDispatcher& backendDispatcher, Network1BackendDispatcherHandler* agent)
: SupplementalBackendDispatcher(backendDispatcher)
, m_agent(agent)
-#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
- , m_alternateDispatcher(nullptr)
-#endif
{
m_backendDispatcher->registerDispatcherForDomain(ASCIILiteral("Network1"), this);
}
@@ -334,9 +331,6 @@
Network3BackendDispatcher::Network3BackendDispatcher(BackendDispatcher& backendDispatcher, Network3BackendDispatcherHandler* agent)
: SupplementalBackendDispatcher(backendDispatcher)
, m_agent(agent)
-#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
- , m_alternateDispatcher(nullptr)
-#endif
{
m_backendDispatcher->registerDispatcherForDomain(ASCIILiteral("Network3"), this);
}
Modified: trunk/Source/_javascript_Core/inspector/scripts/tests/expected/enum-values.json-result (196880 => 196881)
--- trunk/Source/_javascript_Core/inspector/scripts/tests/expected/enum-values.json-result 2016-02-22 00:05:07 UTC (rev 196880)
+++ trunk/Source/_javascript_Core/inspector/scripts/tests/expected/enum-values.json-result 2016-02-22 00:08:37 UTC (rev 196881)
@@ -173,15 +173,15 @@
virtual void dispatch(long requestId, const String& method, Ref<InspectorObject>&& message) override;
private:
void commandWithEnumReturnValue(long requestId, RefPtr<InspectorObject>&& parameters);
-private:
- CommandDomainBackendDispatcher(BackendDispatcher&, CommandDomainBackendDispatcherHandler*);
- CommandDomainBackendDispatcherHandler* m_agent;
#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
public:
void setAlternateDispatcher(AlternateCommandDomainBackendDispatcher* alternateDispatcher) { m_alternateDispatcher = alternateDispatcher; }
private:
- AlternateCommandDomainBackendDispatcher* m_alternateDispatcher;
+ AlternateCommandDomainBackendDispatcher* m_alternateDispatcher { nullptr };
#endif
+private:
+ CommandDomainBackendDispatcher(BackendDispatcher&, CommandDomainBackendDispatcherHandler*);
+ CommandDomainBackendDispatcherHandler* m_agent { nullptr };
};
} // namespace Inspector
@@ -244,9 +244,6 @@
CommandDomainBackendDispatcher::CommandDomainBackendDispatcher(BackendDispatcher& backendDispatcher, CommandDomainBackendDispatcherHandler* agent)
: SupplementalBackendDispatcher(backendDispatcher)
, m_agent(agent)
-#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
- , m_alternateDispatcher(nullptr)
-#endif
{
m_backendDispatcher->registerDispatcherForDomain(ASCIILiteral("CommandDomain"), this);
}
Modified: trunk/Source/_javascript_Core/inspector/scripts/tests/expected/generate-domains-with-feature-guards.json-result (196880 => 196881)
--- trunk/Source/_javascript_Core/inspector/scripts/tests/expected/generate-domains-with-feature-guards.json-result 2016-02-22 00:05:07 UTC (rev 196880)
+++ trunk/Source/_javascript_Core/inspector/scripts/tests/expected/generate-domains-with-feature-guards.json-result 2016-02-22 00:08:37 UTC (rev 196881)
@@ -169,15 +169,15 @@
virtual void dispatch(long requestId, const String& method, Ref<InspectorObject>&& message) override;
private:
void loadResource(long requestId, RefPtr<InspectorObject>&& parameters);
-private:
- Network1BackendDispatcher(BackendDispatcher&, Network1BackendDispatcherHandler*);
- Network1BackendDispatcherHandler* m_agent;
#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
public:
void setAlternateDispatcher(AlternateNetwork1BackendDispatcher* alternateDispatcher) { m_alternateDispatcher = alternateDispatcher; }
private:
- AlternateNetwork1BackendDispatcher* m_alternateDispatcher;
+ AlternateNetwork1BackendDispatcher* m_alternateDispatcher { nullptr };
#endif
+private:
+ Network1BackendDispatcher(BackendDispatcher&, Network1BackendDispatcherHandler*);
+ Network1BackendDispatcherHandler* m_agent { nullptr };
};
#endif // PLATFORM(WEB_COMMANDS)
@@ -244,9 +244,6 @@
Network1BackendDispatcher::Network1BackendDispatcher(BackendDispatcher& backendDispatcher, Network1BackendDispatcherHandler* agent)
: SupplementalBackendDispatcher(backendDispatcher)
, m_agent(agent)
-#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
- , m_alternateDispatcher(nullptr)
-#endif
{
m_backendDispatcher->registerDispatcherForDomain(ASCIILiteral("Network1"), this);
}