Index: client/dom/scripts/systemfrog.py |
diff --git a/client/dom/scripts/systemfrog.py b/client/dom/scripts/systemfrog.py |
index e3e231d6a469ee9a1e1840012297bea080b85aab..9b85d0997e6f952140a3ab09555336cc9d364346 100644 |
--- a/client/dom/scripts/systemfrog.py |
+++ b/client/dom/scripts/systemfrog.py |
@@ -10,6 +10,17 @@ import os |
from generator import * |
from systembase import * |
+# Members (getters, setters, and methods) to suppress. These are |
+# either removed or custom implemented. |
+_overridden_members = set([ |
sra1
2012/02/24 03:38:30
Call this _dom_frog_omitted_members.
With everyone
vsm
2012/02/26 01:52:10
Done, though we should consider making some of thi
|
+ # Replace with custom. |
+ 'HTMLIFrameElement.get:contentWindow', |
+ |
+ # Remove. |
+ 'HTMLIFrameElement.get:contentDocument', |
+ 'DOMWindow.get:frameElement', |
+]) |
+ |
class FrogSystem(System): |
def __init__(self, templates, database, emitters, output_dir): |
@@ -161,7 +172,17 @@ class FrogInterfaceGenerator(object): |
pass |
+ def OverrideMember(self, member): |
+ return self._interface.id + '.' + member in _overridden_members |
+ |
def AddAttribute(self, getter, setter): |
+ if getter and self.OverrideMember('get:' + getter.id): |
+ getter = None |
+ if setter and self.OverrideMember('set:' + setter.id): |
+ setter = None |
+ if not getter and not setter: |
+ return |
+ |
output_type = getter and self._NarrowOutputType(getter.type.id) |
input_type = setter and self._NarrowInputType(setter.type.id) |