Make backend destructor public

This allows Backend pointers to point to derived classes.

BUG=648701

Review-Url: https://codereview.chromium.org/2365283003
Cr-Original-Commit-Position: refs/heads/master@{#421221}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: fb4bbebb606d40493cdc89baecb7139c6b7c8be4
diff --git a/templates/TypeBuilder_h.template b/templates/TypeBuilder_h.template
index b72cdf2..553ba55 100644
--- a/templates/TypeBuilder_h.template
+++ b/templates/TypeBuilder_h.template
@@ -185,6 +185,8 @@
 
 class {{config.protocol.export_macro}} Backend {
 public:
+    virtual ~Backend() { }
+
   {% for command in domain.commands %}
     {% if "redirect" in command %}{% continue %}{% endif %}
     {% if ("handlers" in command) and not ("renderer" in command["handlers"]) %}{% continue %}{% endif %}
@@ -233,9 +235,6 @@
   {% if not has_disable(domain.commands) %}
     virtual void disable(ErrorString*) { }
   {% endif %}
-
-protected:
-    virtual ~Backend() { }
 };
 
 // ------------- Frontend interface.