-
timothy@apple.com authored
WebCore: 2008-10-24 Timothy Hatcher <timothy@apple.com> Add a mechanism to ask the InspectorClient for key/value setting pairs. These settings can be strings, numbers, booleans or string vectors. The settings are also bridged to and from JavaScript. https://bugs.webkit.org/show_bug.cgi?id=21856 Reviewed by Darin Adler. * WebCore.base.exp: Expose the String CFStringRef constructor. * inspector/InspectorClient.h: (WebCore::InspectorClient::populateSetting): Added, pure virtual. (WebCore::InspectorClient::storeSetting): Ditto. (WebCore::InspectorClient::removeSetting): Ditto. * inspector/InspectorController.cpp: (WebCore::setting): Calls InspectorController::setting and wraps the result in script types. (WebCore::setSetting): Calls InspectorController::setSetting after converting from script types. (WebCore::InspectorController::InspectorController): Increment a global static to track the number of live InspectorControllers. (WebCore::InspectorController::~InspectorController): Decrement the global static that tracks the number of live InspectorControllers. Delete the setting cache if there are no more live controllers. (WebCore::InspectorController::setting): Check the cache and return the setting from there, otherwise make a new Setting and ask the client to populate it. (WebCore::InspectorController::setSetting): Change the cache and ask the client to store it. (WebCore::InspectorController::windowScriptObjectAvailable): Add setting and setSetting to the InspectorController script class. * inspector/InspectorController.h: (WebCore::InspectorController::Setting::Setting): (WebCore::InspectorController::Setting::operator=): (WebCore::InspectorController::Setting::type): Return m_type. (WebCore::InspectorController::Setting::string): Return m_string. Assert the type is correct. (WebCore::InspectorController::Setting::stringVector): Return m_stringVector. Assert the type is correct. (WebCore::InspectorController::Setting::doubleValue): Return m_simpleContent.m_double. Assert the type is correct. (WebCore::InspectorController::Setting::integerValue): Return m_simpleContent.m_integer. Assert the type is correct. (WebCore::InspectorController::Setting::booleanValue): Return m_simpleContent.m_boolean. Assert the type is correct. (WebCore::InspectorController::Setting::set): Overloaded for each data type, sets the right field and the type. * loader/EmptyClients.h: (WebCore::EmptyInspectorClient::populateSetting): Added, empty method. (WebCore::EmptyInspectorClient::storeSetting): Ditto. (WebCore::EmptyInspectorClient::removeSetting): Ditto. WebKit: 2008-10-24 Timothy Hatcher <timothy@apple.com> Implement new InspectorClient methods to work with Settings. https://bugs.webkit.org/show_bug.cgi?id=21856 Reviewed by Darin Adler. * WebKit.xcodeproj/project.pbxproj: Add the new InspectorClientCF.cpp file. WebKit/gtk: 2008-10-24 Timothy Hatcher <timothy@apple.com> Stub out new InspectorClient methods. https://bugs.webkit.org/show_bug.cgi?id=21856 Reviewed by Darin Adler. * WebCoreSupport/InspectorClientGtk.cpp: (WebKit::InspectorClient::populateSetting): Not implemented. (WebKit::InspectorClient::storeSetting): Ditto. (WebKit::InspectorClient::removeSetting): Ditto. * WebCoreSupport/InspectorClientGtk.h: WebKit/mac: 2008-10-24 Timothy Hatcher <timothy@apple.com> Implement new InspectorClient methods to work with Settings. https://bugs.webkit.org/show_bug.cgi?id=21856 Reviewed by Darin Adler. * WebCoreSupport/WebInspectorClient.h: Add the new methods and guard the ObjC parts of the header. WebKit/qt: 2008-10-24 Timothy Hatcher <timothy@apple.com> Stub out new InspectorClient methods. https://bugs.webkit.org/show_bug.cgi?id=21856 Reviewed by Darin Adler. * WebCoreSupport/InspectorClientQt.cpp: (WebCore::InspectorClientQt::populateSetting): Not implemented. (WebCore::InspectorClientQt::storeSetting): Ditto. (WebCore::InspectorClientQt::removeSetting): Ditto. * WebCoreSupport/InspectorClientQt.h: WebKit/win: 2008-10-24 Timothy Hatcher <timothy@apple.com> Implement new InspectorClient methods to work with Settings. https://bugs.webkit.org/show_bug.cgi?id=21856 Reviewed by Adam Roben. * WebKit.vcproj/WebKit.vcproj: Add the new InspectorClientCF.cpp file. * WebCoreSupport/WebInspectorClient.h: Add the new methods. WebKit/wx: 2008-10-24 Timothy Hatcher <timothy@apple.com> Stub out new InspectorClient methods. https://bugs.webkit.org/show_bug.cgi?id=21856 Reviewed by Darin Adler. * WebKitSupport/InspectorClientWx.cpp: (WebCore::InspectorClient::populateSetting): Not implemented. (WebCore::InspectorClient::storeSetting): Ditto. (WebCore::InspectorClient::removeSetting): Ditto. * WebKitSupport/InspectorClientWx.h: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37848 268f45cc-cd09-0410-ab3c-d52691b4dbfc
f454001b