2011-02-19 Charlie Reis Reviewed by Mihai Parparita. Ensure loading has stopped in HistoryController::goToItem https://bugs.webkit.org/show_bug.cgi?id=54517 Add a FrameLoaderClient callback for whether to stop loading before goToItem. Test: http/tests/navigation/forward-to-fragment-fires-onload.html * WebCoreSupport/WebFrameLoaderClient.cpp: (WebFrameLoaderClient::shouldStopLoadingForHistoryItem): Added. * WebCoreSupport/WebFrameLoaderClient.h: 2011-02-16 David Hyatt Reviewed by Dan Bernstein. https://bugs.webkit.org/show_bug.cgi?id=54244 Convert the line box tree to floating point and eliminate font rounding hacks. This patch removes all of the rounding hacks from the Font code and makes sure all Font APIs involving width measurement and width offsets use floats. The line box tree's x, y and logicalWidth members have all been converted to floats and all of the line box APIs have been changed as well. In terms of pixel adjustments, overflow is using an enclosing model (so it will be enclosingIntRect of a line box's x/y/width/height). Background and border painting is using a rounding model, so borders and backgrounds will round to the nearest pixel when painting. Replaced elements still snap to integer positions on lines, and they use a rounding model as well, although their underlying line boxes still have a precise floating point position. Justification will now allow subpixel positioning to occur as well. Platforms that don't support subpixel positioning should already be rounding justification spacing in their font code. Many layout test results change on Mac, since rounding hacks were used there and are now gone. * WebKitGraphics.cpp: (CenterTruncateStringToWidth): (RightTruncateStringToWidth): 2011-02-10 Luiz Agostini Reviewed by Adam Roben. HTML5
and : localized text https://bugs.webkit.org/show_bug.cgi?id=54260 The method defaultDetailsSummaryText was added to LocalizationStrategy class. It is used to provide the default label to be used by a
tag that has no child. * WebCoreSupport/WebPlatformStrategies.cpp: (WebPlatformStrategies::defaultDetailsSummaryText): * WebCoreSupport/WebPlatformStrategies.h: 2011-02-16 Dominic Mazzoni Reviewed by Chris Fleizach. Add new role for canvas elements. https://bugs.webkit.org/show_bug.cgi?id=50126 Test: accessibility/canvas-fallback-content.html * AccessibleBase.cpp: (MSAARole): 2011-02-15 Kenneth Russell Unreviewed. Remove whitespace-only change from http://trac.webkit.org/changeset/78620 (https://bugs.webkit.org/show_bug.cgi?id=54312) now that the patch has passed the Windows build bots. * Interfaces/WebKit.idl: 2011-02-15 Kenneth Russell Reviewed by Darin Fisher. Allow controlling minimum DOMTimer interval on a per-page basis https://bugs.webkit.org/show_bug.cgi?id=54312 Added needed methods to implement LayoutTestController's new setMinimumTimerInterval method. Includes whitespace-only change to WebKit.idl to trigger proper rebuild on bots; will be removed in subsequent checkin. * Interfaces/IWebViewPrivate.idl: * Interfaces/WebKit.idl: * WebView.cpp: (WebView::initWithFrame): (WebView::defaultMinimumTimerInterval): (WebView::setMinimumTimerInterval): * WebView.h: 2011-01-26 MORITA Hajime Reviewed by Ryosuke Niwa. Refactoring: Extract TextCheckerClient from EditorClient https://bugs.webkit.org/show_bug.cgi?id=53213 * WebCoreSupport/WebEditorClient.h: (WebEditorClient::textChecker): 2011-02-07 Ryosuke Niwa Reviewed by Adam Barth. Add EditorClient callbacks to override isDOMPasteAllowed and javaScriptCanAccessClipboard https://bugs.webkit.org/show_bug.cgi?id=52417 Added two callback functions, canCopyCut and canPaste to EditorClient. They are currently not implemented. * WebCoreSupport/WebEditorClient.cpp: (WebEditorClient::canCopyCut): Added. (WebEditorClient::canPaste): Added. * WebCoreSupport/WebEditorClient.h: 2011-02-14 Brian Weinstein Reviewed by Brady Eidson. Need WebKit API to determine whether we have a site icon for a given URL https://bugs.webkit.org/show_bug.cgi?id=54400 This patch implements IWebIconDatabase::hasIconForURL which tells us whether or not we have a site icon for the given URL. * Interfaces/IWebIconDatabase.idl: Added new function. * Interfaces/WebKit.idl: Touched to make sure Interfaces rebuilds. * WebIconDatabase.cpp: (WebIconDatabase::hasIconForURL): Call IconDatabase::iconForPageURL to make sure we load the icon from disk, and call iconURLForPageURL to determine whether or not we actually have an icon. * WebIconDatabase.h: 2011-02-11 Geoffrey Garen Reviewed by Oliver Hunt. A little more encapsulation for the heap: Removed CollectorHeapIterator https://bugs.webkit.org/show_bug.cgi?id=54298 * WebCoreStatistics.cpp: (WebCoreStatistics::javaScriptProtectedObjectTypeCounts): 2011-02-09 Pavel Feldman Reviewed by Yury Semikhatsky. Web Inspector: follow up on InspectorAgent split - removing unnecessary methods from InspectorController. https://bugs.webkit.org/show_bug.cgi?id=54093 * WebInspector.cpp: (WebInspector::showConsole): (WebInspector::toggleProfilingJavaScript): 2011-02-08 Adam Barth Reviewed by Eric Seidel. Remove orphan code from old parser https://bugs.webkit.org/show_bug.cgi?id=53984 * WebCoreSupport/WebChromeClient.h: 2011-02-08 David Hyatt Reviewed by Adam Roben. REGRESSION (5.0.3-ToT): United boarding pass has wrong layout when printed Windows never got patched to pass in the page height to WebCore, so when WebCore's pagination got re-written to depend on this value, Windows got broken. Patch setPrinting to be identical to WebKit1 on OS X and to have it take an extra minimum page height argument. * WebFrame.cpp: (WebFrame::setPrinting): (WebFrame::setInPrintingMode): * WebFrame.h: 2011-02-02 Ilya Tikhonovsky Reviewed by Yury Semikhatsky. Web Inspector: move InspectorController's methods from InspectorAgent to InspectorController. https://bugs.webkit.org/show_bug.cgi?id=53169 Minor change enforced by major changes in WebCore/inspector/InspectorController. * WebInspector.cpp: (WebInspector::isTimelineProfilingEnabled): 2011-02-07 Enrica Casucci Reviewed Adam Roben and Darin Adler. WebKit2: drag and drop support on Windows. https://bugs.webkit.org/show_bug.cgi?id=52775 Removed createDragImageForLink from DragClient. * WebCoreSupport/WebDragClient.cpp: (WebDragClient::startDrag): * WebCoreSupport/WebDragClient.h: 2011-02-06 Ryosuke Niwa Reviewed by Darin Adler. OwnArraryPtr.h uses deleteOwnedPtr but doesn’t include OwnPtrCommon.h https://bugs.webkit.org/show_bug.cgi?id=52867 * WebHistory.cpp: (WebHistory::orderedLastVisitedDays): Calls adoptArrayPtr. * WebPreferences.cpp: (WebPreferences::copyWebKitPreferencesToCFPreferences): Ditto. 2011-02-03 Yury Semikhatsky Reviewed by Pavel Feldman. Web Inspector: remove settings related methods from InspectorClient https://bugs.webkit.org/show_bug.cgi?id=53686 * WebCoreSupport/WebInspectorClient.cpp: (WebInspectorClient::openInspectorFrontend): (WebInspectorFrontendClient::WebInspectorFrontendClient): * WebCoreSupport/WebInspectorClient.h: 2011-02-03 Adam Langley Reviewed by Adam Barth. Plumb mixed script URL to FrameLoaderClient https://bugs.webkit.org/show_bug.cgi?id=52384 Regressions covered by http/tests/security/mixedContent/* * WebCoreSupport/WebFrameLoaderClient.cpp: (WebFrameLoaderClient::didRunInsecureContent): * WebCoreSupport/WebFrameLoaderClient.h: 2011-02-02 David Hyatt Reviewed by Darin Adler. Removal of right()/bottom(), converting to maxX()/maxY(). * DOMHTMLClasses.cpp: (DOMHTMLInputElement::rectOnScreen): * WebCoreSupport/EmbeddedWidget.cpp: (EmbeddedWidget::frameRectsChanged): * WebFrame.cpp: (WebFrame::computePageRects): * WebScrollBar.cpp: (WebScrollBar::frameRect): * WebView.cpp: (WebView::addToDirtyRegion): (WebView::visibleContentRect): (WebView::prepareCandidateWindow): 2011-01-31 Brady Eidson Reviewed by Adam Roben. Fix the clean Windows build. * WebKitGraphics.cpp: (WebDrawText): 2011-01-28 Jon Honeycutt Downloads in WK2 on Windows should write resume data to bundle https://bugs.webkit.org/show_bug.cgi?id=53282 Reviewed by Alice Liu. * WebDownload.cpp: (WebDownload::bundlePathForTargetPath): Use the new WebCore::DownloadBundle function. (WebDownload::request): * WebDownload.h: Removed declarations for functions that were moved to a new location. * WebDownloadCFNet.cpp: (WebDownload::initToResumeWithBundle): Use the new WebCore::DownloadBundle function. (WebDownload::cancelForResume): Fix a leak of the resume data CFDataRef by using adoptCF(). Use the new WebCore::DownloadBundle function. 2011-01-28 Dan Bernstein Reviewed by Sam Weinig. are not exposed https://bugs.webkit.org/show_bug.cgi?id=33773 Reviewed by Alice Liu. * AccessibleBase.cpp: (AccessibleBase::get_accState): If the object is invisible, set the invisible state flag. If the object is collapsed, set the collapsed state. If the object is a combo box, set the has popup flag, and if it's not collapsed, set the expanded flag. (MSAARole): Add new WebCore to MSAA role mappings. * WebCoreLocalizedStrings.cpp: (WebCore::AXMenuListActionVerb): Return the action verb that Firefox uses for elements is wrong https://bugs.webkit.org/show_bug.cgi?id=33522 Reviewed by Darin Adler. * AccessibleBase.cpp: (MSAARole): Map the WebCore::ListBox and WebCore::ListBoxOption roles to the MSAA "list" and "list item" roles. 2010-01-08 Brent Fulgham Build fix, no review. Protect video control logic inside ENABLE(VIDEO). * WebView.cpp: (WebView::enterFullscreenForNode): (WebView::exitFullscreen): * WebView.h: 2010-01-08 Chris Marrin Reviewed by Adam Roben. Implement full-screen video for Windows https://bugs.webkit.org/show_bug.cgi?id=31318 This adds a full-screen controller, FullscreenVideoController, which manages going in and out of full-screen. The actual full-screen window is created and managed by logic added to QTMovieWin. FullscreenVideoController also creates and manages a HUD. The HUD renders and manages events to control the playing video. Movie controller events go to FullscreenVideoController which then sends them to HTMLMediaElement, which is passed to the controller by WebView, which gets the call to go into full-screen mode from HTMLMediaElement via ChromeClient. I've also updated the icons so the related sets (Play/Pause and volume high/volume low/exit fullscreen) are the same size. This allows me to position them using common code. * WebCoreSupport/WebChromeClient.cpp: (WebChromeClient::supportsFullscreenForNode): (WebChromeClient::enterFullscreenForNode): (WebChromeClient::exitFullscreenForNode): * WebCoreSupport/WebChromeClient.h: * WebKit.vcproj/WebKit.vcproj: * WebKit.vcproj/fsVideoAudioVolumeHigh.png: * WebKit.vcproj/fsVideoAudioVolumeLow.png: * WebKit.vcproj/fsVideoExitFullscreen.png: * WebKit.vcproj/fsVideoPause.png: * WebKit.vcproj/fsVideoPlay.png: * WebKitDLL.cpp: (loadResourceIntoBuffer): * FullscreenVideoController.cpp: Added. * FullscreenVideoController.h: Added. * WebView.cpp: (WebView::enterFullscreenForNode): (WebView::exitFullscreen): * WebView.h: 2010-01-08 Brent Fulgham Unreviewed correction. Accidentally left unnecessary modification to hdcFromContext in when landing r52995. * WebFrame.cpp: (hdcFromContext): Back out unneeded modification. 2010-01-08 Brent Fulgham Reviewed by Adam Roben. Use correct cairo surface data type for handling print operations. https://bugs.webkit.org/show_bug.cgi?id=33022. * WebFrame.cpp: (scaleFactor): Handle 'scale = 0' case. (WebFrame::spoolPage): Use scaleFactor helper function. Account for margin size in region passed to header/footer routines. (WebFrame::spoolPages): Properly clean up Cairo surface. 2010-01-07 Kent Tamura Reviewed by Maciej Stachowiak. Remove COM code generation files. https://bugs.webkit.org/show_bug.cgi?id=32854 * WebKit.vcproj/DerivedSources.make: Removed. * WebKit.vcproj/build-generated-files.sh: Removed. 2010-01-05 Adam Roben Make IWebView::close and destroying a WebView's HWND optional for WebKit clients WebView will now take care of these operations itself when its last reference is released, if they haven't already been done. IWebView::close now also destroys the WebView's HWND. All WebKit clients were already performing these operations in succession anyway, or were attempting to by calling IWebView::close then destroying the WebView's host window (which actually resulted in the WebView's HWND leaking, and the crash in the below bug). Fixes Crash when calling IWebView::close, then releasing the WebView, without calling DestroyWindow Fixes a few WebViewDestruction tests, too. Reviewed by Steve Falkenburg. * WebView.cpp: (WebView::~WebView): Don't try to destroy m_viewWindow here. That should already have happened. Assert that this is the case. (WebView::close): If m_viewWindow isn't already being destroyed, destroy it now. Moved the call to revokeDragDrop() here from our WM_DESTROY handler because it needs to be done before m_viewWindow is nulled out. (WebView::WebViewWndProc): Removed call to revokeDragDrop() that close() now performs. (WebView::Release): If our last reference is being released, call close() so that clients don't have to. (It's harmless to call close() multiple times.) We do this here instead of in the destructor because close() can cause AddRef() and Release() to be called, and calling those from within the destructor leads to double-destruction. (WebView::setHostWindow): Removed an unnecessary (and now harmful) null-check. (WebView::revokeDragDrop): Changed an assertion into a run-time check, since this will now sometimes be called when m_viewWindow hasn't been created yet. Changed the IsWindow call to a null-check because we never hold onto a destroyed m_viewWindow. (WebView::windowAncestryDidChange): If we don't have a view window, stop tracking changes to our parent's active state. 2010-01-05 Adam Roben Make it safe to call IWebView::close when IWebView::initWithFrame hasn't been called Part of Crash when IWebView::close, then releasing the WebView, without calling DestroyWindow Reviewed by Steve Falkenburg. * WebView.cpp: (WebView::close): Null-check m_page and m_preferences before using them. They will be null if initWithFrame was never called. 2010-01-05 Adam Roben Add assertions to catch double-destruction of WebViews earlier I basically copied the m_deletionHasBegun logic from WTF::RefCounted. Fixes . Reviewed by Darin Adler. * WebView.cpp: (WebView::WebView): Initialize m_deletionHasBegun (WebView::AddRef): Assert that deletion hasn't already begun. (WebView::Release): Assert that deletion hasn't already begun, then record when deletion *does* begin. * WebView.h: Added m_deletionHasBegun. 2010-01-05 Adam Roben Remove dead code in WebViewWndProc Fixes . Reviewed by Darin Adler. * WebView.cpp: (WebView::WebViewWndProc): Removed a redundant isBeingDestroyed check. We bail out much earlier in this function if isBeingDestroyed is true. 2010-01-04 Jon Honeycutt MSAA: Accessibility role of