Bug 21856

Summary: Need a way to store and retrieve preferences for the Web Inspector
Product: WebKit Reporter: Timothy Hatcher <timothy>
Component: Web Inspector (Deprecated)Assignee: Timothy Hatcher <timothy>
Status: RESOLVED FIXED    
Severity: Normal CC: aroben, kmccullough, rik, timothy
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Attachments:
Description Flags
Proposed patch
darin: review+
Proposed patch (round two) timothy: review+

Timothy Hatcher
Reported 2008-10-24 10:00:04 PDT
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.)
Attachments
Proposed patch (41.71 KB, patch)
2008-10-24 10:17 PDT, Timothy Hatcher
darin: review+
Proposed patch (round two) (43.15 KB, patch)
2008-10-24 11:31 PDT, Timothy Hatcher
timothy: review+
Timothy Hatcher
Comment 1 2008-10-24 10:17:47 PDT
Created attachment 24642 [details] Proposed patch
Darin Adler
Comment 2 2008-10-24 10:43:56 PDT
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
Timothy Hatcher
Comment 3 2008-10-24 11:31:37 PDT
Created attachment 24643 [details] Proposed patch (round two)
Timothy Hatcher
Comment 4 2008-10-24 11:43:15 PDT
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.
Timothy Hatcher
Comment 5 2008-10-24 11:49:58 PDT
Landed in r37848.
Note You need to log in before you can comment on or make changes to this bug.