2009-10-28 Steve Falkenburg Reviewed by Sam "Horatio" Weinig. Should not generate/build COM DOM bindings https://bugs.webkit.org/show_bug.cgi?id=30880 * Interfaces/WebKit.idl: Remove generated interfaces. * WebKit.vcproj/InterfacesGenerated.vcproj: Removed. * WebKit.vcproj/WebKit.sln: Remove InterfacesGenerated.vcproj. * WebKit.vcproj/WebKit.submit.sln: Remove InterfacesGenerated.vcproj. * WebKit.vcproj/WebKit.vcproj: Remove generated interfaces. 2009-10-27 Shinichiro Hamaji Reviewed by Darin Adler. Provide a way to get counter values with layoutTestContoller https://bugs.webkit.org/show_bug.cgi?id=30555 * Interfaces/IWebFramePrivate.idl: * WebFrame.cpp: (WebFrame::counterValueForElementById): * WebFrame.h: 2009-10-28 Joe Mason Reviewed by Adam Treat. Call the shared FrameLoader::defaultObjectContentType instead of copying code into FrameLoaderClient::objectContentType. This causes no behavioural change. * WebFrame.cpp: (WebFrame::objectContentType): 2009-10-28 Holger Hans Peter Freyther Speculative build-fix for WebElementPropertyBag.cpp * WebElementPropertyBag.cpp: Include RenderObject.h 2009-10-27 Holger Hans Peter Freyther Reviewed by Simon Fraser. Change HitTestResult methods to use (3d) transformation aware methods https://bugs.webkit.org/show_bug.cgi?id=27347 The HitTestResult::boundingBox method was removed. The RenderObject must be used directly. In contrast to the old HitTestResult::boundingBox method this code must use a (3d) transformation aware method to not run into an assert in SVGRenderBase::mapLocalToContainer. * WebElementPropertyBag.cpp: (WebElementPropertyBag::Read): Replace HitTestResult::boundingBox() 2009-10-26 Laszlo Gombos Reviewed by Darin Adler. Make .rc files compile on Windows without depending on MFC headers https://bugs.webkit.org/show_bug.cgi?id=30750 * WebKit.vcproj/WebKit.rc: Use winresrc.h because it exists even when MFC is not installed, and is all that's needed here. 2009-10-26 Sam Weinig Rubber-stamped by Darin Adler. Rollout r50041-50043. The HTML5 spec changed to make HTMLOptionsCollection inherit from HTMLCollection. * DOMCreateInstance.cpp: 2009-10-25 Dan Bernstein Reviewed by John Sullivan. Add contextForWorldID to the IWebFramePrivate interface. * Interfaces/IWebFramePrivate.idl: * WebFrame.h: 2009-10-25 Sam Weinig Another try at fixing windows. * DOMCreateInstance.cpp: 2009-10-25 Sam Weinig Touch WebKit.idl in an effort to try and regenerate the COM bindings. * Interfaces/WebKit.idl: 2009-10-23 Mark Rowe Build fix. Include config.h before including other files. * AccessibleImage.cpp: 2009-10-23 Gavin Barraclough Reviewed by Geoff Garen. https://bugs.webkit.org/show_bug.cgi?id=30729 Provide private API to request the global context for a specific world. Used to initialize parameters on the global object. * WebFrame.cpp: (WebFrame::contextForWorldID): * WebFrame.h: 2009-10-23 Brian Weinstein Reviewed by John Sullivan. Pan-scrolling pointer shows up in other tabs or windows, can't "fix" it. and . Turns off pan-scrolling on a WebView when it is about to lose focus. * WebView.cpp: (WebViewWndProc): 2009-10-23 Jon Honeycutt MSAA: Name for image elements should use alt attribute text https://bugs.webkit.org/show_bug.cgi?id=30727 Reviewed by Alice Liu. * AccessibleBase.cpp: (AccessibleBase::createInstance): If the AccessibilityObject is an image, return an AccessibleImage. * AccessibleImage.cpp: Added. (AccessibleImage::AccessibleImage): Call the base constructor. (AccessibleImage::name): If the object is not an AccessibilityRenderObject, return the base's name(). Look first for an ARIA "labeled-by" attribute, then look for an alternate text attribute. Fall back to the base's name(). * AccessibleImage.h: Added. (AccessibleImage::~AccessibleImage): * WebKit.vcproj/WebKit.vcproj: Add AccessibleImage to the project. 2009-10-23 Sam Weinig Try and fix the windows build. * Interfaces/WebKit.idl: 2009-10-22 Gavin Barraclough Reviewed by Sam Weinig & Geoff Garen. https://bugs.webkit.org/show_bug.cgi?id=30696 Update to incorporate support for IsolatedWorlds in JSC bindings. * Interfaces/IWebFramePrivate.idl: * WebFrame.cpp: (WebFrame::globalContext): (WebFrame::windowObjectCleared): (WebFrame::stringByEvaluatingJavaScriptInIsolatedWorld): * WebFrame.h: 2009-10-20 Fumitoshi Ukai Reviewed by David Levin. Removed WebSocket runtime settings. https://bugs.webkit.org/show_bug.cgi?id=29896 WebSocket runtime configuration is supported by chromium/v8 only. * Interfaces/IWebPreferencesPrivate.idl: * WebPreferenceKeysPrivate.h: * WebPreferences.cpp: (WebPreferences::initializeDefaultSettings): (WebPreferences::experimentalNotificationsEnabled): * WebPreferences.h: * WebView.cpp: (WebView::notifyPreferencesChanged): 2009-10-19 Adam Roben Fix crashes/assertions when calling WebLocalizedString from multiple threads concurrently Fixes WebLocalizedString asserts if called from multiple threads concurrently Reviewed by John Sullivan. * WebLocalizableStrings.cpp: (mainBundleLocStringsMutex): (frameworkLocStringsMutex): Added these new getters. (findCachedString): (cacheString): Lock the relevant mutex before accessing each string map. Otherwise bad things could happen if two threads end up here at the same time. 2009-10-19 Adam Roben Get rid of a few static initializers/exit-time destructors in WebLocalizableStrings Reviewed by Dan Bernstein. * WebLocalizableStrings.cpp: (mainBundleLocStrings): (frameworkLocStrings): Added these functions instead of file-scope variables. (findCachedString): (cacheString): Updated to use the new functions. 2009-10-19 Nate Chapin Unreviewed, build fix. Update call to FrameLoader::urlSelected(). * WebCoreSupport/WebContextMenuClient.cpp: (WebContextMenuClient::searchWithGoogle): 2009-10-16 Steve Falkenburg Reviewed by Dan Bernstein. https://bugs.webkit.org/show_bug.cgi?id=30456 Fixes for new Debug_All Windows build configuration. * WebKitClassFactory.cpp: Use new DEBUG_ALL preprocessor define for library naming. 2009-10-16 Jon Honeycutt Add SPI to determine whether a plug-in has ever been halted. Part of . Reviewed by Dan Bernstein. * Interfaces/IWebViewPrivate.idl: Add hasPluginForNodeBeenHalted(). * WebView.cpp: (pluginViewForNode): Code factored out of isNodeHaltedPlugin(). (WebView::isNodeHaltedPlugin): Remove STDMETHODCALLTYPE, as it has no use at the definition. Use pluginViewForNode(). (WebView::restartHaltedPluginForNode): Ditto. (WebView::hasPluginForNodeBeenHalted): Get the PluginView for the given node. Return the result of PluginView::hasBeenHalted(). * WebView.h: Declare hasPluginForNodeBeenHalted(). 2009-10-16 Steve Falkenburg Reviewed by Adam Roben. Add a Debug_All configuration to build entire stack as debug. Change Debug_Internal to: - stop using _debug suffix for all WebKit/Safari binaries - not use _debug as a DLL naming suffix - use non-debug C runtime lib. * WebKit.vcproj/InterfacesGenerated.vcproj: Renamed single configuration from "Release" to "all". * WebKit.vcproj/WebKit.make: Debug build in makefile should build Debug_All. * WebKit.vcproj/WebKit.sln: Add Debug_All configuration. * WebKit.vcproj/WebKit.submit.sln: Add Debug_All configuration. * WebKit.vcproj/WebKit.vcproj: Remove extraneous OutputDirectory/IntermediateDirectory in Debug_Cairo. Add Debug_All configuration. * WebKit.vcproj/WebKitGUID.vcproj: Add Debug_All configuration. 2009-10-15 Jon Honeycutt Add SPI to restart a halted plug-in. Part of Halted plug-ins should restart on mouseover https://bugs.webkit.org/show_bug.cgi?id=30151 Reviewed by Kevin Decker. * Interfaces/IWebViewPrivate.idl: Add restartHaltedPluginForNode(). * WebView.cpp: (WebView::restartHaltedPluginForNode): From the IDOMNode, query for the DOMNode. From the DOMNode, get the WebCore::Node. Get the node's renderer, and check whether it is a RenderWidget. If so, get its Widget, and check whether it's a PluginView. If so, call PluginView::restart(). * WebView.h: Declare restartHaltedPluginForNode(). 2009-10-14 Jon Honeycutt Add SPI to determine whether a node is a halted plug-in. Part of Halted plug-ins should restart on mouseover https://bugs.webkit.org/show_bug.cgi?id=30151 Reviewed by Darin Adler. * Interfaces/IWebViewPrivate.idl: Add isNodehaltedPlugin(). * WebView.cpp: (WebView::isNodeHaltedPlugin): From the IDOMNode, query for the DOMNode. From the DOMNode, get the WebCore::Node. Get the node's renderer, and check whether it is a RenderWidget. If so, get its Widget, and check whether it's a PluginView. If so, return the result of PluginView::isHalted(). * WebView.h: Declare isNodeHaltedPlugin(). 2009-10-15 Daniel Bates Reviewed by Adam Roben. https://bugs.webkit.org/show_bug.cgi?id=24731 And rdar://problem/5015961 Implements support for DHTML drag-and-drop operations (i.e. ondragstart, ondragend) in the Windows build so that it conforms to the Mac OS X build. Hence, dropEffect is correctly set. The WebView and WebDropSource drag-and-drop functions, as called by function DoDragDrop in its event loop, neither used the drop effect as specified by event.dataTransfer.dropEffect nor respected event.dataTransfer.effectsAllowed. Instead, these functions defaulted to some hardcoded drop effect and set of allowed drop effects, respectively. Tests: fast/events/drag-and-drop.html * WebCoreSupport/WebDragClient.cpp: (WebDragClient::startDrag): * WebDropSource.cpp: (WebDropSource::QueryContinueDrag): Moved call to EventHandler::dragSourceEndedAt into method WebDragClient::startDrag. * WebDropSource.h: * WebView.cpp: (WebView::keyStateToDragOperation): Fixes . Determines appropriate drop effect from state of keyboard and allowed effects m_page->dragController()->sourceDragOperation(). (WebView::DragEnter): (WebView::DragOver): (WebView::Drop): * WebView.h: 2009-10-14 Adam Roben Windows build fix * WebKit.vcproj/Interfaces.vcproj: Exclude IWebHistoryDelegate and IWebNavigationData from the build (they get #imported via WebKit.idl). 2009-10-14 Brady Eidson Reviewed by Sam Weinig. WebKit Win API should provide a delegate interface for global history. https://bugs.webkit.org/show_bug.cgi?id=29905 -Add IWebHistoryDelegate for clients to implement. -Add (I)WebNavigationData for the history delegate's use. -When it exists, call the history delegate instead of using WebHistory. * Interfaces/IWebHistoryDelegate.idl: Added. * Interfaces/IWebHistoryPrivate.idl: * Interfaces/IWebNavigationData.idl: Added. * Interfaces/IWebViewPrivate.idl: * Interfaces/WebKit.idl: * WebKit.vcproj/Interfaces.vcproj: * WebKit.vcproj/WebKit.vcproj: * WebCoreSupport/WebChromeClient.cpp: (WebChromeClient::populateVisitedLinks): * WebCoreSupport/WebFrameLoaderClient.cpp: (WebFrameLoaderClient::updateGlobalHistory): (WebFrameLoaderClient::updateGlobalHistoryRedirectLinks): (WebFrameLoaderClient::setTitle): * WebView.cpp: (WebView::close): (WebView::mainFrameURL): (WebView::setHistoryDelegate): (WebView::historyDelegate): (WebView::addVisitedLinks): * WebView.h: * WebHistory.cpp: (WebHistory::setVisitedLinkTrackingEnabled): (WebHistory::removeAllVisitedLinks): * WebHistory.h: * WebNavigationData.cpp: Added. (WebNavigationData::QueryInterface): (WebNavigationData::AddRef): (WebNavigationData::Release): (WebNavigationData::WebNavigationData): (WebNavigationData::~WebNavigationData): (WebNavigationData::createInstance): (WebNavigationData::url): (WebNavigationData::title): (WebNavigationData::originalRequest): (WebNavigationData::response): (WebNavigationData::hasSubstituteData): (WebNavigationData::clientRedirectSource): * WebNavigationData.h: Added. 2009-10-13 Dave Hyatt Fix more WebView bustage. * WebView.cpp: (WebView::addUserScriptToGroup): (WebView::addUserStyleSheetToGroup): (WebView::removeUserScriptsFromGroup): (WebView::removeUserStyleSheetsFromGroup): 2009-10-13 Dave Hyatt Fix build bustage on Windows. * WebView.cpp: (WebView::addUserScriptToGroup): (WebView::addUserStyleSheetToGroup): (WebView::removeUserScriptsFromGroup): (WebView::removeUserStyleSheetsFromGroup): 2009-10-13 Dave Hyatt Reviewed by Adam Roben.. Split removal functions for user scripts and stylehseets based on type. * Interfaces/IWebViewPrivate.idl: * WebView.cpp: (WebView::removeUserScriptFromGroup): (WebView::removeUserStyleSheetFromGroup): * WebView.h: 2009-10-09 Adam Barth Reviewed by Darin Adler. Factor HistoryController out of FrameLoader https://bugs.webkit.org/show_bug.cgi?id=30246 Update API call. * WebView.cpp: (WebView::loadBackForwardListFromOtherView): 2009-10-08 Jon Honeycutt Remove the WebKitPluginHalterEnabledPreferenceKey in favor of checking for the existence of a PluginHalterDelegate. Reviewed by Dan Bernstein. * Interfaces/IWebPreferencesPrivate.idl: Remove the getter and setter. * WebCoreSupport/WebPluginHalterClient.cpp: (WebPluginHalterClient::enabled): Return true if the delegate exists. * WebCoreSupport/WebPluginHalterClient.h: Declare implementation of enabled(). * WebPreferenceKeysPrivate.h: Removed the pref key. * WebPreferences.cpp: (WebPreferences::initializeDefaultSettings): Removed initialization of the pref. * WebPreferences.h: Removed declaration of the getter/setter. * WebView.cpp: (WebView::notifyPreferencesChanged): Don't propagate the pref. 2009-10-08 Adam Barth Reviewed by Eric Seidel. Move executeScript from FrameLoader to ScriptController https://bugs.webkit.org/show_bug.cgi?id=30200 Update API call. * WebView.cpp: (WebView::stringByEvaluatingJavaScriptFromString): 2009-10-08 Anders Carlsson Reviewed by Sam Weinig. Remove the shouldLoadMediaElementURL implementation. * Interfaces/IWebPolicyDelegatePrivate.idl: * WebCoreSupport/WebFrameLoaderClient.cpp: (WebFrameLoaderClient::shouldUsePluginDocument): * WebCoreSupport/WebFrameLoaderClient.h: 2009-10-08 Adam Roben Make IWebInspectorPrivate be accessed in a more standard way IWebViewPrivate::inspectorPrivate has been removed. Callers should instead use IWebViewPrivate::inspector and then use QueryInterface to get the IWebInspectorPrivate interface. This matches how our other COM classes work. Fixes Make IWebInspectorPrivate be accessed in a more standard way Reviewed by John Sullivan and Tim Hatcher. * Interfaces/IWebViewPrivate.idl: Removed inspectorPrivate. * WebInspector.cpp: (WebInspector::QueryInterface): Support querying to IWebInspectorPrivate. * WebView.cpp: * WebView.h: Removed inspectorPrivate. 2009-10-08 Adam Roben Move the new IWebViewPrivate::inspectorPrivate function after all functions that existed when Safari 4.0.3 was released Fixes REGRESSION (r49091): run-safari crashes in Safari.dll Reviewed by John Sullivan. * Interfaces/IWebViewPrivate.idl: Moved inspectorPrivate to the end of the interface, so it won't modify the vtable that Safari 4.0.3 sees. 2009-10-07 Adam Roben Expose origin whitelisting in the WebKit API on Windows Fixes . Reviewed by Eric Seidel. * Interfaces/IWebViewPrivate.idl: Added whiteListAccessFromOrigin and resetOriginAccessWhiteLists, to match the Mac SPI. * WebView.cpp: (WebView::whiteListAccessFromOrigin): (WebView::resetOriginAccessWhiteLists): * WebView.h: Added. These just call through to SecurityOrigin. 2009-10-07 Adam Barth Reviewed by Darin Adler. Factor PolicyChecker out of FrameLoader https://bugs.webkit.org/show_bug.cgi?id=30155 Move the policy callback to the policy object. * WebFrame.cpp: (WebFrame::dispatchWillSubmitForm): (WebFrame::receivedPolicyDecision): (WebFrame::dispatchDecidePolicyForMIMEType): (WebFrame::dispatchDecidePolicyForNewWindowAction): (WebFrame::dispatchDecidePolicyForNavigationAction): 2009-10-07 Daniel Bates Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=30102 And Fixes an issue (in the Windows build) where the cursor does not change to the not-allowed cursor when the drag-and-drop operation is not allowed. The allowed effects in WebDragClient::startDrag are hard-coded to be DROPEFFECT_COPY | DROPEFFECT_LINK | DROPEFFECT_MOVE. Instead, the list of allowed drop effects should be determined by the allowed operations of the drag source. We cannot test this using DRT because DRT looks at the programmatic drop cursor and until bug #24731 is fixed this value is hard-coded to DragOperationCopy. That is, there is a discrepancy in the Windows build between the Windows API-based drop effect and the WebKit drop effect. Because DRT cannot read the screen buffer to determine the cursor, a manual test is needed. * WebCoreSupport/WebDragClient.cpp: (draggingSourceOperationMaskToDragCursors): Added method. (WebDragClient::startDrag): 2009-10-07 Steve Falkenburg Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=30176 Extra information in UA causes problems with gmail * WebKit.vcproj/WebKit.rc: Restore PRODUCTVERSION to build number only. Remove extra space. 2009-10-06 Pavel Feldman Reviewed by Timothy Hatcher. Web Inspector: default to an attached inspector window on Windows (as on Mac). https://bugs.webkit.org/show_bug.cgi?id=30134 * WebCoreSupport/WebInspectorClient.cpp: (WebInspectorClient::showWindowWithoutNotifications): 2009-10-06 Adam Barth Reviewed by Eric Seidel. Move FrameLoader::canLoad to SecurityOrigin https://bugs.webkit.org/show_bug.cgi?id=30111 * WebFrame.cpp: (WebFrame::allowsFollowingLink): 2009-10-06 Pavel Feldman Reviewed by Timothy Hatcher. Web Inspector: close inspector client view on InspectorController::close API call. In order to run batch web inspector layout tests (and not affect subsequent tests) we should close inspector client's view upon InspectorController::close API call. https://bugs.webkit.org/show_bug.cgi?id=30009 * WebCoreSupport/WebInspectorClient.cpp: (WebInspectorClient::createPage): 2009-10-06 David Levin Reviewed by NOBODY (windows build fix). Speculative build fix for windows (due to r49160). * WebDownloadCFNet.cpp: (WebDownload::initToResumeWithBundle): * WebIconDatabase.cpp: (WebIconDatabase::dispatchDidAddIconForPageURL): 2009-10-05 Pavel Feldman Reviewed by Timothy Hatcher. Web Inspector: add testing harness for Web Inspector. https://bugs.webkit.org/show_bug.cgi?id=30010 * Interfaces/IWebInspectorPrivate.idl: Added. * Interfaces/IWebViewPrivate.idl: * Interfaces/WebKit.idl: * WebInspector.cpp: (WebInspector::evaluateInFrontend): * WebInspector.h: * WebView.cpp: (WebView::inspectorPrivate): * WebView.h: 2009-10-02 Dave Hyatt Reviewed by Adam Roben. Add support for blacklist patterns to user stylesheets and scripts in addition to whitelist patterns. * Interfaces/IWebViewPrivate.idl: * WebView.cpp: (toStringVector): (WebView::addUserScriptToGroup): (WebView::addUserStyleSheetToGroup): * WebView.h: 2009-10-02 Steve Falkenburg Reviewed by Mark Rowe. Safari version number shouldn't be exposed in WebKit code For a WebKit version of 532.3.4: Product version is: 5.32.3.4 (was 4.0.3.0) File version is: 5.32.3.4 (was 4.532.3.4) * WebKit.vcproj/WebKit.rc: 2009-09-30 Sam Weinig Reviewed by Dan Bernstein. Fix for Need WebKit API or SPI on Mac and Windows to test whether it's safe to load a page in a new tab/window * Interfaces/IWebFramePrivate.idl: * WebFrame.cpp: (WebFrame::allowsFollowingLink): * WebFrame.h: 2009-09-30 Dave Hyatt Reviewed by Adam Roben. Add the ability to remove user stylesheets and scripts by URL. * Interfaces/IWebViewPrivate.idl: * WebView.cpp: (WebView::removeUserContentWithURLFromGroup): * WebView.h: 2009-09-29 Kenneth Russell Reviewed by Dimitri Glazkov. Add support for run-time flag for 3D canvas https://bugs.webkit.org/show_bug.cgi?id=29826 * WebView.cpp: (WebView::notifyPreferencesChanged): Enable experimental WebGL flag when 3D_CANVAS is enabled in the build. 2009-09-28 Alexey Proskuryakov Reviewed by Darin Adler and Sam Weinig. Onclick not fired for an element copied with cloneContents() or cloneNode() https://bugs.webkit.org/show_bug.cgi?id=25130 * DOMCreateInstance.cpp: GEN_DOMEventListener is a pure interface now. * WebKit.vcproj/WebKit.vcproj: Removed GEN_DOMEventListener.cpp. 2009-09-28 Fumitoshi Ukai Reviewed by Eric Seidel. Add experimentalWebSocketsEnabled in WebPreferences. https://bugs.webkit.org/show_bug.cgi?id=28941 * Interfaces/IWebPreferencesPrivate.idl: * WebPreferenceKeysPrivate.h: * WebPreferences.cpp: (WebPreferences::initializeDefaultSettings): (WebPreferences::setExperimentalWebSocketsEnabled): (WebPreferences::experimentalWebSocketsEnabled): * WebPreferences.h: * WebView.cpp: (WebView::notifyPreferencesChanged): (core): 2009-09-25 Darin Adler Reviewed by Steve Falkenburg. Speed up access to history items by caching date computation. * History/WebHistory.mm: (getDayBoundaries): Refactored from timeIntervalForBeginningOfDay. Returns the beginning of the day that the passed time is within and the beginning of the next day. (beginningOfDay): Added. Uses getDayBoundaries so it can be fast for multiple dates within the same day, which is the common case. (dateKey): Added. Calls beginningOfDay and converts to an integer. (WebHistory::findKey): Changed to call dateKey instead of timeIntervalForBeginningOfDay. 2009-09-25 Adam Roben Add SPI to invalidate a WebView's backing store This is useful in conjunction with IWebUIDelegatePrivate2::drawBackground. This provides a way for the UI delegate to force WebView to get its background redrawn. Fixes Need SPI to invalidate a WebView's backing store Reviewed by Anders Carlsson. * Interfaces/IWebViewPrivate.idl: Added invalidateBackingStore. * WebView.cpp: (WebView::invalidateBackingStore): If rect is 0, invalidate our whole client rect. Otherwise invalidate the intersection of rect with our client rect. * WebView.h: 2009-09-24 Jon Honeycutt Add a mechanism for automatically halting plug-ins. Reviewed by Oliver Hunt. * Interfaces/IWebPluginHalterDelegate.idl: Added. Defines an interface for a delegate that determines whether plug-ins should be halted. * Interfaces/IWebPreferencesPrivate.idl: Declare functions to get and set the enabled state of the plug-in halter and the plug-in allowed run time. * Interfaces/IWebViewPrivate.idl: Declare functions to get and set the IWebPluginHalterDelegate. * Interfaces/WebKit.idl: * WebCoreSupport/WebPluginHalterClient.cpp: Added. (WebPluginHalterClient::WebPluginHalterClient): (WebPluginHalterClient::shouldHaltPlugin): Get the IWebPluginHalterDelegate for the WebView. Create a WebKit DOMNode for the WebCore Node. Call the delegate's shouldHaltPlugin(). If the call fails, return false. Otherwise, return the result of the call. * WebCoreSupport/WebPluginHalterClient.h: Added. * WebKit.vcproj/Interfaces.vcproj: Add IWebPluginHalterDelegate.idl. * WebKit.vcproj/WebKit.vcproj: Add WebPluginHalterClient.{h,cpp}. * WebPreferenceKeysPrivate.h: Define WebKitPluginHalterEnabledPreferenceKey and WebKitPluginAllowedRunTimePreferenceKey. * WebPreferences.cpp: (WebPreferences::initializeDefaultSettings): Leave plug-in halting disabled by default. Set the default value for the plug-in allowed run time to the max value of an unsigned int. (WebPreferences::setPluginHalterEnabled): (WebPreferences::pluginHalterEnabled): (WebPreferences::setPluginAllowedRunTime): (WebPreferences::pluginAllowedRunTime): * WebPreferences.h: * WebView.cpp: (WebView::close): Clear the IWebPluginHalterDelegate. (WebView::initWithFrame): Pass a WebPluginHalterClient when creating the Page. (WebView::notifyPreferencesChanged): Set the new settings when the preferences changed notification is received. (WebView::setPluginHalterDelegate): (WebView::pluginHalterDelegate): * WebView.h: Declare overrides of setPluginHalterDelegate() and pluginHalterDelegate(). Added a member to track the IWebPluginHalterDelegate. 2009-09-14 John Gregg Reviewed by Eric Seidel. Enable switch for notifications (experimental) in Page Settings https://bugs.webkit.org/show_bug.cgi?id=28930 Adds support for the experimentalNotificationsEnabled flag in Settings through WebPreferencesPrivate interface. Also cleans up some issues accessing the notification delegate through DumpRenderTree. * Interfaces/IWebPreferencesPrivate.idl: * WebCoreSupport/WebDesktopNotificationsDelegate.cpp: (WebDesktopNotificationsDelegate::hasNotificationDelegate): (WebDesktopNotificationsDelegate::notificationDelegate): * WebPreferenceKeysPrivate.h: * WebPreferences.cpp: (WebPreferences::initializeDefaultSettings): (WebPreferences::setExperimentalNotificationsEnabled): (WebPreferences::experimentalNotificationsEnabled): * WebPreferences.h: * WebView.cpp: (WebView::notifyPreferencesChanged): 2009-09-23 Anders Carlsson Reviewed by Adam Roben. REGRESSION(48580-48636): Crash clicking embedded QT preview button on apple.com/trailers Check for a null IWebPolicyDelegatePrivate. * WebCoreSupport/WebFrameLoaderClient.cpp: (WebFrameLoaderClient::shouldLoadMediaElementURL): 2009-09-22 Sam Weinig Rubber-stamped by Adam Roben. Remove accidentally left in declaration of reloadFromOrigin in IWebFramePrivate.idl * Interfaces/IWebFramePrivate.idl: 2009-09-22 Sam Weinig Reviewed by Steve Falkenburg. Fix for Windows WebKit needs to implement reloadFromOrigin() * Interfaces/IWebFrame.idl: * Interfaces/IWebFramePrivate.idl: * Interfaces/IWebView.idl: * WebFrame.cpp: (WebFrame::reloadFromOrigin): * WebFrame.h: * WebView.cpp: (WebView::reloadFromOrigin): * WebView.h: 2009-09-22 Adam Roben Manage refcounts correctly in DefaultDownloadDelegate::willSendRequest Fixes Crash in WebDownload::willSendRequest when using DefaultDownloadDelegate Reviewed by Brady Eidson. * DefaultDownloadDelegate.cpp: (DefaultDownloadDelegate::willSendRequest): Call AddRef() on the object we're returning via the finalRequest out-parameter. 2009-09-21 Anders Carlsson Reviewed by Adam Roben. HTMLMediaElement should ask WebPolicyLoadDelegate before loading resource Implement WebFrameLoaderClient::shouldLoadMediaElementURL and have it call the new private policy delegate method. * Interfaces/IWebPolicyDelegatePrivate.idl: Added. * Interfaces/WebKit.idl: * WebCoreSupport/WebFrameLoaderClient.cpp: (WebFrameLoaderClient::shouldLoadMediaElementURL): * WebCoreSupport/WebFrameLoaderClient.h: * WebKit.vcproj/Interfaces.vcproj: 2009-09-17 Kenneth Rohde Christiansen Reviewed by Simon Hausmann. Make PlatformWindow return something else than PlatformWidget https://bugs.webkit.org/show_bug.cgi?id=29085 Reflect the rename of platformWindow and it's return type. * AccessibleBase.cpp: (AccessibleBase::get_accParent): * WebCoreSupport/WebChromeClient.cpp: (WebChromeClient::platformPageClient): * WebCoreSupport/WebChromeClient.h: 2009-09-17 Brian Weinstein Reviewed by Adam Roben. Remove assertions that were being hit by calls to m_verticalScrollbar->invalidate(). These assertions were valid, but they were causing tests to fail, so replacing with a FIXME until we can find out the real cause/solution that is being tracked by http://webkit.org/b/29350. * WebView.cpp: (WebView::addToDirtyRegion): (WebView::paintIntoBackingStore): 2009-09-17 Ada Chan Post WebViewDidChangeSelectionNotification when the text selection changes. Fixes Reviewed by Adam Roben. * Interfaces/IWebView.idl: * WebCoreSupport/WebEditorClient.cpp: (WebEditorClient::respondToChangedSelection): 2009-09-17 Adam Roben Fix a crash when a WebView's HWND is destroyed before IWebView::close is called WebView's HWND was being sent a WM_TIMER message after the WebView was destroyed. This normally isn't possible (we call DestroyWindow inside WebView's destructor to ensure the HWND doesn't outlive the WebView), but r48060 changed WebView to call SetParent(m_viewWindow, HWND_MESSAGE) while handling WM_DESTROY, and apparently this puts the HWND into some weird half-destroyed state where it can still receive WM_TIMER messages. Fixes REGRESSION (r48060): unrepro but frequent crash in WebViewWndProc Reviewed by Steve Falkenburg. * WebView.cpp: (WebViewWndProc): When handling WM_DESTROY, call setIsBeingDestroyed() before calling close(). This allows setHostWindow to detect that we're handling WM_DESTROY. No other code in close() cared whether isBeingDestroyed() was true or not. (WebView::setHostWindow): If our host window is being set to 0 and we're being destroyed, don't become a message-only window. Doing this while handling WM_DESTROY seems to lead to crashes. 2009-09-16 Adam Roben Add a UI delegate callback to let the delegate draw a WebView's background Fixes . Reviewed by Dave Hyatt. * Interfaces/IWebUIDelegatePrivate.idl: Added IWebUIDelegatePrivate2::drawBackground. * WebView.cpp: (WebView::paintIntoBackingStore): After clearing or filling with white, let the delegate draw whatever background it wants. Also added an assertion that the dirty rect is within our bounds. 2009-09-16 Adam Roben Prevent WebView from painting over sibling windows Fixes WebView can paint over sibling windows Reviewed by Darin Adler. * WebView.cpp: (WebView::initWithFrame): Create the WebView's HWND with the WS_CLIPSIBLINGS style. 2009-09-14 Brady Eidson Reviewed by Alexey Proskuryakov. Safari 4 cannot be used to update firmware on Linksys routers. and https://bugs.webkit.org/show_bug.cgi?id=29160 Adopt the new WebCore::CredentialStorage in WebKit/Win. * WebDownloadCFNet.cpp: (WebDownload::didReceiveAuthenticationChallenge): 2009-09-11 Steve Falkenburg Reviewed by Dan Bernstein. Properly propagate preference from WebPreferences to WebCore::Settings. https://bugs.webkit.org/show_bug.cgi?id=29192 * WebView.cpp: (WebView::initWithFrame): Apply setting when creating a new WebView. (WebView::notifyPreferencesChanged): Apply setting when preferences change. 2009-09-11 Steve Falkenburg Reviewed by Darin Adler. Allow WebKit clients to opt out of high resolution timers on Windows. https://bugs.webkit.org/show_bug.cgi?id=29192 * Interfaces/IWebPreferencesPrivate.idl: Added getter/setter. Put this just after last 4.0.3 method for future merging. * Interfaces/WebKit.idl: Touched to force a rebuild. * WebPreferenceKeysPrivate.h: Added prefs key for high res timers. * WebPreferences.cpp: (WebPreferences::initializeDefaultSettings): Initialize high res timers to enabled. (WebPreferences::setShouldUseHighResolutionTimers): Added. (WebPreferences::shouldUseHighResolutionTimers): Added. * WebPreferences.h: Added getter/setter. 2009-09-11 Adam Roben Get user script/stylesheet tests running on Windows Fixes User script/stylesheet tests are skipped on Windows Reviewed by John Sullivan. * Interfaces/IWebViewPrivate.idl: Added addUserScriptToGroup, addUserStyleSheetToGroup, removeUserContentFromGroup, removeAllUserContentFromGropu to match the Mac SPI. * WebView.cpp: (WebView::addUserScriptToGroup): (WebView::addUserStyleSheetToGroup): (WebView::removeUserContentFromGroup): (WebView::removeAllUserContentFromGroup): * WebView.h: Added. Implementation was based on similar methods in WebView.mm. 2009-09-11 Jon Honeycutt Fix crash on launch on Windows. Rubber-stamped by Mark Rowe. * WebKit.vcproj/WebKit.vcproj: Define ENABLE_WEB_SOCKETS for all configurations. 2009-09-07 Drew Wilson Reviewed by David Levin. Enable SHARED_WORKERS by default. https://bugs.webkit.org/show_bug.cgi?id=28959 * WebKit.vcproj/WebKit.vcproj: 2009-09-04 Adam Roben Make WebView function without a parent window When WebView has no parent window, it becomes a message-only window, which hides it from the screen and prevents it from appearing on the taskbar. Fixes WebView::initWithFrame fails if there's no host window Reviewed by Dave Hyatt. * WebView.cpp: (WebView::initWithFrame): m_hostWindow is null, use HWND_MESSAGE as our parent window, which will make us a message-only window. (WebView::setHostWindow): If he new host window is null, use HWND_MESSAGE as our parent window, which will make us a message-only window. 2009-09-04 Adam Barth Unreviewed attempt at a build fix. Added missing include. * WebCoreSupport/WebFrameLoaderClient.cpp: 2009-09-04 Adam Barth Unreviewed attempt at a build fix. Fix typo of IWebFrameLoadDelegatePrivate2 and make IWebFrameLoadDelegatePrivate inherit from IWebFrameLoadDelegatePrivate as requestd by Adam Roben. * Interfaces/IWebFrameLoadDelegatePrivate2.idl: * WebCoreSupport/WebFrameLoaderClient.cpp: (WebFrameLoaderClient::didDisplayInsecureContent): (WebFrameLoaderClient::didRunInsecureContent): 2009-09-04 Adam Barth Reviewed by Eric Seidel. https://bugs.webkit.org/show_bug.cgi?id=24696 Plumb mixed content notifications to IWebFrameLoadDelegatePrivate. * Interfaces/IWebFrameLoadDelegatePrivate2.idl: Added. * Interfaces/WebKit.idl: * WebCoreSupport/WebFrameLoaderClient.cpp: (WebFrameLoaderClient::didDisplayInsecureContent): (WebFrameLoaderClient::didRunInsecureContent): * WebKit.vcproj/Interfaces.vcproj: 2009-09-03 Adam Barth Reviewed by eric@webkit.org. https://bugs.webkit.org/show_bug.cgi?id=24696 Stub implementations of mixed content methods of FrameLoaderClient. * WebCoreSupport/WebFrameLoaderClient.cpp: (WebFrameLoaderClient::didDisplayInsecureContent): (WebFrameLoaderClient::didRunInsecureContent): * WebCoreSupport/WebFrameLoaderClient.h: 2009-09-01 Adam Roben Post a notification when a WebView is closing This is useful for situations where some code wants to react to the WebView closing but isn't in charge of the WebView and can't otherwise be notified. This notification could replace IWebUIDelegatePrivate::webViewClosing if we decide that the notification system isn't too burdensome. Reviewed by John Sullivan. * Interfaces/IWebViewPrivate.idl: Added the WebViewWillCloseNotification string constant. * WebKit.vcproj/WebKit.vcproj: Link against comsuppw.lib in all configurations so that we can use _bstr_t. * WebView.cpp: (WebView::close): Post the WebViewWillCloseNotification. 2009-08-31 Alexey Proskuryakov Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=28852 Rename KURL single argument constructor to avoid confusion * WebURLResponse.cpp: (WebURLResponse::createInstance): Adapt to the change. 2009-08-20 Adam Roben Give WebKit clients access to the window features specified in window.open Reviewed by Steve Falkenburg. * COMVariantSetter.h: Added COMVariantSetters for bool and float. * Interfaces/IWebUIDelegatePrivate.idl: Added IWebUIDelegatePrivate2, which contains a new version of createWebViewWithRequest that also passes the window features as an IPropertyBag. This is analagous to the -createWebViewWithRequest:windowFeatures: method added to WebUIDelegate on Mac in r27452. Also added key strings for use with the window features property bag. * WebCoreSupport/WebChromeClient.cpp: (createWindowFeaturesPropertyBag): Added this helper function to turn a WebCore::WindowFeatures into an IPropertyBag for passing to WebKit clients. (WebChromeClient::createWindow): If the UI delegate implements IWebUIDelegatePrivate2, call the new createWebViewWithRequest function that takes a window features property bag. If the delegate doesn't implement the new function, fall back to the old functions. 2009-08-20 Adam Roben A little clean-up in WebChromeClient::createWindow Reviewed by Steve Falkenburg. * WebCoreSupport/WebChromeClient.cpp: (WebChromeClient::createWindow): Refactored to share more code between the dialog and non-dialog cases. 2009-08-28 Gustavo Noronha Silva Reviewed by Holger Freyther. https://bugs.webkit.org/show_bug.cgi?id=25889 [GTK] scrollbar policy for main frame is not implementable Add empty implementation for new ChromeClient method. * WebCoreSupport/WebChromeClient.h: (WebChromeClient::scrollbarsModeDidChange): 2009-08-27 Brent Fulgham Reviewed by Adam Roben. Modify Release_Cairo target to build testapi using the Release_CFLite target so that the correct CoreFoundation (in this case, CFLite.dll) is linked. * WebKit.vcproj/WebKit.sln: 2009-08-26 Adam Barth Reviewed by Oliver Hunt. Don't let local files access web URLs https://bugs.webkit.org/show_bug.cgi?id=28480 * WebPreferences.cpp: (WebPreferences::initializeDefaultSettings): 2009-08-26 David Levin Reviewed by Darin Fisher. ResourceRequestBase::*[Aa]llowHTTPCookies shouldn't mention http. https://bugs.webkit.org/show_bug.cgi?id=28735 * WebMutableURLRequest.cpp: (WebMutableURLRequest::setHTTPShouldHandleCookies): 2009-08-25 Eric Carlson Reviewed by Oliver Hunt.