1 2008-02-28 Adam Roben <aroben@apple.com>
3 Change WebPreferences to be backed by CFPreferences
5 Reviewed by Ada, Geoff, Steve, and Darin.
7 * WebPreferenceKeysPrivate.h:
9 (WebPreferences::sharedStandardPreferences): Changed to call
10 setAutoSaves(TRUE) before calling load(). This ensures that the
11 preferences being migrated to CFPreferences are saved to disk.
12 (WebPreferences::valueForKey): Changed to return a RetainPtr to ensure
13 that the refcount is managed properly. Now attempts to retrieve a
14 value from CFPreferences before falling back to the default settings.
15 (WebPreferences::setValueForKey): Now saves the value in
16 CFPreferences if m_autoSaves is true.
17 (WebPreferences::stringValueForKey): Updated for valueForKey changes.
18 (WebPreferences::integerValueForKey): DItto.
19 (WebPreferences::boolValueForKey): Ditto.
20 (WebPreferences::floatValueForKey): Ditto.
21 (WebPreferences::save): Now simply calls CFPreferencesAppSynchronize.
22 (WebPreferences::load): Always initializes m_privatePrefs to an empty
24 (WebPreferences::migrateWebKitPreferencesToCFPreferences): Migrates
25 preferences from our old custom plist to CFPreferences and then
26 deletes our custom plist, if the migration has never occurred before.
27 (WebPreferences::copyWebKitPreferencesToCFPreferences): Copies
28 preferences to CFPreferences. If we've never migrated the default
29 settings from Safari 3 Beta before, we omit them from this copying
33 2008-02-28 Adam Roben <aroben@apple.com>
35 Refactor value <-> CFNumber conversions into some helper functions
40 (preferencesPath): Changed to return a const String&.
41 (numberValueForPreferencesValue): Converts a value from preferences to
42 a native numeric type.
43 (cfNumber): Converts a native numeric value to a CFNumberRef.
44 (booleanValueForPreferencesValue): Converts a value from preferences
46 (WebPreferences::integerValueForKey): Changed to call
47 numberValueForPreferencesValue.
48 (WebPreferences::floatValueForKey): Ditto.
49 (WebPreferences::boolValueForKey): Changed to call
50 booleanValueForPreferencesValue.
51 (WebPreferences::setIntegerValue): Changed to call cfNumber.
52 (WebPreferences::setLongLongValue): Ditto.
54 2008-02-27 Adam Roben <aroben@apple.com>
56 Add WebPreferences::setValueForKey
58 This is just a small refactoring of some duplicated logic into a
64 (WebPreferences::setValueForKey): Added.
65 (WebPreferences::setStringValue): Call setValueForKey.
66 (WebPreferences::setIntegerValue): Ditto.
67 (WebPreferences::setBoolValue): Ditto.
68 (WebPreferences::setLongLongValue): Ditto.
71 2008-02-27 Adam Roben <aroben@apple.com>
73 Remove WebPreferences' static members
75 s_defaultSettings is now a file-level static, and
76 s_standardPreferences has been removed completely (it wasn't being
82 (WebPreferences::initializeDefaultSettings):
83 (WebPreferences::valueForKey):
84 (WebPreferences::migrateDefaultSettingsFromSafari3Beta):
85 (WebPreferences::removeValuesMatchingDefaultSettings):
88 2008-02-29 Steve Falkenburg <sfalken@apple.com>
90 Don't free the VARIANT passed into Write, since it is an input parameter owned by the caller.
91 Found via code inspection.
95 * WebActionPropertyBag.cpp:
96 (WebActionPropertyBag::Write):
97 * WebElementPropertyBag.cpp:
98 (WebElementPropertyBag::Write):
100 2008-02-27 Matt Lilek <webkit@mattlilek.com>
102 Reviewed by Adam Roben.
104 Bug 14348: Messing up the inspector by dragging an URL into it
105 http://bugs.webkit.org/show_bug.cgi?id=14348
106 <rdar://problem/5283620> and <rdar://problem/5712808>
108 Add a new class to handle the Inspector's delegate calls.
110 * WebCoreSupport/WebInspectorClient.cpp:
111 (WebInspectorClient::createPage):
112 * WebCoreSupport/WebInspectorDelegate.cpp: Added.
114 (WebInspectorDelegate::createInstance):
115 (WebInspectorDelegate::AddRef):
116 (WebInspectorDelegate::Release):
117 (WebInspectorDelegate::dragDestinationActionMaskForDraggingInfo):
118 * WebCoreSupport/WebInspectorDelegate.h: Added.
119 (WebInspectorDelegate::QueryInterface):
120 (WebInspectorDelegate::createWebViewWithRequest):
121 (WebInspectorDelegate::webViewShow):
122 (WebInspectorDelegate::webViewClose):
123 (WebInspectorDelegate::webViewFocus):
124 (WebInspectorDelegate::webViewUnfocus):
125 (WebInspectorDelegate::webViewFirstResponder):
126 (WebInspectorDelegate::makeFirstResponder):
127 (WebInspectorDelegate::setStatusText):
128 (WebInspectorDelegate::webViewStatusText):
129 (WebInspectorDelegate::webViewAreToolbarsVisible):
130 (WebInspectorDelegate::setToolbarsVisible):
131 (WebInspectorDelegate::webViewIsStatusBarVisible):
132 (WebInspectorDelegate::setStatusBarVisible):
133 (WebInspectorDelegate::webViewIsResizable):
134 (WebInspectorDelegate::setResizable):
135 (WebInspectorDelegate::setFrame):
136 (WebInspectorDelegate::webViewFrame):
137 (WebInspectorDelegate::setContentRect):
138 (WebInspectorDelegate::webViewContentRect):
139 (WebInspectorDelegate::runJavaScriptAlertPanelWithMessage):
140 (WebInspectorDelegate::runJavaScriptConfirmPanelWithMessage):
141 (WebInspectorDelegate::runJavaScriptTextInputPanelWithPrompt):
142 (WebInspectorDelegate::runBeforeUnloadConfirmPanelWithMessage):
143 (WebInspectorDelegate::runOpenPanelForFileButtonWithResultListener):
144 (WebInspectorDelegate::mouseDidMoveOverElement):
145 (WebInspectorDelegate::contextMenuItemsForElement):
146 (WebInspectorDelegate::validateUserInterfaceItem):
147 (WebInspectorDelegate::shouldPerformAction):
148 (WebInspectorDelegate::willPerformDragDestinationAction):
149 (WebInspectorDelegate::dragSourceActionMaskForPoint):
150 (WebInspectorDelegate::willPerformDragSourceAction):
151 (WebInspectorDelegate::contextMenuItemSelected):
152 (WebInspectorDelegate::hasCustomMenuImplementation):
153 (WebInspectorDelegate::trackCustomPopupMenu):
154 (WebInspectorDelegate::measureCustomMenuItem):
155 (WebInspectorDelegate::drawCustomMenuItem):
156 (WebInspectorDelegate::addCustomMenuDrawingData):
157 (WebInspectorDelegate::cleanUpCustomMenuDrawingData):
158 (WebInspectorDelegate::canTakeFocus):
159 (WebInspectorDelegate::takeFocus):
160 (WebInspectorDelegate::registerUndoWithTarget):
161 (WebInspectorDelegate::removeAllActionsWithTarget):
162 (WebInspectorDelegate::setActionTitle):
163 (WebInspectorDelegate::undo):
164 (WebInspectorDelegate::redo):
165 (WebInspectorDelegate::canUndo):
166 (WebInspectorDelegate::canRedo):
167 * WebKit.vcproj/WebKit.vcproj:
169 2008-02-26 Adam Roben <aroben@apple.com>
171 Move ResourceLoadDelegate methods to WebFrameLoaderClient
173 Changed all methods to use early returns where possible and COMPtr's
174 AdoptCOM/Query constructors.
178 * WebCoreSupport/WebFrameLoaderClient.cpp:
179 (WebFrameLoaderClient::assignIdentifierToInitialRequest):
180 (WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
181 (WebFrameLoaderClient::dispatchDidCancelAuthenticationChallenge):
182 (WebFrameLoaderClient::dispatchWillSendRequest):
183 (WebFrameLoaderClient::dispatchDidReceiveResponse):
184 (WebFrameLoaderClient::dispatchDidReceiveContentLength):
185 (WebFrameLoaderClient::dispatchDidFinishLoading):
186 (WebFrameLoaderClient::dispatchDidFailLoading):
187 * WebCoreSupport/WebFrameLoaderClient.h:
191 2008-02-26 Adam Roben <aroben@apple.com>
193 Move two more methods to WebFrameLoaderClient
197 * WebCoreSupport/WebFrameLoaderClient.cpp:
199 (WebFrameLoaderClient::dispatchCreatePage): Changed nested ifs to
200 early returns, and changed to use the COMPtr Query constructor.
201 (WebFrameLoaderClient::dispatchDidLoadMainResource): Added an early
202 return, and changed to use getWebDataSource.
203 * WebCoreSupport/WebFrameLoaderClient.h:
207 2008-02-26 Adam Roben <aroben@apple.com>
209 Get rid of IID_WebFrame
213 * WebFrame.cpp: Removed IID_WebFrame definition.
214 (WebFrame::QueryInterface): Use __uuidof(WebFrame) instead of
216 (WebFrame::isDescendantOfFrame): Use COMPtr's Query constructor
217 instead of a manual QueryInterface.
218 * WebFrame.h: Removed IID_WebFrame declaration, gave WebFrame a
221 2008-02-26 Adam Roben <aroben@apple.com>
223 Move WebHistory-related methods to WebFrameLoaderClient
227 * WebCoreSupport/WebFrameLoaderClient.cpp:
228 (WebFrameLoaderClient::updateGlobalHistory):
229 (WebFrameLoaderClient::shouldGoToHistoryItem):
230 (WebFrameLoaderClient::setTitle): Changed some nested ifs into early
232 (WebFrameLoaderClient::webHistory): Changed to return a COMPtr to
233 make the reference management foolproof.
234 * WebCoreSupport/WebFrameLoaderClient.h:
238 2008-02-26 Adam Roben <aroben@apple.com>
240 Move cache-related methods to WebFrameLoaderClient
244 * WebCoreSupport/WebFrameLoaderClient.cpp:
245 (getWebDataSource): Moved to the top of the file.
246 (WebFrameLoaderClient::savePlatformDataToCachedPage):
247 (WebFrameLoaderClient::transitionToCommittedForNewPage):
248 (WebFrameLoaderClient::canCachePage):
249 * WebCoreSupport/WebFrameLoaderClient.h:
253 2008-02-25 Adam Roben <aroben@apple.com>
255 Move plugin-related methods to WebFrameLoaderClient
259 * WebCoreSupport/WebFrameLoaderClient.cpp:
260 (WebFrameLoaderClient::WebFrameLoaderClient):
261 (WebFrameLoaderClient::setMainDocumentError):
262 (WebFrameLoaderClient::committedLoad): Added some early returns.
263 (WebFrameLoaderClient::receivedData):
264 (WebFrameLoaderClient::finishedLoading): Ditto.
266 (WebFrameLoaderClient::createPlugin):
267 * WebCoreSupport/WebFrameLoaderClient.h:
269 (WebFrame::WebFramePrivate::WebFramePrivate):
272 2008-02-25 Adam Roben <aroben@apple.com>
274 Move createFrame to WebFrameLoaderClient
278 * WebCoreSupport/WebFrameLoaderClient.cpp:
279 (WebFrameLoaderClient::createFrame):
280 (WebFrameLoaderClient::loadURLIntoChild):
281 * WebCoreSupport/WebFrameLoaderClient.h:
285 2008-02-25 Adam Roben <aroben@apple.com>
287 Move progress-related methods to WebFrameLoaderClient
291 * WebCoreSupport/WebFrameLoaderClient.cpp:
292 (WebFrameLoaderClient::postProgressStartedNotification):
293 (WebFrameLoaderClient::postProgressEstimateChangedNotification):
294 (WebFrameLoaderClient::postProgressFinishedNotification):
295 * WebCoreSupport/WebFrameLoaderClient.h:
299 2008-02-25 Adam Roben <aroben@apple.com>
301 Remove WebFrame::detachedFromParent1
303 This method was removed from FrameLoaderClient in r19042, but was
304 never removed from WebFrame.
311 2008-02-23 Adam Roben <aroben@apple.com>
313 Move many dispatch methods to WebFrameLoaderClient
317 * WebCoreSupport/WebFrameLoaderClient.cpp:
318 (WebFrameLoaderClient::dispatchDidHandleOnloadEvents):
319 (WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
320 (WebFrameLoaderClient::dispatchDidCancelClientRedirect):
321 (WebFrameLoaderClient::dispatchWillPerformClientRedirect):
322 (WebFrameLoaderClient::dispatchDidChangeLocationWithinPage):
323 (WebFrameLoaderClient::dispatchWillClose):
324 (WebFrameLoaderClient::dispatchDidReceiveIcon):
325 (WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
326 (WebFrameLoaderClient::dispatchDidReceiveTitle):
327 (WebFrameLoaderClient::dispatchDidCommitLoad):
328 (WebFrameLoaderClient::dispatchDidFinishDocumentLoad):
329 (WebFrameLoaderClient::dispatchDidFinishLoad):
330 (WebFrameLoaderClient::dispatchDidFirstLayout):
331 (WebFrameLoaderClient::dispatchShow):
332 * WebCoreSupport/WebFrameLoaderClient.h:
336 2008-02-23 Adam Roben <aroben@apple.com>
338 Move two more methods to WebFrameLoaderClient
342 * WebCoreSupport/WebFrameLoaderClient.cpp:
343 (WebFrameLoaderClient::hasFrameView):
344 (WebFrame::forceLayout):
345 * WebCoreSupport/WebFrameLoaderClient.h:
349 2008-02-24 Darin Adler <darin@apple.com>
353 - remove separate client calls for "standard" and "reload' history
356 (WebFrame::updateGlobalHistory):
359 2008-02-23 Brent Fulgham <bfulgham@gmail.com>
361 Not reviewed, build fix.
363 * WebIconDatabase.cpp:
366 2008-02-22 Adam Roben <aroben@apple.com>
368 Move hasWebView to WebFrameLoaderClient
370 I added an m_webFrame member to WebFrameLoaderClient. This is slightly
371 strange because WebFrame inherits from WebFrameLoaderClient, but this
372 member will be needed once we remove the inheritance, so we might as
373 well prepare for that now.
377 * WebCoreSupport/WebFrameLoaderClient.cpp:
378 (WebFrameLoaderClient::WebFrameLoaderClient): Changed to take a
380 (WebFrameLoaderClient::hasWebView): Moved here from WebFrame.cpp.
381 * WebCoreSupport/WebFrameLoaderClient.h: Added an m_webFrame
383 * WebFrame.cpp: Removed hasWebView.
384 (WebFrame::WebFrame): Updated for WebFrameLoaderClient constructor
388 2008-02-22 Adam Roben <aroben@apple.com>
390 Start to move FrameLoaderClient methods off WebFrame onto a separate class
392 WebFrame now inherits from a new WebFrameLoaderClient class, which
393 will gradually assume all FrameLoaderClient responsibilities. Once
394 that process is complete, WebFrame will no longer inherit from
395 WebFrameLoaderClient.
397 In this first patch, I've only moved createDocumentLoader up to the
398 WebFrameLoaderClient class.
402 * WebCoreSupport/WebFrameLoaderClient.cpp: Added.
403 (WebFrameLoaderClient::WebFrameLoaderClient):
404 (WebFrameLoaderClient::~WebFrameLoaderClient):
405 (WebFrameLoaderClient::createDocumentLoader): Moved here from
407 * WebCoreSupport/WebFrameLoaderClient.h: Added.
408 * WebFrame.cpp: Removed createDocumentLoader implementation.
409 * WebFrame.h: Changed to inherit from WebFrameLoaderClient.
410 * WebKit.vcproj/WebKit.vcproj: Added new files to the project.
412 2008-02-22 Adam Roben <aroben@apple.com>
414 Move FormValuesPropertyBag into its own files
418 * WebCoreSupport/FormValuesPropertyBag.cpp: Added.
419 (FormValuesPropertyBag::QueryInterface):
420 (FormValuesPropertyBag::AddRef):
421 (FormValuesPropertyBag::Release):
422 (FormValuesPropertyBag::Read):
423 (FormValuesPropertyBag::Write):
424 (FormValuesPropertyBag::CountProperties):
425 (FormValuesPropertyBag::GetPropertyInfo):
426 (FormValuesPropertyBag::LoadObject):
427 * WebCoreSupport/FormValuesPropertyBag.h: Added.
428 (FormValuesPropertyBag::FormValuesPropertyBag):
429 * WebFrame.cpp: Deleted FormValuesPropertyBag code.
430 * WebKit.vcproj/WebKit.vcproj: Added new files to the project.
432 2008-02-22 Adam Roben <aroben@apple.com>
434 Remove some unused WebFrame methods
436 FrameWinClient was deleted back in r22965, but these methods were
442 * WebFrame.h: Made one createFrame overload protected, since it's only
443 called internally by WebFrame.
445 2008-02-21 Adam Roben <aroben@apple.com>
447 Move Client implementations into a WebCoreSupport directory
451 * WebKit.vcproj/WebKit.vcproj: Updated file paths, and added
452 WebCoreSupport directory to the include path.
453 * WebCoreSupport/WebChromeClient.cpp: Renamed from WebKit/win/WebChromeClient.cpp.
454 * WebCoreSupport/WebChromeClient.h: Renamed from WebKit/win/WebChromeClient.h.
455 * WebCoreSupport/WebContextMenuClient.cpp: Renamed from WebKit/win/WebContextMenuClient.cpp.
456 * WebCoreSupport/WebContextMenuClient.h: Renamed from WebKit/win/WebContextMenuClient.h.
457 * WebCoreSupport/WebDragClient.cpp: Renamed from WebKit/win/WebDragClient.cpp.
458 * WebCoreSupport/WebDragClient.h: Renamed from WebKit/win/WebDragClient.h.
459 * WebCoreSupport/WebEditorClient.cpp: Renamed from WebKit/win/WebEditorClient.cpp.
460 * WebCoreSupport/WebEditorClient.h: Renamed from WebKit/win/WebEditorClient.h.
461 * WebCoreSupport/WebInspectorClient.cpp: Renamed from WebKit/win/WebInspectorClient.cpp.
462 * WebCoreSupport/WebInspectorClient.h: Renamed from WebKit/win/WebInspectorClient.h.
464 2008-02-20 Sam Weinig <sam@webkit.org>
466 Reviewed by Darin and Geoff.
468 - WebKit part of <rdar://problem/5754378> work around missing video on YouTube front page with a site-specific hack
471 (WebView::notifyPreferencesChanged): Added a call to Settings::setNeedsSiteSpecificQuirks.
472 (WebView::setAllowSiteSpecificHacks): Added a comment about the problem Darin noticed, where
473 after you disable the site-specific hacks they persist until you open a new window or tweak
474 some other preference.
476 2008-02-19 Darin Adler <darin@apple.com>
481 (WebFrame::renderTreeAsExternalRepresentation): Changed to use String instead
484 2008-02-18 Steve Falkenburg <sfalken@apple.com>
486 Make Drosera work on Vista.
488 Runtime type library registration on Vista requires use of two new call:
489 RegisterTypeLibraryForUser and UnRegisterTypeLibraryForUser, which write to
490 HKCU. LoadTypeLib[Ex] registers under HKLM, which fails under vista due to UAC.
495 (DllUnregisterServer): Call UnRegisterTypeLibraryForUser if available. Fix version number.
496 (DllRegisterServer): Call RegisterTypeLibraryForUser if available.
498 2008-02-18 Matt Lilek <webkit@mattlilek.com>
502 Remove FindSafari's Release configuration.
504 * WebKit.vcproj/WebKit.sln:
506 2008-02-16 Alexey Proskuryakov <ap@webkit.org>
510 http://bugs.webkit.org/show_bug.cgi?id=17397
511 <rdar://problem/5748245> REGRESSION (r30236-30336): Cannot backspace/enter in forms on Windows
513 * WebKit.vcproj/WebKit.vcproj: Add ENABLE_CROSS_DOCUMENT_MESSAGING definitions.
515 2008-02-15 Darin Adler <darin@apple.com>
519 - quick fix for a problem causing an assertion on launch
522 (WebFrame::loadData): Make an empty KURL even if the BSTR is null.
523 Later we might want to rethink this.
525 2008-02-14 Darin Adler <darin@apple.com>
527 - updated for WebCore KURL changes
529 * MarshallingHelpers.cpp:
530 (MarshallingHelpers::BSTRToKURL): Removed deprecatedString call.
531 (MarshallingHelpers::KURLToBSTR): Tweaked for efficiency.
532 * WebContextMenuClient.cpp:
533 (WebContextMenuClient::searchWithGoogle): Updated for KURL changes.
535 (WebDataSource::unreachableURL): Ditto.
537 (WebDownload::init): Ditto.
538 (WebDownload::initWithRequest): Ditto.
540 (WebFrame::loadData): Ditto.
541 (WebFrame::loadURLIntoChild): Ditto.
542 (WebFrame::objectContentType): Ditto.
544 (WebResource::initWithData): Ditto.
545 * WebURLResponse.cpp:
546 (WebURLResponse::createInstance): Ditto.
547 (WebURLResponse::initWithURL): Ditto.
549 (WebView::userAgentForURL): Ditto.
550 (WebView::copyURL): Ditto.
551 (WebView::notifyPreferencesChanged): Ditto.
553 2008-02-14 Alexey Proskuryakov <ap@webkit.org>
555 * WebChromeClient.cpp: (WebChromeClient::exceededDatabaseQuota): Forgot to re-apply review comments to
556 the previous check-in, fixing.
558 2008-02-14 Alexey Proskuryakov <ap@webkit.org>
560 Reviewed by Adam Roben.
562 http://bugs.webkit.org/show_bug.cgi?id=17207
563 Database example doesn't work (requires not-yet-released Safari)
565 * WebChromeClient.cpp:
566 (WebChromeClient::exceededDatabaseQuota): Check Safari version, and allow 5 megabytes of storage
569 2008-02-13 Ada Chan <adachan@apple.com>
571 <rdar://problem/5740656> Leak in postDidAddIconNotification in WebIconDatabase
575 * WebIconDatabase.cpp:
576 (postDidAddIconNotification): Need to adopt the newly created instance of CFDictionaryPropertyBag,
577 which already has a ref count of 1.
579 2008-02-13 Rodney Dawes <dobey@wayofthemonkey.com>
581 Fix Bug 17220: Illogical dependency between PluginView and
584 <http://bugs.webkit.org/show_bug.cgi?id=17220>
586 Reviewed by Adam and Darin.
588 Update for the rename of PluginDatabase::createPluginView
589 to PluginView::create
593 2008-02-13 Adam Roben <aroben@apple.com>
597 * Interfaces/WebKit.idl: Create the typelib version symbol ourselves.
599 2008-02-12 Steve Falkenburg <sfalken@apple.com>
601 Use a precompiled header to build WebKit.
605 * WebKit.vcproj/WebKit.vcproj:
606 * WebKitPrefix.cpp: Added.
607 * WebKitPrefix.h: Added.
609 2008-02-12 Steve Falkenburg <sfalken@apple.com>
611 Changes to support merged MIDL output.
613 All COM interfaces are now generated to WebKit.h.
615 Reviewed by Sam, Ada.
619 * DOMEventsClasses.h:
621 * DefaultDownloadDelegate.h:
622 * DefaultPolicyDelegate.cpp:
623 * DefaultPolicyDelegate.h:
625 * Interfaces/DOMCSS.idl:
626 * Interfaces/DOMCore.idl:
627 * Interfaces/DOMEvents.idl:
628 * Interfaces/DOMExtensions.idl:
629 * Interfaces/DOMHTML.idl:
630 * Interfaces/DOMPrivate.idl:
631 * Interfaces/DOMRange.idl:
632 * Interfaces/DOMWindow.idl:
633 * Interfaces/IGEN_DOMObject.idl:
634 * Interfaces/IWebArchive.idl:
635 * Interfaces/IWebBackForwardList.idl:
636 * Interfaces/IWebBackForwardListPrivate.idl:
637 * Interfaces/IWebCache.idl:
638 * Interfaces/IWebDataSource.idl:
639 * Interfaces/IWebDatabaseManager.idl:
640 * Interfaces/IWebDocument.idl:
641 * Interfaces/IWebDownload.idl:
642 * Interfaces/IWebEditingDelegate.idl:
643 * Interfaces/IWebError.idl:
644 * Interfaces/IWebErrorPrivate.idl:
645 * Interfaces/IWebFormDelegate.idl:
646 * Interfaces/IWebFrame.idl:
647 * Interfaces/IWebFrameLoadDelegate.idl:
648 * Interfaces/IWebFrameLoadDelegatePrivate.idl:
649 * Interfaces/IWebFramePrivate.idl:
650 * Interfaces/IWebFrameView.idl:
651 * Interfaces/IWebHTMLRepresentation.idl:
652 * Interfaces/IWebHTTPURLResponse.idl:
653 * Interfaces/IWebHistory.idl:
654 * Interfaces/IWebHistoryItem.idl:
655 * Interfaces/IWebHistoryItemPrivate.idl:
656 * Interfaces/IWebIconDatabase.idl:
657 * Interfaces/IWebInspector.idl:
658 * Interfaces/IWebJavaScriptCollector.idl:
659 * Interfaces/IWebKitStatistics.idl:
660 * Interfaces/IWebMutableURLRequest.idl:
661 * Interfaces/IWebMutableURLRequestPrivate.idl:
662 * Interfaces/IWebNotification.idl:
663 * Interfaces/IWebNotificationCenter.idl:
664 * Interfaces/IWebNotificationObserver.idl:
665 * Interfaces/IWebPolicyDelegate.idl:
666 * Interfaces/IWebPreferences.idl:
667 * Interfaces/IWebPreferencesPrivate.idl:
668 * Interfaces/IWebResource.idl:
669 * Interfaces/IWebResourceLoadDelegate.idl:
670 * Interfaces/IWebResourceLoadDelegatePrivate.idl:
671 * Interfaces/IWebScriptCallFrame.idl:
672 * Interfaces/IWebScriptDebugListener.idl:
673 * Interfaces/IWebScriptDebugServer.idl:
674 * Interfaces/IWebScriptObject.idl:
675 * Interfaces/IWebScriptScope.idl:
676 * Interfaces/IWebScrollBarDelegatePrivate.idl:
677 * Interfaces/IWebScrollBarPrivate.idl:
678 * Interfaces/IWebSecurityOrigin.idl:
679 * Interfaces/IWebTextRenderer.idl:
680 * Interfaces/IWebUIDelegate.idl:
681 * Interfaces/IWebUIDelegatePrivate.idl:
682 * Interfaces/IWebURLAuthenticationChallenge.idl:
683 * Interfaces/IWebURLRequest.idl:
684 * Interfaces/IWebURLResponse.idl:
685 * Interfaces/IWebURLResponsePrivate.idl:
686 * Interfaces/IWebUndoManager.idl:
687 * Interfaces/IWebUndoTarget.idl:
688 * Interfaces/IWebView.idl:
689 * Interfaces/IWebViewPrivate.idl:
690 * Interfaces/WebKit.idl:
691 * WebActionPropertyBag.cpp:
692 * WebBackForwardList.h:
696 * WebDatabaseManager.h:
698 * WebEditorClient.cpp:
703 * WebFramePolicyListener.h:
704 * WebHTMLRepresentation.cpp:
705 * WebHTMLRepresentation.h:
711 * WebJavaScriptCollector.h:
712 * WebKit.vcproj/Interfaces.vcproj:
713 * WebKit.vcproj/WebKitGUID.vcproj:
715 * WebKitStatistics.h:
716 * WebMutableURLRequest.cpp:
717 * WebMutableURLRequest.h:
719 * WebNotificationCenter.h:
722 * WebScriptCallFrame.h:
723 * WebScriptDebugServer.cpp:
724 * WebScriptDebugServer.h:
725 * WebScriptDebugger.cpp:
726 * WebScriptDebugger.h:
729 * WebSecurityOrigin.h:
731 * WebURLAuthenticationChallenge.h:
732 * WebURLAuthenticationChallengeSender.h:
733 * WebURLCredential.h:
734 * WebURLProtectionSpace.h:
739 2008-02-12 Anders Carlsson <andersca@apple.com>
743 Implement imageTitle.
745 * WebCoreLocalizedStrings.cpp:
746 (WebCore::imageTitle):
748 2008-02-12 Anders Carlsson <andersca@apple.com>
752 * WebCoreLocalizedStrings.cpp:
753 (WebCore::imageTitle):
757 2008-02-07 Ada Chan <adachan@apple.com>
759 <rdar://problem/5292433> certificate authentication support broken in Safari 3.0
760 Added mechanism to communicate client certificate info back to CFNetwork.
764 * Interfaces/IWebError.idl: Added new WebURLErrorClientCertificateRequired error.
765 * Interfaces/IWebMutableURLRequestPrivate.idl: Added. Added method to set client
766 certificate info on the request.
767 * WebKit.vcproj/Interfaces.vcproj: Added new idl.
768 * WebKit.vcproj/WebKit.vcproj: Link crypt32.lib
769 * WebKit.vcproj/WebKitGUID.vcproj:
770 * WebMutableURLRequest.cpp:
771 (WebMutableURLRequest::QueryInterface): Implements IWebMutableURLRequestPrivate.
772 (deallocCertContext): Free certificate context.
773 (copyCert): Duplicate the certificate context and returns it in a CFDataRef.
774 (WebMutableURLRequest::setClientCertificate):
775 * WebMutableURLRequest.h:
777 2008-02-05 Rodney Dawes <dobey@wayofthemonkey.com>
779 Reviewed by Anders Carlsson.
781 Part one of http://bugs.webkit.org/show_bug.cgi?id=16924.
782 Shared PluginDatabase, PluginInfoStore and PluginPackage implementations.
784 Track WebCore renames.
787 (WebFrame::createPlugin):
788 (WebFrame::redirectDataToPlugin):
789 (WebFrame::createJavaAppletWidget):
790 (WebFrame::objectContentType):
793 (WebView::canShowMIMEType):
794 (WebView::addAdditionalPluginPath):
796 2008-02-05 Alexey Proskuryakov <ap@webkit.org>
800 http://bugs.webkit.org/show_bug.cgi?id=15248
801 <rdar://problem/5497032> Can not enter accented characters using alt-numeric keypad (take two)
803 * WebView.cpp: (WebViewWndProc): KeyUp messages need to be translated, too.
805 2008-02-01 Darin Adler <darin@apple.com>
807 - fix <rdar://problem/5680469> Each database worker thread takes a JSLock,
808 which slows down all JavaScript execution until the thread terminates
810 * WebIconDatabase.cpp:
811 (WebIconDatabase::scheduleNotificationDelivery): Updated for new callOnMainThread.
812 (WebIconDatabase::deliverNotifications): Ditto.
813 * WebIconDatabase.h: Ditto.
815 2008-01-31 Adam Roben <aroben@apple.com>
817 Fix <rdar://5713172> Focus lost from Gmail message body after toggling
820 This regressed in r29583. Prior to r29583, the code path that resulted
821 in calling focusController->setFocusedFrame(0) was never getting hit.
822 r29583 changed the code to adhere to the comment above the code and
823 actually call setFocusedFrame(0) when losing focus to another part of
824 the window. It turns out this is wrong behavior (and not what
825 WebKit/mac does). The only time we should clear the focused frame is
826 when we tab out of the WebView, and that's already taken care of by
827 FocusController::advanceFocus. The code to clear the focused frame in
828 WebView was written before FocusController::advanceFocus, so it was
829 correct at one point but no longer is.
831 We now never call setFocusedFrame(0) when the WebView receives a
832 WM_KILLFOCUS message. Instead we just call setFocused(false) on the
833 focused frame so that blur events will be sent. This matches what
836 Reviewed by Darin and Adele.
839 (WebViewWndProc): Also reworded a couple of comments to make them
842 2008-01-31 Adam Roben <aroben@apple.com>
844 Let WebCore take care of the highlight drawing entirely
848 * WebInspectorClient.cpp:
849 (WebInspectorClient::highlight): We now just show our highlight
850 window and let WebCore figure out what/where to paint. Once all ports
851 follow suit the Node* parameter to this method should be removed
852 entirely, and the name should probably change to
853 updateAndShowHighlight or something similar.
854 * WebNodeHighlight.cpp: Renamed m_webView to m_inspectedWebViewWindow.
855 (WebNodeHighlight::WebNodeHighlight): Now takes a WebView* parameter.
856 (WebNodeHighlight::show): Renamed from highlight(). Now gets the
857 WebView's HWND. Updated for member rename/removal.
858 (WebNodeHighlight::updateWindow): Updated for member rename and for
859 InspectorController changes.
860 * WebNodeHighlight.h: Added m_inspectedWebView member, removed m_rect
861 member, renamed highlight(Node*) -> show().
863 2008-01-31 Adam Roben <aroben@apple.com>
865 Move node highlight drawing code to WebCore
869 * WebNodeHighlight.cpp:
870 (WebNodeHighlight::updateWindow): Call into WebCore to do the node
873 2008-01-29 Adam Roben <aroben@apple.com>
875 Fix a crash when opening the Inspector
879 * WebInspectorClient.cpp:
880 (WebInspectorClient::createPage): Call
881 WebPreferences::initWithIdentifier so our custom WebPreferences will
882 have all its members initialized.
884 2008-01-29 Adam Roben <aroben@apple.com>
886 Fix Bug 16786: "Display images when page opens" preference affects
889 <http://bugs.webkit.org/show_bug.cgi?id=16786>
892 Reviewed by Anders and Darin.
894 * WebInspectorClient.cpp:
895 (WebInspectorClient::createPage): Create our own custom WebPreferences
896 so that we won't be affected by global preference changes. This
897 matches what Mac does.
899 2008-01-29 Adam Roben <aroben@apple.com>
901 Fix <rdar://5713302> Web Inspector on Windows is not using the
906 * WebInspectorClient.cpp:
907 (getWebKitBundle): Added.
908 (WebInspectorClient::createPage): Call getWebKitBundle.
909 (WebInspectorClient::localizedStringsURL): Implemented.
911 2008-01-29 Alexey Proskuryakov <ap@webkit.org>
915 <rdar://problem/5710692> All storage tests fail/crash
917 * WebChromeClient.cpp: (WebChromeClient::exceededDatabaseQuota): Clients that do not implement
918 database quota callbacks should have no database support - but not crash.
920 2008-01-26 Steve Falkenburg <sfalken@apple.com>
922 <rdar://problem/5707607> REGRESSION: I hear a beep when selecting Alt-enter in address or search fields
927 (WebView::keyDown): Allow alt-return to be marked as handled by WebKit.
929 2008-01-24 Steve Falkenburg <sfalken@apple.com>
933 * WebKit.vcproj/WebKit.sln:
934 * WebKit.vcproj/WebKit.submit.sln:
936 2008-01-24 Adam Roben <aroben@apple.com>
940 * WebView.cpp: Added a comma.
942 2008-01-24 Alexey Proskuryakov <ap@webkit.org>
944 Reviewed by Adam Roben.
946 <rdar://problem/5702734> REGRESSION(r28936/r15890): Shift+del does not work in win Safari
948 * WebView.cpp: Fixed keyDownEntries to list this shortcut (and related ones, for consistency).
950 2008-01-23 Steve Falkenburg <sfalken@apple.com>
952 <rdar://problem/5698732> Copyright strings should include 2008
956 * WebKit.vcproj/WebKit.rc:
958 2008-01-23 Adam Roben <aroben@apple.com>
960 Fix <rdar://5698502> Inspector window reverts to default position/size unexpectedly
964 * WebInspectorClient.cpp:
965 (defaultWindowRect): Added.
966 (WebInspectorClient::createPage):
967 - Use defaultWindowRect() to set the initial size/position of the
969 - Pass the Inspector window's client rect to
970 IWebView::initWithFrame so that the WebView will be initially
971 sized to fill the window.
972 (WebInspectorClient::showWindow): Don't move/resize the window back to
973 the defaults every time this method is called.
975 2008-01-23 Adam Roben <aroben@apple.com>
977 Fix <rdar://5700620> REGRESSION (r28190): "Open frame in new tab" instead of "Open link in new tab" @ digg.com
979 Test: fast/events/contextmenu-scrolled-page-with-frame.html
984 (WebView::handleContextMenuEvent): Translate the mouse coordinates
985 into document coordinates before performing the hit-test. This is what
986 EventHandler does internally.
988 2008-01-23 Steve Falkenburg <sfalken@apple.com>
990 <rdar://problem/5699509> Allow file upload dialog to be localized.
994 * English.lproj/Localizable.strings: Updated.
995 * WebCoreLocalizedStrings.cpp:
996 (WebCore::uploadFileText): Added.
997 (WebCore::allFilesText): Added.
999 2008-01-22 Adam Roben <aroben@apple.com>
1001 Fix <rdar://5693599> REGRESSION (r29369): scroll bars are drawing when they shouldn't be on an ad on cnn.com
1003 Now that we have multiple FrameViews per Frame on Windows, we need to
1004 make sure each FrameView gets its scrolling mode set correctly. On Mac
1005 this works because WebFrameView holds the scrolling mode and a single
1006 WebFrameView is shared by many FrameViews. On Windows, we have no such
1007 shared object, so we just ask the Frame's owner element for the
1010 Tests: fast/frames/frame-scrolling-attribute.html
1011 fast/frames/iframe-scrolling-attribute.html
1016 (WebFrame::transitionToCommittedForNewPage): Set the scrolling mode
1017 on the FrameView based on the scrolling mode of the Frame's owner
1020 2008-01-21 Darin Adler <darin@apple.com>
1022 Reviewed by John Sullivan.
1024 - fix <rdar://problem/5644324> Delegate-less WebKit clients should have no databases
1025 - fix incorrect value for WebDatabaseDisplayNameKey in header
1027 * Interfaces/IWebDatabaseManager.idl: Renamed detailsForDatabaseWithOrigin to
1028 detailsForDatabase. Replaced deleteDatabasesWithOrigin with deleteOrigin.
1029 Renamed deleteDatabaseWithOrigin to deleteDatabase. Fixed incorrect value for
1030 WebDatabaseDisplayNameKey.
1031 * Interfaces/IWebPreferencesPrivate.idl: Removed defaultDatabaseQuota and
1032 setDefaultDatabaseQuota.
1033 * Interfaces/IWebUIDelegatePrivate.idl: Replaced the two database quota functions
1036 * WebChromeClient.cpp:
1037 (WebChromeClient::exceededDatabaseQuota): Replaced the two database quota functions
1039 * WebChromeClient.h: Ditto.
1041 * WebDatabaseManager.cpp:
1042 (WebDatabaseManager::detailsForDatabase): Changed to check for a name of null to
1043 detect a nonexistent database rather than using isValid.
1044 (WebDatabaseManager::deleteOrigin): Updated for name change (actually a semantic
1045 change too, but both have the same name).
1046 (WebDatabaseManager::deleteDatabase): Updated for name change.
1047 (WebKitSetWebDatabasesPathIfNecessary): Ditto.
1049 * WebDatabaseManager.h: Updated for name changes.
1051 * WebPreferenceKeysPrivate.h: Removed WebKitDefaultDatabaseQuotaKey.
1052 * WebPreferences.cpp:
1053 (WebPreferences::initializeDefaultSettings): Removed the default for
1054 WebKitDefaultDatabaseQuotaKey.
1055 * WebPreferences.h: Removed defaultDatabaseQuota and setDefaultDatabaseQuota.
1057 (WebView::notifyPreferencesChanged): Removed the code to set the
1058 default database origin quota in WebCore::Settings based on IWebPreferencesPrivate.
1060 2008-01-19 Mark Rowe <mrowe@apple.com>
1062 Fix inconsistent line endings and set svn:eol-style=native
1063 on IDL files that did not have it set.
1065 * Interfaces/IGEN_DOMObject.idl:
1067 2008-01-18 Adam Roben <aroben@apple.com>
1069 Fix <rdar://5693854> REGRESSION (r29581): fast/events/frame-click-focus.html failing
1071 Restored the previous behavior of IWebViewPrivate::updateActiveState,
1072 which DRT depends on, and renamed it to
1073 IWebViewPrivate::updateFocusedAndActiveState to be clearer about its
1078 * Interfaces/IWebViewPrivate.idl:
1080 (WebViewWndProc): Removed some FIXMEs that we no longer want to fix
1081 because the current design is better.
1082 (WebView::updateActiveState): This is now just a method of WebView,
1083 not any of its public interfaces.
1084 (WebView::updateFocusedAndActiveState): Performs the tasks that the
1085 old IWebViewPrivate::updateActiveState performed.
1088 2008-01-18 Alexey Proskuryakov <ap@webkit.org>
1090 Reviewed by Adam Roben.
1092 Fix plugin-related tests in Debug_Internal configuration, which are failing because of CRT version mismatch
1093 between DRT and TestNetscapePlugin.
1095 * WebKit.vcproj/WebKit.sln: Use newly added TestNetscapePlugin Debug_Internal configuration.
1097 2008-01-17 Steve Falkenburg <sfalken@apple.com>
1101 * WebKit.vcproj/WebKit.make:
1103 2008-01-16 Adam Roben <aroben@apple.com>
1105 Trigger activation changes at the right time by listening for WM_NCACTIVATE
1107 This is the final part of <rdar://5006915> Inactive look for Aqua
1110 WebView now listens to messages sent to its top-level parent window.
1111 When the top-level parent receives a WM_NCACTIVATE message, WebView
1112 recalculates whether it is contained within the current active window.
1116 * Interfaces/IWebViewPrivate.idl:
1117 (IWebViewPrivate::windowAncestryDidChange): Added. WebKit clients
1118 should call this when they change the parent window chain of a
1121 (WebView::WebView): Initialize new member.
1122 (findTopLevelParent): Added.
1124 - Separated activation handling from focus handling, now that
1125 activation handling is taken care of by updateActiveState
1127 - Compare top-level parents in our WM_KILLFOCUS handler so that we
1128 really know if focus is staying inside our top-level window.
1129 - Update our active state on WM_WINDOWPOSCHANGED.
1130 - Added a WM_TIMER handler.
1131 (WebView::initWithFrame): Call windowAncestryDidChange after setting
1132 up our HWND as a child of the host window.
1133 (WebView::windowReceivedMessage): Added. Update our active state when
1134 our top-level parent receives a WM_NCACTIVATE message.
1135 (WebView::updateActiveStateSoon): Added.
1136 (WebView::setHostWindow): Call windowAncestryDidChange after changing
1138 (WebView::updateActiveState): We are active if our top-level parent is
1139 the same as the top-level parent of the active window.
1140 (WebView::windowAncestryDidChange): Added. Recalculates our top-level
1141 parent and registers as a listener for the new top-level parent's
1143 * WebView.h: Made WebView and WindowMessageListener so that it can
1144 utilize WindowMessageBroadcaster to listen to its top-level parent's
1147 2008-01-16 Adam Roben <aroben@apple.com>
1149 Updated for ScrollBarClient changes
1154 (WebScrollBar::isActive): Added.
1156 2008-01-16 Adam Roben <aroben@apple.com>
1158 Updated for changes to WebCore methods
1160 Focus and active state are now handled (somewhat) separately. Future
1161 patches will further separate these concepts.
1166 (WebViewWndProc): Updated for method renames.
1167 (WebView::updateActiveState): Only change the active state here. Focus
1168 is handled inside WM_SETFOCUS and WM_KILLFOCUS message handlers.
1170 2008-01-16 Steve Falkenburg <sfalken@apple.com>
1172 <rdar://problem/5097419> Cursor flickers when over window resizer
1177 (WebViewWndProc): Don't set the resize cursor when over the non-border resize area.
1179 2008-01-15 Steve Falkenburg <sfalken@apple.com>
1181 <rdar://problem/5663888> Cannot type into a JavaScript prompt created from a timer
1183 Allow nested timers from javascript prompts to allow for WebView-based edit fields.
1187 * WebChromeClient.cpp:
1188 (WebChromeClient::runJavaScriptPrompt):
1190 2008-01-14 Steve Falkenburg <sfalken@apple.com>
1192 Use shared vsprops for most vcproj properties.
1196 * WebKit.vcproj/Interfaces.vcproj:
1197 * WebKit.vcproj/WebKit.vcproj:
1198 * WebKit.vcproj/WebKitGUID.vcproj: Add missing Debug_Internal config.
1200 2008-01-11 Steve Falkenburg <sfalken@apple.com>
1202 Share common files across projects.
1205 Debug: common.vsprops, debug.vsprops
1206 Debug_Internal: common.vsprops, debug.vsprops, debug_internal.vsprops
1207 Release: common.vsprops, release.vsprops
1209 Shared properties can go into common.vsprops, shared debug settings can go into debug.vsprops.
1210 debug_internal.vsprops will be mostly empty except for file path prefix modifiers.
1212 Pull auto-version.sh, VERSION, and PRODUCTVERSION from tools.
1214 Reviewed by Adam Roben.
1216 * WebKit.vcproj/Interfaces.vcproj:
1217 * WebKit.vcproj/PRODUCTVERSION: Removed.
1218 * WebKit.vcproj/VERSION: Removed.
1219 * WebKit.vcproj/WebKit.vcproj:
1220 * WebKit.vcproj/WebKitGUID.vcproj:
1221 * WebKit.vcproj/auto-version.sh: Removed.
1222 * WebKit.vcproj/debug.vsprops: Removed.
1223 * WebKit.vcproj/debug_internal.vsprops: Removed.
1224 * WebKit.vcproj/release.vsprops: Removed.
1226 2008-01-11 Adam Roben <aroben@apple.com>
1228 Fix Bug 16828: WebView never paints if first page load is canceled after being committed but before layout
1230 <http://bugs.webkit.org/show_bug.cgi?id=16828>
1233 Now that we have 1) a real loader and 2) multiple FrameViews per
1234 Frame, we no longer need the hackery we had in our WM_PAINT handler
1235 that decided whether or not to paint. We now always want to paint,
1236 letting the swapping of FrameViews that happens in
1237 transitionToCommittedForNewPage handle which document gets painted.
1242 (WebViewWndProc): Removed hackery that decided sometimes not to paint.
1244 2008-01-11 Mark Rowe <mrowe@apple.com>
1246 Windows build fix. Update to match method name in WebCore.
1248 * WebJavaScriptCollector.cpp:
1249 (WebJavaScriptCollector::collectOnAlternateThread):
1251 2008-01-10 Geoffrey Garen <ggaren@apple.com>
1253 Reviewed by John Sullivan.
1255 Updated for transition away from JavaScriptStatistics, which is gone now.
1257 * WebJavaScriptCollector.cpp:
1258 (WebJavaScriptCollector::collect):
1259 (WebJavaScriptCollector::collectOnAlternateThread):
1260 (WebJavaScriptCollector::objectCount):
1262 2008-01-10 Maciej Stachowiak <mjs@apple.com>
1264 Not reviewed, build fix.
1268 * WebDatabaseManager.cpp:
1269 * WebSecurityOrigin.h:
1271 2008-01-10 Maciej Stachowiak <mjs@apple.com>
1273 Not reviewed, build fix.
1277 * WebDatabaseManager.cpp:
1278 (WebDatabaseManager::databasesWithOrigin):
1279 * WebSecurityOrigin.h:
1281 2008-01-10 Maciej Stachowiak <mjs@apple.com>
1285 - remove SecurityOriginData and fold its functionality into SecurityOrigin
1287 * WebChromeClient.cpp:
1288 (WebChromeClient::requestQuotaIncreaseForNewDatabase):
1289 (WebChromeClient::requestQuotaIncreaseForDatabaseOperation):
1290 * WebChromeClient.h:
1291 * WebDatabaseManager.cpp:
1292 (WebDatabaseManager::origins):
1293 (WebDatabaseManager::databasesWithOrigin):
1294 (WebDatabaseManager::detailsForDatabaseWithOrigin):
1295 (WebDatabaseManager::deleteDatabasesWithOrigin):
1296 (WebDatabaseManager::deleteDatabaseWithOrigin):
1297 (WebDatabaseManager::dispatchDidModifyOrigin):
1298 (WebDatabaseManager::dispatchDidModifyDatabase):
1299 * WebDatabaseManager.h:
1300 * WebSecurityOrigin.cpp:
1301 (WebSecurityOrigin::createInstance):
1302 (WebSecurityOrigin::WebSecurityOrigin):
1303 (WebSecurityOrigin::protocol):
1304 (WebSecurityOrigin::domain):
1305 (WebSecurityOrigin::port):
1306 (WebSecurityOrigin::usage):
1307 (WebSecurityOrigin::quota):
1308 (WebSecurityOrigin::setQuota):
1309 * WebSecurityOrigin.h:
1311 2008-01-10 David Kilzer <ddkilzer@apple.com>
1313 dftables should be rewritten as a script
1315 <http://bugs.webkit.org/show_bug.cgi?id=16818>
1316 <rdar://problem/5681463>
1320 * WebKit.vcproj/WebKit.sln: Removed reference to dftables project.
1322 2008-01-10 Adam Roben <aroben@apple.com>
1324 Fix many bugs by giving Windows one FrameView per page load
1328 Windows back/forward cache causes crashes in the layout tests
1330 <http://bugs.webkit.org/show_bug.cgi?id=16808>
1331 REGRESSION: PLT broken on Windows due to back/forward cache
1333 <http://bugs.webkit.org/show_bug.cgi?id=16607>
1334 Random crashes in FrameView::scheduleRelayout while surfing
1337 On Windows until now we've only had one FrameView per Frame. Once the
1338 back/forward cache was turned on this started causing assertions to
1339 fail and crashes to occur due to a single FrameView being both in the
1340 back/forward cache (possibly multiple times!) and used by a live
1341 document. We now create a new FrameView for each page load, just as
1344 This has the side-effect of plugging some of the world leaks seen at
1350 (WebFrame::initWithWebFrameView): Don't create the FrameView right
1351 away -- it'll be created when the load is committed.
1352 (WebFrame::transitionToCommittedFromCachedPage): Match the Mac by no
1353 longer calling resetMultipleFormSubmissionProtection here.
1354 (WebFrame::transitionToCommittedForNewPage): Ported code from
1355 -[WebCoreFrameBridge
1356 createFrameViewWithNSView:marginWidth:marginHeight:],
1357 -[WebCoreFrameBridge installInFrame:], and moved code here from
1358 WebFrame::initWithWebFrameView and WebView::initWithFrame. WebCore
1359 takes care of resetMultipleFormSubmissionProtection, just like it does
1362 (WebView::initWithFrame): Moved FrameView initialization code to
1363 WebFrame::transitionToCommittedForNewPage.
1365 2008-01-09 Ada Chan <adachan@apple.com>
1367 Fix crash that could happen if the key we are passing to the HashMap is 0 in WebView::interpretKeyEvent().
1372 (WebView::interpretKeyEvent):
1374 2008-01-08 Steve Falkenburg <sfalken@apple.com>
1378 * DOMCoreClasses.cpp:
1380 2008-01-07 Antti Koivisto <antti@apple.com>
1382 Try to fix the Windows build.
1384 * WebKit.vcproj/WebKit.sln:
1386 2008-01-07 Antti Koivisto <antti@apple.com>
1390 Re-enable media support in Windows build.
1392 * WebKit.vcproj/WebKit.vcproj:
1394 2008-01-07 Steve Falkenburg <sfalken@apple.com>
1398 * WebKit.vcproj/InterfacesGenerated.vcproj:
1400 2008-01-07 Dan Bernstein <mitz@apple.com>
1402 Reviewed by Dave Hyatt.
1404 - <rdar://problem/5665216> Support the unicode-range property in @font-face rules
1407 (WebView::setShouldApplyMacFontAscentHack):
1409 2008-01-07 Holger Freyther <zecke@selfish.org>
1411 Reviewed by Alp Toker.
1413 * Qt and Gtk must know if a ContextMenuItem is checkable. Add a new ContextMenuItemType for checkable
1415 * Use this information in the Gtk platform to create a GtkCheckMenuItem when needed.
1416 * Update the ContextMenuController to accept CheckableActionTypes as well.
1417 * Change ContextMenu.cpp to use the CheckableActionType. The information if a item is checkable
1418 was extracted from ContextMenu::checkOrEnableIfNeeded.
1419 * Update the Qt and Windows port.
1421 * WebContextMenuClient.cpp:
1423 2008-01-04 Alexey Proskuryakov <ap@webkit.org>
1425 Reviewed by Adam Roben.
1427 http://bugs.webkit.org/show_bug.cgi?id=16733
1428 REGRESSION: Crash on Safari Start
1430 * Interfaces/IWebViewPrivate.idl: Should have added a new method at the end.
1432 2008-01-04 Alexey Proskuryakov <ap@webkit.org>
1436 <rdar://problem/5611712> xsl:sort does not use a case folding sort, and the 'case-order' attribute is ignored (16077)
1438 * WebKit.vcproj/WebKit.vcproj: Link to icuin{_debug}.lib
1440 2008-01-04 Adam Roben <aroben@apple.com>
1442 Fix <rdar://4968855> Shift-PageUp/Shift-PageDown only select one line of text
1444 Test: platform/win/editing/selection/shift-page-down-up.html
1448 * WebView.cpp: Correct the commands associated with
1449 Shift-PageUp/Shift-PageDown.
1451 2008-01-03 Alexey Proskuryakov <ap@webkit.org>
1455 <rdar://problem/5463489> A number of layout tests should be using execCommand instead of textInputController
1457 * Interfaces/IWebViewPrivate.idl:
1459 (WebView::executeCoreCommandByName):
1461 Added an SPI to implement layoutTestController.execCommand.
1463 2008-01-03 Ada Chan <adachan@apple.com>
1465 Replaced the use of editor command "ForwardDelete" with "DeleteForward" to be consistent
1466 with our use of "DeleteBackward".
1468 Rubber-stamped by Jon.
1472 2008-01-03 Ada Chan <adachan@apple.com>
1474 Regression: backspace stopped working on text inputs
1475 - Replaced the use of editor command "BackwardDelete" with "DeleteBackward" since it's no longer supported.
1479 * WebEditorClient.cpp:
1480 (WebEditorClient::textWillBeDeletedInTextField):
1483 2008-01-02 Alice Liu <alice.liu@apple.com>
1487 Fixed <rdar://5283861> (problems scrolling in gmail message content area)
1491 bubble scrolling from a key event
1493 2008-01-01 Matt Lilek <webkit@mattlilek.com>
1495 Attempt to fix the Windows bots until the bots
1496 can get the Quicktime SDK installed.
1498 * WebKit.vcproj/WebKit.sln:
1499 * WebKit.vcproj/WebKit.vcproj:
1501 2007-12-30 Matt Lilek <webkit@mattlilek.com>
1505 Bug 16578: Windows Web Inspector window needs minimum size
1506 http://bugs.webkit.org/show_bug.cgi?id=16578
1508 * WebInspectorClient.cpp:
1509 (WebInspectorClient::onGetMinMaxInfo):
1510 (WebInspectorWndProc):
1511 * WebInspectorClient.h:
1513 2007-12-21 Antti Koivisto <antti@apple.com>
1517 Build media support on Windows.
1519 * WebKit.vcproj/WebKit.sln:
1520 * WebKit.vcproj/WebKit.vcproj:
1522 2007-12-21 Ada Chan <adachan@apple.com>
1524 Implemented DOMDocument::getElementById().
1528 * DOMCoreClasses.cpp:
1529 (DOMDocument::getElementById):
1531 2007-12-21 Alexey Proskuryakov <ap@webkit.org>
1533 Reviewed by Steve and Darin.
1535 <rdar://problem/5497037> Win32: Accelerator keys (ctrl-x,c,v,w,q,etc) only fire keyUp,
1536 keyDown/Press consumed by accelerator table (14104)
1538 <rdar://problem/5346299> preventing default behavior for key down does not block accelerators like Ctrl+N
1540 This is WebKit part of a fix, most of which will be in Safari.
1543 (WebViewWndProc): Return our result for WM_(SYS)KEYDOWN to let the client know whether
1544 further procesing is desired.
1546 2007-12-21 Alexey Proskuryakov <ap@webkit.org>
1548 Build fix: cannot use framework-style include for ProgIDMacros.h,
1549 because the file is only created on a later step.
1553 2007-12-20 Kevin McCullough <kmccullough@apple.com>
1557 - <rdar://5656485> Drosera: Win: Nightly does not reliably connect to
1560 - Drosera and Safari need to use the same ProgIDs in order for
1561 CoCreateInstance to work properly. The most robust way to do this is
1562 for WebKit to dynamically publish those ProgIDs.
1564 * ForEachCoClass.cpp: Added.
1565 (setUseOpenSourceWebKit):
1567 * ForEachCoClass.h: Added functionality to publish ProgIDs.
1568 * WebKit.vcproj/WebKit.def: Exposed added functions for applications.
1569 * WebKit.vcproj/WebKit.vcproj: Added ForEachCoClass.cpp
1570 * WebKit.vcproj/WebKit_debug.def: Exposed added functions fori
1573 2007-12-19 Dave Hyatt <hyatt@apple.com>
1575 Add a fourth preference value for GDI text in the font smoothing prefs.
1579 * Interfaces/IWebPreferences.idl:
1580 * WebPreferenceKeysPrivate.h:
1581 * WebPreferences.cpp:
1582 (WebPreferences::initializeDefaultSettings):
1583 (WebPreferences::fontSmoothing):
1584 (WebPreferences::setFontSmoothing):
1586 (WebView::notifyPreferencesChanged):
1588 2007-12-17 Darin Adler <darin@apple.com>
1592 - <rdar://4516170> Back/Forward Cache on Windows
1595 (WebFrame::forceLayout): Implemented this. Just calling through to
1596 Frame::forceLayout matches the Mac pretty well and should be enough
1597 for now. Without this we won't repaint the new page when we go back
1599 (WebFrame::dispatchWillSubmitForm): Use COMPtr's AdoptCOM constructor
1600 instead of the adoptRef function.
1601 (WebFrame::restoreViewState): Removed unneeded notImplemented() call.
1602 This is implemented as much as it needs to be.
1603 (WebFrame::shouldGoToHistoryItem): Ditto.
1604 (WebFrame::saveViewStateToItem): Ditto.
1605 (WebFrame::canCachePage): Ditto, also changed it to return true. This
1606 is what was preventing the back/forward cache from running, and there's
1607 no need for any additional checks in the Windows version.
1610 (PreferencesChangedOrRemovedObserver::onNotify): Fix backwards null check
1611 that was preventing this notification from ever being sent, which in turn
1612 meant that page cache had a capacity of 0.
1613 (WebView::initWithFrame): Removed unneeded setUsesPageCache(false) code.
1614 This actually was ineffective and ended up doing no harm, but we don't
1617 2007-12-16 Alexey Proskuryakov <ap@webkit.org>
1621 http://bugs.webkit.org/show_bug.cgi?id=16462
1622 REGRESSION: access keys broken on Windows
1624 * WebView.cpp: (WebView::keyPress): Handle system key presses as access keys.
1626 2007-12-15 Alexey Proskuryakov <ap@webkit.org>
1630 http://bugs.webkit.org/show_bug.cgi?id=16436
1631 Alt+Space works incorrectly
1633 Test: platform/win/fast/events/alt-space-scroll.html
1637 (WebView::keyPress):
1638 We do not handle WM_SYSCHAR events.
1640 2007-12-14 Dan Bernstein <mitz@apple.com>
1642 - yet another build fix
1644 * DOMHTMLClasses.cpp:
1645 (DOMHTMLDocument::URL):
1647 2007-12-14 Dan Bernstein <mitz@apple.com>
1651 * WebIconDatabase.h:
1653 2007-12-14 Darin Adler <darin@apple.com>
1657 - http://bugs.webkit.org/show_bug.cgi?id=16443
1658 implement some missing Windows WebKit functions
1660 * DOMHTMLClasses.cpp:
1661 (DOMHTMLDocument::URL): Implemented.
1663 * WebActionPropertyBag.cpp:
1664 (WebActionPropertyBag::Read): Fixed the WebActionElementKey case.
1666 2007-12-14 Darin Adler <darin@apple.com>
1671 (WebView::execCommand): Switched from Editor::execCommand to Editor:command.
1672 Updated name from MoveUpByPageAndModifyCaret to MovePageUp and from
1673 MoveDownByPageAndModifyCaret to MovePageDown.
1674 (WebView::copy): Switched from Editor::execCommand to Editor:command.
1675 (WebView::cut): Ditto.
1676 (WebView::paste): Ditto.
1677 (WebView::delete_): Ditto.
1679 2007-12-13 Steve Falkenburg <sfalken@apple.com>
1681 Move source file generation into its own vcproj to fix build dependencies.
1685 * WebKit.vcproj/Interfaces.vcproj:
1686 * WebKit.vcproj/InterfacesGenerated.vcproj: Added.
1687 * WebKit.vcproj/WebKit.sln:
1688 * WebKit.vcproj/WebKit.submit.sln:
1689 * WebKit.vcproj/build-generated-files.sh:
1691 2007-12-13 Adam Roben <aroben@apple.com>
1693 Fix <rdar://5517707> Crash on wptv.wp.pl when "make bigger" button is clicked
1698 (WebViewWndProc): Repost paint messages and ignore all other messages
1699 when we're calling a plugin.
1701 2007-12-13 Steve Falkenburg <sfalken@apple.com>
1703 Fix project dependencies based on JavaScriptCore change.
1705 * WebKit.vcproj/WebKit.sln:
1707 2007-12-13 Alexey Proskuryakov <ap@webkit.org>
1711 http://bugs.webkit.org/show_bug.cgi?id=16421
1712 REGRESSION(r28669): Page scrolls down when you hit space key in text area
1714 Test: fast/events/space-scroll-event.html
1718 (WebView::keyPress):
1719 Moved space handling to keyPress() to fix this bug and to match IE. Scrolling via arrow keys is correctly handled
1722 2007-12-12 Brady Eidson <beidson@apple.com>
1724 Reviewed by Sam Weinig
1726 Fix for <rdar://problem/4886844> and lay groundwork for <rdar://problem/4516170> (Back/Forward Cache on Windows)
1728 Even though this new code isn't exercised yet because the page cache is still turned off for Windows, local testing
1729 has indicated it works well.
1731 * WebCachedPagePlatformData.h: Added.
1732 (WebCachedPagePlatformData::WebCachedPagePlatformData): Constructor takes an IWebDataSource and the object retains it
1733 (WebCachedPagePlatformData::clear):
1734 (WebCachedPagePlatformData::webDataSource):
1737 (WebFrame::savePlatformDataToCachedPage):
1738 (WebFrame::transitionToCommittedFromCachedPage):
1739 (WebFrame::transitionToCommittedForNewPage):
1742 * WebKit.vcproj/WebKit.vcproj:
1744 2007-12-12 Steve Falkenburg <sfalken@apple.com>
1748 * WebKit.vcproj/WebKit.make: Copy only what we need out of obj/bin.
1750 2007-12-12 Dan Bernstein <mitz@apple.com>
1752 Reviewed by Darin Adler.
1754 - revert my earlier crash fix after making WebCore return the empty
1755 editor command for the empty command name.
1758 (WebView::handleEditingKeyboardEvent):
1760 2007-12-12 Oliver Hunt <oliver@apple.com>
1764 <rdar://problem/5071781> window.mouseout events are not
1765 sent to window when mouse moves out of window
1767 Hook up the windows mouse tracking logic to allow us to
1768 detect the mouse leaving the window.
1772 (WebView::handleMouseEvent):
1776 2007-12-12 Dan Bernstein <mitz@apple.com>
1778 Reviewed by Alexey Proskuryakov.
1780 - fix a crash when pressing a key that is not associated with a command
1783 (WebView::handleEditingKeyboardEvent): Check if the result of
1784 interpretKeyEvent() is empty.
1786 2007-12-11 Sam Weinig <sam@webkit.org>
1788 Reviewed by Darin Adler.
1790 Scrub URL out of the tree in preparation for renaming KURL to URL.
1794 (WebFrame::dispatchWillPerformClientRedirect):
1795 (WebFrame::setTitle):
1796 (WebFrame::updateGlobalHistoryForStandardLoad):
1797 (WebFrame::updateGlobalHistoryForReload):
1798 (WebFrame::cancelledError):
1799 (WebFrame::blockedError):
1800 (WebFrame::interruptForPolicyChangeError):
1801 (WebFrame::createPlugin):
1803 (WebView::notifyDidAddIcon):
1805 2007-12-10 Anders Carlsson <andersca@apple.com>
1809 <rdar://problem/5636865>
1810 WebKit needs API to allow registering a protocol as local (RSS feeds appear unstyled)
1812 * Interfaces/IWebView.idl:
1814 (WebView::registerURLSchemeAsLocal):
1817 2007-12-11 Ada Chan <adachan@apple.com>
1819 Updated the database SPI to take in IWebFrame.
1823 * Interfaces/IWebUIDelegatePrivate.idl:
1824 * WebChromeClient.cpp:
1825 (WebChromeClient::requestQuotaIncreaseForNewDatabase):
1826 (WebChromeClient::requestQuotaIncreaseForDatabaseOperation):
1828 2007-12-11 Alexey Proskuryakov <ap@webkit.org>
1833 (WebView::interpretKeyEvent):
1835 2007-12-11 Darin Adler <darin@apple.com>
1838 (WebView::handleEditingKeyboardEvent): Update for change to Editor API.
1840 2007-12-11 Alexey Proskuryakov <ap@webkit.org>
1844 <rdar://problem/5535636>
1845 Have to press 4 times instead of 2 times to get the expected result of ^^ with german keyboard.
1847 http://bugs.webkit.org/show_bug.cgi?id=13916
1848 JavaScript detects Tab as a character input on a textfield validation
1850 Listen to WM_CHAR messages, and actually pass the type of message received down to WebCore.
1851 Since WM_KEYDOWN == keydown and WM_CHAR == keypress, this allows for much better IE compatibility
1852 than layering Windows keyboard event handling on top of Mac one.
1855 (WebView::keyUp): Do not special case Alt+F4 and Alt+Space - we don't get keyups for those anyway!
1856 (WebView::interpretKeyEvent): Renamed WindowsKeyCode() to windowsVirtualKeyCode().
1857 (WebView::handleEditingKeyboardEvent): Use the additional information about event type that
1858 we now pass with PlatformKeyboardEvent.
1859 (WebView::keyDown): (WebView::keyPress): Split WM_KEYDOWN and WM_CHAR handling in separate
1860 functions, pass them down as is, without trying to guess what WM_CHAR Windows would have sent
1861 for a given WM_KEYDOWN.
1863 (WebViewWndProc): Handle WM_CHAR and WM_SYSCHAR.
1865 * WebView.h: Removed inIMEKeyDown() - it doesn't look like we need it at all. At least, I didn't
1866 notice any regressions after removing the only call to it in WebEditorClient.
1868 * WebEditorClient.cpp:
1869 (WebEditorClient::handleKeyboardEvent):
1870 (WebEditorClient::handleInputMethodKeydown):
1871 * WebEditorClient.h:
1872 Renamed handleKeypress() to handleKeyboardEvent(), as it gets both keydowns and keypresses.
1873 Renamed handleInputMethodKeypress() to handleInputMethodKeydown() and removed
1874 inIMEKeyDown()-related code.
1876 2007-12-10 Geoffrey Garen <ggaren@apple.com>
1878 Reviewed by Sam Weinig.
1880 Updated for rename in JavaScriptCore.
1882 * WebScriptCallFrame.cpp:
1883 (WebScriptCallFrame::functionName):
1884 (WebScriptCallFrame::valueByEvaluatingJavaScriptFromString):
1886 2007-12-07 Steve Falkenburg <sfalken@apple.com>
1888 Fix version parsing.
1890 Rubber-stamped by Oliver.
1892 * WebKit.vcproj/auto-version.sh:
1894 2007-12-07 Steve Falkenburg <sfalken@apple.com>
1898 * WebKit.vcproj/WebKit.vcproj:
1899 * WebScriptCallFrame.cpp:
1901 2007-12-07 Steve Falkenburg <sfalken@apple.com>
1906 (_WebCoreHistoryProvider::containsURL):
1908 2007-12-07 Geoffrey Garen <ggaren@apple.com>
1910 Tried to fix build by suppressing warning.
1912 * WebScriptCallFrame.cpp:
1914 2007-12-07 Darin Adler <darin@apple.com>
1918 - http://bugs.webkit.org/show_bug.cgi?id=15981
1919 speed up visited-link code a bit
1921 * WebHistory.cpp: Removed unused Latin-1 code path.
1922 (_WebCoreHistoryProvider::containsItem): Updated for function name change.
1924 2007-12-07 Steve Falkenburg <sfalken@apple.com>
1926 Re-named our B&I flag from BUILDBOT to PRODUCTION.
1927 Fix our tiny versioning.
1928 Bump our product version.
1929 Use just the major version in the fallback VERSION files.
1930 Pick up the version numbers from the production builder.
1932 Reviewed by Sam Weinig.
1934 * Interfaces/WebKit.idl:
1935 * WebKit.vcproj/Interfaces.vcproj:
1936 * WebKit.vcproj/PRODUCTVERSION:
1937 * WebKit.vcproj/VERSION:
1938 * WebKit.vcproj/WebKit.make:
1939 * WebKit.vcproj/WebKit.rc:
1940 * WebKit.vcproj/WebKit.vcproj:
1941 * WebKit.vcproj/auto-version.sh:
1943 (DllUnregisterServer):
1945 2007-12-07 Adam Roben <aroben@apple.com>
1947 Fix <rdar://5624866> CFStringRef UI_STRING should use a cache and follow the CF "Get" model (current uses leak)
1949 Added a new class, LocalizedString, that wraps a CFStringRef and a
1950 WebCore::String. We store one LocalizedString for each key string.
1954 * WebLocalizableStrings.cpp: Changed our two HashMaps to map from
1955 WebCore::String to LocalizedString*.
1956 (LocalizedString::LocalizedString):
1957 (LocalizedString::operator CFStringRef):
1958 (LocalizedString::operator LPCTSTR): Code moved here from
1960 (findCachedString): Changed to return a LocalizedString*.
1961 (cacheString): Changed to take a LocalizedString*.
1962 (localizedString): Changed to return a const LocalizedString&. We
1963 first try to find a cached LocalizedString. If there isn't one, we
1964 create a new one and cache it.
1965 (WebLocalizedLPCTSTRUTF8): Changed to call localizedString.
1966 (WebLocalizedLPCTSTR): Ditto.
1968 2007-12-07 Adam Roben <aroben@apple.com>
1970 Make WebLocalizableStrings work a little more like the Mac version
1974 * WebKit.vcproj/WebKit.def: Deprecated SetWebLocalizedStringMainBundle.
1975 * WebKit.vcproj/WebKit_debug.def: Ditto.
1976 * WebLocalizableStrings.cpp:
1977 (createWebKitBundle): Changed to only create the bundle once.
1978 (cfBundleForStringsBundle): Added. Code was factored out of
1979 copyLocalizedStringFromBundle. We now use the CFBundleGetMainBundle to
1980 get the main bundle and WebLocalizableStringsBundle's identifier to
1981 fetch the framework's bundle.
1982 (copyLocalizedStringFromBundle): Changed to call
1983 cfBundleForStringsBundle.
1984 (cacheString): Cleaned up logic a bit with an early return.
1985 (SetWebLocalizedStringMainBundle): Moved down with the other
1986 deprecated functions and made into a no-op.
1988 2007-12-07 Adam Roben <aroben@apple.com>
1990 Use SoftLinking.h in WebKitClassFactory.
1994 * WebKitClassFactory.cpp:
1995 (WebKitClassFactory::WebKitClassFactory): We don't have to worry about
1996 not finding STInitialize anymore now that a version of SafariTheme
1997 containing this function has shipped.
1999 2007-12-06 Ada Chan <adachan@apple.com>
2001 <rdar://problem/5556378> Implemented database related UI delegate methods (prompts for new/enlarged databases)
2005 * Interfaces/IWebUIDelegatePrivate.idl:
2006 * WebChromeClient.cpp:
2007 (WebChromeClient::requestQuotaIncreaseForNewDatabase):
2008 (WebChromeClient::requestQuotaIncreaseForDatabaseOperation):
2010 2007-12-06 Alice Liu <alice.liu@apple.com>
2012 Fixed <rdar://5540000> onbeforeunload doesn't fire when closing window/tab
2016 * Interfaces/IWebViewPrivate.idl:
2018 (WebView::shouldClose):
2021 2007-12-06 Adam Roben <aroben@apple.com>
2023 Fix <rdar://5615283> Crash in WebFrame::receivedPolicyDecision
2025 It's possible for a second policy listener to be created while we're
2026 waiting for a decision on the first policy listener. In this case we
2027 would crash when the first policy listener had a decision made. Mac
2028 WebKit already handles this by invalidating any existing policy
2029 listener when creating a new one.
2031 A test case is coming in a future commit.
2036 (WebFrame::setUpPolicyListener): Copy the Mac behavior of invalidating
2037 any existing policy listener, and remove some assertions that we know
2040 2007-12-06 Adam Roben <aroben@apple.com>
2042 Add SPI so that DumpRenderTree can turn on the Mac font ascent hack
2046 * Interfaces/IWebViewPrivate.idl: Added new method declaration.
2048 (WebView::setShouldApplyMacFontAscentHack): Added. Just calls down to
2052 2007-12-06 Ada Chan <adachan@apple.com>
2058 * WebScriptCallFrame.cpp:
2059 (WebScriptCallFrame::valueByEvaluatingJavaScriptFromString):
2061 2007-12-04 Geoffrey Garen <ggaren@apple.com>
2063 Reviewed by Darin Adler.
2065 Third step in refactoring JSGlobalObject: Moved data members and data
2066 member access from Interpreter to JSGlobalObject.
2069 (WebFrame::globalContext):
2070 (WebFrame::attachScriptDebugger):
2071 (WebFrame::windowObjectCleared):
2072 * WebScriptDebugger.cpp:
2073 (WebScriptDebugger::WebScriptDebugger):
2075 2007-12-05 Steve Falkenburg <sfalken@apple.com>
2077 <rdar://problem/5625327> Crash toggling check grammar w/ spelling when no spell checker exists.
2082 (WebView::setGrammarCheckingEnabled): Add null check
2084 2007-12-05 Adam Roben <aroben@apple.com>
2086 Expose WebView::setProhibitsMainFrameScrolling through IWebViewPrivate
2090 * Interfaces/IWebViewPrivate.idl: Added declaration.
2091 * WebInspectorClient.cpp:
2092 (WebInspectorClient::createPage): Updated for change to
2093 setProhibitsMainFrameScrolling signature.
2095 (WebView::setProhibitsMainFrameScrolling): Updated and robustified.
2098 2007-12-05 Dan Bernstein <mitz@apple.com>
2100 Reviewed by Darin Adler.
2102 - WebKit/win part of fixing <rdar://problem/5111082> Flash popup video ad doesn't close when clicked at http://www.firestonecompleteautocare.com/
2105 (WebView::initWithFrame): Attach the main frame's view.
2107 2007-12-04 Ada Chan <adachan@apple.com>
2109 Provide API for setting the default storage quota per database origin
2113 * Interfaces/IWebPreferencesPrivate.idl: added SPI to get/set default database quota
2114 * WebPreferenceKeysPrivate.h:
2115 * WebPreferences.cpp:
2116 (WebPreferences::initializeDefaultSettings): default database quota is 5MB
2117 (WebPreferences::longlongValueForKey):
2118 (WebPreferences::setLongLongValue):
2119 (WebPreferences::defaultDatabaseQuota):
2120 (WebPreferences::setDefaultDatabaseQuota):
2123 (WebView::notifyPreferencesChanged): propagate default database quota change to WebCore settings.
2125 2007-12-04 Kevin McCullough <kmccullough@apple.com>
2127 Reviewed by Adam and Darin.
2129 - Fixed a crasher where the top of the stack was not updated correctly.
2130 And set the eol style on IWebScriptCallFrame.idl file.
2132 * Interfaces/IWebScriptCallFrame.idl:
2133 * WebScriptDebugger.cpp:
2134 (WebScriptDebugger::atStatement):
2135 (WebScriptDebugger::leaveFrame):
2137 2007-11-27 Adam Roben <aroben@apple.com>
2139 Hook up the authorAndUserStylesEnabled preference
2141 This is the Windows counterpart of r28071.
2145 * Interfaces/IWebPreferencesPrivate.idl: Added new method
2147 * WebPreferenceKeysPrivate.h: Added a new preference key.
2148 * WebPreferences.cpp:
2149 (WebPreferences::initializeDefaultSettings): Set the default for the
2151 (WebPreferences::setAuthorAndUserStylesEnabled): Added.
2152 (WebPreferences::authorAndUserStylesEnabled): Added.
2155 (WebView::notifyPreferencesChanged): Communicate the new preference
2156 down to WebCore::Settings.
2158 2007-12-04 Jon Honeycutt <jhoneycutt@apple.com>
2162 Don't crash if our JavaPlugin DLL can't be found
2165 (WebFrame::createJavaAppletWidget): Added null check
2167 2007-12-04 Darin Adler <darin@apple.com>
2169 Reviewed by Kevin Decker.
2171 * WebFrame.cpp: Removed obsolete privateBrowsingEnabled.
2172 * WebFrame.h: Ditto.
2174 2007-12-04 Adam Roben <aroben@apple.com>
2178 * WebScriptCallFrame.cpp:
2180 2007-12-03 Dan Bernstein <mitz@apple.com>
2182 Reviewed by Dave Hyatt.
2184 - fix <rdar://problem/5346452> Resize event doesn't fire on body element inside a frame
2187 (WebViewWndProc): Removed call to sendResizeEvent() since FrameView
2190 2007-12-03 Kevin McCullough <kmccullough@apple.com>
2194 - <rdar://5618942> Drosera: Console window does not process everything
2196 - <rdar://5619005> Drosera: could be sped up by moving the
2197 WebScriptScope stuff into the WebScriptCallFrame.
2198 - Now the console can correctly process objects and does not receive
2199 notifications from JavaScriptCore about the JavaScript in Drosera's
2202 * Interfaces/IWebScriptCallFrame.idl: Moved the variable lookup
2203 functions from WebScriptScope to here.
2204 * Interfaces/WebKit.idl: Removed WebScriptScope.
2205 * WebKit.vcproj/Interfaces.vcproj: Ditto.
2206 * WebKit.vcproj/WebKit.vcproj: Ditto.
2207 * WebKit.vcproj/WebKitGUID.vcproj: Ditto.
2208 * WebScriptCallFrame.cpp: Moved WebScriptScope functionality into here.
2209 (WebScriptCallFrame::stringByEvaluatingJavaScriptFromString): Now
2210 returns a string value for things that are not strings.
2211 (WebScriptCallFrame::variableNames): Moved from WebScriptScope.
2212 (WebScriptCallFrame::valueForVariable): Moved from WebScriptScope.
2213 (WebScriptCallFrame::jsValueToString): Helper functions that converts
2214 any JSValue to a String.
2215 * WebScriptCallFrame.h: Moved WebScriptScope functionality into here.
2216 * WebScriptDebugger.cpp: Added nested guards so that Drosera does not
2217 receive notifications about JavaScript that Drosera is running just the
2218 JavaScript WebKit is running.
2219 (WebScriptDebugger::WebScriptDebugger):
2220 (WebScriptDebugger::sourceParsed):
2221 (WebScriptDebugger::callEvent):
2222 (WebScriptDebugger::atStatement):
2223 (WebScriptDebugger::returnEvent):
2224 (WebScriptDebugger::exception):
2225 * WebScriptDebugger.h: Ditto.
2226 * WebScriptScope.cpp: Removed.
2227 * WebScriptScope.h: Removed.
2229 2007-12-03 Mark Rowe <mrowe@apple.com>
2231 Speculative Windows build fix.
2233 * WebScriptCallFrame.cpp:
2234 (WebScriptCallFrame::valueByEvaluatingJavaScriptFromString):
2236 2007-12-03 Adam Roben <aroben@apple.com>
2238 Another speculative Windows build fix
2240 * WebScriptCallFrame.cpp:
2241 (WebScriptCallFrame::valueByEvaluatingJavaScriptFromString):
2243 2007-12-03 Adam Roben <aroben@apple.com>
2245 Speculative Windows build fix
2248 (WebFrame::globalContext):
2249 (WebFrame::windowObjectCleared):
2250 * WebScriptDebugger.cpp:
2251 (WebScriptDebugger::WebScriptDebugger):
2253 2007-12-01 Sam Weinig <sam@webkit.org>
2255 Rename IWebViewPrivate::selectionImageRect to IWebViewPrivate::selectionRect.
2257 Rubber stamped by Adam Roben.
2259 * Interfaces/IWebViewPrivate.idl:
2261 (WebView::selectionRect):
2264 2007-11-30 Ada Chan <adachan@apple.com>
2266 <rdar://problem/5621373> Added a way for the client to clear undo/redo
2267 operations from a WebView.
2271 * Interfaces/IWebViewPrivate.idl:
2273 (WebView::clearUndoRedoOperations):
2276 2007-11-29 Anders Carlsson <andersca@apple.com>
2280 Add an IWebFrameLoadDelegate2 interface with a didClearWindowObject method
2281 that passes in the frame whose window has been cleared. This matches a newly
2282 added delegate method on the Mac.
2284 * Interfaces/IWebFrameLoadDelegate.idl:
2286 (WebFrame::windowObjectCleared):
2288 2007-11-29 Kevin McCullough <kmccullough@apple.com>
2292 - <rdar://5618976> Drosera: should listen for the WebScriptDebugServer
2293 dying and vice versa.
2295 * Interfaces/IWebScriptDebugListener.idl: Added the new function to the
2297 * WebKit.vcproj/WebKit.def: Added the new function to the def file so
2298 Safari can tell WebKit when the server is dying.
2299 * WebKit.vcproj/WebKit_debug.def: Ditto.
2300 * WebKitDLL.cpp: Added the new function for Safari to call.
2302 (LocalServerDidDie):
2303 * WebScriptDebugServer.cpp:
2304 (WebScriptDebugServer::WebScriptDebugServer): Removed unused member.
2305 (WebScriptDebugServer::sharedWebScriptDebugServer): Ditto, and added new
2306 member to prevent adding or removing listeners when the server is dying.
2307 (WebScriptDebugServer::addListener): Don't let new listeners be added
2308 when the server is dying.
2309 (WebScriptDebugServer::removeListener): Don't let listeners remove
2310 themselves when the server is dying. The server will remove them all
2312 (WebScriptDebugServer::serverDidDie): Notify all listeners that the
2313 server is dying and remove all listeners.
2314 * WebScriptDebugServer.h: Added the new method and removed an unused
2317 2007-11-29 Brady Eidson <beidson@apple.com>
2319 Build fix that works...?
2321 * WebChromeClient.h:
2323 2007-11-29 Brady Eidson <beidson@apple.com>
2327 * WebChromeClient.cpp:
2328 (WebChromeClient::requestQuotaIncreaseForNewDatabase):
2329 (WebChromeClient::requestQuotaIncreaseForDatabaseOperation):
2331 2007-11-29 Brady Eidson <beidson@apple.com>
2333 Keep it building with new client method
2335 * WebChromeClient.cpp:
2336 (ChromeClient::requestQuotaIncreaseForNewDatabase):
2337 (ChromeClient::requestQuotaIncreaseForDatabaseOperation):
2338 * WebChromeClient.h:
2340 2007-11-29 Dan Bernstein <mitz@apple.com>
2342 Reviewed by Beth Dakin and Darin Adler.
2344 - fix <rdar://problem/5346394> Contextmenu event doesn't fire on body element inside frame
2347 (WebView::handleContextMenuEvent): Send the context menu event to the
2348 frame containing the node that was hit.
2350 2007-11-28 Kevin McCullough <kmccullough@apple.com>
2354 - Added guards to the wait loop so execution would not hang and now the
2355 console window can process JavaScript.
2357 * WebScriptDebugServer.cpp:
2358 (WebScriptDebugServer::suspendProcessIfPaused):
2360 2007-11-28 Anders Carlsson <andersca@apple.com>
2364 Implement the last bits of the WebDatabaseManager API.
2366 * Interfaces/IWebDatabaseManager.idl:
2367 * WebDatabaseManager.cpp:
2369 (WebDatabaseManager::sharedWebDatabaseManager):
2370 (WebDatabaseManager::dispatchDidModifyOrigin):
2371 (WebDatabaseManager::dispatchDidModifyDatabase):
2372 * WebDatabaseManager.h:
2374 2007-11-28 Anders Carlsson <andersca@apple.com>
2376 Get Drosera working again for real.
2381 2007-11-27 Kevin McCullough <kmccullough@apple.com>
2383 Reviewed by Maciej and Adam.
2385 - Added Drosera to the WebKit project.
2387 * WebKit.vcproj/WebKit.sln:
2389 2007-11-27 Jon Honeycutt <jhoneycutt@apple.com>
2393 Return bool from registerWebViewWindowClass, as nothing uses the ATOM.
2394 Set haveRegisteredWindowClass to true
2397 (registerWebViewWindowClass):
2399 2007-11-27 Anders Carlsson <andersca@apple.com>
2401 Speculative fix to get Drosera working.
2405 Update the number of elements fetched correctly.
2407 2007-11-27 Anders Carlsson <andersca@apple.com>
2413 * CFDictionaryPropertyBag.cpp:
2414 (CFDictionaryPropertyBag::QueryInterface):
2415 * CFDictionaryPropertyBag.h:
2416 * WebBackForwardList.cpp:
2417 (WebBackForwardList::addItem):
2418 (WebBackForwardList::removeItem):
2420 (WebDownload::initWithRequest):
2422 (WebFrame::loadRequest):
2423 (WebFrame::initWithWebFrameView):
2424 (WebFrame::webHistory):
2425 (WebFrame::dispatchWillSendRequest):
2426 * WebURLAuthenticationChallenge.cpp:
2427 (WebURLAuthenticationChallenge::QueryInterface):
2428 (WebURLAuthenticationChallenge::initWithProtectionSpace):
2429 * WebURLAuthenticationChallenge.h:
2430 * WebURLAuthenticationChallengeSender.cpp:
2431 (WebURLAuthenticationChallengeSender::QueryInterface):
2432 * WebURLAuthenticationChallengeSender.h:
2433 * WebURLResponse.cpp:
2434 (WebURLResponse::QueryInterface):
2437 (WebView::notifyDidAddIcon):
2438 (WebView::goToBackForwardItem):
2439 (WebView::canHandleRequest):
2440 (WebView::loadBackForwardListFromOtherView):
2443 2007-11-27 Anders Carlsson <andersca@apple.com>
2445 Add COMEnumVariant.h to the project.
2447 * WebKit.vcproj/WebKit.vcproj:
2449 2007-11-27 Anders Carlsson <andersca@apple.com>
2453 Return E_INVALIDARG if the databaseName BSTR is null.
2455 * WebDatabaseManager.cpp:
2456 (WebDatabaseManager::detailsForDatabaseWithOrigin):
2457 (WebDatabaseManager::deleteDatabaseWithOrigin):
2459 2007-11-27 Anders Carlsson <andersca@apple.com>
2463 Implement the rest of the WebDatabaseManager API.
2466 * Interfaces/IWebDatabaseManager.idl:
2467 * WebDatabaseManager.cpp:
2469 (DatabaseDetailsPropertyBag::DatabaseDetailsPropertyBag):
2470 (DatabaseDetailsPropertyBag::~DatabaseDetailsPropertyBag):
2471 (DatabaseDetailsPropertyBag::createInstance):
2472 (DatabaseDetailsPropertyBag::AddRef):
2473 (DatabaseDetailsPropertyBag::Release):
2474 (DatabaseDetailsPropertyBag::QueryInterface):
2475 (DatabaseDetailsPropertyBag::Read):
2476 (DatabaseDetailsPropertyBag::Write):
2477 (WebDatabaseManager::detailsForDatabaseWithOrigin):
2478 (WebDatabaseManager::deleteAllDatabases):
2479 (WebDatabaseManager::deleteDatabasesWithOrigin):
2480 (WebDatabaseManager::deleteDatabaseWithOrigin):
2481 * WebDatabaseManager.h:
2483 2007-11-27 Ada Chan <adachan@apple.com>
2485 <rdar://problem/5616098> The BSTR returned by WebHistoryItem::alternateTitle
2486 was not allocated correctly.
2490 * WebHistoryItem.cpp:
2491 (WebHistoryItem::setAlternateTitle):
2492 (WebHistoryItem::alternateTitle):
2495 2007-11-27 Anders Carlsson <andersca@apple.com>
2499 Use COMEnumVariant in WebScriptCallFrame and WebScriptScope.
2501 * WebScriptCallFrame.cpp:
2502 (WebScriptCallFrame::scopeChain):
2503 * WebScriptScope.cpp:
2504 (WebScriptScope::variableNames):
2506 2007-11-27 Anders Carlsson <andersca@apple.com>
2510 Use the correct include paths.
2514 2007-11-27 Anders Carlsson <andersca@apple.com>
2518 Add COMEnumVariant, a templatized class with implements IEnumVARIANT and lets
2519 you enumerate over a C++ container, be it WTF or STL.
2521 * COMEnumVariant.h: Added.
2523 * WebDatabaseManager.cpp:
2524 (WebDatabaseManager::origins):
2525 (WebDatabaseManager::databasesWithOrigin):
2526 Implement these using COMEnumVariant.
2528 * WebSecurityOrigin.cpp:
2529 (WebSecurityOrigin::QueryInterface):
2530 * WebSecurityOrigin.h:
2531 Add a UUID for the implementation so that other parts of WebKit can access
2532 the WebCore::SecurityOriginData object.
2534 2007-11-26 Adam Roben <aroben@apple.com>
2536 Take advantage of the new Color constructor that takes a CGColorRef
2538 This lets us handle grayscale colors (which only have 2 components).
2542 * WebKitGraphics.cpp:
2545 2007-11-26 Steve Falkenburg <sfalken@apple.com>
2549 * WebKit.vcproj/WebKit.make:
2551 2007-11-26 Steve Falkenburg <sfalken@apple.com>
2555 * WebKit.vcproj/build-generated-files.sh:
2557 2007-11-26 Steve Falkenburg <sfalken@apple.com>
2561 * WebKit.vcproj/build-generated-files.sh:
2563 2007-11-26 Anders Carlsson <andersca@apple.com>
2567 Add an implementation of IWebSecurityOrigin and a partially stubbed out
2568 implementation of IWebDatabaseManager.
2571 * Interfaces/IWebDatabaseManager.idl:
2572 * Interfaces/WebKit.idl:
2573 * WebDatabaseManager.cpp:
2574 (WebDatabaseManager::createInstance):
2575 (WebDatabaseManager::WebDatabaseManager):
2576 (WebDatabaseManager::~WebDatabaseManager):
2577 (WebDatabaseManager::QueryInterface):
2578 (WebDatabaseManager::AddRef):
2579 (WebDatabaseManager::Release):
2580 (WebDatabaseManager::sharedWebDatabaseManager):
2581 (WebDatabaseManager::origins):
2582 (WebDatabaseManager::databasesWithOrigin):
2583 (WebDatabaseManager::detailsForDatabaseWithOrigin):
2584 (WebDatabaseManager::deleteAllDatabases):
2585 (WebDatabaseManager::deleteDatabasesWithOrigin):
2586 (WebDatabaseManager::deleteDatabaseWithOrigin):
2587 * WebDatabaseManager.h:
2588 * WebKit.vcproj/WebKit.vcproj:
2589 * WebKitClassFactory.cpp:
2590 * WebSecurityOrigin.cpp: Added.
2591 (WebSecurityOrigin::createInstance):
2592 (WebSecurityOrigin::WebSecurityOrigin):
2593 (WebSecurityOrigin::~WebSecurityOrigin):
2594 (WebSecurityOrigin::QueryInterface):
2595 (WebSecurityOrigin::AddRef):
2596 (WebSecurityOrigin::Release):
2597 (WebSecurityOrigin::protocol):
2598 (WebSecurityOrigin::domain):
2599 (WebSecurityOrigin::port):
2600 (WebSecurityOrigin::usage):
2601 (WebSecurityOrigin::quota):
2602 (WebSecurityOrigin::setQuota):
2603 * WebSecurityOrigin.h: Added.
2605 2007-11-26 Kevin McCullough <kmccullough@apple.com>
2609 - Implemented displaying variables for Drosera on Win.
2611 * Interfaces/IWebScriptCallFrame.idl: Added a local function to be
2612 able to access the WebScriptCallFrame.
2613 * Interfaces/IWebScriptScope.idl: Implemented.
2614 * Interfaces/WebKit.idl: Added WebScriptScope to the tlb.
2615 * WebKit.vcproj/Interfaces.vcproj:
2616 * WebScriptCallFrame.cpp: Implemented the helper and accessor methods.
2617 (EnumScopes::Next): Fixed a bug where we did not release correctly and
2618 would accidentally destroy scopes.
2619 (WebScriptCallFrame::stringByEvaluatingJavaScriptFromString):
2621 (WebScriptCallFrame::valueByEvaluatingJavaScriptFromString): Implemented
2622 * WebScriptCallFrame.h: Implemented the helper and accessor methods.
2623 (WebScriptCallFrame::impl):
2624 (WebScriptCallFrame::state):
2625 * WebScriptScope.cpp: Implmented.
2626 (EnumVariables::EnumVariables): Created an IEnumVariant over the
2627 variables to be able to pass a DCOM acceptable structure back to
2629 (EnumVariables::createInstance):
2630 (EnumVariables::QueryInterface):
2631 (EnumVariables::AddRef):
2632 (EnumVariables::Release):
2633 (EnumVariables::Next):
2634 (EnumVariables::Skip):
2635 (EnumVariables::Reset):
2636 (EnumVariables::Clone):
2637 (WebScriptScope::WebScriptScope):
2638 (WebScriptScope::createInstance): Implemented.
2639 (WebScriptScope::variableNames): Implemented.
2640 (WebScriptScope::valueForVariable):
2641 * WebScriptScope.h: Implmeneted.
2643 2007-11-26 Anders Carlsson <andersca@apple.com>
2647 Add IWebDatabaseManager and IWebSecurityOrigin interfaces.
2649 * Interfaces/IWebDatabaseManager.idl: Added.
2650 * Interfaces/IWebSecurityOrigin.idl: Added.
2651 * WebKit.vcproj/Interfaces.vcproj:
2652 * WebKit.vcproj/WebKitGUID.vcproj:
2654 2007-11-26 Alice Liu <alice.liu@apple.com>
2656 Reviewed by Jon Honeycutt.
2658 Fall back to the default Policy Delegate in these functions,
2659 as is already done in dispatchDecidePolicyForNavigationAction
2662 (WebFrame::dispatchDecidePolicyForMIMEType):
2663 (WebFrame::dispatchDecidePolicyForNewWindowAction):
2664 (WebFrame::dispatchUnableToImplementPolicy):
2666 2007-11-25 Adam Roben <aroben@apple.com>
2668 Fix a leak pointed out by Alexey
2671 (getUpdateRects): Use a Vector<unsigned char>, since OwnPtr doesn't
2672 know to call delete[].
2674 2007-11-25 Adam Roben <aroben@apple.com>
2676 Fix Bug 16138: Reduce code duplication in WebView.cpp
2678 http://bugs.webkit.org/show_bug.cgi?id=16138
2683 (getUpdateRects): Factored code out of updateBackingStore and paint
2684 into this new helper function.
2685 (WebView::updateBackingStore): Use getUpdateRects.
2686 (WebView::paint): Ditto.
2687 (WebView::paintIntoBackingStore): Changed to take a const IntRect&.
2688 (WebView::paintIntoWindow): Ditto.
2691 2007-11-25 Adam Roben <aroben@apple.com>
2693 Add ImageDiff.vcproj to WebKit.sln
2697 * WebKit.vcproj/WebKit.sln:
2699 2007-11-17 Timothy Hatcher <timothy@apple.com>
2701 Reviewed by Mark Rowe.
2703 Bug 13470: i18n: The Web Inspector is not localizable
2704 http://bugs.webkit.org/show_bug.cgi?id=13470
2706 * English.lproj/Localizable.strings: Updated.
2707 * WebInspectorClient.cpp:
2708 (WebInspectorClient::localizedStringsURL): Empty stub.
2709 * WebInspectorClient.h: Added localizedStringsURL.
2711 2007-11-17 Alexey Proskuryakov <ap@webkit.org>
2716 (WebView::deleteSelection): Use canSmartCopyOrDelete() directly.
2718 2007-11-14 Adam Roben <aroben@apple.com>
2720 Change Interfaces to be a "Static Library" project
2722 Being a Utility project meant that Interfaces was rebuilding every
2723 time (Utility projects are supposed to handle their own dependencies).
2724 Interfaces isn't really a static library, but it means that VS will
2725 handle dependencies for us (and not complain about missing manifests
2726 like it did when the project was an Application).
2728 * WebKit.vcproj/Interfaces.vcproj:
2730 2007-11-14 Adam Roben <aroben@apple.com>
2732 Shut up FixMIDLHeaders.pl
2734 * WebKit.vcproj/FixMIDLHeaders.pl:
2736 2007-11-14 Adam Roben <aroben@apple.com>
2738 Change Interfaces to use a Utility configuration
2740 It had previously been marked as an "Application (.exe)", which is
2741 wrong but worked with most versions of Visual Studio.
2743 Rubberstamped by Steve.
2745 * WebKit.vcproj/Interfaces.vcproj:
2747 2007-11-14 Anders Carlsson <andersca@apple.com>
2751 Get the new focus window from the wParam instead of calling GetFocus().
2752 Also, send blur even if there is no focused frame.
2757 2007-11-14 Adam Roben <aroben@apple.com>
2759 Another build fix for systems without Cygwin in their PATH
2761 * WebKit.vcproj/Interfaces.vcproj: Add Cygwin to the PATH in the
2764 2007-11-13 Kevin McCullough <kmccullough@apple.com>
2768 - Make Drosera show source, source URLs, and function stack on Windows
2769 and some minor fixes.
2771 * WebScriptCallFrame.cpp: Fixed a bug where the callFrame was not reffed
2772 properly before being returned, and changed functionName() to check for
2773 Null or if the name is empty.
2774 (EnumScopes::Clone):
2775 (WebScriptCallFrame::WebScriptCallFrame):
2776 (WebScriptCallFrame::createInstance):
2777 (WebScriptCallFrame::caller):
2778 (WebScriptCallFrame::functionName):
2779 * WebScriptCallFrame.h: Ditto
2780 * WebScriptDebugServer.cpp: Made the listenerSet static since we were
2781 already treating it as if it were. Removed the EnumViews stuff. This
2782 was added by Steve to demonstrate DCOM and he thought it would be needed
2783 by Drosera, but I don't believe it will be.
2784 Implemented suspendProcessIfPaused() also added calls to it at the end
2785 of several functions to ensure we pause if Drosera has told WebKit to.
2786 (WebScriptDebugServer::WebScriptDebugServer):
2787 (WebScriptDebugServer::sharedWebScriptDebugServer):
2788 (WebScriptDebugServer::addListener):
2789 (WebScriptDebugServer::removeListener):
2790 (WebScriptDebugServer::suspendProcessIfPaused):
2791 (WebScriptDebugServer::didLoadMainResourceForDataSource):
2792 (WebScriptDebugServer::didParseSource):
2793 (WebScriptDebugServer::failedToParseSource):
2794 (WebScriptDebugServer::didEnterCallFrame):
2795 (WebScriptDebugServer::willExecuteStatement):
2796 (WebScriptDebugServer::willLeaveCallFrame):
2797 (WebScriptDebugServer::exceptionWasRaised):
2798 * WebScriptDebugServer.h: Ditto.
2799 * WebScriptDebugger.cpp: The important change here is that leaveFrame()
2800 is called before willLeaveCallFrame(). I think there is some EOL stuff
2802 - It was the implementing of these functions that allows source, the
2803 source URLs and function stack to be displayed.
2804 (WebScriptDebugger::callEvent):
2805 (WebScriptDebugger::atStatement):
2806 (WebScriptDebugger::returnEvent):
2807 (WebScriptDebugger::exception):
2808 (WebScriptDebugger::enterFrame):
2809 (WebScriptDebugger::leaveFrame):
2810 * WebView.cpp: Removed the EnumView functions.
2812 (WebView::~WebView):
2814 2007-11-13 Adam Roben <aroben@apple.com>
2816 Fix <rdar://5346832> Infinite recursion when opening Web Inspector on more than one tab
2818 The bug was that multiple WebNodeHighlights would subclass the same
2819 browser window, leading to infinite recursion within
2822 WebNodeHighlight is now a WindowMessageListener, and lets
2823 WindowMessageBroadcaster handle subclassing the window.
2827 * WebNodeHighlight.cpp:
2828 (WebNodeHighlight::WebNodeHighlight): Initialize m_observedWindow
2830 (WebNodeHighlight::~WebNodeHighlight): Unregister as a listener for
2832 (WebNodeHighlight::highlight): Register as a listener.
2833 (WebNodeHighlight::windowReceivedMessage): Do the work that used to be
2834 done in SubclassedWndProc.
2835 * WebNodeHighlight.h: Made WebNodeHighlight a WindowMessageListener,
2836 and renamed m_subclassedWindow to m_observedWindow.
2838 2007-11-13 Adam Roben <aroben@apple.com>
2840 Build fix for systems that don't have Cygwin in their PATH
2842 * WebKit.vcproj/Interfaces.vcproj: Put Cygwin in the PATH before
2845 2007-11-13 Steve Falkenburg <sfalken@apple.com>
2847 Add IDOMElementPrivate::font() to get an element's font
2848 as a WebFontDescription.
2852 * DOMCoreClasses.cpp:
2855 * Interfaces/DOMPrivate.idl:
2857 2007-11-12 Adam Roben <aroben@apple.com>
2861 * WebKit.vcproj/WebKit.def: Export fastZeroedMalloc.
2862 * WebKit.vcproj/WebKit_debug.def: Ditto.
2864 2007-11-09 Jon Honeycutt <jhoneycutt@apple.com>
2868 <rdar://5585900>: Safari crashes when selected in context menu to open
2869 audio format files (au, aif) with QT 7.3
2871 The crash occurred on a machine where QT 7.3 was failing to initialize.
2872 The fix is to avoid sending streams to full-page plugins that've failed
2876 (WebFrame::finishedLoading): Check plugin status before calling manual
2878 (WebFrame::setMainDocumentError): Same
2879 (WebFrame::committedLoad): Same
2881 2007-11-09 Sam Weinig <sam@webkit.org>
2883 Rubber stamped by Oliver.
2885 Make WebCore a dependency of Interfaces.
2887 * WebKit.vcproj/WebKit.sln:
2889 2007-11-04 Sam Weinig <sam@webkit.org>
2891 Reviewed by Adam Roben.
2893 <rdar://problem/5435940>
2894 The COM bindings for the DOM should be autogenerated like the other DOM bindings
2896 Initial commit of the autogeneration of the COM DOM Bindings. No behavior change
2897 is being introduced in this patch and to insure that no conflicts arise, a temporary
2898 prefix of "GEN_" has been used for all the new classes.
2900 The build architecture for these bindings differs slightly from the other autogenerated
2901 bindings. Instead of building in WebCore and migrating the resuting code to WebKit (as
2902 is done for the Objective-C bindigs currently), the IDLs and generation scripts are
2903 migrated to WebKit and built there. This is done with a series of scripts and Makefiles.
2905 This commit includes:
2906 - Hand rolled root class/Interface GEN_DOMObject used to facilated object creation
2908 - Generating all of the Core DOM and most of HTML and CSS
2909 - Generating Event, EventTarget, and EventListener
2911 * DOMCreateInstance.cpp: Added.
2916 (GEN_DOMNode::createInstance):
2917 (GEN_DOMImplementation::createInstance):
2918 (GEN_DOMCSSRule::createInstance):
2919 (GEN_DOMStyleSheet::createInstance):
2920 (GEN_DOMCSSValue::createInstance):
2921 * DOMCreateInstance.h: Added.
2922 Temporary location for createInstance/object caching methods. This will be broken up
2923 into seperate files in the near future.
2925 * GEN_DOMObject.cpp: Added.
2926 (GEN_DOMObject::GEN_DOMObject):
2927 (GEN_DOMObject::~GEN_DOMObject):
2928 (GEN_DOMObject::QueryInterface):
2929 (GEN_DOMObject::AddRef):
2930 (GEN_DOMObject::Release):
2931 * GEN_DOMObject.h: Added.
2932 Hand rolled base class.
2934 * Interfaces/IGEN_DOMObject.idl: Added.
2935 Hand rolled base interface.
2937 * WebKit.vcproj/DerivedSources.make: Added.
2938 * WebKit.vcproj/FixMIDLHeaders.pl: Added.
2939 This script is required because MIDL is producing un-buildable code due to
2940 circular dependencies.
2942 * WebKit.vcproj/Interfaces.vcproj:
2943 * WebKit.vcproj/WebKit.vcproj:
2944 * WebKit.vcproj/WebKitGUID.vcproj:
2945 * WebKit.vcproj/build-generated-files.sh: Added.
2947 2007-11-08 Kevin McCullough <kmccullough@apple.com>
2951 - This patch does two main things.
2952 1) It adds pragma warning guards around WebCore includes in WebKit files
2953 that were previously overlooked.
2954 2) It implements almost the entireity of WebScriptDebugger. Only one
2955 function remains and that implementation is dependent on finishing the
2956 implementation of WebScriptScope.
2958 * WebScriptCallFrame.h:
2959 * WebScriptDebugServer.h:
2960 * WebScriptDebugger.cpp:
2961 (WebScriptDebugger::WebScriptDebugger):
2962 (WebScriptDebugger::sourceParsed):
2963 (WebScriptDebugger::callEvent):
2964 (WebScriptDebugger::atStatement):
2965 (WebScriptDebugger::returnEvent):
2966 (WebScriptDebugger::exception):
2967 (WebScriptDebugger::enterFrame):
2968 (WebScriptDebugger::leaveFrame):
2969 * WebScriptDebugger.h:
2971 2007-11-08 Steve Falkenburg <sfalken@apple.com>
2973 <rdar://problem/5491463> Wrong dates shown in History menu.
2975 Fix off-by-one error in Windows epoch.
2977 For the Windows DATE type, 1/1/1900 should be 2.0, not 1.0.
2978 DATE is the number of days since 12/30/1899.
2982 * MarshallingHelpers.cpp:
2983 (MarshallingHelpers::windowsEpochAbsoluteTime):
2985 2007-11-08 Kevin McCullough <kmccullough@apple.com>
2989 - With this change Drosera can now get the source of a website and the
2990 listings of the sources it gets. This also lays the foundation for
2991 letting Drosera show the scope chain of the JavaScript stack.
2993 * Interfaces/IWebFrame.idl: Changed the signature of the local function,
2994 globalContext(), because COM was unable to marshal this object with the
2996 * Interfaces/IWebScriptDebugServer.idl: Of course adding and removing
2997 a listener cannot be done in a const function.
2998 * WebChromeClient.h: Added accessor to the WebView for the new added
2999 kit() function in WebFrame.
3000 (WebChromeClient::webView):
3001 * WebFrame.cpp: Added a script debugger object and the necessary
3002 functions to attach and communicate with it. Also needed to change the
3003 local function, globalContext(), because of a COM issue.
3005 (WebFrame::WebFrame):
3006 (WebFrame::globalContext):
3007 (WebFrame::loadData):
3008 (WebFrame::attachScriptDebugger):
3009 (WebFrame::detachScriptDebugger):
3010 (WebFrame::dispatchDidLoadMainResource):
3011 (WebFrame::windowObjectCleared):
3012 * WebFrame.h: Ditto.
3013 * WebHTMLRepresentation.cpp: Implemented documentSource so Drosera has
3014 some source code to display.
3015 (WebHTMLRepresentation::WebHTMLRepresentation):
3016 (WebHTMLRepresentation::documentSource):
3017 * WebKit.vcproj/WebKit.vcproj: Added the new WebScriptDebugger class.
3018 * WebScriptCallFrame.cpp: Implemented much of this class' functionality.
3019 (EnumScopes::EnumScopes): Made an EnumScopes class to create an
3020 IEnumVARIANT to wrap a ScopeChain for Drosera.
3021 (EnumScopes::QueryInterface):
3022 (EnumScopes::AddRef):
3023 (EnumScopes::Release):
3026 (EnumScopes::Reset):
3027 (EnumScopes::Clone):
3028 (WebScriptCallFrame::caller):
3029 (WebScriptCallFrame::scopeChain):
3030 (WebScriptCallFrame::functionName):
3031 (WebScriptCallFrame::stringByEvaluatingJavaScriptFromString):
3032 * WebScriptCallFrame.h: Added member data needed for the above functions
3033 * WebScriptDebugServer.cpp: Began implementing.
3034 (WebScriptDebugServer::listenerCount):
3035 (EnumViews::QueryInterface):
3036 (EnumViews::AddRef):
3037 (EnumViews::Release):
3042 (WebScriptDebugServer::WebScriptDebugServer):
3043 (WebScriptDebugServer::createInstance):
3044 (WebScriptDebugServer::sharedWebScriptDebugServer):
3045 (WebScriptDebugServer::AddRef):
3046 (WebScriptDebugServer::Release):
3047 (WebScriptDebugServer::addListener):
3048 (WebScriptDebugServer::removeListener):
3049 (WebScriptDebugServer::step):
3050 (WebScriptDebugServer::pause):
3051 (WebScriptDebugServer::resume):
3052 (WebScriptDebugServer::isPaused):
3053 (WebScriptDebugServer::suspendProcessIfPaused):
3054 (WebScriptDebugServer::didLoadMainResourceForDataSource):
3055 (WebScriptDebugServer::didParseSource):
3056 (WebScriptDebugServer::failedToParseSource):
3057 (WebScriptDebugServer::didEnterCallFrame):
3058 (WebScriptDebugServer::willExecuteStatement):
3059 (WebScriptDebugServer::willLeaveCallFrame):
3060 (WebScriptDebugServer::exceptionWasRaised):
3061 * WebScriptDebugServer.h: Began implementing.
3062 * WebScriptDebugger.cpp: Added.
3063 (WebScriptDebugger::WebScriptDebugger):
3064 (WebScriptDebugger::sourceParsed):
3065 * WebScriptDebugger.h: Added.
3066 * WebScriptScope.cpp: Make this class use createInstance which is more
3067 in line with our guidelines.
3068 (WebScriptScope::WebScriptScope):
3069 (WebScriptScope::createInstance):
3073 2007-11-07 Darin Adler <darin@apple.com>
3077 * Interfaces/IWebUIDelegate.idl: Added the functions needed below.
3078 * WebChromeClient.cpp:
3079 (WebChromeClient::setMenubarVisible): Eliminated the notImplemented()
3080 here by calling through the UI delegate.
3081 (WebChromeClient::menubarVisible): Ditto.
3082 (WebChromeClient::runDatabaseSizeLimitPrompt): Ditto.
3084 2007-11-07 Steve Falkenburg <sfalken@apple.com>
3086 Added IWebDocumentText available via QI from WebFrame.
3091 (WebFrame::QueryInterface): Added IID_IWebDocumentText.
3092 (WebFrame::supportsTextEncoding): Stubbed out.
3093 (WebFrame::selectedString): Implemented.
3094 (WebFrame::selectAll): Stubbed out.
3095 (WebFrame::deselectAll): Stubbed out.
3098 2007-11-07 Adam Roben <aroben@apple.com>
3100 Fix <rdar://5569268> Crash when opening any FTP site in second tab/window
3105 (WebView::initWithFrame): Set the ftpDirectoryTemplatePath for every
3106 Page, not just the first one.
3108 2007-11-06 Adam Roben <aroben@apple.com>
3110 Change WebLocalizableStrings to take UTF-8 C strings
3112 This matches the way things work on the Mac, and will allow source
3113 files containing localizable strings to be shared between Mac and
3114 Windows. The old functions have not been removed for compatibility
3115 reasons, but are now just wrappers around the new UTF-8 functions.
3119 * WebKit.vcproj/WebKit.def: Added new functions.
3120 * WebKit.vcproj/WebKit_debug.def: Ditto.
3121 * WebLocalizableStrings.cpp:
3122 (copyLocalizedStringFromBundle): Changed to take a WebCore::String
3123 representing the key.
3124 (localizedString): Refactored from WebLocalizedString. Takes a
3125 WebCore::String representing the key.
3126 (localizedLPCTSTR): Ditto for WebLocalizedLPCTSTR.
3127 (WebLocalizedStringUTF8): Added. Takes a UTF-8 C string as the key.
3128 (WebLocalizedLPCTSTRUTF8): Ditto.
3129 (WebLocalizedString): Changed to call localizedString.
3130 (WebLocalizedLPCTSTR): Changed to call localizedLPCTSTR.
3131 * WebLocalizableStrings.h: Changed macros to use the new UTF-8
3134 2007-11-06 Darin Adler <darin@apple.com>
3136 Reviewed by Adam and Steve.
3138 - added hooks needed to implement showModalDialog on Windows
3140 * Interfaces/IWebUIDelegate.idl: Added canRunModal, createModalDialog,
3141 and runModal functions to the end of IWebUIDelegate3.
3143 * WebChromeClient.h: Added uiDelegate and uiDelegate2 helper functions,
3144 so it's easier to write client functions.
3145 * WebChromeClient.cpp:
3146 (WebChromeClient::createWindow): Implemented dialog case. Calls IWebUIDelegate3.
3147 (WebChromeClient::canRunModal): Implemented. Calls IWebUIDelegate3.
3148 (WebChromeClient::runModal): Ditto.
3149 (WebChromeClient::uiDelegate): Added.
3150 (WebChromeClient::uiDelegate2): Added.
3151 (WebChromeClient::uiDelegate3): Added.
3153 2007-11-06 Alexey Proskuryakov <ap@webkit.org>
3155 Rubber-stamped by Adam Roben.
3160 (WebFrame::string): plainText() returns a String now.
3162 2007-11-05 Ada Chan <adachan@apple.com>
3164 <rdar://problem/5579772> Regression: AltGr does not work
3165 Testing whether alt-key is down is not the right test for system key event.
3166 Added a m_isSystemKey flag in PlatformKeyboardEvent to keep track of whether
3167 this is a system key event, check that flag instead in handleEditingKeyboardEvent().
3173 (WebView::handleEditingKeyboardEvent):
3178 2007-11-05 Ada Chan <adachan@apple.com>
3182 Reviewed by Tristan.
3184 * WebChromeClient.h:
3186 2007-11-05 Tristan O'Tierney <tristan@apple.com>
3188 Reviewed by Darin Adler.
3190 Part of the WebKit/WebCore API changes for
3191 <rdar://problem/5368188>
3193 * WebChromeClient.cpp:
3194 (WebChromeClient::createWindow):
3195 Removed usage of createModalDialog and revised to use new createWindow
3198 2007-11-04 Adam Roben <aroben@apple.com>
3200 Add IWebCache::disabled
3202 This matches the Mac WebCache class.
3206 * Interfaces/IWebCache.idl:
3208 (WebCache::disabled):
3211 2007-11-04 Adam Roben <aroben@apple.com>
3213 Add IWebInspector and a way to get one from a WebView
3215 This API matches the Mac one added in r27266.
3219 * Interfaces/IWebInspector.idl: Added.
3220 * Interfaces/IWebViewPrivate.idl: Added a new inspector method to
3222 * WebInspector.cpp: Added.
3223 (WebInspector::createInstance):
3224 (WebInspector::WebInspector):
3225 (WebInspector::~WebInspector):
3226 (WebInspector::webViewClosed):
3227 (WebInspector::QueryInterface):
3228 (WebInspector::AddRef):
3229 (WebInspector::Release):
3230 (WebInspector::show):
3231 (WebInspector::showConsole):
3232 (WebInspector::showTimeline):
3233 (WebInspector::close):
3234 (WebInspector::attach):
3235 (WebInspector::detach):
3236 * WebInspector.h: Added.
3237 * WebKit.vcproj/Interfaces.vcproj: Added IWebInspector.idl.
3238 * WebKit.vcproj/WebKit.vcproj: Added WebInspector.{cpp,h}.
3239 * WebKit.vcproj/WebKitGUID.vcproj: Added IWebInspector_i.c.
3241 (WebView::close): Notify the WebInspector that we're closing.
3242 (WebView::inspector): Added.
3245 2007-11-04 Adam Roben <aroben@apple.com>
3247 Cache strings that come directly from WebLocalizedString
3251 * WebLocalizableStrings.cpp:
3252 (copyLocalizedStringFromBundle): This used to be WebLocalizedString,
3253 but is now just a static helper function.
3254 (findCachedStringInMap): Added static helper.
3255 (findCachedString): Refactored and cleaned up code from
3256 WebLocalizedLPCTSTR.
3257 (cacheString): Ditto.
3258 (WebLocalizedString): Rewrote to use the new helper functions.
3259 (WebLocalizedLPCTSTR): Changed to use the new helper functions.
3261 2007-11-03 Adam Roben <aroben@apple.com>
3263 Only override the default user agent string if we're actually given a custom one
3268 (WebView::setCustomUserAgent):
3270 2007-11-01 Oliver Hunt <oliver@apple.com>
3274 Allow Shift, Ctrl, Alt, Meta and Capslock keys to be sent into WebCore.
3280 2007-11-01 Kevin McCullough <kmccullough@apple.com>
3282 - Fixed a build failure
3284 * WebEditorClient.cpp:
3285 (WebEditorClient::textWillBeDeletedInTextField):
3287 2007-11-01 Adam Roben <aroben@apple.com>
3289 Fix the parameter type of WebLocalizedString to match the UI_STRING macro
3293 * WebLocalizableStrings.cpp:
3294 (WebLocalizedString):
3295 (WebLocalizedLPCTSTR):
3296 * WebLocalizableStrings.h:
3298 2007-11-01 Alexey Proskuryakov <ap@webkit.org>
3300 Rubber-stamped by Adam Roben.
3302 Rolled out r27326 - debug CRT seems to cause no problems after all.
3304 * WebKit.vcproj/WebKit.vcproj:
3306 2007-10-31 Adam Roben <aroben@apple.com>
3308 Switch the Debug configuration to using the non-debug CRT
3310 The debug CRT conflicts with what Safari uses, which causes loading
3315 * WebKit.vcproj/WebKit.vcproj:
3317 2007-10-30 Kevin McCullough <kmccullough@apple.com>
3319 Reviewed by Adam and Geoff.
3321 - Added the globalContext method so Drosera can ask a WebFrame for its
3324 * Interfaces/IWebFrame.idl:
3328 2007-10-30 Adele Peterson <adele@apple.com>
3332 WebKitWin part of fix for http://bugs.webkit.org/show_bug.cgi?id=10577
3333 <rdar://problem/5110427> REGRESSION: Caps lock icon should show in password fields
3335 * WebView.cpp: (WebView::keyDown): Call capsLockStateMayHaveChanged so WebCore knows it may have to update a password field.
3337 2007-10-29 Kevin McCullough <kmccullough@apple.com>
3339 Reviewed by Adam and Maciej.
3341 - Added the IWebScriptScope interface which is used by Drosera to get
3342 information and run contextually significant code with respect to the
3343 current JS stack frame.
3345 * Interfaces/IWebScriptCallFrame.idl: Line endings changed, not sure why
3346 but the real changes were to change the return type of scopeChain() and
3347 the return type and name of evaluateWebScript() to
3348 stringByEvaluatingJavaScriptFromString().
3349 * Interfaces/IWebScriptScope.idl: Added.
3350 * WebKit.vcproj/Interfaces.vcproj: Added the new interface.
3351 * WebKit.vcproj/WebKit.vcproj: Added the files for the new class.
3352 * WebKit.vcproj/WebKitGUID.vcproj: Added the new interfaces.
3353 * WebScriptCallFrame.cpp: Changed the return type to E_NOTIMPL and
3354 asserted so it would be obvious if I accidentally try to use one of
3355 these functions before it's implemented.
3356 (WebScriptCallFrame::caller):
3357 (WebScriptCallFrame::scopeChain):
3358 (WebScriptCallFrame::functionName):
3359 (WebScriptCallFrame::stringByEvaluatingJavaScriptFromString):
3360 * WebScriptCallFrame.h: Changed the return types mentioned above.
3361 * WebScriptDebugServer.cpp: Also changed the return type to E_NOTIMPL.
3362 (WebScriptDebugServer::addListener):
3363 (WebScriptDebugServer::removeListener):
3364 (WebScriptDebugServer::step):
3365 (WebScriptDebugServer::pause):
3366 (WebScriptDebugServer::resume):
3367 (WebScriptDebugServer::isPaused):
3368 * WebScriptScope.cpp: Added.
3369 (WebScriptScope::WebScriptScope):
3370 (WebScriptScope::~WebScriptScope):
3371 (WebScriptScope::QueryInterface):
3372 (WebScriptScope::AddRef):
3373 (WebScriptScope::Release):
3374 (WebScriptScope::getVariableNames):
3375 (WebScriptScope::getValueForVariable):
3376 * WebScriptScope.h: Added.
3378 2007-10-28 Darin Adler <darin@apple.com>
3380 - try to fix Windows build
3382 * WebKit.vcproj/WebKit.vcproj: Suppress warning 4800 (conversion to bool),
3383 since we don't want to add !! everywhere, and because HashTable.h has a
3384 conversion to bool of this type now.
3386 2007-10-27 Kevin McCullough <kmccullough@apple.com>
3390 - Stubbed out IWebScriptCallFrame for Drosera.
3392 * Interfaces/IWebScriptCallFrame.idl: Added function declarations.
3393 * WebKit.vcproj/WebKit.vcproj: Added .h/.cpp files to the project.
3394 * WebScriptCallFrame.cpp: Added.
3395 (WebScriptCallFrame::WebScriptCallFrame):
3396 (WebScriptCallFrame::~WebScriptCallFrame):
3397 (WebScriptCallFrame::createInstance):
3398 (WebScriptCallFrame::QueryInterface):
3399 (WebScriptCallFrame::AddRef):
3400 (WebScriptCallFrame::Release):
3401 (WebScriptCallFrame::caller):
3402 (WebScriptCallFrame::scopeChain):
3403 (WebScriptCallFrame::functionName):
3404 (WebScriptCallFrame::evaluateWebScript):
3405 * WebScriptCallFrame.h: Added.
3407 2007-10-26 Kevin McCullough <kmccullough@apple.com>
3409 Reviewed by Sam and Steve.
3411 - Added convenience methods for converting between BSTR and JSSTringRefs
3412 - Added WebKit_debug.def to the project.
3414 * WebKit.vcproj/WebKit.def:
3415 * WebKit.vcproj/WebKit.vcproj:
3416 * WebKit.vcproj/WebKit_debug.def:
3418 2007-10-25 Sam Weinig <sam@webkit.org>
3420 Reviewed by Adam Roben.
3422 Make debug builds run again.
3425 (WebView::notifyPreferencesChanged):
3427 2007-10-25 Sam Weinig <sam@webkit.org>
3429 Reviewed by Adam Roben.
3431 Remove JSStringRefCFHack.
3433 * WebKit.vcproj/WebKit.vcproj:
3435 2007-10-25 Sam Weinig <sam@webkit.org>
3437 Reviewed by Steve Falkenburg.
3439 Fix for <rdar://problem/5463608>
3440 Port WebKit cache model code (Windows needs a big disk cache, smarter memory cache)
3442 * Interfaces/IWebPreferences.idl:
3443 Deprecate pageCacheSize and objectCacheSize and add cacheModel/setCacheModel.
3445 * Interfaces/IWebPreferencesPrivate.idl:
3446 Add automaticallyDetectsCacheModel/setAutomaticallyDetectsCacheModel
3449 (WebFrame::didPerformFirstNavigation):
3450 Implement based on the mac version.
3452 * WebKit.vcproj/WebKit.vcproj:
3453 * WebKitSystemBits.cpp: Added.
3454 (WebMemorySize): Moved and renamed from WebPreferences.cpp
3455 (WebVolumeFreeSize): Added.
3456 * WebKitSystemBits.h: Added.
3457 * WebPreferenceKeysPrivate.h: Added WebKitCacheModelPreferenceKey.
3459 * WebPreferences.cpp:
3460 (WebPreferences::sharedStandardPreferences):
3461 (WebPreferences::WebPreferences):
3462 (WebPreferences::initializeDefaultSettings): Added default for cacheModel.
3463 (WebPreferences::webPreferencesChangedNotification):
3464 (WebPreferences::webPreferencesRemovedNotification):
3465 (WebPreferences::initWithIdentifier): Post a preferences change notification.
3466 (WebPreferences::pageCacheSize): Deprecated.
3467 (WebPreferences::objectCacheSize): Deprecated.
3468 (WebPreferences::cacheModel): Added.
3469 (WebPreferences::setCacheModel): Added.
3470 (WebPreferences::setAutomaticallyDetectsCacheModel): Added.
3471 (WebPreferences::automaticallyDetectsCacheModel): Added.
3472 (WebPreferences::willAddToWebView): Added.
3473 (WebPreferences::didRemoveFromWebView): Added.
3477 (PreferencesChangedOrRemovedObserver::PreferencesChangedOrRemovedObserver):
3478 (PreferencesChangedOrRemovedObserver::~PreferencesChangedOrRemovedObserver):
3479 (PreferencesChangedOrRemovedObserver::QueryInterface):
3480 (PreferencesChangedOrRemovedObserver::AddRef):
3481 (PreferencesChangedOrRemovedObserver::Release):
3482 (PreferencesChangedOrRemovedObserver::sharedInstance):
3483 (PreferencesChangedOrRemovedObserver::onNotify):
3484 (PreferencesChangedOrRemovedObserver::notifyPreferencesChanged):
3485 (PreferencesChangedOrRemovedObserver::notifyPreferencesRemoved):
3486 This singleton class updates static properties for all webviews when
3487 preferenceChange or preferenceRemoved notifications are fired for
3490 (WebView::~WebView):
3491 (initializeStaticObservers):
3493 (WebView::addToAllWebViewsSet):
3494 (WebView::removeFromAllWebViewsSet):
3495 (WebView::setCacheModel):
3496 (WebView::cacheModel):
3497 (WebView::didSetCacheModel):
3498 (WebView::maxCacheModelInAnyInstance):
3501 (WebView::developerExtrasEnabled):
3502 (WebView::initWithFrame):
3503 (WebView::setPreferences):
3504 (WebView::preferences):
3505 (WebView::onNotify):
3506 (WebView::notifyPreferencesChanged):
3507 (updateSharedSettingsFromPreferencesIfNeeded):
3509 Match the macs behavior by using explicit postings of notifications to
3510 update the preferences.
3512 2007-10-25 Adam Roben <aroben@apple.com>
3514 Update WebKit.sln for the removal of Release dftables
3518 * WebKit.vcproj/WebKit.sln:
3520 2007-10-25 Kevin McCullough <kmccullough@apple.com>
3522 Rubber stamped by Geoff.
3524 - Stubbed out the WebScriptDebugServer methods to give Drosera something
3525 to connect to and now the signature of the interface matches the mac.
3527 * Interfaces/IWebScriptDebugServer.idl:
3528 * WebScriptDebugServer.cpp:
3529 (WebScriptDebugServer::addListener):
3530 (WebScriptDebugServer::removeListener):
3531 (WebScriptDebugServer::step):
3532 (WebScriptDebugServer::pause):
3533 (WebScriptDebugServer::resume):
3534 (WebScriptDebugServer::isPaused):
3535 * WebScriptDebugServer.h:
3537 2007-10-24 Kevin McCullough <kmccullough@apple.com>
3541 - Renamed WebDebugProgram to WebScriptDebugServer to match the naming
3544 * Interfaces/IWebDebugProgram.idl: Removed.
3545 * Interfaces/IWebScriptDebugServer.idl: Copied from win/Interfaces/IWebDebugProgram.idl.
3546 * Interfaces/WebKit.idl:
3547 * WebDebugProgram.cpp: Removed.
3548 * WebDebugProgram.h: Removed.
3549 * WebKit.vcproj/Interfaces.vcproj:
3550 * WebKit.vcproj/WebKit.vcproj:
3551 * WebKit.vcproj/WebKitGUID.vcproj:
3552 * WebKitClassFactory.cpp:
3553 (WebKitClassFactory::CreateInstance):
3556 * WebScriptDebugServer.cpp: Copied from win/WebDebugProgram.cpp.
3557 (WebScriptDebugServer::WebScriptDebugServer):
3558 (WebScriptDebugServer::~WebScriptDebugServer):
3559 (WebScriptDebugServer::createInstance):
3560 (WebScriptDebugServer::QueryInterface):
3561 (WebScriptDebugServer::AddRef):
3562 (WebScriptDebugServer::Release):
3563 (WebScriptDebugServer::viewAdded):
3564 (WebScriptDebugServer::viewRemoved):
3565 (WebScriptDebugServer::attach):
3566 (WebScriptDebugServer::detach):
3567 (WebScriptDebugServer::statistics):
3568 (WebScriptDebugServer::webViews):
3569 * WebScriptDebugServer.h: Copied from win/WebDebugProgram.h.
3572 (WebView::~WebView):
3574 2007-10-24 Adam Roben <aroben@apple.com>
3576 Fix <rdar://5549919> Initialize the font database before any font code is invoked
3578 We initialize the database in two places:
3579 1. When instantiating WebKitClassFactory, which is guaranteed to
3580 happen before any WebView is instantiated.
3581 2. When making a WebCore::Font in WebKitGraphics.
3583 This ensures that the font database will be populated before any font
3584 code is invoked. We rely on WebCore to only populate the database
3589 * WebKitClassFactory.cpp:
3590 (WebKitClassFactory::WebKitClassFactory): Populate the font database.
3591 * WebKitGraphics.cpp:
3594 2007-10-24 Adam Roben <aroben@apple.com>
3596 Add [I]WebTextRenderer
3598 Right now this class can only be used to add private fonts for use by
3599 the running process, but will eventually be the home of the
3600 WebKitGraphics functions.
3604 * ForEachCoClass.h: Added WebTextRenderer.
3605 * Interfaces/WebKit.idl: Ditto.
3606 * WebKit.vcproj/Interfaces.vcproj: Ditto.
3607 * WebKit.vcproj/WebKit.vcproj: Ditto.
3608 * WebKit.vcproj/WebKitGUID.vcproj: Ditto.
3609 * WebKitClassFactory.cpp: Ditto.
3610 * WebTextRenderer.cpp: Added.
3611 (WebTextRenderer::createInstance):
3612 (WebTextRenderer::WebTextRenderer):
3613 (WebTextRenderer::~WebTextRenderer):
3614 (WebTextRenderer::QueryInterface):
3615 (WebTextRenderer::AddRef):
3616 (WebTextRenderer::Release):
3617 (WebTextRenderer::registerPrivateFont):
3618 * WebTextRenderer.h: Added.
3620 2007-10-24 Adam Roben <aroben@apple.com>
3622 Use FOR_EACH_COCLASS in WebKitClassFactory
3627 (WebError::createInstance): Added an overload that takes no arguments
3628 to make the macro used in WebKitClassFactory work.
3630 * WebKitClassFactory.cpp:
3631 (WebKitClassFactory::CreateInstance): Use FOR_EACH_COCLASS.
3633 2007-10-24 Adam Roben <aroben@apple.com>
3635 Put FOR_EACH_COCLASS macro into its own file and export it
3637 The macro used to be called FOR_EACH_CLASS and lived in WebKitDLL.cpp.
3638 This way we will be able to use the macro in more places that care
3639 about all WebKit's COM classes.