Changeset 51631 in webkit


Ignore:
Timestamp:
Dec 3, 2009 4:46:59 AM (14 years ago)
Author:
pfeldman@chromium.org
Message:

2009-12-03 Pavel Feldman <pfeldman@dhcp-172-28-174-220.spb.corp.google.com>

Reviewed by Timothy Hatcher.

Web Inspector: Simplify the settings support in inspector controller.

https://bugs.webkit.org/show_bug.cgi?id=32076

Test: inspector/settings-set-get.html

  • WebCore.Inspector.exp:
  • bindings/js/JSInspectorFrontendHostCustom.cpp:
  • bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
  • inspector/InspectorClient.h:
  • inspector/InspectorController.cpp: (WebCore::InspectorController::~InspectorController): (WebCore::InspectorController::setting): (WebCore::InspectorController::setSetting): (WebCore::InspectorController::setWindowVisible): (WebCore::InspectorController::attachWindow): (WebCore::InspectorController::setAttachedWindowHeight): (WebCore::InspectorController::storeLastActivePanel): (WebCore::InspectorController::scriptObjectReady): (WebCore::InspectorController::showWindow): (WebCore::InspectorController::enableResourceTracking): (WebCore::InspectorController::disableResourceTracking): (WebCore::InspectorController::ensureResourceTrackingSettingsLoaded): (WebCore::InspectorController::enableProfiler): (WebCore::InspectorController::disableProfiler): (WebCore::InspectorController::enableDebuggerFromFrontend): (WebCore::InspectorController::disableDebugger):
  • inspector/InspectorController.h:
  • inspector/InspectorFrontendHost.cpp: (WebCore::InspectorFrontendHost::setting): (WebCore::InspectorFrontendHost::setSetting):
  • inspector/InspectorFrontendHost.h:
  • inspector/InspectorFrontendHost.idl:
  • loader/EmptyClients.h: (WebCore::EmptyInspectorClient::populateSetting): (WebCore::EmptyInspectorClient::storeSetting):

WebKit/chromium

  • src/InspectorClientImpl.cpp: (WebKit::InspectorClientImpl::hiddenPanels): (WebKit::InspectorClientImpl::populateSetting): (WebKit::InspectorClientImpl::storeSetting): (WebKit::InspectorClientImpl::loadSettings): (WebKit::InspectorClientImpl::saveSettings):
  • src/InspectorClientImpl.h:

WebKit/cf

  • WebCoreSupport/WebInspectorClientCF.cpp: (WebInspectorClient::populateSetting): (WebInspectorClient::storeSetting):

WebKit/gtk

  • WebCoreSupport/InspectorClientGtk.cpp: (WebKit::InspectorClient::populateSetting): (WebKit::InspectorClient::storeSetting):
  • WebCoreSupport/InspectorClientGtk.h:

WebKit/haiku

  • WebCoreSupport/InspectorClientHaiku.cpp: (WebCore::InspectorClientHaiku::populateSetting): (WebCore::InspectorClientHaiku::storeSetting):
  • WebCoreSupport/InspectorClientHaiku.h:

WebKit/mac

  • WebCoreSupport/WebInspectorClient.h:
  • WebCoreSupport/WebInspectorClient.mm: (-[WebInspectorWindowController showWindow:]): (-[WebInspectorWindowController attach]): (-[WebInspectorWindowController detach]):

WebKit/qt

  • WebCoreSupport/InspectorClientQt.cpp: (WebCore::InspectorClientQt::populateSetting): (WebCore::InspectorClientQt::storeSetting): (WebCore::variantToSetting): (WebCore::settingToVariant):
  • WebCoreSupport/InspectorClientQt.h:

WebKit/win

  • WebCoreSupport/WebInspectorClient.cpp: (WebInspectorClient::attachWindow): (WebInspectorClient::detachWindow): (WebInspectorClient::showWindowWithoutNotifications):
  • WebCoreSupport/WebInspectorClient.h:

WebKit/wx

  • WebKitSupport/InspectorClientWx.cpp: (WebCore::InspectorClientWx::populateSetting): (WebCore::InspectorClientWx::storeSetting):
  • WebKitSupport/InspectorClientWx.h:
