The time has come where we need to have preferences that persist for the Web Inspector. So we need a way to access them from C++ and JavaScript and have them persist (preferably in the application's preferences.)
Created attachment 24642 [details] Proposed patch
Comment on attachment 24642 [details] Proposed patch > + typedef enum { > + NoType, StringType, StringVectorType, DoubleType, IntegerType, BooleanType > + } Type; You should just use "enum Type { }" syntax. > + Setting(const Setting& o) > + : m_type(o.m_type) > + , m_string(o.m_string) > + , m_stringVector(o.m_stringVector) > + , m_simpleContent(o.m_simpleContent) > + { > + } > + > + Setting& operator=(const Setting& o) > + { > + m_type = o.m_type; > + m_string = o.m_string; > + m_stringVector = o.m_stringVector; > + m_simpleContent = o.m_simpleContent; > + return *this; > + } These are the same as what the compiler generates if you don't declare the operator at all. Just leave these out and it should work the same. > @@ -405,6 +405,10 @@ public: > virtual void highlight(Node*) {}; > virtual void hideHighlight() {}; > virtual void inspectedURLChanged(const String& newURL) {}; > + > + virtual void populateSetting(const String& key, InspectorController::Setting&) {}; > + virtual void storeSetting(const String& key, const InspectorController::Setting&) {}; > + virtual void removeSetting(const String& key) {}; All these semicolons at the ends of lines after {} are unneeded and should be omitted. > + // FIXME: this can be shared between Mac and Windows, this is currently copied code. Why not make a shared source file and do this now? Is there some obstacle? r=me
Created attachment 24643 [details] Proposed patch (round two)
Comment on attachment 24643 [details] Proposed patch (round two) Adam reviewed the windows parts of this. The rest is basically the same from the patch Darin reviewed, with his suggestions fixed.
Landed in r37848.