Changeset 25140 in webkit
- Timestamp:
- Aug 17, 2007, 7:00:40 PM (18 years ago)
- Location:
- trunk/WebKit/win
- Files:
-
- 1 added
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/WebKit/win/ChangeLog
r25139 r25140 1 2007-08-17 Adam Roben <aroben@apple.com> 2 3 Fix <rdar://5192578> Inspect Element should not appear in context menu in non-debug mode 4 5 We now follow the same logic as Mac WebKit for displaying the Inspect Element item: 6 1) If DisableWebKitDeveloperExtras is set to true, don't display it 7 2) If not, and we're in a debug build, display it 8 3) If not, and we're in a release build, display it if 9 WebKitDeveloperExtras is set to true 10 11 Reviewed by Ada. 12 13 * Interfaces/IWebPreferencesPrivate.idl: Added. 14 * WebKit.vcproj/Interfaces.vcproj: Add new IWebPreferencesPrivate.idl 15 file to project. 16 * WebKit.vcproj/WebKitGUID.vcproj: Added generated .c file for 17 IWebPreferencesPrivate to project. 18 * WebPreferenceKeysPrivate.h: Added new keys. 19 * WebPreferences.cpp: Added IID_WebPreferences. 20 (WebPreferences::postPreferencesChangesNotification): Added an explicit 21 cast needed now that WebPreferences implements two interfaces. 22 (WebPreferences::QueryInterface): Added new cases. 23 (WebPreferences::setDeveloperExtrasEnabled): Added. 24 (WebPreferences::developerExtrasEnabled): Added. 25 (WebPreferences::developerExtrasDisabledByOverride): Added. 26 * WebPreferences.h: Now implements IWebPreferencesPrivate. 27 * WebView.cpp: 28 (WebView::updateWebCoreSettingsFromPreferences): Call developerExtrasEnabled. 29 (WebView::developerExtrasEnabled): Ported from -[WebView _developerExtrasEnabled]. 30 * WebView.h: 31 1 32 2007-08-17 Adam Roben <aroben@apple.com> 2 33 -
trunk/WebKit/win/WebKit.vcproj/Interfaces.vcproj
r23398 r25140 349 349 </File> 350 350 <File 351 RelativePath="..\Interfaces\IWebPreferencesPrivate.idl" 352 > 353 </File> 354 <File 351 355 RelativePath="..\Interfaces\IWebResource.idl" 352 356 > -
trunk/WebKit/win/WebKit.vcproj/WebKitGUID.vcproj
r23357 r25140 210 210 > 211 211 </File> 212 212 <File 213 213 RelativePath="$(WebKitOutputDir)\obj\WebKit\Interfaces\IWebDebugProgram_i.c" 214 214 > 215 216 215 </File> 216 <File 217 217 RelativePath="$(WebKitOutputDir)\obj\WebKit\Interfaces\IWebDocument_i.c" 218 218 > … … 308 308 <File 309 309 RelativePath="$(WebKitOutputDir)\obj\WebKit\Interfaces\IWebPreferences_i.c" 310 > 311 </File> 312 <File 313 RelativePath="$(WebKitOutputDir)\obj\WebKit\Interfaces\IWebPreferencesPrivate_i.c" 310 314 > 311 315 </File> -
trunk/WebKit/win/WebPreferenceKeysPrivate.h
r25074 r25140 97 97 // If this key is present and has a value of true, we have already removed the default values from the user's preferences <rdar://problem/5214504> 98 98 #define WebKitDidMigrateDefaultSettingsFromSafari3BetaPreferenceKey "WebKitDidMigrateDefaultSettingsFromSafari3BetaPreferenceKey" 99 100 #define WebKitDeveloperExtrasEnabledPreferenceKey "WebKitDeveloperExtras" 101 #define DisableWebKitDeveloperExtrasPreferenceKey "DisableWebKitDeveloperExtras" -
trunk/WebKit/win/WebPreferences.cpp
r25139 r25140 47 47 #include <wtf/Vector.h> 48 48 49 #include <initguid.h> 50 // {A20B5645-692D-4147-BF80-E8CD84BE82A1} 51 DEFINE_GUID(IID_WebPreferences, 0xa20b5645, 0x692d, 0x4147, 0xbf, 0x80, 0xe8, 0xcd, 0x84, 0xbe, 0x82, 0xa1); 52 49 53 static unsigned long long WebSystemMainMemory() 50 54 { … … 97 101 { 98 102 IWebNotificationCenter* nc = WebNotificationCenter::defaultCenterInternal(); 99 HRESULT hr = nc->postNotificationName(webPreferencesChangedNotification(), this, 0);103 HRESULT hr = nc->postNotificationName(webPreferencesChangedNotification(), static_cast<IWebPreferences*>(this), 0); 100 104 if (FAILED(hr)) 101 105 return hr; … … 551 555 else if (IsEqualGUID(riid, IID_IWebPreferences)) 552 556 *ppvObject = static_cast<IWebPreferences*>(this); 557 else if (IsEqualGUID(riid, IID_IWebPreferencesPrivate)) 558 *ppvObject = static_cast<IWebPreferencesPrivate*>(this); 559 else if (IsEqualGUID(riid, IID_WebPreferences)) 560 *ppvObject = static_cast<WebPreferences*>(this); 553 561 else 554 562 return E_NOINTERFACE; … … 1149 1157 return S_OK; 1150 1158 } 1159 1160 HRESULT WebPreferences::setDeveloperExtrasEnabled(BOOL enabled) 1161 { 1162 setBoolValue(CFSTR(WebKitDeveloperExtrasEnabledPreferenceKey), enabled); 1163 return S_OK; 1164 } 1165 1166 HRESULT WebPreferences::developerExtrasEnabled(BOOL* enabled) 1167 { 1168 if (!enabled) 1169 return E_POINTER; 1170 1171 *enabled = boolValueForKey(CFSTR(WebKitDeveloperExtrasEnabledPreferenceKey)); 1172 return S_OK; 1173 } 1174 1175 bool WebPreferences::developerExtrasDisabledByOverride() 1176 { 1177 return !!boolValueForKey(CFSTR(DisableWebKitDeveloperExtrasPreferenceKey)); 1178 } -
trunk/WebKit/win/WebPreferences.h
r25139 r25140 28 28 29 29 #include "IWebPreferences.h" 30 #include "IWebPreferencesPrivate.h" 30 31 #include <CoreFoundation/CoreFoundation.h> 31 32 #include <WebCore/BString.h> 32 33 #include <wtf/RetainPtr.h> 33 34 34 class WebPreferences : public IWebPreferences { 35 // {A20B5645-692D-4147-BF80-E8CD84BE82A1} 36 DEFINE_GUID(IID_WebPreferences, 0xa20b5645, 0x692d, 0x4147, 0xbf, 0x80, 0xe8, 0xcd, 0x84, 0xbe, 0x82, 0xa1); 37 38 class WebPreferences : public IWebPreferences, public IWebPreferencesPrivate { 35 39 public: 36 40 static WebPreferences* createInstance(); … … 272 276 /* [in] */ BOOL enabled); 273 277 278 // IWebPreferencesPrivate 279 virtual HRESULT STDMETHODCALLTYPE setDeveloperExtrasEnabled( 280 /* [in] */ BOOL); 281 282 virtual HRESULT STDMETHODCALLTYPE developerExtrasEnabled( 283 /* [retval][out] */ BOOL*); 284 285 274 286 // WebPreferences 287 288 // This method accesses a different preference key than developerExtrasEnabled. 289 // See <rdar://5343767> for the justification. 290 bool developerExtrasDisabledByOverride(); 291 275 292 static BSTR webPreferencesChangedNotification(); 276 293 static void setInstance(WebPreferences* instance, BSTR identifier); -
trunk/WebKit/win/WebView.cpp
r25139 r25140 1521 1521 settings->setForceFTPDirectoryListings(true); 1522 1522 1523 // FIXME: make this read a preference like the Mac's WebKitDeveloperExtras 1524 // or when Safari's IncludeDebugMenu is set 1525 settings->setDeveloperExtrasEnabled(true); 1523 settings->setDeveloperExtrasEnabled(developerExtrasEnabled()); 1526 1524 1527 1525 m_mainFrame->invalidate(); // FIXME 1528 1526 1529 1527 return S_OK; 1528 } 1529 1530 bool WebView::developerExtrasEnabled() const 1531 { 1532 COMPtr<WebPreferences> webPrefs; 1533 if (SUCCEEDED(m_preferences->QueryInterface(IID_WebPreferences, (void**)&webPrefs)) && webPrefs->developerExtrasDisabledByOverride()) 1534 return false; 1535 1536 #ifdef NDEBUG 1537 BOOL enabled = FALSE; 1538 COMPtr<IWebPreferencesPrivate> prefsPrivate; 1539 return SUCCEEDED(m_preferences->QueryInterface(&prefsPrivate)) && SUCCEEDED(prefsPrivate->developerExtrasEnabled(&enabled)) && enabled; 1540 #else 1541 return true; 1542 #endif 1530 1543 } 1531 1544 -
trunk/WebKit/win/WebView.h
r24469 r25140 682 682 bool onIMERequestCharPosition(WebCore::Frame*, IMECHARPOSITION*, LRESULT*); 683 683 bool onIMERequestReconvertString(WebCore::Frame*, RECONVERTSTRING*, LRESULT*); 684 bool developerExtrasEnabled() const; 684 685 685 686 ULONG m_refCount;
Note:
See TracChangeset
for help on using the changeset viewer.