2010-02-22 Steve Falkenburg Reviewed by Darin Adler. WebKit on Windows should pick up system setting changes without requiring explicit API calls https://bugs.webkit.org/show_bug.cgi?id=35269 * WebKit.vcproj/WebKit.def: Removed WebKitSystemParameterChanged. * WebKit.vcproj/WebKit_debug.def: Removed WebKitSystemParameterChanged. * WebKitGraphics.cpp: Removed WebKitSystemParameterChanged. * WebKitGraphics.h: Removed WebKitSystemParameterChanged. * WebView.cpp: (systemParameterChanged): Call through to wkSystemFontSmoothingChanged for font changes. (WebView::windowReceivedMessage): Pick up WM_SETTINGCHANGE from windowReceivedMessage. 2010-02-22 Brady Eidson Reviewed by Tim Hatcher. Disable WebView docking to views that are too small. and https://bugs.webkit.org/show_bug.cgi?id=35254 * WebCoreSupport/WebInspectorClient.cpp: (WebInspectorClient::showWindowWithoutNotifications): No matter the preference, don't open the inspector window attached if WebCore says it shouldn't be attached. 2010-02-17 Steve Falkenburg Reviewed by Dan Bernstein. WebKit on Windows needs a mechanism to listen for WM_SETTINGCHANGED messages https://bugs.webkit.org/show_bug.cgi?id=35076 * WebKit.vcproj/WebKit.def: Added WebKitSystemParameterChanged. * WebKit.vcproj/WebKit_debug.def: Added WebKitSystemParameterChanged. * WebKitGraphics.cpp: (WebKitSystemParameterChanged): Call through to wkSystemFontSmoothingChanged for font smoothing changes. * WebKitGraphics.h: Added WebKitSystemParameterChanged. 2010-02-17 Dmitry Titov Reviewed by David Levin, Darin Fisher, Simon Hausmann. When a live iframe element is moved between pages, it still depends on the old page. https://bugs.webkit.org/show_bug.cgi?id=34382 * WebCoreSupport/WebFrameLoaderClient.cpp: (WebFrameLoaderClient::didTransferChildFrameToNewDocument): Added empty implementation of a new virtual method. * WebCoreSupport/WebFrameLoaderClient.h: 2010-02-17 Kent Tamura Reviewed by Eric Seidel. Introduces new Icon loading interface in order to support asynchronous loading. https://bugs.webkit.org/show_bug.cgi?id=32054 Add an empty implementation of ChromeClient::iconForFiles(). * WebCoreSupport/WebChromeClient.cpp: (WebChromeClient::iconForFiles): * WebCoreSupport/WebChromeClient.h: 2010-02-17 Shinichiro Hamaji Unreviewed. Touch WebKit.idl to fix the build. [Win] Implement test functions for printing https://bugs.webkit.org/show_bug.cgi?id=34570 * Interfaces/WebKit.idl: 2010-02-17 Shinichiro Hamaji Reviewed by Eric Seidel. [Win] Implement test functions for printing https://bugs.webkit.org/show_bug.cgi?id=34570 * Interfaces/IWebFramePrivate.idl: * WebFrame.cpp: (WebFrame::pageNumberForElementById): (WebFrame::numberOfPages): * WebFrame.h: 2010-02-16 Darin Adler Reviewed by Sam Weinig. Generalize delayed plug-in start for background tabs for use for other media https://bugs.webkit.org/show_bug.cgi?id=34981 * WebView.cpp: (WebView::setCanStartPlugins): Change to call setCanStartMedia. In a later patch we can change the of the public function in the IDL file too, but for now this should be enough. 2010-02-15 Adam Roben Add IWebFramePrivate::visibleContentRect Fixes Add API to get a WebFrame's visible content rect Reviewed by Jon Honeycutt. * Interfaces/IWebFramePrivate.idl: Added visibleContentRect. * Interfaces/WebKit.idl: Touched to force a build. * WebFrame.cpp: (WebFrame::visibleContentRect): * WebFrame.h: Added. Calls through to FrameView::visibleContentRect. 2010-02-12 Brian Weinstein Reviewed by Adam Roben. onmouseout fired when moving over tooltip on Windows https://bugs.webkit.org/show_bug.cgi?id=16794 . Add WS_EX_TRANSPARENT to out tooltip HWND so it isn't subject to hit testing, and when you mouse over the tooltip, it doesn't send a mouseout to the web content. * WebView.cpp: (WebView::initializeToolTipWindow): Add WS_EX_TRANSPARENT. 2010-02-10 Jesus Sanchez-Palencia Reviewed by Kenneth Rohde Christiansen. Support frameset flattening https://bugs.webkit.org/show_bug.cgi?id=32717 Add support for enabling/disabling FrameSet Flattening on the Windows port. * Interfaces/IWebPreferencesPrivate.idl: * WebPreferenceKeysPrivate.h: * WebPreferences.cpp: (WebPreferences::initializeDefaultSettings): (WebPreferences::isFrameSetFlatteningEnabled): (WebPreferences::setFrameSetFlatteningEnabled): * WebPreferences.h: * WebView.cpp: (WebView::notifyPreferencesChanged): 2010-02-10 Adam Roben Remove unnecessary #include of shfolder.h shfolder.h has been deprecated in newer versions of the Windows SDK. Fixes WebPreferences.cpp fails to compile under VS2010 RC due to #include of shfolder.h. Reviewed by Darin Adler. * WebPreferences.cpp: Removed #include. 2010-02-08 Charlie Reis Reviewed by Darin Adler. onbeforeunload not called at window close + frame or iframe focused https://bugs.webkit.org/show_bug.cgi?id=27481 Chromium and WebKit on Windows will now fire beforeunload handlers even if an inner frame is focused. Layout tests aren't able to test this bug, since it requires closing the actual browser window, not calling window.close(). Instead, test with WebCore/manual-tests/onbeforeunload-focused-iframe.html. * WebView.cpp: (WebView::shouldClose): 2010-02-08 Brent Fulgham Reviewed by Adam Roben. Include header position in World Transform used for plugin positioning. https://bugs.webkit.org/show_bug.cgi?id=34709 * WebFrame.cpp: (WebFrame::spoolPage): Correct WinCairo plugin print positioning to account for header size. Existing code ignored this, causing plugins to overlay other elements. 2010-02-04 Alice Liu Reviewed by Jon Honeycutt. https://bugs.webkit.org/show_bug.cgi?id=34612 " MSAA: accSelect returns error codes for most elements that arent listbox or menupopup related" * AccessibleBase.cpp: (AccessibleBase::accSelect): - Stop sending E_INVALIDARG for elements that request TAKE_SELECTION that aren't beneath listboxes or menupopups. This was too restrictive since any element can be selectable. - Correct the misinterpretation of MSDN's stipulation of situations involving adding, removing, and extending selection on single-select elements 2010-02-04 Brent Fulgham Reviewed by Adam Roben. Properly handle margin settings when printing Plugins in WinCairo. https://bugs.webkit.org/show_bug.cgi?id=34613 * WebFrame.cpp: (WebFrame::spoolPage): Adjust the GraphicsContext passed to the paintContents method so that the World Transform is properly positioned to account for margin settings at the time that PluginViewWin.cpp processes the drawing operations. 2010-02-04 Brent Fulgham Reviewed by Adam Roben. Properly handle margin settings in WinCairo. https://bugs.webkit.org/show_bug.cgi?id=34545 * WebFrame.cpp: (scaleFactor): Require the margin information as an input parameter, and use them when computing the scaling factor. (WebFrame::drawHeader): Pass margin size to scaleFactor. (WebFrame::drawFooter): Pass margin size to scaleFactor. (WebFrame::spoolPage): 1. Pass margin size to scaleFactor. 2. Recognize that the return value of printerMarginRect is already in device units, and therefore scale it so that the Cairo drawing is correct. 3. Remove scaling call for margins in GDI code, as it is already in scaled units. 2010-02-03 Brian Weinstein Reviewed by Steve Falkenburg. Scroll does not work with IBM Thinkpad. When initializing the WebView, add two scrollbar Windows inside of our WebView, to allow it to receive WM_VSCROLL and WM_HSCROLL events. (similar to what Firefox did in: . Only do this if the user has installed some kind of Trackpoint driver, using an algorithm like . Also, add code to handle WM_HSCROLL and WM_VSCROLL messages to scroll the WebView. * WebView.cpp: (WebView::verticalScroll): Handle the WM_VSCROLL messages, and scroll up and down by lines or pages. (WebView::horizontalScroll): Handle the WM_HSCROLL messages, and scroll left or right by lines or pages. (WebView::WebViewWndProc): Add cases for WM_VSCROLL and WM_HSCROLL. (WebView::initWithFrame): Call shouldInitializeTrackPointHack, and if we should, create vertical and horizontal scrollbars to receive WM_VSCROLL and WM_HSCROLL messages. (WebView::shouldInitializeTrackPointHack): Check if there is a registry key for the some kind of IBM Trackpoint driver. * WebView.h: 2010-02-02 Steve Falkenburg Reviewed by Darin Adler. Copyright year updating for Windows version resources should be automatic https://bugs.webkit.org/show_bug.cgi?id=34503 * WebKit.vcproj/WebKit.rc: 2010-02-02 Adam Roben Stop copying WebCore's IDL files from SRCROOT to OBJROOT WebKit doesn't use these anymore (as of r52921). Part of Bug 34496: Clean up WebCore's IDL/script copying Reviewed by Steve Falkenburg. * WebKit.vcproj/WebKit.make: 2010-01-29 Gavin Barraclough Reviewed by Sam Weinig + Oliver Hunt. Bug 34346 - With JSC bindings, make processingUserGesture work with events in Isolated Worlds Pass processeing user gensture flag to media play/pause methods. * FullscreenVideoController.cpp: (FullscreenVideoController::play): (FullscreenVideoController::pause): 2010-01-29 Brian Weinstein Reviewed by Adam Roben. Drag and Drop: Windows uses "stop" sign as cursor when dragging https://bugs.webkit.org/show_bug.cgi?id=34305 Add a preference in WebKit (that defaults to false), for whether or not we should show the custom cursors during drag and drop. However, this is currently only used on Windows, and only used to hide the "drop not allowed" icon inside the WebView is the preference is set to true. This will be off by default, so no change in behavior. * Interfaces/IWebPreferencesPrivate.idl: Added new functions. * Interfaces/WebKit.idl: Touched to force Interfaces build. * WebDropSource.cpp: (WebDropSource::GiveFeedback): Implementation of conditional showing cursor logic. * WebPreferenceKeysPrivate.h: Added new preference key. * WebPreferences.cpp: Added new functions. (WebPreferences::setCustomDragCursorsEnabled): (WebPreferences::customDragCursorsEnabled): * WebPreferences.h: Added new functions. 2010-01-28 Jon Honeycutt MSAA: Crash when posting a notification for a detached object https://bugs.webkit.org/show_bug.cgi?id=34309 Reviewed by Darin Adler. * AccessibleBase.cpp: (AccessibleBase::QueryService): If an unrecognized service ID is passed, return early. Otherwise, return the result of QueryInterface. (AccessibleBase::QueryInterface): Add static_casts. Check for new UUIDs. (AccessibleBase::isSameObject): Query the object for AccessibleBase. Return whether the pointers or the wrapped objects match. * AccessibleBase.h: Give the class a UUID so we can query for it in isSameObject(). Inherit from IAccessibleComparable; inherit from IServiceProvider so clients can use QueryService to query for a custom interface. * Interfaces/AccessibleComparable.idl: Added. Declares a function that can be called to compare to accessible objects. * Interfaces/WebKit.idl: Include the new IDL. * WebKit.vcproj/Interfaces.vcproj: Add the new IDL to the project. 2010-01-27 Aaron Boodman Expand NotificationCenter::checkPermission() interface. It now passes the full URL instead of just the origin. https://bugs.webkit.org/show_bug.cgi?id=34238 * WebCoreSupport/WebDesktopNotificationsDelegate.cpp: (WebDesktopNotificationsDelegate::checkPermission): * WebCoreSupport/WebDesktopNotificationsDelegate.h: 2010-01-27 Adam Roben Make it possible to instantiate WebSerializedJSValue using WebKitCreateInstance Reviewed by Dave Hyatt. * ForEachCoClass.h: * WebKitClassFactory.cpp: Added WebSerializedJSValue. 2010-01-26 Steve Falkenburg Reviewed by Oliver Hunt. Windows build references non-existent include paths https://bugs.webkit.org/show_bug.cgi?id=34175 * WebKit.vcproj/WebKit.vcproj: 2010-01-25 Steve Falkenburg Reviewed by Simon Fraser. A WebGeolocationControllerClient is leaked for every WebView https://bugs.webkit.org/show_bug.cgi?id=34145 * WebCoreSupport/WebGeolocationControllerClient.cpp: (WebGeolocationControllerClient::geolocationDestroyed): Added. * WebCoreSupport/WebGeolocationControllerClient.h: 2010-01-23 Dan Bernstein Reviewed by Maciej Stachowiak. svg/custom/text-zoom.xhtml fails on Windows https://bugs.webkit.org/show_bug.cgi?id=34006 * WebPreferences.cpp: (WebPreferences::initializeDefaultSettings): Added WebKitZoomsTextOnlyPreferenceKey with a default value of true. 2010-01-20 Steve Falkenburg Reviewed by Sam Weinig. Add missing implementation for WebGeolocationPosition::initWithTimestamp. * WebGeolocationPosition.cpp: (WebGeolocationPosition::initWithTimestamp): Implemented. 2010-01-20 Jon Honeycutt MSAA: accSelect() is not implemented https://bugs.webkit.org/show_bug.cgi?id=33918 Reviewed by Darin Adler. * AccessibleBase.cpp: (AccessibleBase::accSelect): If there is an invalid combination of state flags, return early. If the caller passed the "take focus" flag, focus the object. If the "take selection" flag was passed, check whether the parent object is an AccessibilityListBox; if so, call the object's setSelectedChildren() function. If the parent is an AccessibilityMenuListPopup, call the child object's setSelected() function. Otherwise, if the parent is some other, unsupported object, return early. If the selection flags include "add", "remove", or "extend" selection, and the parent object is not multi-selectable, return early. Otherwise, set or unset the child's selected flag based on the passed flag. 2010-01-20 Steve Falkenburg Reviewed by Darin Adler and Adam Roben. Feature defines are difficult to maintain on Windows builds https://bugs.webkit.org/show_bug.cgi?id=33883 FeatureDefines.vsprops are now maintained in a way similar to Configurations/FeatureDefines.xcconfig, with the added advantage of having a single FeatureDefines file across all projects. * WebKit.vcproj/Interfaces.vcproj: Add FeatureDefines.vsprops inherited property sheet. * WebKit.vcproj/WebKit.sln: Set up Cairo configuration for WebCoreGenerated. * WebKit.vcproj/WebKit.vcproj: Remove ENABLE_ preprocessor definitions. Add FeatureDefines.vsprops inherited property sheet. * WebKit.vcproj/WebKitGUID.vcproj: Add FeatureDefines.vsprops inherited property sheet. 2010-01-17 Jon Honeycutt MSAA: The child