Location:
trunk
Files:
2 added
35 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r51627 r51631  
     12009-12-03  Pavel Feldman  <pfeldman@dhcp-172-28-174-220.spb.corp.google.com>
     2
     3        Reviewed by Timothy Hatcher.
     4
     5        Web Inspector: Simplify the settings support in inspector controller.
     6
     7        https://bugs.webkit.org/show_bug.cgi?id=32076
     8
     9        * inspector/settings-set-get-expected.txt: Added.
     10        * inspector/settings-set-get.html: Added.
     11
    1122009-12-03  Oliver Hunt  <oliver@apple.com>
    213
  • trunk/WebCore/ChangeLog

    r51630 r51631  
     12009-12-03  Pavel Feldman  <pfeldman@dhcp-172-28-174-220.spb.corp.google.com>
     2
     3        Reviewed by Timothy Hatcher.
     4
     5        Web Inspector: Simplify the settings support in inspector controller.
     6
     7        https://bugs.webkit.org/show_bug.cgi?id=32076
     8
     9        Test: inspector/settings-set-get.html
     10
     11        * WebCore.Inspector.exp:
     12        * bindings/js/JSInspectorFrontendHostCustom.cpp:
     13        * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
     14        * inspector/InspectorClient.h:
     15        * inspector/InspectorController.cpp:
     16        (WebCore::InspectorController::~InspectorController):
     17        (WebCore::InspectorController::setting):
     18        (WebCore::InspectorController::setSetting):
     19        (WebCore::InspectorController::setWindowVisible):
     20        (WebCore::InspectorController::attachWindow):
     21        (WebCore::InspectorController::setAttachedWindowHeight):
     22        (WebCore::InspectorController::storeLastActivePanel):
     23        (WebCore::InspectorController::scriptObjectReady):
     24        (WebCore::InspectorController::showWindow):
     25        (WebCore::InspectorController::enableResourceTracking):
     26        (WebCore::InspectorController::disableResourceTracking):
     27        (WebCore::InspectorController::ensureResourceTrackingSettingsLoaded):
     28        (WebCore::InspectorController::enableProfiler):
     29        (WebCore::InspectorController::disableProfiler):
     30        (WebCore::InspectorController::enableDebuggerFromFrontend):
     31        (WebCore::InspectorController::disableDebugger):
     32        * inspector/InspectorController.h:
     33        * inspector/InspectorFrontendHost.cpp:
     34        (WebCore::InspectorFrontendHost::setting):
     35        (WebCore::InspectorFrontendHost::setSetting):
     36        * inspector/InspectorFrontendHost.h:
     37        * inspector/InspectorFrontendHost.idl:
     38        * loader/EmptyClients.h:
     39        (WebCore::EmptyInspectorClient::populateSetting):
     40        (WebCore::EmptyInspectorClient::storeSetting):
     41
    1422009-12-03  Ben Murdoch  <benm@google.com>
    243
  • trunk/WebCore/WebCore.Inspector.exp

    r51072 r51631  
    1 __ZN7WebCore19InspectorController10setSettingERKNS_6StringERKNS0_7SettingE
     1__ZN7WebCore19InspectorController10setSettingERKNS_6StringES3_
    22__ZN7WebCore19InspectorController12attachWindowEv
    33__ZN7WebCore19InspectorController12detachWindowEv
  • trunk/WebCore/bindings/js/JSInspectorFrontendHostCustom.cpp

    r51528 r51631  
    9090}
    9191
    92 JSValue JSInspectorFrontendHost::setting(ExecState* exec, const ArgList& args)
    93 {
    94     if (args.size() < 1)
    95         return jsUndefined();
    96 
    97     String key = args.at(0).toString(exec);
    98     if (exec->hadException())
    99         return jsUndefined();
    100 
    101     InspectorController* ic = impl()->inspectorController();
    102     if (!ic)
    103         return jsUndefined();
    104     const InspectorController::Setting& setting = ic->setting(key);
    105 
    106     switch (setting.type()) {
    107         default:
    108         case InspectorController::Setting::NoType:
    109             return jsUndefined();
    110         case InspectorController::Setting::StringType:
    111             return jsString(exec, setting.string());
    112         case InspectorController::Setting::DoubleType:
    113             return jsNumber(exec, setting.doubleValue());
    114         case InspectorController::Setting::IntegerType:
    115             return jsNumber(exec, setting.integerValue());
    116         case InspectorController::Setting::BooleanType:
    117             return jsBoolean(setting.booleanValue());
    118         case InspectorController::Setting::StringVectorType: {
    119             MarkedArgumentBuffer stringsArray;
    120             const Vector<String>& strings = setting.stringVector();
    121             const unsigned length = strings.size();
    122             for (unsigned i = 0; i < length; ++i)
    123                 stringsArray.append(jsString(exec, strings[i]));
    124             return constructArray(exec, stringsArray);
    125         }
    126     }
    127 }
    128 
    129 JSValue JSInspectorFrontendHost::setSetting(ExecState* exec, const ArgList& args)
    130 {
    131     if (args.size() < 2)
    132         return jsUndefined();
    133 
    134     String key = args.at(0).toString(exec);
    135     if (exec->hadException())
    136         return jsUndefined();
    137 
    138     InspectorController::Setting setting;
    139 
    140     JSValue value = args.at(1);
    141     if (value.isUndefined() || value.isNull()) {
    142         // Do nothing. The setting is already NoType.
    143         ASSERT(setting.type() == InspectorController::Setting::NoType);
    144     } else if (value.isString())
    145         setting.set(value.toString(exec));
    146     else if (value.isNumber())
    147         setting.set(value.toNumber(exec));
    148     else if (value.isBoolean())
    149         setting.set(value.toBoolean(exec));
    150     else {
    151         JSArray* jsArray = asArray(value);
    152         if (!jsArray)
    153             return jsUndefined();
    154         Vector<String> strings;
    155         for (unsigned i = 0; i < jsArray->length(); ++i) {
    156             String item = jsArray->get(exec, i).toString(exec);
    157             if (exec->hadException())
    158                 return jsUndefined();
    159             strings.append(item);
    160         }
    161         setting.set(strings);
    162     }
    163 
    164     if (exec->hadException())
    165         return jsUndefined();
    166 
    167     InspectorController* ic = impl()->inspectorController();
    168     if (ic)
    169         ic->setSetting(key, setting);
    170 
    171     return jsUndefined();
    172 }
    173 
    17492} // namespace WebCore
    17593
  • trunk/WebCore/bindings/v8/custom/V8InspectorFrontendHostCustom.cpp

    r51528 r51631  
    8585}
    8686
    87 CALLBACK_FUNC_DECL(InspectorFrontendHostSetting)
    88 {
    89     INC_STATS("InspectorFrontendHost.setting()");
    90 
    91     if (args.Length() < 1)
    92         return v8::Undefined();
    93 
    94     String key = toWebCoreStringWithNullCheck(args[0]);
    95     if (key.isEmpty())
    96         return v8::Undefined();
    97 
    98     InspectorFrontendHost* inspectorHost = V8DOMWrapper::convertToNativeObject<InspectorFrontendHost>(V8ClassIndex::INSPECTORFRONTENDHOST, args.Holder());
    99     InspectorController* ic = inspectorHost->inspectorController();
    100     if (!ic)
    101         return v8::Undefined();
    102     const InspectorController::Setting& setting = ic->setting(key);
    103 
    104     switch (setting.type()) {
    105         default:
    106         case InspectorController::Setting::NoType:
    107             return v8::Undefined();
    108         case InspectorController::Setting::StringType:
    109             return v8String(setting.string());
    110         case InspectorController::Setting::DoubleType:
    111             return v8::Number::New(setting.doubleValue());
    112         case InspectorController::Setting::IntegerType:
    113             return v8::Number::New(setting.integerValue());
    114         case InspectorController::Setting::BooleanType:
    115             return v8Boolean(setting.booleanValue());
    116         case InspectorController::Setting::StringVectorType: {
    117             const Vector<String>& strings = setting.stringVector();
    118             v8::Local<v8::Array> stringsArray = v8::Array::New(strings.size());
    119             const unsigned length = strings.size();
    120             for (unsigned i = 0; i < length; ++i)
    121                 stringsArray->Set(v8::Number::New(i), v8String(strings[i]));
    122             return stringsArray;
    123         }
    124     }
    125 }
    126 
    127 CALLBACK_FUNC_DECL(InspectorFrontendHostSetSetting)
    128 {
    129     INC_STATS("InspectorFrontendHost.setSetting()");
    130     if (args.Length() < 2)
    131         return v8::Undefined();
    132 
    133     String key = toWebCoreStringWithNullCheck(args[0]);
    134     if (key.isEmpty())
    135         return v8::Undefined();
    136 
    137     InspectorController::Setting setting;
    138 
    139     v8::Local<v8::Value> value = args[1];
    140     if (value->IsUndefined() || value->IsNull()) {
    141         // Do nothing. The setting is already NoType.
    142         ASSERT(setting.type() == InspectorController::Setting::NoType);
    143     } else if (value->IsString())
    144         setting.set(toWebCoreStringWithNullCheck(value));
    145     else if (value->IsNumber())
    146         setting.set(value->NumberValue());
    147     else if (value->IsBoolean())
    148         setting.set(value->BooleanValue());
    149     else if (value->IsArray()) {
    150         v8::Local<v8::Array> v8Array = v8::Local<v8::Array>::Cast(value);
    151         Vector<String> strings;
    152         for (unsigned i = 0; i < v8Array->Length(); ++i) {
    153             String item = toWebCoreString(v8Array->Get(v8::Integer::New(i)));
    154             if (item.isEmpty())
    155                 return v8::Undefined();
    156             strings.append(item);
    157         }
    158         setting.set(strings);
    159     } else
    160         return v8::Undefined();
    161 
    162     InspectorFrontendHost* inspectorHost = V8DOMWrapper::convertToNativeObject<InspectorFrontendHost>(V8ClassIndex::INSPECTORFRONTENDHOST, args.Holder());
    163     InspectorController* ic = inspectorHost->inspectorController();
    164     if (ic)
    165         inspectorHost->inspectorController()->setSetting(key, setting);
    166 
    167     return v8::Undefined();
    168 }
    169 
    17087} // namespace WebCore
  • trunk/WebCore/inspector/InspectorClient.h

    r46558 r51631  
    6060    virtual void inspectedURLChanged(const String& newURL) = 0;
    6161
    62     virtual void populateSetting(const String& key, InspectorController::Setting&) = 0;
    63     virtual void storeSetting(const String& key, const InspectorController::Setting&) = 0;
    64     virtual void removeSetting(const String& key) = 0;
     62    virtual void populateSetting(const String& key, String* value) = 0;
     63    virtual void storeSetting(const String& key, const String& value) = 0;
    6564
    6665    virtual void inspectorWindowObjectCleared() = 0;
  • trunk/WebCore/inspector/InspectorController.cpp

    r51601 r51631  
    122122
    123123static unsigned s_inspectorControllerCount;
    124 static HashMap<String, InspectorController::Setting*>* s_settingCache;
    125124
    126125InspectorController::InspectorController(Page* page, InspectorClient* client)
     
    169168    --s_inspectorControllerCount;
    170169
    171     if (!s_inspectorControllerCount && s_settingCache) {
    172         deleteAllValues(*s_settingCache);
    173         delete s_settingCache;
    174         s_settingCache = 0;
    175     }
    176    
    177170    releaseDOMAgent();
    178171
     
    205198}
    206199
    207 const InspectorController::Setting& InspectorController::setting(const String& key) const
    208 {
    209     if (!s_settingCache)
    210         s_settingCache = new HashMap<String, Setting*>;
    211 
    212     if (Setting* cachedSetting = s_settingCache->get(key))
    213         return *cachedSetting;
    214 
    215     Setting* newSetting = new Setting;
    216     s_settingCache->set(key, newSetting);
    217 
    218     m_client->populateSetting(key, *newSetting);
    219 
    220     return *newSetting;
    221 }
    222 
    223 void InspectorController::setSetting(const String& key, const Setting& setting)
    224 {
    225     if (setting.type() == Setting::NoType) {
    226         if (s_settingCache) {
    227             Setting* cachedSetting = s_settingCache->get(key);
    228             if (cachedSetting) {
    229                 s_settingCache->remove(key);
    230                 delete cachedSetting;
    231             }
    232         }
    233 
    234         m_client->removeSetting(key);
    235         return;
    236     }
    237 
    238     if (!s_settingCache)
    239         s_settingCache = new HashMap<String, Setting*>;
    240 
    241     if (Setting* cachedSetting = s_settingCache->get(key))
    242         *cachedSetting = setting;
    243     else
    244         s_settingCache->set(key, new Setting(setting));
    245 
    246     m_client->storeSetting(key, setting);
     200String InspectorController::setting(const String& key) const
     201{
     202    Settings::iterator it = m_settings.find(key);
     203    if (it != m_settings.end())
     204        return it->second;
     205
     206    String value;
     207    m_client->populateSetting(key, &value);
     208    m_settings.set(key, value);
     209    return value;
     210}
     211
     212void InspectorController::setSetting(const String& key, const String& value)
     213{
     214    m_settings.set(key, value);
     215    m_client->storeSetting(key, value);
    247216}
    248217
     
    324293
    325294        if (m_showAfterVisible == CurrentPanel) {
    326           Setting lastActivePanelSetting = setting(lastActivePanelSettingName);
    327           if (lastActivePanelSetting.type() == Setting::StringType)
    328               m_showAfterVisible = specialPanelForJSName(lastActivePanelSetting.string());
    329           else
    330               m_showAfterVisible = ElementsPanel;
     295          String lastActivePanelSetting = setting(lastActivePanelSettingName);
     296          m_showAfterVisible = specialPanelForJSName(lastActivePanelSetting);
    331297        }
    332298
     
    440406    m_client->attachWindow();
    441407
    442     Setting attachedHeight = setting(inspectorAttachedHeightName);
    443     unsigned preferredHeight = attachedHeight.type() == Setting::IntegerType ? attachedHeight.integerValue() : defaultAttachedHeight;
     408    String attachedHeight = setting(inspectorAttachedHeightName);
     409    bool success = true;
     410    int height = attachedHeight.toInt(&success);
     411    unsigned preferredHeight = success ? height : defaultAttachedHeight;
    444412
    445413    // We need to constrain the window height here in case the user has resized the inspected page's window so that
     
    471439    unsigned attachedHeight = constrainedAttachedWindowHeight(height, totalHeight);
    472440   
    473     setSetting(inspectorAttachedHeightName, Setting(attachedHeight));
     441    setSetting(inspectorAttachedHeightName, String::number(attachedHeight));
    474442   
    475443    m_client->setAttachedWindowHeight(attachedHeight);
     
    478446void InspectorController::storeLastActivePanel(const String& panelName)
    479447{
    480     setSetting(lastActivePanelSettingName, Setting(panelName));
     448    setSetting(lastActivePanelSettingName, panelName);
    481449}
    482450
     
    550518
    551519#if ENABLE(JAVASCRIPT_DEBUGGER)
    552     Setting debuggerEnabled = setting(debuggerEnabledSettingName);
    553     if (debuggerEnabled.type() == Setting::BooleanType && debuggerEnabled.booleanValue())
     520    String debuggerEnabled = setting(debuggerEnabledSettingName);
     521    if (debuggerEnabled == "true")
    554522        enableDebugger();
    555     Setting profilerEnabled = setting(profilerEnabledSettingName);
    556     if (profilerEnabled.type() == Setting::BooleanType && profilerEnabled.booleanValue())
     523    String profilerEnabled = setting(profilerEnabledSettingName);
     524    if (profilerEnabled == "true")
    557525        enableProfiler();
    558526#endif
     
    646614    m_client->showWindow();
    647615
    648     Setting attachedHeight = setting(inspectorAttachedHeightName);
    649     unsigned preferredHeight = attachedHeight.type() == Setting::IntegerType ? attachedHeight.integerValue() : defaultAttachedHeight;
     616    String attachedHeight = setting(inspectorAttachedHeightName);
     617    bool success = true;
     618    int height = attachedHeight.toInt(&success);
     619    unsigned preferredHeight = success ? height : defaultAttachedHeight;
    650620
    651621    // This call might not go through (if the window starts out detached), but if the window is initially created attached,
     
    10781048
    10791049    if (always)
    1080         setSetting(resourceTrackingEnabledSettingName, Setting(true));
     1050        setSetting(resourceTrackingEnabledSettingName, "true");
    10811051
    10821052    if (m_resourceTrackingEnabled)
     
    10981068
    10991069    if (always)
    1100         setSetting(resourceTrackingEnabledSettingName, Setting(false));
     1070        setSetting(resourceTrackingEnabledSettingName, "false");
    11011071
    11021072    ASSERT(m_inspectedPage);
     
    11121082    m_resourceTrackingSettingsLoaded = true;
    11131083
    1114     Setting resourceTracking = setting(resourceTrackingEnabledSettingName);
    1115     if (resourceTracking.type() == Setting::BooleanType && resourceTracking.booleanValue())
     1084    String resourceTracking = setting(resourceTrackingEnabledSettingName);
     1085    if (resourceTracking == "true")
    11161086        m_resourceTrackingEnabled = true;
    11171087}
     
    15011471{
    15021472    if (always)
    1503         setSetting(profilerEnabledSettingName, Setting(true));
     1473        setSetting(profilerEnabledSettingName, "true");
    15041474
    15051475    if (m_profilerEnabled)
     
    15181488{
    15191489    if (always)
    1520         setSetting(profilerEnabledSettingName, Setting(false));
     1490        setSetting(profilerEnabledSettingName, "false");
    15211491
    15221492    if (!m_profilerEnabled)
     
    15341504{
    15351505    if (always)
    1536         setSetting(debuggerEnabledSettingName, Setting(true));
     1506        setSetting(debuggerEnabledSettingName, "true");
    15371507
    15381508    ASSERT(m_inspectedPage);
     
    15671537
    15681538    if (always)
    1569         setSetting(debuggerEnabledSettingName, Setting(false));
     1539        setSetting(debuggerEnabledSettingName, "false");
    15701540
    15711541    ASSERT(m_inspectedPage);
  • trunk/WebCore/inspector/InspectorController.h

    r51528 r51631  
    111111    } SpecialPanels;
    112112
    113     struct Setting {
    114         enum Type {
    115             NoType, StringType, StringVectorType, DoubleType, IntegerType, BooleanType
    116         };
    117 
    118         Setting()
    119             : m_type(NoType)
    120         {
    121         }
    122 
    123         explicit Setting(bool value)
    124             : m_type(BooleanType)
    125         {
    126             m_simpleContent.m_boolean = value;
    127         }
    128 
    129         explicit Setting(unsigned value)
    130             : m_type(IntegerType)
    131         {
    132             m_simpleContent.m_integer = value;
    133         }
    134 
    135         explicit Setting(const String& value)
    136             : m_type(StringType)
    137         {
    138             m_string = value;
    139         }
    140 
    141         Type type() const { return m_type; }
    142 
    143         String string() const { ASSERT(m_type == StringType); return m_string; }
    144         const Vector<String>& stringVector() const { ASSERT(m_type == StringVectorType); return m_stringVector; }
    145         double doubleValue() const { ASSERT(m_type == DoubleType); return m_simpleContent.m_double; }
    146         long integerValue() const { ASSERT(m_type == IntegerType); return m_simpleContent.m_integer; }
    147         bool booleanValue() const { ASSERT(m_type == BooleanType); return m_simpleContent.m_boolean; }
    148 
    149         void set(const String& value) { m_type = StringType; m_string = value; }
    150         void set(const Vector<String>& value) { m_type = StringVectorType; m_stringVector = value; }
    151         void set(double value) { m_type = DoubleType; m_simpleContent.m_double = value; }
    152         void set(long value) { m_type = IntegerType; m_simpleContent.m_integer = value; }
    153         void set(bool value) { m_type = BooleanType; m_simpleContent.m_boolean = value; }
    154 
    155     private:
    156         Type m_type;
    157 
    158         String m_string;
    159         Vector<String> m_stringVector;
    160 
    161         union {
    162             double m_double;
    163             long m_integer;
    164             bool m_boolean;
    165         } m_simpleContent;
    166     };
    167113    InspectorController(Page*, InspectorClient*);
    168114    ~InspectorController();
     
    179125    Page* inspectedPage() const { return m_inspectedPage; }
    180126
    181     const Setting& setting(const String& key) const;
    182     void setSetting(const String& key, const Setting&);
     127    String setting(const String& key) const;
     128    void setSetting(const String& key, const String& value);
    183129
    184130    void inspect(Node*);
     
    398344    HashMap<String, ScriptValue> m_idToWrappedObject;
    399345    ObjectGroupsMap m_objectGroups;
    400 
    401346    long m_lastBoundObjectId;
     347
     348    typedef HashMap<String, String> Settings;
     349    mutable Settings m_settings;
     350
    402351    Vector<pair<long, String> > m_pendingEvaluateTestCommands;
    403352#if ENABLE(JAVASCRIPT_DEBUGGER)
  • trunk/WebCore/inspector/InspectorFrontendHost.cpp

    r51534 r51631  
    189189}
    190190
     191String InspectorFrontendHost::setting(const String& key)
     192{
     193    return m_inspectorController ? m_inspectorController->setting(key) : "";
     194}
     195
     196void InspectorFrontendHost::setSetting(const String& key, const String& value)
     197{
     198    if (m_inspectorController)
     199        m_inspectorController->setSetting(key, value);
     200}
     201
    191202} // namespace WebCore
    192203
  • trunk/WebCore/inspector/InspectorFrontendHost.h

    r51528 r51631  
    7171    bool addSourceToFrame(const String& mimeType, const String& source, Node* frame);
    7272
     73    String setting(const String& key);
     74    void setSetting(const String& key, const String& value);
     75
    7376private:
    7477    InspectorFrontendHost(InspectorController* inspectorController, InspectorClient* client);
  • trunk/WebCore/inspector/InspectorFrontendHost.idl

    r51528 r51631  
    5252        boolean addSourceToFrame(in DOMString mimeType, in DOMString sourceValue, in Node frame);
    5353
     54        DOMString setting(in DOMString key);
     55        void setSetting(in DOMString key, in DOMString value);
     56
    5457        [Custom] void search(in Node node, in DOMString query);
    55         [Custom] DOMObject setting(in DOMString key);
    56         [Custom] void setSetting(in DOMString key, in DOMObject  value);
    5758    };
    5859}
  • trunk/WebCore/loader/EmptyClients.h

    r51629 r51631  
    483483    virtual void inspectedURLChanged(const String&) { }
    484484
    485     virtual void populateSetting(const String&, InspectorController::Setting&) { }
    486     virtual void storeSetting(const String&, const InspectorController::Setting&) { }
    487     virtual void removeSetting(const String&) { }
     485    virtual void populateSetting(const String&, String*) { }
     486    virtual void storeSetting(const String&, const String&) { }
    488487
    489488    virtual void inspectorWindowObjectCleared() { }
  • trunk/WebKit/cf/ChangeLog

    r42680 r51631  
     12009-12-03  Pavel Feldman  <pfeldman@dhcp-172-28-174-220.spb.corp.google.com>
     2
     3        Reviewed by Timothy Hatcher.
     4
     5        Web Inspector: Simplify the settings support in inspector controller.
     6
     7        https://bugs.webkit.org/show_bug.cgi?id=32076
     8
     9        * WebCoreSupport/WebInspectorClientCF.cpp:
     10        (WebInspectorClient::populateSetting):
     11        (WebInspectorClient::storeSetting):
     12
    1132009-04-20  Steve Falkenburg  <sfalken@apple.com>
    214
  • trunk/WebKit/cf/WebCoreSupport/WebInspectorClientCF.cpp

    r42680 r51631  
    6565}
    6666
    67 void WebInspectorClient::populateSetting(const String& key, InspectorController::Setting& setting)
     67void WebInspectorClient::populateSetting(const String& key, String* setting)
    6868{
    6969    RetainPtr<CFStringRef> preferencesKey(AdoptCF, createKeyForPreferences(key));
     
    7575    CFTypeID type = CFGetTypeID(value.get());
    7676    if (type == CFStringGetTypeID())
    77         setting.set(static_cast<String>(static_cast<CFStringRef>(value.get())));
     77        *setting = static_cast<String>(static_cast<CFStringRef>(value.get()));
    7878    else if (type == CFBooleanGetTypeID())
    79         setting.set(static_cast<bool>(CFBooleanGetValue(static_cast<CFBooleanRef>(value.get()))));
    80     else if (type == CFNumberGetTypeID()) {
    81         CFNumberRef number = static_cast<CFNumberRef>(value.get());
    82         if (CFNumberIsFloatType(number)) {
    83             double doubleNumber = 0.0;
    84             CFNumberGetValue(static_cast<CFNumberRef>(value.get()), kCFNumberDoubleType, &doubleNumber);
    85             setting.set(doubleNumber);
    86         } else {
    87             long longNumber = 0;
    88             CFNumberGetValue(static_cast<CFNumberRef>(value.get()), kCFNumberLongType, &longNumber);
    89             setting.set(longNumber);
    90         }
    91     } else if (type == CFArrayGetTypeID()) {
    92         Vector<String> strings;
    93 
    94         CFArrayRef array = static_cast<CFArrayRef>(value.get());
    95         unsigned length = CFArrayGetCount(array);
    96         for (unsigned i = 0; i < length; ++i) {
    97             CFStringRef string = static_cast<CFStringRef>(CFArrayGetValueAtIndex(array, i));
    98             if (CFGetTypeID(string) == CFStringGetTypeID())
    99                 strings.append(static_cast<String>(static_cast<CFStringRef>(string)));
    100         }
    101 
    102         setting.set(strings);
    103     } else
    104         ASSERT_NOT_REACHED();
     79        *setting = static_cast<bool>(CFBooleanGetValue(static_cast<CFBooleanRef>(value.get()))) ? "true" : "false";
     80    else
     81        *setting = "";
    10582}
    10683
    107 void WebInspectorClient::storeSetting(const String& key, const InspectorController::Setting& setting)
     84void WebInspectorClient::storeSetting(const String& key, const String& setting)
    10885{
    10986    RetainPtr<CFPropertyListRef> objectToStore;
    110 
    111     switch (setting.type()) {
    112         default:
    113         case InspectorController::Setting::NoType:
    114             ASSERT_NOT_REACHED();
    115             break;
    116         case InspectorController::Setting::StringType:
    117             objectToStore.adoptCF(setting.string().createCFString());
    118             break;
    119         case InspectorController::Setting::BooleanType:
    120             objectToStore = (setting.booleanValue() ? kCFBooleanTrue : kCFBooleanFalse);
    121             break;
    122 
    123         case InspectorController::Setting::DoubleType: {
    124             double value = setting.doubleValue();
    125             objectToStore.adoptCF(CFNumberCreate(0, kCFNumberDoubleType, &value));
    126             break;
    127         }
    128 
    129         case InspectorController::Setting::IntegerType: {
    130             long value = setting.integerValue();
    131             objectToStore.adoptCF(CFNumberCreate(0, kCFNumberLongType, &value));
    132             break;
    133         }
    134 
    135         case InspectorController::Setting::StringVectorType: {
    136             const Vector<String>& strings = setting.stringVector();
    137             const unsigned length = strings.size();
    138 
    139             RetainPtr<CFMutableArrayRef> array(AdoptCF, CFArrayCreateMutable(0, length, &kCFTypeArrayCallBacks));
    140 
    141             for (unsigned i = 0; i < length; ++i) {
    142                 RetainPtr<CFStringRef> string(AdoptCF, strings[i].createCFString());
    143                 CFArraySetValueAtIndex(array.get(), i, string.get());
    144             }
    145 
    146             objectToStore = array;
    147             break;
    148         }
    149     }
    150 
     87    objectToStore.adoptCF(setting.createCFString());
    15188    ASSERT(objectToStore);
    15289
     
    15491    CFPreferencesSetAppValue(preferencesKey.get(), objectToStore.get(), kCFPreferencesCurrentApplication);
    15592}
    156 
    157 void WebInspectorClient::removeSetting(const String& key)
    158 {
    159     RetainPtr<CFStringRef> preferencesKey(AdoptCF, createKeyForPreferences(key));
    160     CFPreferencesSetAppValue(preferencesKey.get(), 0, kCFPreferencesCurrentApplication);
    161 }
  • trunk/WebKit/chromium/ChangeLog

    r51629 r51631  
     12009-12-03  Pavel Feldman  <pfeldman@dhcp-172-28-174-220.spb.corp.google.com>
     2
     3        Reviewed by Timothy Hatcher.
     4
     5        Web Inspector: Simplify the settings support in inspector controller.
     6
     7        https://bugs.webkit.org/show_bug.cgi?id=32076
     8
     9        * src/InspectorClientImpl.cpp:
     10        (WebKit::InspectorClientImpl::hiddenPanels):
     11        (WebKit::InspectorClientImpl::populateSetting):
     12        (WebKit::InspectorClientImpl::storeSetting):
     13        (WebKit::InspectorClientImpl::loadSettings):
     14        (WebKit::InspectorClientImpl::saveSettings):
     15        * src/InspectorClientImpl.h:
     16
    1172009-12-03  Ben Murdoch  <benm@google.com>
    218
  • trunk/WebKit/chromium/src/InspectorClientImpl.cpp

    r50743 r51631  
    144144String InspectorClientImpl::hiddenPanels()
    145145{
    146     // Enumerate tabs that are currently disabled.
    147     return "scripts,profiles,databases";
    148 }
    149 
    150 void InspectorClientImpl::populateSetting(const String& key, InspectorController::Setting& setting)
     146    notImplemented();
     147    return "";
     148}
     149
     150void InspectorClientImpl::populateSetting(const String& key, String* value)
    151151{
    152152    loadSettings();
    153153    if (m_settings->contains(key))
    154         setting = m_settings->get(key);
    155 }
    156 
    157 void InspectorClientImpl::storeSetting(const String& key, const InspectorController::Setting& setting)
     154        *value = m_settings->get(key);
     155}
     156
     157void InspectorClientImpl::storeSetting(const String& key, const String& value)
    158158{
    159159    loadSettings();
    160     m_settings->set(key, setting);
    161     saveSettings();
    162 }
    163 
    164 void InspectorClientImpl::removeSetting(const String& key)
    165 {
    166     loadSettings();
    167     m_settings->remove(key);
     160    m_settings->set(key, value);
    168161    saveSettings();
    169162}
     
    194187        String name = decodeURLEscapeSequences(tokens[0]);
    195188        String type = tokens[1];
    196         InspectorController::Setting setting;
    197         bool ok = true;
     189        String setting;
    198190        if (type == "string")
    199             setting.set(decodeURLEscapeSequences(tokens[2]));
    200         else if (type == "double")
    201             setting.set(tokens[2].toDouble(&ok));
    202         else if (type == "integer")
    203             setting.set(static_cast<long>(tokens[2].toInt(&ok)));
     191            setting = decodeURLEscapeSequences(tokens[2]);
    204192        else if (type == "boolean")
    205             setting.set(tokens[2] == "true");
     193            setting = tokens[2];
    206194        else
    207195            continue;
    208196
    209         if (ok)
    210             m_settings->set(name, setting);
     197        m_settings->set(name, setting);
    211198    }
    212199}
     
    216203    String data;
    217204    for (SettingsMap::iterator it = m_settings->begin(); it != m_settings->end(); ++it) {
    218         String entry;
    219         InspectorController::Setting value = it->second;
    220205        String name = encodeWithURLEscapeSequences(it->first);
    221         switch (value.type()) {
    222         case InspectorController::Setting::StringType:
    223             entry = String::format(
    224                 "%s:string:%s",
    225                 name.utf8().data(),
    226                 encodeWithURLEscapeSequences(value.string()).utf8().data());
    227             break;
    228         case InspectorController::Setting::DoubleType:
    229             entry = String::format(
    230                 "%s:double:%f",
    231                 name.utf8().data(),
    232                 value.doubleValue());
    233             break;
    234         case InspectorController::Setting::IntegerType:
    235             entry = String::format(
    236                 "%s:integer:%ld",
    237                 name.utf8().data(),
    238                 value.integerValue());
    239             break;
    240         case InspectorController::Setting::BooleanType:
    241             entry = String::format("%s:boolean:%s",
    242                                    name.utf8().data(),
    243                                    value.booleanValue() ? "true" : "false");
    244             break;
    245         case InspectorController::Setting::StringVectorType:
    246             notImplemented();
    247             break;
    248         default:
    249             ASSERT_NOT_REACHED();
    250             break;
    251         }
     206        String value = it->second;
     207        String entry = String::format(
     208            "%s:string:%s",
     209            name.utf8().data(),
     210            encodeWithURLEscapeSequences(value).utf8().data());
    252211        data.append(entry);
    253212        data.append("\n");
  • trunk/WebKit/chromium/src/InspectorClientImpl.h

    r50743 r51631  
    6060    virtual void populateSetting(
    6161        const WebCore::String& key,
    62         WebCore::InspectorController::Setting&);
     62        WebCore::String* value);
    6363    virtual void storeSetting(
    6464        const WebCore::String& key,
    65         const WebCore::InspectorController::Setting&);
    66     virtual void removeSetting(const WebCore::String& key);
     65        const WebCore::String& value);
    6766    virtual void inspectorWindowObjectCleared();
    6867
     
    7473    WebViewImpl* m_inspectedWebView;
    7574
    76     typedef HashMap<WebCore::String, WebCore::InspectorController::Setting> SettingsMap;
     75    typedef HashMap<WebCore::String, WebCore::String> SettingsMap;
    7776    OwnPtr<SettingsMap> m_settings;
    7877};
  • trunk/WebKit/gtk/ChangeLog

    r51629 r51631  
     12009-12-03  Pavel Feldman  <pfeldman@dhcp-172-28-174-220.spb.corp.google.com>
     2
     3        Reviewed by Timothy Hatcher.
     4
     5        Web Inspector: Simplify the settings support in inspector controller.
     6
     7        https://bugs.webkit.org/show_bug.cgi?id=32076
     8
     9        * WebCoreSupport/InspectorClientGtk.cpp:
     10        (WebKit::InspectorClient::populateSetting):
     11        (WebKit::InspectorClient::storeSetting):
     12        * WebCoreSupport/InspectorClientGtk.h:
     13
    1142009-12-03  Ben Murdoch  <benm@google.com>
    215
  • trunk/WebKit/gtk/WebCoreSupport/InspectorClientGtk.cpp

    r50245 r51631  
    205205}
    206206
    207 
    208 void InspectorClient::populateSetting(const String& key, InspectorController::Setting& setting)
    209 {
    210     notImplemented();
    211 }
    212 
    213 void InspectorClient::storeSetting(const String& key, const InspectorController::Setting& setting)
    214 {
    215     notImplemented();
    216 }
    217 
    218 void InspectorClient::removeSetting(const String& key)
    219 {
    220     notImplemented();
    221 }
    222 
    223 }
    224 
     207void InspectorClient::populateSetting(const String& key, String* value)
     208{
     209    notImplemented();
     210}
     211
     212void InspectorClient::storeSetting(const String& key, const String& value)
     213{
     214    notImplemented();
     215}
     216
     217}
     218
  • trunk/WebKit/gtk/WebCoreSupport/InspectorClientGtk.h

    r46558 r51631  
    6767        virtual void inspectedURLChanged(const WebCore::String& newURL);
    6868
    69         virtual void populateSetting(const WebCore::String& key, WebCore::InspectorController::Setting&);
    70         virtual void storeSetting(const WebCore::String& key, const WebCore::InspectorController::Setting&);
    71         virtual void removeSetting(const WebCore::String& key);
     69        virtual void populateSetting(const WebCore::String& key, WebCore::String* value);
     70        virtual void storeSetting(const WebCore::String& key, const WebCore::String& value);
    7271
    7372        virtual void inspectorWindowObjectCleared();
  • trunk/WebKit/haiku/ChangeLog

    r51629 r51631  
     12009-12-03  Pavel Feldman  <pfeldman@dhcp-172-28-174-220.spb.corp.google.com>
     2
     3        Reviewed by Timothy Hatcher.
     4
     5        Web Inspector: Simplify the settings support in inspector controller.
     6
     7        https://bugs.webkit.org/show_bug.cgi?id=32076
     8
     9        * WebCoreSupport/InspectorClientHaiku.cpp:
     10        (WebCore::InspectorClientHaiku::populateSetting):
     11        (WebCore::InspectorClientHaiku::storeSetting):
     12        * WebCoreSupport/InspectorClientHaiku.h:
     13
    1142009-12-03  Ben Murdoch  <benm@google.com>
    215
  • trunk/WebKit/haiku/WebCoreSupport/InspectorClientHaiku.cpp

    r46558 r51631  
    106106}
    107107
    108 void InspectorClientHaiku::populateSetting(const String& key, InspectorController::Setting&)
     108void InspectorClientHaiku::populateSetting(const String& key, String* value)
    109109{
    110110    notImplemented();
    111111}
    112112
    113 void InspectorClientHaiku::storeSetting(const String& key, const InspectorController::Setting&)
    114 {
    115     notImplemented();
    116 }
    117 
    118 void InspectorClientHaiku::removeSetting(const String& key)
     113void InspectorClientHaiku::storeSetting(const String& key, const String& value)
    119114{
    120115    notImplemented();
  • trunk/WebKit/haiku/WebCoreSupport/InspectorClientHaiku.h

    r46558 r51631  
    6262        virtual void inspectedURLChanged(const String& newURL);
    6363
    64         virtual void populateSetting(const String& key, InspectorController::Setting&);
    65         virtual void storeSetting(const String& key, const InspectorController::Setting&);
    66         virtual void removeSetting(const String& key);
     64        virtual void populateSetting(const WebCore::String& key, WebCore::String* value);
     65        virtual void storeSetting(const WebCore::String& key, const WebCore::String& value);
    6766
    6867        virtual void inspectorWindowObjectCleared();
  • trunk/WebKit/mac/ChangeLog

    r51630 r51631  
     12009-12-03  Pavel Feldman  <pfeldman@dhcp-172-28-174-220.spb.corp.google.com>
     2
     3        Reviewed by Timothy Hatcher.
     4
     5        Web Inspector: Simplify the settings support in inspector controller.
     6
     7        https://bugs.webkit.org/show_bug.cgi?id=32076
     8
     9        * WebCoreSupport/WebInspectorClient.h:
     10        * WebCoreSupport/WebInspectorClient.mm:
     11        (-[WebInspectorWindowController showWindow:]):
     12        (-[WebInspectorWindowController attach]):
     13        (-[WebInspectorWindowController detach]):
     14
    1152009-12-03  Ben Murdoch  <benm@google.com>
    216
  • trunk/WebKit/mac/WebCoreSupport/WebInspectorClient.h

    r46558 r51631  
    6363    virtual void inspectedURLChanged(const WebCore::String& newURL);
    6464
    65     virtual void populateSetting(const WebCore::String& key, WebCore::InspectorController::Setting&);
    66     virtual void storeSetting(const WebCore::String& key, const WebCore::InspectorController::Setting&);
    67     virtual void removeSetting(const WebCore::String& key);
     65    virtual void populateSetting(const WebCore::String& key, WebCore::String* value);
     66    virtual void storeSetting(const WebCore::String& key, const WebCore::String& value);
    6867
    6968    virtual void inspectorWindowObjectCleared();
  • trunk/WebKit/mac/WebCoreSupport/WebInspectorClient.mm

    r49232 r51631  
    328328   
    329329    // If no preference is set - default to an attached window. This is important for inspector LayoutTests.
    330     InspectorController::Setting shouldAttach = [_inspectedWebView page]->inspectorController()->setting(inspectorStartsAttachedName);
    331     _shouldAttach = (shouldAttach.type() == InspectorController::Setting::BooleanType) ? shouldAttach.booleanValue() : true;
     330    String shouldAttach = [_inspectedWebView page]->inspectorController()->setting(inspectorStartsAttachedName);
     331    _shouldAttach = shouldAttach != "false";
    332332
    333333    if (_shouldAttach) {
     
    363363        return;
    364364
    365     [_inspectedWebView page]->inspectorController()->setSetting(inspectorStartsAttachedName, InspectorController::Setting(true));
     365    [_inspectedWebView page]->inspectorController()->setSetting(inspectorStartsAttachedName, "true");
    366366    _movingWindows = YES;
    367367
     
    377377        return;
    378378
    379     [_inspectedWebView page]->inspectorController()->setSetting(inspectorStartsAttachedName, InspectorController::Setting(false));
     379    [_inspectedWebView page]->inspectorController()->setSetting(inspectorStartsAttachedName, "false");
    380380    _movingWindows = YES;
    381381
  • trunk/WebKit/qt/ChangeLog

    r51629 r51631  
     12009-12-03  Pavel Feldman  <pfeldman@dhcp-172-28-174-220.spb.corp.google.com>
     2
     3        Reviewed by Timothy Hatcher.
     4
     5        Web Inspector: Simplify the settings support in inspector controller.
     6
     7        https://bugs.webkit.org/show_bug.cgi?id=32076
     8
     9        * WebCoreSupport/InspectorClientQt.cpp:
     10        (WebCore::InspectorClientQt::populateSetting):
     11        (WebCore::InspectorClientQt::storeSetting):
     12        (WebCore::variantToSetting):
     13        (WebCore::settingToVariant):
     14        * WebCoreSupport/InspectorClientQt.h:
     15
    1162009-12-03  Ben Murdoch  <benm@google.com>
    217
  • trunk/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp

    r50344 r51631  
    5151static const QLatin1String settingStorageTypeSuffix(".type");
    5252
    53 static InspectorController::Setting variantToSetting(const QVariant& qvariant);
    54 static QVariant settingToVariant(const InspectorController::Setting& icSetting);
     53static String variantToSetting(const QVariant& qvariant);
     54static QVariant settingToVariant(const String& value);
    5555
    5656class InspectorClientWebPage : public QWebPage {
     
    170170}
    171171
    172 void InspectorClientQt::populateSetting(const String& key, InspectorController::Setting& setting)
     172void InspectorClientQt::populateSetting(const String& key, String* setting)
    173173{
    174174    QSettings qsettings;
     
    184184    QVariant storedValue = qsettings.value(settingKey);
    185185    storedValue.convert(QVariant::nameToType(storedValueType.toAscii().data()));
    186     setting = variantToSetting(storedValue);
    187 }
    188 
    189 void InspectorClientQt::storeSetting(const String& key, const InspectorController::Setting& setting)
     186    *setting = variantToSetting(storedValue);
     187}
     188
     189void InspectorClientQt::storeSetting(const String& key, const String& setting)
    190190{
    191191    QSettings qsettings;
     
    202202}
    203203
    204 void InspectorClientQt::removeSetting(const String&)
    205 {
    206     notImplemented();
    207 }
    208 
    209 static InspectorController::Setting variantToSetting(const QVariant& qvariant)
    210 {
    211     InspectorController::Setting retVal;
     204static String variantToSetting(const QVariant& qvariant)
     205{
     206    String retVal;
    212207
    213208    switch (qvariant.type()) {
    214209    case QVariant::Bool:
    215         retVal.set(qvariant.toBool());
    216         break;
    217     case QVariant::Double:
    218         retVal.set(qvariant.toDouble());
    219         break;
    220     case QVariant::Int:
    221         retVal.set((long)qvariant.toInt());
    222         break;
     210        retVal = qvariant.toBool() ? "true" : "false";
    223211    case QVariant::String:
    224         retVal.set(qvariant.toString());
    225         break;
    226     case QVariant::StringList: {
    227         QStringList qsList = qvariant.toStringList();
    228         int listCount = qsList.count();
    229         Vector<String> vector(listCount);
    230         for (int i = 0; i < listCount; ++i)
    231             vector[i] = qsList[i];
    232         retVal.set(vector);
    233         break;
    234     }
     212        retVal = qvariant.toString();
    235213    }
    236214
     
    238216}
    239217
    240 static QVariant settingToVariant(const InspectorController::Setting& icSetting)
     218static QVariant settingToVariant(const String& setting)
    241219{
    242220    QVariant retVal;
    243 
    244     switch (icSetting.type()) {
    245     case InspectorController::Setting::StringType:
    246         retVal.setValue(static_cast<QString>(icSetting.string()));
    247         break;
    248     case InspectorController::Setting::StringVectorType: {
    249         const Vector<String>& vector = icSetting.stringVector();
    250         Vector<String>::const_iterator iter;
    251         QStringList qsList;
    252         for (iter = vector.begin(); iter != vector.end(); ++iter)
    253             qsList << *iter;
    254         retVal.setValue(qsList);
    255         break;
    256     }
    257     case InspectorController::Setting::DoubleType:
    258         retVal.setValue(icSetting.doubleValue());
    259         break;
    260     case InspectorController::Setting::IntegerType:
    261         retVal.setValue((int)icSetting.integerValue());
    262         break;
    263     case InspectorController::Setting::BooleanType:
    264         retVal.setValue(icSetting.booleanValue());
    265         break;
    266     }
    267 
     221    retVal.setValue(static_cast<QString>(setting));
    268222    return retVal;
    269223}
  • trunk/WebKit/qt/WebCoreSupport/InspectorClientQt.h

    r48288 r51631  
    6767        virtual void inspectedURLChanged(const String& newURL);
    6868
    69         virtual void populateSetting(const String& key, InspectorController::Setting&);
    70         virtual void storeSetting(const String& key, const InspectorController::Setting&);
    71         virtual void removeSetting(const String& key);
     69        virtual void populateSetting(const String& key, String* value);
     70        virtual void storeSetting(const String& key, const String& value);
    7271
    7372        virtual void inspectorWindowObjectCleared();
  • trunk/WebKit/win/ChangeLog

    r51629 r51631  
     12009-12-03  Pavel Feldman  <pfeldman@dhcp-172-28-174-220.spb.corp.google.com>
     2
     3        Reviewed by Timothy Hatcher.
     4
     5        Web Inspector: Simplify the settings support in inspector controller.
     6
     7        https://bugs.webkit.org/show_bug.cgi?id=32076
     8
     9        * WebCoreSupport/WebInspectorClient.cpp:
     10        (WebInspectorClient::attachWindow):
     11        (WebInspectorClient::detachWindow):
     12        (WebInspectorClient::showWindowWithoutNotifications):
     13        * WebCoreSupport/WebInspectorClient.h:
     14
    1152009-12-03  Ben Murdoch  <benm@google.com>
    216
  • trunk/WebKit/win/WebCoreSupport/WebInspectorClient.cpp

    r49232 r51631  
    234234        return;
    235235
    236     m_inspectedWebView->page()->inspectorController()->setSetting(inspectorStartsAttachedName, InspectorController::Setting(true));
     236    m_inspectedWebView->page()->inspectorController()->setSetting(inspectorStartsAttachedName, "true");
    237237
    238238    closeWindowWithoutNotifications();
     
    245245        return;
    246246
    247     m_inspectedWebView->page()->inspectorController()->setSetting(inspectorStartsAttachedName, InspectorController::Setting(false));
     247    m_inspectedWebView->page()->inspectorController()->setSetting(inspectorStartsAttachedName, "false");
    248248
    249249    closeWindowWithoutNotifications();
     
    351351
    352352    // If no preference is set - default to an attached window. This is important for inspector LayoutTests.
    353     InspectorController::Setting shouldAttach = m_inspectedWebView->page()->inspectorController()->setting(inspectorStartsAttachedName);
    354     m_shouldAttachWhenShown = shouldAttach.type() == InspectorController::Setting::BooleanType ? shouldAttach.booleanValue() : true;
     353    String shouldAttach = m_inspectedWebView->page()->inspectorController()->setting(inspectorStartsAttachedName);
     354    m_shouldAttachWhenShown = shouldAttach != "false";
    355355
    356356    if (!m_shouldAttachWhenShown) {
  • trunk/WebKit/win/WebCoreSupport/WebInspectorClient.h

    r46558 r51631  
    6767    virtual void inspectedURLChanged(const WebCore::String& newURL);
    6868
    69     virtual void populateSetting(const WebCore::String& key, WebCore::InspectorController::Setting&);
    70     virtual void storeSetting(const WebCore::String& key, const WebCore::InspectorController::Setting&);
    71     virtual void removeSetting(const WebCore::String& key);
     69    virtual void populateSetting(const WebCore::String& key, WebCore::String* value);
     70    virtual void storeSetting(const WebCore::String& key, const WebCore::String& value);
    7271
    7372    virtual void inspectorWindowObjectCleared();
  • trunk/WebKit/wx/ChangeLog

    r51629 r51631  
     12009-12-03  Pavel Feldman  <pfeldman@dhcp-172-28-174-220.spb.corp.google.com>
     2
     3        Reviewed by Timothy Hatcher.
     4
     5        Web Inspector: Simplify the settings support in inspector controller.
     6
     7        https://bugs.webkit.org/show_bug.cgi?id=32076
     8
     9        * WebKitSupport/InspectorClientWx.cpp:
     10        (WebCore::InspectorClientWx::populateSetting):
     11        (WebCore::InspectorClientWx::storeSetting):
     12        * WebKitSupport/InspectorClientWx.h:
     13
    1142009-12-03  Ben Murdoch  <benm@google.com>
    215
  • trunk/WebKit/wx/WebKitSupport/InspectorClientWx.cpp

    r46780 r51631  
    106106}
    107107
    108 void InspectorClientWx::populateSetting(const String& key, InspectorController::Setting& setting)
     108void InspectorClientWx::populateSetting(const String& key, String* setting)
    109109{
    110110    notImplemented();
    111111}
    112112
    113 void InspectorClientWx::storeSetting(const String& key, const InspectorController::Setting& setting)
    114 {
    115     notImplemented();
    116 }
    117 
    118 void InspectorClientWx::removeSetting(const String& key)
     113void InspectorClientWx::storeSetting(const String& key, const String& setting)
    119114{
    120115    notImplemented();
  • trunk/WebKit/wx/WebKitSupport/InspectorClientWx.h

    r46780 r51631  
    6161    virtual void inspectedURLChanged(const String& newURL);
    6262
    63     virtual void populateSetting(const String& key, InspectorController::Setting&);
    64     virtual void storeSetting(const String& key, const InspectorController::Setting&);
    65     virtual void removeSetting(const String& key);
    66    
     63    virtual void populateSetting(const String& key, String* value);
     64    virtual void storeSetting(const String& key, const String& value);
     65
    6766    virtual void inspectorWindowObjectCleared();
    6867};
Note: See TracChangeset for help on using the changeset viewer.