2011-01-17 Adam Roben Simplify WKCACFLayerRenderer's API createRenderer/destroyRenderer are now hidden behind setHostWindow. WKCACFLayerRendererClient::animationsStarted has been removed, as it was never called. (The work it was supposed to do was already being accomplished by WKCACFLayerRenderer::render telling each layer that animations are starting.) Fixes WKCACFLayerRenderer is hard to use Reviewed by Chris Marrin. * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp: (WebCore::MediaPlayerPrivateFullscreenWindow::createWindow): Moved the call to setHostWindow here from the WM_CREATE handler. The WM_CREATE handler was causing the Direct3D device to be created, but MSDN says you shouldn't create a device while handling WM_CREATE. Removed no-longer-needed call to createRenderer (setHostWindow does this now) and the never-needed call to setNeedsDisplay (we never draw into the root layer; this was just creating an unnecessary backing store the size of the screen!). (WebCore::MediaPlayerPrivateFullscreenWindow::wndProc): Moved WM_CREATE code, as described above. Removed call to destroyRenderer when handling WM_DESTROY; setHostWindow does this now. Fixed up our WM_PAINT handler to do a synchronous paint and to clear our dirty region, while I was in here. * platform/graphics/win/WKCACFLayerRenderer.cpp: (WebCore::WKCACFLayerRenderer::~WKCACFLayerRenderer): Changed to call setHostWindow instead of destroyRenderer; the former calls the latter if needed. (WebCore::WKCACFLayerRenderer::setHostWindow): Moved here from the header file. Destroys our old renderer (i.e., IDirect3DDevice9) if we're losing our window, or creates a renderer if we're gaining a window. (WebCore::WKCACFLayerRenderer::createRenderer): Updated for WKSI function rename. (WebCore::WKCACFLayerRenderer::destroyRenderer): Changed to clear the D3D device from our context before releasing the device. * platform/graphics/win/WKCACFLayerRenderer.h: Removed WKCACFLayerRendererClient::animationsStarted. Removed setNeedsDisplay. Make createRenderer, destroyRenderer, and renderSoon private. 2011-01-17 Adam Roben Remove special-cased support for providing content for the root layer Clients will just have to provide content through the normal GraphicsLayer channels now! Support for WebView should paint directly into a GraphicsLayer when in accelerated compositing mode Reviewed by Simon Fraser and Chris Marrin. * platform/graphics/win/WKCACFLayerRenderer.cpp: (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): Removed initialization of m_backingStoreDirty, which has itself been removed. (WebCore::WKCACFLayerRenderer::setNeedsDisplay): Moved code to schedule a sync from here to syncCompositingStateSoon. We only need to call renderSoon if we don't call syncCompositingStateSoon; the latter function calls the former. (WebCore::WKCACFLayerRenderer::paint): Removed code to handle m_backingStoreDirty. We don't want to know anything about clients' backing stores. (WebCore::WKCACFLayerRenderer::syncCompositingStateSoon): Added. Code came from setNeedsDisplay. * platform/graphics/win/WKCACFLayerRenderer.h: Removed setRootContents[AndDisplay], setBackingStoreDirty, and m_backingStoreDirty. Made paint() public so that clients can force a synchronous render (e.g., when handling WM_PAINT). 2011-01-17 Adam Roben Remove contexts from WKCACFContextFlusher before destroying them We aren't really using WKCACFContextFlusher for anything useful at the moment, but that will probably change in the near future. I couldn't come up with a way to test this because it isn't possible to resize a window in DumpRenderTree. Fixes REGRESSION (r75262): Crash beneath WKCACFContextFlusher::flushAllContexts when resizing window on page that uses accelerated compositing Reviewed by Simon Fraser. * platform/graphics/win/WKCACFLayerRenderer.cpp: (WebCore::WKCACFLayerRenderer::~WKCACFLayerRenderer): Remove our context from WKCACFContextFlusher. (This code was erroneously removed from WKCACFLayerRenderer::destroyRenderer in r75262. This is a more sensible place for it.) 2011-01-17 Adam Roben Don't access the CACFLayerRef's sublayers directly from PlatformCALayer There might be a secret extra sublayer (the tile parent layer) that PlatformCALayer doesn't know about. When PlatformCALayer would encounter this, it would try to use the tile parent layer's PlatformCALayer wrapper, which was null, and then would crash. We now ask PlatformCALayerWinInternal for the sublayer list, since that class knows about the tile parent layer and can exclude it from the sublayer list. Covered by compositing/tiling/huge-layer-resize.html. Fixes Crash beneath PlatformCALayer::adoptSublayers when switching out of tiling mode (null-dereference of a PlatformCALayer) Reviewed by Darin Adler and Chris Marrin. * platform/graphics/ca/win/PlatformCALayerWin.cpp: (PlatformCALayer::adoptSublayers): (printLayer): Changed to use PlatformCALayerWinInternal::getSublayers. * platform/graphics/ca/win/PlatformCALayerWinInternal.cpp: (PlatformCALayerWinInternal::getSublayers): Added. Retrieves the list of PlatformCALayers that represent our sublayers. Significantly, this code knows about the tile parent layer and can thus exclude it. * platform/graphics/ca/win/PlatformCALayerWinInternal.h: Added getSublayers. 2011-01-17 Naoki Takano Reviewed by Kent Tamura. [Chromium] Fix popup menu re-positioning when the menu is opened upward, above the corresponding form field. https://bugs.webkit.org/show_bug.cgi?id=51382 http://crbug.com/60427 Calculate correct location of popup window whenever the items in the window change. No new tests, because this fix is for Chromium project and hard to test only in WebKit project * platform/chromium/PopupMenuChromium.cpp: (WebCore::PopupContainer::layoutAndCalculateWidgetRect): New Function to layout and calculate popup widget rect. (WebCore::PopupContainer::showPopup): Move widgetRect calculation logic to calculateWidgetRect(). (WebCore::PopupContainer::refresh): Add parameter focusRect to take the location and the size of focus text input field to calculate correct popup window location. * platform/chromium/PopupMenuChromium.h: Append new input parameter for refresh(). 2011-01-17 Mark Rowe Fix the 32-bit build. * WebCore.exp.in: 2011-01-17 Dan Bernstein Reviewed by Darin Adler. Use of invalid hash map key in CSSFontFaceSource::getFontData() with 0-sized remote font https://bugs.webkit.org/show_bug.cgi?id=52598 Test: fast/css/font-face-zero-hash-key.html * css/CSSFontFaceSource.cpp: (WebCore::CSSFontFaceSource::getFontData): Add 1 to the font size to avoid a 0 hash key. * css/CSSSegmentedFontFace.cpp: (WebCore::CSSSegmentedFontFace::getFontData): Ditto. 2011-01-17 David Kilzer Add missing DOMDocument/DOMDocumentFragment headers to Xcode project Reviewed by Dan Bernstein. This fixes two issues: Add missing DOMDocumentFragmentPrivate.h and DOMDocumentPrivate.h files to the project. These files were never added to the the project although their *Internal.h counterparts were added in r16548 and r17390. Add missing DOMDocumentFragmentInternal.h to the Headers section. It was moved from Headers to "Copy Generated Headers" in r31045, but it should have an entry in both sections. * WebCore.xcodeproj/project.pbxproj: 2011-01-17 Helder Correia Reviewed by Andreas Kling. [Qt] Incorrect shadow alpha with pattern fillStyle https://bugs.webkit.org/show_bug.cgi?id=52559 The shadow color opacity needs to be set on the shadow painter. This is related to bug 52556. Test: fast/canvas/canvas-fillPath-pattern-shadow.html * platform/graphics/qt/GraphicsContextQt.cpp: (WebCore::GraphicsContext::fillPath): 2011-01-17 Martin Robinson Reviewed by Andreas Kling. [GTK] Port a crash fix from libsoup upstream to the libsoup cache code https://bugs.webkit.org/show_bug.cgi?id=52586 No new tests. This is just a merge from upstream. * platform/network/soup/cache/soup-http-input-stream.c: (webkit_soup_http_input_stream_got_chunk): Properly handle unsigned numbers. 2011-01-17 Tony Gentilcore Reviewed by Alexey Proskuryakov. Fix some headers with missing or misspelled #ifndef guards https://bugs.webkit.org/show_bug.cgi?id=52545 No new tests because no new functionality. * ForwardingHeaders/runtime/InitializeThreading.h: * editing/SmartReplace.h: * loader/CrossOriginAccessControl.h: * loader/NetscapePlugInStreamLoader.h: * platform/chromium/ClipboardUtilitiesChromium.h: * platform/graphics/cairo/DrawErrorUnderline.h: * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h: * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h: * platform/graphics/cg/PDFDocumentImage.h: * platform/win/WebCoreTextRenderer.h: 2011-01-17 Pavel Feldman Not reviewed: follow-up fix for r52574: do not reuse clear() for navigation. * inspector/front-end/NetworkPanel.js: (WebInspector.NetworkPanel.prototype.clear): (WebInspector.NetworkPanel.prototype.mainResourceChanged): 2011-01-17 Sergio Villar Senin Reviewed by Martin Robinson. [Gtk] No need to content sniff 304 Not Modified responses https://bugs.webkit.org/show_bug.cgi?id=52570 Makes no sense to wait for the outcome of content sniffing when WebCore is validating resources. If we get a 304 Not Modified it means that we can safely use the cached version of the resource we're asking for. No new tests because it does not change functionality, it just calls didReceiveResponse sooner for 304 Not Modified responses. * platform/network/soup/ResourceHandleSoup.cpp: (WebCore::gotHeadersCallback): 2011-01-17 Jessie Berlin Reviewed by Anders Carlsson. REGRESSION: Assertion failure in FrameLoader::continueLoadAfterWillSubmitForm() when navigating back to an unreachable URL https://bugs.webkit.org/show_bug.cgi?id=52388 Test: http/tests/navigation/go-back-to-error-page.html * history/PageCache.cpp: (WebCore::PageCache::canCachePageContainingThisFrame): Do not cache any error pages (which we can recognize as having substitute data and/or an unreachableURL). 2011-01-17 Pavel Feldman Not reviewed: fixing typo in r75952. * inspector/front-end/NetworkPanel.js: (WebInspector.NetworkDataGridNode.prototype._refreshNameCell): 2011-01-17 Enrica Casucci Reviewed by Alexey Proskuryakov. Drag and drop support: refactoring of image from link and image from selection https://bugs.webkit.org/show_bug.cgi?id=52496 This work cleans up the Mac code and makes it more similar to the Windows implementation, avoiding the use of an NSView when the FrameView can be used. The refactoring is a necessary step towards the complete support of drag and drop in WebKit2. * page/mac/FrameMac.mm: (WebCore::Frame::imageFromRect): Modified to use FrameView instead of NSView to generate the image for drag. 2011-01-17 Dan Bernstein Rubber-stamped by Mark Rowe. Update xcodeproj svn:ignore to include xcuserdata. * WebCore.xcodeproj: Modified property svn:ignore. * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj: Modified property svn:ignore. 2011-01-17 Alexey Proskuryakov Leopard build fix. * page/PrintContext.cpp: GCC complained about shortening a double value to float. 2011-01-17 Alexey Proskuryakov Reviewed by Dan Bernstein. https://bugs.webkit.org/show_bug.cgi?id=52495 No change in behavior, so no tests. * WebCore.exp.in: Export additional methods, as I'm going to use more code from PrintContext. * page/PrintContext.cpp: (WebCore::PrintContext::~PrintContext): No need to clear m_pageRects, the object is being destroyed already. (WebCore::PrintContext::pageCount): Changed page count from int to size_t. (WebCore::PrintContext::pageRect): Ditto. (WebCore::PrintContext::computePageRects): Pass allowHorizontalTiling as an argument. PrintContext already has code to calculate scale factor, so it makes sense to make methods that contain it universal (allowHorizontalTiling is always true for Safari). Round page height to an integer, because Mac code does that, and because page height is treated as integer almost everywhere else in code. (WebCore::PrintContext::begin): Allow calling this function multiple times. There is no need to return to screen mode if e.g. "print backgounds" option changes. (WebCore::PrintContext::computeAutomaticScaleFactor): Expose scale factor computation, so that clients don't have to copy it. (WebCore::PrintContext::spoolRect): Add a way to spool a precomputed rect - handy if a request comes from code that doesn't have page number. (WebCore::PrintContext::pageNumberForElement): Page number int -> size_t. * page/PrintContext.h: Added comments and FIXMEs. PrintContext needs cleanup, but that depends on deciding how it really needs to work (e.g. whether computePageRects() should cause relayout). 2011-01-17 Pavel Feldman Reviewed by Yury Semikhatsky. Web Inspector: unify image data source assignment, add image url to the image view properties list. https://bugs.webkit.org/show_bug.cgi?id=52584 * English.lproj/localizedStrings.js: * inspector/front-end/ImageView.js: (WebInspector.ImageView.prototype._createContentIfNeeded.onImageLoad): (WebInspector.ImageView.prototype._createContentIfNeeded): * inspector/front-end/NetworkPanel.js: (WebInspector.NetworkDataGridNode.prototype._refreshNameCell): * inspector/front-end/Resource.js: (WebInspector.Resource.prototype.populateImageSource): (WebInspector.Resource.prototype._contentURL): * inspector/front-end/ResourcesPanel.js: (WebInspector.FrameResourceTreeElement.prototype.onattach): 2011-01-17 Andrey Kosyakov Reviewed by Pavel Feldman. Web Inspector: [Extensions API] webInspector.resources.onFinished is not fired for redirected resources Make resource start/finish hanlding more consistent. https://bugs.webkit.org/show_bug.cgi?id=52452 * inspector/front-end/AuditLauncherView.js: Ignore WebSocket resources when displaying progress indicator (WebInspector.AuditLauncherView.prototype._resetResourceCount): (WebInspector.AuditLauncherView.prototype.resourceStarted): (WebInspector.AuditLauncherView.prototype.resourceFinished): * inspector/front-end/NetworkManager.js: (WebInspector.NetworkManager): Factor out resource start/finish logic to _startResource()/_finishResource() (WebInspector.NetworkManager.prototype.identifierForInitialRequest): (WebInspector.NetworkManager.prototype.willSendRequest): (WebInspector.NetworkManager.prototype.markResourceAsCached): (WebInspector.NetworkManager.prototype.didReceiveResponse): (WebInspector.NetworkManager.prototype.didReceiveContentLength): (WebInspector.NetworkManager.prototype.didFinishLoading): (WebInspector.NetworkManager.prototype.didFailLoading): (WebInspector.NetworkManager.prototype.didLoadResourceFromMemoryCache): (WebInspector.NetworkManager.prototype.didCreateWebSocket): (WebInspector.NetworkManager.prototype.willSendWebSocketHandshakeRequest): (WebInspector.NetworkManager.prototype.didReceiveWebSocketHandshakeResponse): (WebInspector.NetworkManager.prototype.didCloseWebSocket): (WebInspector.NetworkManager.prototype._appendRedirect): (WebInspector.NetworkManager.prototype._startResource): (WebInspector.NetworkManager.prototype._finishResource): 2011-01-17 Pavel Feldman Reviewed by Yury Semikhatsky. Web Inspector: restore dom and network state upon frontend reuse. https://bugs.webkit.org/show_bug.cgi?id=52574 * inspector/Inspector.idl: * inspector/InspectorController.cpp: (WebCore::InspectorController::restoreInspectorStateFromCookie): (WebCore::InspectorController::populateScriptObjects): (WebCore::InspectorController::pushDataCollectedOffline): (WebCore::InspectorController::didCommitLoad): * inspector/InspectorController.h: * inspector/front-end/NetworkManager.js: (WebInspector.NetworkManager.prototype.reset): * inspector/front-end/NetworkPanel.js: (WebInspector.NetworkPanel.prototype.clear): (WebInspector.NetworkPanel.prototype.mainResourceChanged): * inspector/front-end/ResourceTreeModel.js: (WebInspector.ResourceTreeModel): (WebInspector.ResourceTreeModel.prototype.reloadCachedResources): * inspector/front-end/ResourcesPanel.js: (WebInspector.ResourcesPanel.prototype.clear): * inspector/front-end/inspector.js: (WebInspector.frontendReused): 2011-01-17 Csaba Osztrogonác Unreviewed buildfix after r75944. * WebCore.pro: 2011-01-17 Yi Shen Reviewed by Andreas Kling. [Qt] Extend the Platform Plugin to support full screen video handler https://bugs.webkit.org/show_bug.cgi?id=51249 Make MediaPlayerPrivateQt support a fullscreen player. No new tests because LayoutTests/media/media-fullscreen-inline.html already exists. However, this test failed for Qt (QtMediaPlayer) due to durationchange event getting fired twice. So, still skip it for Qt. * WebCore.pro: * features.pri: * platform/graphics/qt/MediaPlayerPrivateQt.cpp: (WebCore::MediaPlayerPrivateQt::MediaPlayerPrivateQt): (WebCore::MediaPlayerPrivateQt::removeVideoItem): (WebCore::MediaPlayerPrivateQt::restoreVideoItem): * platform/graphics/qt/MediaPlayerPrivateQt.h: (WebCore::MediaPlayerPrivateQt::supportsFullscreen): (WebCore::MediaPlayerPrivateQt::mediaPlayer): 2011-01-17 Anthony Ricaud Reviewed by Kent Tamura. [HTML5] Revert display:none on datalist https://bugs.webkit.org/show_bug.cgi?id=52214 * css/html.css: 2011-01-17 Pavel Feldman Reviewed by Yury Semikhatsky. Web Inspector: simplify debugger enabling routine. https://bugs.webkit.org/show_bug.cgi?id=52472 * inspector/Inspector.idl: * inspector/InspectorController.cpp: (WebCore::InspectorController::restoreDebugger): (WebCore::InspectorController::showAndEnableDebugger): (WebCore::InspectorController::enableDebugger): * inspector/InspectorController.h: * inspector/front-end/DebuggerModel.js: * inspector/front-end/ScriptsPanel.js: (WebInspector.ScriptsPanel.prototype.show): (WebInspector.ScriptsPanel.prototype._toggleDebugging): 2011-01-17 Pavel Podivilov Reviewed by Pavel Feldman. Web Inspector: refactoring: encapsulate lazy initialization of SourceFrame. https://bugs.webkit.org/show_bug.cgi?id=51738 Extract content loading logic from SourceView and ScriptView to ContentProvider implementations. Pass ContentProvider in SourceFrame constructor to allow SourceFrame manage it's lazy initialization. * inspector/front-end/ScriptView.js: (WebInspector.ScriptView): (WebInspector.SourceFrameContentProviderForScript): (WebInspector.SourceFrameContentProviderForScript.prototype.requestContent.didRequestSource): (WebInspector.SourceFrameContentProviderForScript.prototype.requestContent): (WebInspector.SourceFrameContentProviderForScript.prototype.scripts): * inspector/front-end/ScriptsPanel.js: (WebInspector.ScriptsPanel.prototype._addScript): (WebInspector.ScriptsPanel.prototype.sourceFrameForScript): (WebInspector.ScriptsPanel.prototype._sourceFrameForResource): * inspector/front-end/SourceFrame.js: (WebInspector.SourceFrame): (WebInspector.SourceFrame.prototype.set visible): (WebInspector.SourceFrame.prototype._createTextViewer): (WebInspector.SourceFrame.prototype._breakpointAdded): (WebInspector.SourceFrame.prototype._breakpoints): (WebInspector.SourceFrame.prototype._sourceIDForLine): (WebInspector.SourceFrame.prototype._sourceIDSet): (WebInspector.SourceFrameContentProvider): (WebInspector.SourceFrameContentProvider.prototype.requestContent): (WebInspector.SourceFrameContentProvider.prototype.scripts): * inspector/front-end/SourceView.js: (WebInspector.SourceView): (WebInspector.SourceView.prototype.show): (WebInspector.SourceView.prototype.resize): (WebInspector.SourceView.prototype.performSearch.didFindSearchMatches): (WebInspector.SourceView.prototype.performSearch): (WebInspector.SourceView.prototype.revealLine): (WebInspector.SourceView.prototype.highlightLine): (WebInspector.SourceView.prototype._jumpToSearchResult): (WebInspector.SourceFrameContentProviderForResource): (WebInspector.SourceFrameContentProviderForResource.prototype.requestContent): (WebInspector.SourceFrameContentProviderForResource.prototype.scripts): 2011-01-17 John Knottenbelt Reviewed by Jeremy Orlow. GeolocationController should call stopUpdating on destruction https://bugs.webkit.org/show_bug.cgi?id=52216 Test: fast/dom/Geolocation/window-close-crash.html * page/GeolocationController.cpp: (WebCore::GeolocationController::~GeolocationController): 2011-01-17 Pavel Feldman Not reviewed: Qt build fix. * inspector/InspectorInstrumentation.h: 2011-01-16 Pavel Feldman Reviewed by Yury Semikhatsky. Web Inspector: make WebCore use InspectorInstrumentation for instrumentation calls. https://bugs.webkit.org/show_bug.cgi?id=52532 This change makes WebCore classes issue instrumentation signals by means of InspectorInstrumentation interface. It covered migration for Document, FrameLoader, Database, DOMStorage, etc. It fixed instrumentation handling for Console as well. This all is a part of story described in the bug 52510. * dom/Document.cpp: (WebCore::Document::finishedParsing): * dom/Document.h: * dom/ScriptExecutionContext.h: * inspector/InspectorBrowserDebuggerAgent.cpp: (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent): (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint): (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint): (WebCore::InspectorBrowserDebuggerAgent::willInsertDOMNode): (WebCore::InspectorBrowserDebuggerAgent::willRemoveDOMNode): (WebCore::InspectorBrowserDebuggerAgent::willModifyDOMAttr): (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent): (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded): (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest): * inspector/InspectorBrowserDebuggerAgent.h: (WebCore::InspectorBrowserDebuggerAgent::create): * inspector/InspectorConsoleAgent.cpp: (WebCore::InspectorConsoleAgent::stopTiming): (WebCore::InspectorConsoleAgent::count): * inspector/InspectorConsoleAgent.h: * inspector/InspectorController.cpp: (WebCore::InspectorController::InspectorController): (WebCore::InspectorController::~InspectorController): (WebCore::InspectorController::handleMousePress): (WebCore::InspectorController::didClearWindowObjectInWorld): (WebCore::PostWorkerNotificationToFrontendTask::performTask): * inspector/InspectorController.h: * inspector/InspectorDOMAgent.h: * inspector/InspectorDOMStorageAgent.h: * inspector/InspectorDatabaseAgent.cpp: * inspector/InspectorDatabaseAgent.h: * inspector/InspectorFrontendHost.cpp: * inspector/InspectorFrontendHost.h: * inspector/InspectorInstrumentation.cpp: (WebCore::InspectorInstrumentation::didClearWindowObjectInWorldImpl): (WebCore::InspectorInstrumentation::inspectedPageDestroyedImpl): (WebCore::InspectorInstrumentation::mouseDidMoveOverElementImpl): (WebCore::InspectorInstrumentation::handleMousePressImpl): (WebCore::InspectorInstrumentation::mainResourceFiredLoadEventImpl): (WebCore::InspectorInstrumentation::mainResourceFiredDOMContentEventImpl): (WebCore::InspectorInstrumentation::frameDetachedFromParentImpl): (WebCore::InspectorInstrumentation::didCommitLoadImpl): (WebCore::InspectorInstrumentation::addMessageToConsoleImpl): (WebCore::InspectorInstrumentation::consoleCountImpl): (WebCore::InspectorInstrumentation::startConsoleTimingImpl): (WebCore::InspectorInstrumentation::stopConsoleTimingImpl): (WebCore::InspectorInstrumentation::consoleMarkTimelineImpl): (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsoleImpl): (WebCore::InspectorInstrumentation::didOpenDatabaseImpl): (WebCore::InspectorInstrumentation::didUseDOMStorageImpl): (WebCore::InspectorInstrumentation::didCreateWorkerImpl): (WebCore::InspectorInstrumentation::didDestroyWorkerImpl): (WebCore::InspectorInstrumentation::didCreateWebSocketImpl): (WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequestImpl): (WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponseImpl): (WebCore::InspectorInstrumentation::didCloseWebSocketImpl): (WebCore::InspectorInstrumentation::networkStateChangedImpl): (WebCore::InspectorInstrumentation::updateApplicationCacheStatusImpl): * inspector/InspectorInstrumentation.h: (WebCore::InspectorInstrumentation::inspectorControllerCreated): (WebCore::InspectorInstrumentation::inspectorControllerDeleted): (WebCore::InspectorInstrumentation::didClearWindowObjectInWorld): (WebCore::InspectorInstrumentation::inspectedPageDestroyed): (WebCore::InspectorInstrumentation::willInsertDOMNode): (WebCore::InspectorInstrumentation::didInsertDOMNode): (WebCore::InspectorInstrumentation::willRemoveDOMNode): (WebCore::InspectorInstrumentation::willModifyDOMAttr): (WebCore::InspectorInstrumentation::didModifyDOMAttr): (WebCore::InspectorInstrumentation::mouseDidMoveOverElement): (WebCore::InspectorInstrumentation::handleMousePress): (WebCore::InspectorInstrumentation::characterDataModified): (WebCore::InspectorInstrumentation::willSendXMLHttpRequest): (WebCore::InspectorInstrumentation::didScheduleResourceRequest): (WebCore::InspectorInstrumentation::didInstallTimer): (WebCore::InspectorInstrumentation::didRemoveTimer): (WebCore::InspectorInstrumentation::willCallFunction): (WebCore::InspectorInstrumentation::willChangeXHRReadyState): (WebCore::InspectorInstrumentation::willDispatchEvent): (WebCore::InspectorInstrumentation::willDispatchEventOnWindow): (WebCore::InspectorInstrumentation::willEvaluateScript): (WebCore::InspectorInstrumentation::willFireTimer): (WebCore::InspectorInstrumentation::willLayout): (WebCore::InspectorInstrumentation::willLoadXHR): (WebCore::InspectorInstrumentation::willPaint): (WebCore::InspectorInstrumentation::willRecalculateStyle): (WebCore::InspectorInstrumentation::identifierForInitialRequest): (WebCore::InspectorInstrumentation::willSendRequest): (WebCore::InspectorInstrumentation::markResourceAsCached): (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCache): (WebCore::InspectorInstrumentation::willReceiveResourceData): (WebCore::InspectorInstrumentation::willReceiveResourceResponse): (WebCore::InspectorInstrumentation::didReceiveContentLength): (WebCore::InspectorInstrumentation::didFinishLoading): (WebCore::InspectorInstrumentation::didFailLoading): (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequest): (WebCore::InspectorInstrumentation::scriptImported): (WebCore::InspectorInstrumentation::mainResourceFiredLoadEvent): (WebCore::InspectorInstrumentation::mainResourceFiredDOMContentEvent): (WebCore::InspectorInstrumentation::frameDetachedFromParent): (WebCore::InspectorInstrumentation::didCommitLoad): (WebCore::InspectorInstrumentation::willWriteHTML): (WebCore::InspectorInstrumentation::didOpenDatabase): (WebCore::InspectorInstrumentation::didUseDOMStorage): (WebCore::InspectorInstrumentation::didCreateWorker): (WebCore::InspectorInstrumentation::didDestroyWorker): (WebCore::InspectorInstrumentation::didCreateWebSocket): (WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequest): (WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponse): (WebCore::InspectorInstrumentation::didCloseWebSocket): (WebCore::InspectorInstrumentation::networkStateChanged): (WebCore::InspectorInstrumentation::updateApplicationCacheStatus): (WebCore::InspectorInstrumentation::addMessageToConsole): (WebCore::InspectorInstrumentation::consoleCount): (WebCore::InspectorInstrumentation::startConsoleTiming): (WebCore::InspectorInstrumentation::stopConsoleTiming): (WebCore::InspectorInstrumentation::consoleMarkTimeline): (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsole): (WebCore::InspectorInstrumentation::inspectorControllerForContext): (WebCore::InspectorInstrumentation::inspectorControllerForFrame): (WebCore::InspectorInstrumentation::inspectorControllerForPage): (WebCore::InspectorInstrumentation::inspectorControllerWithFrontendForContext): (WebCore::InspectorInstrumentation::inspectorControllerWithFrontendForDocument): (WebCore::InspectorInstrumentation::inspectorControllerWithFrontendForFrame): (WebCore::InspectorInstrumentation::inspectorControllerWithFrontendForPage): * inspector/InspectorState.cpp: * loader/FrameLoader.cpp: (WebCore::FrameLoader::detachFromParent): (WebCore::FrameLoader::dispatchDidClearWindowObjectInWorld): (WebCore::FrameLoader::dispatchDidCommitLoad): * page/Chrome.cpp: (WebCore::Chrome::mouseDidMoveOverElement): * page/Console.cpp: (WebCore::Console::addMessage): (WebCore::Console::count): (WebCore::Console::markTimeline): (WebCore::Console::profile): (WebCore::Console::time): (WebCore::Console::timeEnd): (WebCore::Console::group): (WebCore::Console::groupCollapsed): (WebCore::Console::groupEnd): * page/DOMWindow.cpp: (WebCore::DOMWindow::sessionStorage): (WebCore::DOMWindow::localStorage): (WebCore::DOMWindow::dispatchLoadEvent): * page/EventHandler.cpp: (WebCore::EventHandler::handleMousePressEvent): * page/Page.cpp: (WebCore::Page::~Page): * storage/Database.cpp: (WebCore::Database::openDatabase): * workers/AbstractWorker.cpp: (WebCore::AbstractWorker::onDestroyWorker): * workers/SharedWorker.cpp: (WebCore::SharedWorker::create): * workers/Worker.cpp: (WebCore::Worker::create): * workers/WorkerMessagingProxy.cpp: 2011-01-17 Gyuyoung Kim Unreviewed, rolling out r75923. GTK guy rolls out the r75914. * platform/efl/ScrollViewEfl.cpp: (WebCore::ScrollView::platformInit): 2011-01-17 Helder Correia Reviewed by Kenneth Rohde Christiansen. [Qt] fast/canvas/canvas-fillPath-gradient-shadow.html does not pass https://bugs.webkit.org/show_bug.cgi?id=52556 The shadow color opacity needs to be set on the shadow painter. Additionally, the gradient brush should be transformed. * platform/graphics/qt/GraphicsContextQt.cpp: (WebCore::GraphicsContext::fillPath): 2011-01-17 No'am Rosenthal Reviewed by Kenneth Rohde Christiansen. [Qt] Background image rendering is slow https://bugs.webkit.org/show_bug.cgi?id=50527 When tiling a scaled pixmap in Image::drawPattern, scale the tile first and only then draw it to the target. Do so only when drawing more than one tile. Tests in fast/backgrounds/size cover this. * platform/graphics/qt/ImageQt.cpp: (WebCore::Image::drawPattern): 2011-01-17 Laszlo Gombos Reviewed by Simon Hausmann. [Qt] [Symbian] Fix building NPAPI support https://bugs.webkit.org/show_bug.cgi?id=51981 Make sure that npapi.h is always included outside of the extern "C" linkage declaration block. No new tests as there is no new functionality. * bridge/npruntime.h: 2011-01-17 Philippe Normand Unreviewed, rolling out r75914. http://trac.webkit.org/changeset/75914 https://bugs.webkit.org/show_bug.cgi?id=49177 multiple crashes on GTK * platform/ScrollView.cpp: (WebCore::ScrollView::removeChild): (WebCore::ScrollView::wheelEvent): * platform/gtk/MainFrameScrollbarGtk.cpp: (MainFrameScrollbarGtk::attachAdjustment): (MainFrameScrollbarGtk::gtkValueChanged): * platform/gtk/ScrollViewGtk.cpp: (WebCore::ScrollView::platformInit): (WebCore::ScrollView::platformAddChild): (WebCore::ScrollView::platformRemoveChild): 2011-01-17 Gyuyoung Kim Unreviewed build fix. Bug 49177's patch enabled platformInit() in super class(ScrollView). But, it didn't removed the function in ScrollViewEfl.cpp. * platform/efl/ScrollViewEfl.cpp: 2011-01-16 Dan Bernstein Reviewed by Sam Weinig. REGRESSION (r75897): Crash with 0-by-0 iframe in scaled WebView Avoid use of FloatRect::enclosingBoundingBox(), which can stretch an empty quad to a non-empty rect. * rendering/RenderWidget.cpp: (WebCore::RenderWidget::setWidget): (WebCore::RenderWidget::updateWidgetPosition): 2011-01-16 Martin Robinson Reviewed by Xan Lopez. [GTK] fast/events/scroll-after-click-on-tab-index has been failing on the bots https://bugs.webkit.org/show_bug.cgi?id=49177 * platform/ScrollView.cpp: Move the platform guards around a little. GTK+ now shares the implementation of platformAddChild and platformRemoveChild, but has its own implementation of removeChild, which knows how to inform main frame scrollbars that they no longer control the WebCore scrollbar. * platform/gtk/MainFrameScrollbarGtk.cpp: (MainFrameScrollbarGtk::attachAdjustment): If we are attaching the same adjustment that we already have, bail out early. Apply the value changed signal handler after configuring the adjustment. We don't want our reset of the adjustment to stomp on WebCore values. (MainFrameScrollbarGtk::gtkValueChanged): Do not adjust the value if the WebCore state already matches ours. This prevents some unnecessary recursion * platform/gtk/ScrollViewGtk.cpp: (WebCore::ScrollView::removeChild): Added, special cases main frame scrollbars which need their adjustments detached. 2011-01-13 Yuzo Fujishima Reviewed by Antti Koivisto. Fix for Bug 52427 - Inconsistent use of m_cache in CachedResourceLoader https://bugs.webkit.org/show_bug.cgi?id=52427 In constructor/destructor of CachedResourceLoader, m_cache has been used to call MemoryCache::addCachedResourceLoader/removeCachedResourceLoader while cache() is used everywhere else. Actually addCachedResourceLoader/removeCachedResourceLoader need not be called at all. Remove the call sites and make MemoryCache non-friend of CachedResourceLoader. No new tests because the behavior remains the same. * loader/cache/CachedResourceLoader.cpp: (WebCore::CachedResourceLoader::CachedResourceLoader): (WebCore::CachedResourceLoader::~CachedResourceLoader): * loader/cache/CachedResourceLoader.h: * loader/cache/MemoryCache.cpp: * loader/cache/MemoryCache.h: 2011-01-16 Adam Barth Rubber-stamped by Eric Seidel. Move WebKit into Source https://bugs.webkit.org/show_bug.cgi?id=52530 * WebCore.gyp/WebCore.gyp: * WebCore.pri: * WebCore.pro: 2011-01-16 Simon Fraser Reviewed by Dan Bernstein. frame-removed-during-resize.html test crashes (shows up as image-map-2.html crash) https://bugs.webkit.org/show_bug.cgi?id=52549 Fix regression from r75900; m_widget->setFrameRect() can run script that clears m_widget, so null-check it before calling setBoundsSize(). Tested by fast/replaced/frame-removed-during-resize.html * rendering/RenderWidget.cpp: (WebCore::RenderWidget::setWidgetGeometry): 2011-01-16 Simon Fraser Keep Leopard build happy. * platform/mac/WidgetMac.mm: (WebCore::Widget::setBoundsSize): 2011-01-16 Robert Hogan Reviewed by Andreas Kling. [Qt] plugins/keyboard-events.html fails after r72717 https://bugs.webkit.org/show_bug.cgi?id=50050 * plugins/qt/PluginViewQt.cpp: (WebCore::setXKeyEventSpecificFields): map event text to keycode 2011-01-16 Simon Fraser Reviewed by Dan Bernstein. Issues with iframes and plugins when the WebView is scaled. When _scaleWebView has been called on a WebView, iframes in WebKit1 render and hit-test incorrectly, and plug-ins don't scale up. This is caused by AppKit NSViews not playing nicely with the scale applied through style. Work around most of these issues by adjusting the bounds size of widgets to allow iframe contents to paint with the correct scale, and fix various places in the code where we relied on coordinate transforms via NSViews (which ignore CSS transforms). * WebCore.exp.in: * platform/Widget.cpp: (WebCore::Widget::setBoundsSize): * platform/Widget.h: * platform/mac/WidgetMac.mm: (WebCore::Widget::setBoundsSize): (WebCore::Widget::paint): * rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingIFrame): * rendering/RenderWidget.cpp: (WebCore::RenderWidget::setWidgetGeometry): (WebCore::RenderWidget::setWidget): (WebCore::RenderWidget::updateWidgetPosition): * rendering/RenderWidget.h: 2011-01-16 Simon Fraser Reviewed by Dan Bernstein. RenderView needs to take transforms on its layer into account https://bugs.webkit.org/show_bug.cgi?id=52536 The RenderView's coordinate mapping methods failed to take into account a transform on the RenderView's layer. No tests because it's not possible to get a transform on the RenderView's layer through content. * rendering/RenderView.cpp: (WebCore::RenderView::mapLocalToContainer): (WebCore::RenderView::mapAbsoluteToLocalPoint): 2011-01-15 Sheriff Bot Unreviewed, rolling out r75708. http://trac.webkit.org/changeset/75708 https://bugs.webkit.org/show_bug.cgi?id=52521 Breaks Qt build if mobility is not installed. (Requested by benjaminp on #webkit). * WebCore.pro: * platform/graphics/qt/MediaPlayerPrivateQt.cpp: (WebCore::MediaPlayerPrivateQt::MediaPlayerPrivateQt): * platform/graphics/qt/MediaPlayerPrivateQt.h: (WebCore::MediaPlayerPrivateQt::supportsFullscreen): 2011-01-15 David Kilzer REGRESSION(r73818): range.cloneContents() ignores end offset Reviewed by Adele Peterson. The fix for Bug 50710 in r73799 introduced an off-by-one error when copying nodes to a local NodeVector for processing. A fix was attempted for Bug 50854 in r73818, but instead of stopping at the end offset, it iterates through all the sibling nodes because the loop variable (i) is never incremented. To clean this up, revert back to the code in r73799 and fix the off-by-one error. Test: fast/dom/Range/range-clone-contents.html * dom/Range.cpp: (WebCore::Range::processContents): Fix the loop that copies nodes to a local NodeVector by restoring the code from r73799 and fixing the off-by-one error. 2011-01-15 Adam Barth Rubber-stamped by Eric Seidel. Move WebKit2 into Source https://bugs.webkit.org/show_bug.cgi?id=52438 * WebCore.pro: 2011-01-15 Joone Hur Reviewed by Martin Robinson. [GTK] Linux build with FileSystem API enabled fails https://bugs.webkit.org/show_bug.cgi?id=43878 This patch allows WebKitGtk+ to build with FileSystem API option. No new tests because no new functionality. * GNUmakefile.am: Included AsyncFileSystem.h,cpp and Excluded duplicated JSFileException.h,cpp. * bindings/js/JSDirectoryEntryCustom.cpp: Included ExceptionCode.h. 2011-01-14 Sam Magnuson Reviewed by Kenneth Rohde Christiansen. [Qt] Compile with QT_NO_GRAPHICSVIEW https://bugs.webkit.org/show_bug.cgi?id=49750 * platform/graphics/qt/GraphicsLayerQt.cpp: * platform/graphics/qt/GraphicsLayerQt.h: * platform/qt/PlatformMouseEventQt.cpp: 2011-01-14 Tony Chang Reviewed by Alexey Proskuryakov. Strip NUL character when copying text on Windows https://bugs.webkit.org/show_bug.cgi?id=52236 Test: editing/pasteboard/copy-null-characters.html * editing/Editor.cpp: (WebCore::Editor::selectedText): * platform/mac/PasteboardMac.mm: (WebCore::Pasteboard::writeSelection): Use editor()->selectedText() which matches the other platforms. 2011-01-14 Yuzo Fujishima Reviewed by Antti Koivisto. Rename cache() to memoryCache() https://bugs.webkit.org/show_bug.cgi?id=52433 No new tests because the behavior remains the same. * WebCore.exp.in: * WebCore.order: * history/PageCache.cpp: (WebCore::PageCache::releaseAutoreleasedPagesNow): * inspector/InspectorResourceAgent.cpp: (WebCore::InspectorResourceAgent::cachedResource): * loader/FrameLoader.cpp: (WebCore::FrameLoader::tellClientAboutPastMemoryCacheLoads): * loader/archive/cf/LegacyWebArchive.cpp: (WebCore::LegacyWebArchive::create): * loader/cache/CachedImage.cpp: (WebCore::CachedImage::allClientsRemoved): (WebCore::CachedImage::data): * loader/cache/CachedResource.cpp: (WebCore::CachedResource::~CachedResource): (WebCore::CachedResource::addClientToSet): (WebCore::CachedResource::removeClient): (WebCore::CachedResource::setDecodedSize): (WebCore::CachedResource::setEncodedSize): (WebCore::CachedResource::didAccessDecodedData): * loader/cache/CachedResourceLoader.cpp: (WebCore::CachedResourceLoader::CachedResourceLoader): (WebCore::CachedResourceLoader::requestUserCSSStyleSheet): (WebCore::CachedResourceLoader::requestResource): (WebCore::CachedResourceLoader::revalidateResource): (WebCore::CachedResourceLoader::loadResource): (WebCore::CachedResourceLoader::clearPreloads): (WebCore::CachedResourceLoader::printPreloadStats): * loader/cache/CachedResourceRequest.cpp: (WebCore::CachedResourceRequest::load): (WebCore::CachedResourceRequest::didFail): (WebCore::CachedResourceRequest::didReceiveResponse): * loader/cache/MemoryCache.cpp: (WebCore::memoryCache): * loader/cache/MemoryCache.h: 2011-01-14 Dan Bernstein Reviewed by Simon Fraser. WebCore part of Crash in -[NSView _invalidateGStatesForTree] * WebCore.exp.in: Export RenderWidget::suspendWidgetHierarchyUpdates() and RenderWidget::resumeWidgetHierarchyUpdates(). * manual-tests/plug-in-mutates-NSView-hierarchy-during-resize.html: Added. * rendering/RenderWidget.cpp: (WebCore::RenderWidget::setWidgetGeometry): Removed the assertion that widget hierarchy updates are disabled. When this assertion was added, this condition was a subset of the “calling out to plug-in code is forbidden” condition, hence the assertion was valid. The WebKit part of this change now suspends widget hierarchy updates even at times where plug-in code is expected to be called, which invalidates the assertion. 2011-01-14 Tony Gentilcore Unreviewed build fix. Fix Qt build after r75837 https://bugs.webkit.org/show_bug.cgi?id=52494 * rendering/style/StyleRareInheritedData.cpp: * rendering/style/StyleRareNonInheritedData.cpp: 2011-01-14 Tony Gentilcore Unreviewed build fix. Fix Qt build after r75837 https://bugs.webkit.org/show_bug.cgi?id=52494 * rendering/style/RenderStyle.cpp: 2011-01-14 Tony Gentilcore Unreviewed build fix. Fix Qt build after r75837 https://bugs.webkit.org/show_bug.cgi?id=52494 * editing/EditorCommand.cpp: 2011-01-14 Tony Gentilcore Unreviewed build fix. Fix Qt build after r75837 https://bugs.webkit.org/show_bug.cgi?id=52494 * editing/ApplyStyleCommand.cpp: 2011-01-14 Tony Gentilcore Unreviewed build fix. Fix Qt build after r75837 https://bugs.webkit.org/show_bug.cgi?id=52494 * css/CSSStyleSelector.cpp: 2011-01-14 Tony Gentilcore Unreviewed build fix. Fix Qt build after r75837 https://bugs.webkit.org/show_bug.cgi?id=52494 * rendering/InlineFlowBox.h: * rendering/RenderBoxModelObject.h: 2011-01-14 Tony Gentilcore Reviewed by David Levin. Do some forward declaration in RenderStyle.h https://bugs.webkit.org/show_bug.cgi?id=52453 No new tests because no new functionality. * css/CSSComputedStyleDeclaration.cpp: * css/CSSStyleSelector.cpp: * editing/Editor.cpp: * page/EventHandler.cpp: * rendering/EllipsisBox.cpp: * rendering/InlineBox.cpp: * rendering/InlineTextBox.cpp: * rendering/RenderBlock.cpp: * rendering/RenderBlock.h: * rendering/RenderBox.cpp: * rendering/RenderBox.h: * rendering/RenderEmbeddedObject.cpp: * rendering/RenderFieldset.cpp: * rendering/RenderFileUploadControl.cpp: * rendering/RenderFrameSet.cpp: * rendering/RenderHTMLCanvas.cpp: * rendering/RenderImageResource.cpp: * rendering/RenderInputSpeech.cpp: * rendering/RenderLayer.h: * rendering/RenderLineBoxList.cpp: * rendering/RenderListBox.cpp: * rendering/RenderMediaControlsChromium.cpp: * rendering/RenderObject.cpp: * rendering/RenderObject.h: * rendering/RenderObjectChildList.cpp: * rendering/RenderProgress.cpp: * rendering/RenderScrollbarPart.cpp: * rendering/RenderTable.cpp: * rendering/RenderTable.h: * rendering/RenderTableCell.cpp: * rendering/RenderTableRow.cpp: * rendering/RenderTableSection.cpp: * rendering/RenderTheme.cpp: * rendering/RenderThemeChromiumSkia.cpp: * rendering/RenderThemeChromiumWin.cpp: * rendering/RootInlineBox.cpp: * rendering/style/RenderStyle.cpp: * rendering/style/RenderStyle.h: * rendering/style/StyleRareInheritedData.cpp: 2011-01-14 Ryosuke Niwa Reviewed by Eric Seidel. Stop instantiating legacy editing positions in AccessibilityRenderObject.cpp, Element.cpp, BreakBlockquoteCommand.cpp, CompositeEditCommand.cpp, and DeleteButtonController.cpp https://bugs.webkit.org/show_bug.cgi?id=52481 Removed instantiation of legacy editing positions. Calls to Position::Position are replaced by calls to Position's convenience functions. Also fixed firstPositionInOrBeforeNode and lastPositionInOrAfterNode so that they instantiate right positions for text nodes. * accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::setSelectedTextRange): * dom/Element.cpp: (WebCore::Element::updateFocusAppearance): * editing/BreakBlockquoteCommand.cpp: (WebCore::BreakBlockquoteCommand::doApply): * editing/CompositeEditCommand.cpp: (WebCore::CompositeEditCommand::inputText): (WebCore::CompositeEditCommand::rebalanceWhitespaceAt): (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): (WebCore::CompositeEditCommand::moveParagraphs): (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph): (WebCore::CompositeEditCommand::splitTreeToNode): * editing/DeleteButtonController.cpp: (WebCore::enclosingDeletableElement): * editing/htmlediting.h: (WebCore::firstPositionInOrBeforeNode): Instantiates firstPositionInNode instead of positionBeforeNode for a text node. (WebCore::lastPositionInOrAfterNode): Ditto. 2011-01-14 Helder Correia Reviewed by Simon Fraser. Shadow is not drawn when filling a path with a gradient https://bugs.webkit.org/show_bug.cgi?id=51982 This happens in CG and is related to bug 51869, this time to be fixed in GraphicsContext::fillPath(const Path& path). We need to draw the gradient clipped to the path on a CGLayer first, and then draw the layer on the GraphicsContext. Test: fast/canvas/canvas-fillPath-gradient-shadow.html * platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::fillPath): 2011-01-14 Simon Fraser Reviewed by Adam Roben. Layer syncing should go through the compositor https://bugs.webkit.org/show_bug.cgi?id=52486 Rather than have FrameView go directly to GraphicsLayer to sync pending changes, route the call through RenderLayerCompositor. Add a FIXME about an existing issue with flushing and subframes. No behavior change, so no tests. * page/FrameView.cpp: (WebCore::FrameView::syncCompositingStateForThisFrame): * rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::notifySyncRequired): * rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::scheduleLayerFlush): (WebCore::RenderLayerCompositor::flushPendingLayerChanges): * rendering/RenderLayerCompositor.h: (WebCore::RenderLayerCompositor::notifySyncRequired): 2011-01-14 Abhishek Arya Reviewed by David Hyatt. Fix parent block calculation when trying to find top most node containing "this" float. https://bugs.webkit.org/show_bug.cgi?id=51711 Replace use of containingBlock and traverse the parents directly to check for float existence. containingBlock can skip parents and jump to the RenderView directly which will cause floats to not get cleared from intermediate parents. Test: fast/block/float/floats-not-cleared-crash.html * rendering/RenderBox.cpp: (WebCore::RenderBox::removeFloatingOrPositionedChildFromBlockLists): 2011-01-14 Adam Klein Reviewed by Darin Fisher. [Chromium] Replace BackForwardListClient with BackForwardControllerClient/BackForwardList https://bugs.webkit.org/show_bug.cgi?id=42237 Remove Chromium-specific implementation from WebCore. No tests added; this refactor should be covered by existing history-exercising tests. * WebCore.gyp/WebCore.gyp: * WebCore.gypi: * history/BackForwardListChromium.cpp: Removed. * history/BackForwardListImpl.h: 2011-01-12 Satish Sampath Reviewed by Dimitri Glazkov. Fix a crash when accessing speech input from script. https://bugs.webkit.org/show_bug.cgi?id=52325 Test: fast/speech/speech-input-scripting.html * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::parseMappedAttribute): Recreate renderer when speech input is enabled/disabled. * rendering/RenderTextControlSingleLine.cpp: Remove unused code. * rendering/RenderTextControlSingleLine.h: * rendering/TextControlInnerElements.cpp: Take self references before firing events and check for renderer validity after. (WebCore::InputFieldSpeechButtonElement::defaultEventHandler): (WebCore::InputFieldSpeechButtonElement::setRecognitionResult): (WebCore::InputFieldSpeechButtonElement::detach): 2011-01-14 Abhishek Arya Reviewed by David Hyatt. Prevent merging of anonymous blocks if one of them is already getting destroyed. https://bugs.webkit.org/show_bug.cgi?id=52402 Test: fast/block/merge-anonymous-block-remove-child-crash2.html * rendering/RenderBlock.cpp: (WebCore::RenderBlock::RenderBlock): initialize m_beingDestroyed to false. (WebCore::RenderBlock::destroy): set m_beingDestroyed to true. (WebCore::canMergeContiguousAnonymousBlocks): do not merge if any or prev or next is being destroyed. (WebCore::RenderBlock::removeChild): remove the hack previously done for preventing oldChild merging with nextBlock's next sibling. * rendering/RenderBlock.h: (WebCore::RenderBlock::beingDestroyed): public function for m_beingDestroyed. 2011-01-14 Pavel Feldman Not reviewed. Follow up to r75791: fix missing dispatch. https://bugs.webkit.org/show_bug.cgi?id=52442 * inspector/front-end/DebuggerModel.js: (WebInspector.DebuggerDispatcher.prototype.breakpointResolved): 2011-01-14 Simon Fraser Reviewed by Adam Roben. Issues with contentsScale in GraphicsLayerCA https://bugs.webkit.org/show_bug.cgi?id=52463 Fix various issues with the recent contentsScale changes: * platform/graphics/ca/GraphicsLayerCA.cpp: (WebCore::GraphicsLayerCA::GraphicsLayerCA): Initialize m_contentsScale to 1. (WebCore::GraphicsLayerCA::updateContentsScale): Only do a setNeedsDisplay() if the layer draws content, otherwise we'll create backing store for empty layers. (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer): Be sure to set contentsScale on the new (tiled or untiled) layer. (WebCore::GraphicsLayerCA::cloneLayer): Clones need contentsScale too. 2011-01-14 Simon Fraser Let Xcode have it's way with the project file. * WebCore.xcodeproj/project.pbxproj: 2011-01-14 Simon Fraser Reviewed by Anders Carlsson. Refactor some FrameView::syncCompositingState code https://bugs.webkit.org/show_bug.cgi?id=52459 Refactor some code in FrameView related to synchronizing compositing layer state. * page/FrameView.cpp: (WebCore::FrameView::syncCompositingStateForThisFrame): (WebCore::FrameView::syncCompositingStateRecursive): (WebCore::FrameView::paintContents): * page/FrameView.h: 2011-01-14 Viatcheslav Ostapenko Reviewed by Eric Seidel. [Qt] Fix build problem introduced by http://trac.webkit.org/changeset/75713 https://bugs.webkit.org/show_bug.cgi?id=30179 * plugins/symbian/PluginViewSymbian.cpp: 2011-01-14 Carlos Garcia Campos Reviewed by Martin Robinson. [GTK] Add volume slider to media player https://bugs.webkit.org/show_bug.cgi?id=51532 * css/mediaControlsGtk.css: (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel): (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container): (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider): * platform/gtk/RenderThemeGtk.cpp: (WebCore::RenderThemeGtk::adjustMediaSliderThumbSize): (WebCore::RenderThemeGtk::paintMediaVolumeSliderContainer): (WebCore::RenderThemeGtk::paintMediaVolumeSliderTrack): (WebCore::RenderThemeGtk::paintMediaVolumeSliderThumb): * platform/gtk/RenderThemeGtk.h: * platform/gtk/RenderThemeGtk2.cpp: (WebCore::RenderThemeGtk::paintSliderTrack): (WebCore::RenderThemeGtk::paintSliderThumb): (WebCore::RenderThemeGtk::adjustSliderThumbSize): * platform/gtk/RenderThemeGtk3.cpp: (WebCore::RenderThemeGtk::paintSliderTrack): (WebCore::RenderThemeGtk::paintSliderThumb): (WebCore::RenderThemeGtk::adjustSliderThumbSize): 2011-01-14 Joone Hur Reviewed by David Levin. [GTK] Convert use of raw pointers to GOwnPtr in FileSystemGtk.cpp https://bugs.webkit.org/show_bug.cgi?id=52434 No new tests. This code will be tested when an implementation of beginDragWithFiles is complete. * platform/gtk/FileSystemGtk.cpp: (WebCore::filenameToString): Use GOwnPtr instead of gchar pointer. (WebCore::fileSystemRepresentation): Ditto. (WebCore::filenameForDisplay): Ditto. (WebCore::pathGetFileName): Ditto. 2011-01-14 Pavel Podivilov Reviewed by Yury Semikhatsky. Web Inspector: breakpoint text snippet in breakpoints sidebar pane disappears after reload. https://bugs.webkit.org/show_bug.cgi?id=52215 * inspector/front-end/Breakpoint.js: (WebInspector.Breakpoint): (WebInspector.Breakpoint.prototype.populateLabelElement): * inspector/front-end/Script.js: (WebInspector.Script.prototype.get linesCount): (WebInspector.Script.prototype.sourceLine): (WebInspector.Script.prototype.sourceLine.didRequestSource): (WebInspector.Script.prototype.set source): (WebInspector.Script.prototype.requestSource.didGetScriptSource): (WebInspector.Script.prototype.requestSource): * inspector/front-end/ScriptView.js: (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded.didRequestSource): (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded): * inspector/front-end/SourceFrame.js: (WebInspector.SourceFrame.prototype._addBreakpoint): * inspector/front-end/utilities.js: (String.prototype.findAll): 2011-01-14 Pavel Podivilov Reviewed by Yury Semikhatsky. Web Inspector: provide script column offset to frontend. https://bugs.webkit.org/show_bug.cgi?id=52377 * bindings/js/ScriptDebugServer.cpp: (WebCore::ScriptDebugServer::dispatchDidParseSource): * bindings/js/ScriptSourceCode.h: (WebCore::ScriptSourceCode::ScriptSourceCode): * bindings/v8/DebuggerScript.js: (): * bindings/v8/ScriptDebugServer.cpp: (WebCore::ScriptDebugServer::dispatchDidParseSource): * inspector/Inspector.idl: * inspector/InspectorDebuggerAgent.cpp: (WebCore::InspectorDebuggerAgent::didParseSource): * inspector/InspectorDebuggerAgent.h: * inspector/ScriptDebugListener.h: * inspector/front-end/DebuggerModel.js: (WebInspector.DebuggerModel.prototype.parsedScriptSource): * inspector/front-end/Script.js: (WebInspector.Script): 2011-01-14 Ilya Tikhonovsky Unreviewed one line fix for console-xhr-logging test. The problem was introduced at r75788. * inspector/InspectorBrowserDebuggerAgent.cpp: (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest): 2011-01-13 Yury Semikhatsky Reviewed by Pavel Feldman. Web Inspector: extract console related functionality into InspectorConsoleAgent https://bugs.webkit.org/show_bug.cgi?id=52282 * CMakeLists.txt: * GNUmakefile.am: * WebCore.gypi: * WebCore.pro: * inspector/CodeGeneratorInspector.pm: * inspector/ConsoleMessage.cpp: (WebCore::ConsoleMessage::~ConsoleMessage): * inspector/ConsoleMessage.h: * inspector/Inspector.idl: * inspector/InspectorConsoleAgent.cpp: Added. (WebCore::InspectorConsoleAgent::InspectorConsoleAgent): (WebCore::InspectorConsoleAgent::~InspectorConsoleAgent): (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled): (WebCore::InspectorConsoleAgent::clearConsoleMessages): (WebCore::InspectorConsoleAgent::reset): (WebCore::InspectorConsoleAgent::setFrontend): (WebCore::InspectorConsoleAgent::addMessageToConsole): (WebCore::InspectorConsoleAgent::startTiming): (WebCore::InspectorConsoleAgent::stopTiming): (WebCore::InspectorConsoleAgent::count): (WebCore::InspectorConsoleAgent::resourceRetrievedByXMLHttpRequest): (WebCore::InspectorConsoleAgent::didReceiveResponse): (WebCore::InspectorConsoleAgent::didFailLoading): (WebCore::InspectorConsoleAgent::addConsoleMessage): * inspector/InspectorConsoleAgent.h: Added. * inspector/InspectorController.cpp: (WebCore::InspectorController::InspectorController): (WebCore::InspectorController::clearConsoleMessages): (WebCore::InspectorController::connectFrontend): (WebCore::InspectorController::disconnectFrontend): (WebCore::InspectorController::didCommitLoad): * inspector/InspectorController.h: (WebCore::InspectorController::consoleAgent): * inspector/InspectorInstrumentation.cpp: (WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl): (WebCore::InspectorInstrumentation::didFailLoadingImpl): (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequestImpl): (WebCore::InspectorInstrumentation::addMessageToConsole): (WebCore::InspectorInstrumentation::count): (WebCore::InspectorInstrumentation::startTiming): (WebCore::InspectorInstrumentation::stopTiming): (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsole): * inspector/InspectorInstrumentation.h: * inspector/InspectorProfilerAgent.cpp: (WebCore::InspectorProfilerAgent::addProfileFinishedMessageToConsole): (WebCore::InspectorProfilerAgent::addStartProfilingMessageToConsole): * inspector/front-end/ConsoleView.js: (WebInspector.ConsoleView): (WebInspector.ConsoleView.prototype.addConsoleMessage): (WebInspector.ConsoleView.prototype.updateConsoleMessageExpiredCount): (WebInspector.ConsoleView.prototype.consoleMessagesCleared): * inspector/front-end/inspector.js: * page/Console.cpp: (WebCore::Console::addMessage): (WebCore::Console::count): (WebCore::Console::profile): (WebCore::Console::time): (WebCore::Console::timeEnd): (WebCore::Console::group): (WebCore::Console::groupCollapsed): (WebCore::Console::groupEnd): * page/Console.h: * page/Console.idl: 2011-01-14 Pavel Feldman Reviewed by Yury Semikhatsky. Web Inspector: do not use this as protocol message dispatcher in models / agents. https://bugs.webkit.org/show_bug.cgi?id=52442 Models should never for InspectorBackend.registerDomainDispatcher("foo", this). There should be a clear way to tell whether method is being called from within front-end or by the backend. * inspector/front-end/DOMAgent.js: (WebInspector.DOMAgent): (WebInspector.DOMAgent.prototype.nodeForId): (WebInspector.DOMAgent.prototype._bindNodes): (WebInspector.DOMAgent.prototype._removeBreakpoints): (WebInspector.DOMDispatcher): (WebInspector.DOMDispatcher.prototype.setDocument): (WebInspector.DOMDispatcher.prototype.attributesUpdated): (WebInspector.DOMDispatcher.prototype.characterDataModified): (WebInspector.DOMDispatcher.prototype.setChildNodes): (WebInspector.DOMDispatcher.prototype.setDetachedRoot): (WebInspector.DOMDispatcher.prototype.childNodeCountUpdated): (WebInspector.DOMDispatcher.prototype.childNodeInserted): (WebInspector.DOMDispatcher.prototype.childNodeRemoved): (WebInspector.DOMDispatcher.prototype.didCommitLoad): (WebInspector.ApplicationCacheDispatcher): (WebInspector.ApplicationCacheDispatcher.prototype.getApplicationCachesAsync): (WebInspector.ApplicationCacheDispatcher.prototype.updateApplicationCacheStatus): (WebInspector.ApplicationCacheDispatcher.prototype.updateNetworkState): * inspector/front-end/DOMStorage.js: (WebInspector.DOMStorageDispatcher): (WebInspector.DOMStorageDispatcher.prototype.addDOMStorage): (WebInspector.DOMStorageDispatcher.prototype.selectDOMStorage): (WebInspector.DOMStorageDispatcher.prototype.updateDOMStorage): * inspector/front-end/Database.js: (WebInspector.Database.prototype.executeSql): (WebInspector.DatabaseDispatcher): (WebInspector.DatabaseDispatcher.prototype.addDatabase): (WebInspector.DatabaseDispatcher.prototype.selectDatabase): (WebInspector.DatabaseDispatcher.prototype.sqlTransactionSucceeded): (WebInspector.DatabaseDispatcher.prototype.sqlTransactionFailed): * inspector/front-end/DebuggerModel.js: (WebInspector.DebuggerModel): (WebInspector.DebuggerModel.prototype._pausedScript): (WebInspector.DebuggerModel.prototype._resumedScript): (WebInspector.DebuggerModel.prototype._parsedScriptSource): (WebInspector.DebuggerModel.prototype._failedToParseScriptSource): (WebInspector.DebuggerDispatcher): (WebInspector.DebuggerDispatcher.prototype.pausedScript): (WebInspector.DebuggerDispatcher.prototype.resumedScript): (WebInspector.DebuggerDispatcher.prototype.parsedScriptSource): (WebInspector.DebuggerDispatcher.prototype.failedToParseScriptSource): * inspector/front-end/FileSystemView.js: (WebInspector.FileSystemDispatcher): (WebInspector.FileSystemDispatcher.prototype.getFileSystemPathsAsync): (WebInspector.FileSystemDispatcher.prototype.didGetFileSystemPath): (WebInspector.FileSystemDispatcher.prototype.didGetFileSystemError): (WebInspector.FileSystemDispatcher.prototype.didGetFileSystemDisabled): * inspector/front-end/ProfilesPanel.js: (WebInspector.ProfilesPanel): (WebInspector.ProfilesPanel.prototype._addProfileHeader): (WebInspector.ProfilesPanel.prototype._removeProfileHeader): (WebInspector.ProfilesPanel.prototype._addHeapSnapshotChunk): (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot): (WebInspector.ProfilesPanel.prototype._setRecordingProfile): (WebInspector.ProfilerDispatcher): (WebInspector.ProfilerDispatcher.prototype.profilerWasEnabled): (WebInspector.ProfilerDispatcher.prototype.profilerWasDisabled): (WebInspector.ProfilerDispatcher.prototype.resetProfiles): (WebInspector.ProfilerDispatcher.prototype.addProfileHeader): (WebInspector.ProfilerDispatcher.prototype.addHeapSnapshotChunk): (WebInspector.ProfilerDispatcher.prototype.finishHeapSnapshot): (WebInspector.ProfilerDispatcher.prototype.setRecordingProfile): (WebInspector.ProfileSidebarTreeElement.prototype.ondelete): * inspector/front-end/ResourceTreeModel.js: (WebInspector.ResourceTreeModel): * inspector/front-end/TimelinePanel.js: (WebInspector.TimelinePanel): (WebInspector.TimelinePanel.prototype._timelineProfilerWasStarted): (WebInspector.TimelinePanel.prototype._timelineProfilerWasStopped): (WebInspector.TimelinePanel.prototype._addRecordToTimeline): (WebInspector.TimelineDispatcher): (WebInspector.TimelineDispatcher.prototype.timelineProfilerWasStarted): (WebInspector.TimelineDispatcher.prototype.timelineProfilerWasStopped): (WebInspector.TimelineDispatcher.prototype.addRecordToTimeline): 2011-01-14 Csaba Osztrogonác [Qt][V8] Unreviewed buildfix after r75788. * inspector/InspectorBrowserDebuggerAgent.cpp: 2011-01-12 Ilya Tikhonovsky Reviewed by Yury Semikhatsky. Web Inspector: Extract BrowserDebuggerAgent from InspectorController, InspectorDOMAgent and InspectorDebugger agent. We have some methods of Debugger which are related to DOM. Lets extract these methods to BrowserDebugger agent. http://bugs.webkit.org/show_bug.cgi?id=52294 * CMakeLists.txt: * WebCore.gypi: * WebCore.pro: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * inspector/CodeGeneratorInspector.pm: * inspector/Inspector.idl: * inspector/InspectorBrowserDebuggerAgent.cpp: Added. (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent): (WebCore::InspectorBrowserDebuggerAgent::~InspectorBrowserDebuggerAgent): (WebCore::InspectorBrowserDebuggerAgent::discardBindings): (WebCore::InspectorBrowserDebuggerAgent::setEventListenerBreakpoint): (WebCore::InspectorBrowserDebuggerAgent::removeEventListenerBreakpoint): (WebCore::InspectorBrowserDebuggerAgent::didInsertDOMNode): (WebCore::InspectorBrowserDebuggerAgent::didRemoveDOMNode): (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint): (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint): (WebCore::InspectorBrowserDebuggerAgent::willInsertDOMNode): (WebCore::InspectorBrowserDebuggerAgent::willRemoveDOMNode): (WebCore::InspectorBrowserDebuggerAgent::willModifyDOMAttr): (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent): (WebCore::InspectorBrowserDebuggerAgent::hasBreakpoint): (WebCore::InspectorBrowserDebuggerAgent::updateSubtreeBreakpoints): (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded): (WebCore::InspectorBrowserDebuggerAgent::setXHRBreakpoint): (WebCore::InspectorBrowserDebuggerAgent::removeXHRBreakpoint): (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest): (WebCore::InspectorBrowserDebuggerAgent::clearForPageNavigation): * inspector/InspectorBrowserDebuggerAgent.h: Added. (WebCore::InspectorBrowserDebuggerAgent::create): * inspector/InspectorController.cpp: (WebCore::InspectorController::InspectorController): (WebCore::InspectorController::inspectedPageDestroyed): (WebCore::InspectorController::didCommitLoad): (WebCore::InspectorController::enableDebuggerFromFrontend): (WebCore::InspectorController::disableDebugger): (WebCore::InspectorController::restoreStickyBreakpoints): (WebCore::InspectorController::restoreStickyBreakpoint): * inspector/InspectorController.h: * inspector/InspectorDOMAgent.cpp: (WebCore::InspectorDOMAgent::discardBindings): (WebCore::InspectorDOMAgent::didInsertDOMNode): (WebCore::InspectorDOMAgent::didRemoveDOMNode): * inspector/InspectorDOMAgent.h: * inspector/InspectorInstrumentation.cpp: (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl): (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl): (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl): (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl): (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl): (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl): (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded): 2011-01-14 Andrey Kosyakov Reviewed by Pavel Feldman. Web Inspector: redirected resources not handled properly in Network panel https://bugs.webkit.org/show_bug.cgi?id=52292 * inspector/Inspector.idl: Do not pass isMainResource to identifierForInitialRequest() (it's useless, as we may hit provisional load) * inspector/InspectorInstrumentation.cpp: Ditto. (WebCore::InspectorInstrumentation::identifierForInitialRequestImpl): * inspector/InspectorResourceAgent.cpp: Ditto. (WebCore::InspectorResourceAgent::identifierForInitialRequest): * inspector/InspectorResourceAgent.h: Ditto. * inspector/InspectorInstrumentation.cpp: Ditto. (WebCore::InspectorInstrumentation::identifierForInitialRequestImpl): Fix main resource detection. * inspector/front-end/AuditsPanel.js: WebInspector.networkResources now returns array, not map. * inspector/front-end/ConsoleView.js: User WebInspector.resourceById() to get resource (WebInspector.ConsoleMessage.prototype._formatMessage): * inspector/front-end/ExtensionServer.js: Ditto. (WebInspector.ExtensionServer.prototype._onRevealAndSelectResource): (WebInspector.ExtensionServer.prototype._onGetResourceContent): * inspector/front-end/HAREntry.js: WebInspector.networkResources now returns array, not map (WebInspector.HARLog.prototype.build): (WebInspector.HARLog.prototype._convertResource): * inspector/front-end/NetworkManager.js: (WebInspector.NetworkManager): Use appendResource, not refreshResource, when adding a new resource. (WebInspector.NetworkManager.prototype.identifierForInitialRequest): (WebInspector.NetworkManager.prototype.willSendRequest): (WebInspector.NetworkManager.prototype.didLoadResourceFromMemoryCache): (WebInspector.NetworkManager.prototype.setInitialContent): (WebInspector.NetworkManager.prototype.didCommitLoadForFrame): (WebInspector.NetworkManager.prototype.didCreateWebSocket): (WebInspector.NetworkManager.prototype._createResource): always register resource URL with ResourceTreeModel (WebInspector.NetworkManager.prototype._appendRedirect): * inspector/front-end/NetworkPanel.js: (WebInspector.NetworkPanel): (WebInspector.NetworkPanel.prototype.get resources): (WebInspector.NetworkPanel.prototype.resourceById): (WebInspector.NetworkPanel.prototype.appendResource): Add resource as new iff appendResource was added. (WebInspector.NetworkPanel.prototype.refreshResource): ditto. (WebInspector.NetworkPanel.prototype.mainResourceChanged): Clear console upon arrival of new main resource. * inspector/front-end/ResourceTreeModel.js: Expose unbindResourceURL, bind resources automatically upon creation. (WebInspector.ResourceTreeModel.prototype._clearResources): (WebInspector.ResourceTreeModel.prototype.unbindResourceURL): (WebInspector.ResourceTreeModel.prototype._addFramesRecursively): (WebInspector.ResourceTreeModel.prototype.createResource): * inspector/front-end/inspector.js: (WebInspector.resourceById): 2011-01-14 Sheriff Bot Unreviewed, rolling out r75783. http://trac.webkit.org/changeset/75783 https://bugs.webkit.org/show_bug.cgi?id=52439 a bit strange but the same patch have broken mac builds at linking stage. (Requested by loislo2 on #webkit). * CMakeLists.txt: * GNUmakefile.am: * WebCore.gypi: * WebCore.pro: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * inspector/CodeGeneratorInspector.pm: * inspector/Inspector.idl: * inspector/InspectorBrowserDebuggerAgent.cpp: Removed. * inspector/InspectorBrowserDebuggerAgent.h: Removed. * inspector/InspectorController.cpp: (WebCore::InspectorController::InspectorController): (WebCore::InspectorController::inspectedPageDestroyed): (WebCore::InspectorController::didCommitLoad): (WebCore::InspectorController::enableDebuggerFromFrontend): (WebCore::InspectorController::disableDebugger): (WebCore::InspectorController::restoreStickyBreakpoints): (WebCore::InspectorController::restoreStickyBreakpoint): (WebCore::InspectorController::setEventListenerBreakpoint): (WebCore::InspectorController::removeEventListenerBreakpoint): (WebCore::InspectorController::hasEventListenerBreakpoint): (WebCore::InspectorController::setXHRBreakpoint): (WebCore::InspectorController::removeXHRBreakpoint): (WebCore::InspectorController::hasXHRBreakpoint): * inspector/InspectorController.h: * inspector/InspectorDOMAgent.cpp: (WebCore::InspectorDOMAgent::discardBindings): (WebCore::InspectorDOMAgent::setDOMBreakpoint): (WebCore::InspectorDOMAgent::removeDOMBreakpoint): (WebCore::InspectorDOMAgent::shouldBreakOnNodeInsertion): (WebCore::InspectorDOMAgent::shouldBreakOnNodeRemoval): (WebCore::InspectorDOMAgent::shouldBreakOnAttributeModification): (WebCore::InspectorDOMAgent::descriptionForDOMEvent): (WebCore::InspectorDOMAgent::didInsertDOMNode): (WebCore::InspectorDOMAgent::didRemoveDOMNode): (WebCore::InspectorDOMAgent::hasBreakpoint): (WebCore::InspectorDOMAgent::updateSubtreeBreakpoints): * inspector/InspectorDOMAgent.h: * inspector/InspectorInstrumentation.cpp: (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl): (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl): (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl): (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl): (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl): (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl): (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded): 2011-01-12 Ilya Tikhonovsky Reviewed by Yury Semikhatsky. Web Inspector: Extract BrowserDebuggerAgent from InspectorController, InspectorDOMAgent and InspectorDebugger agent. We have some methods of Debugger which are related to DOM. Lets extract these methods to BrowserDebugger agent. http://bugs.webkit.org/show_bug.cgi?id=52294 * CMakeLists.txt: * WebCore.gypi: * WebCore.pro: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * inspector/CodeGeneratorInspector.pm: * inspector/Inspector.idl: * inspector/InspectorBrowserDebuggerAgent.cpp: Added. (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent): (WebCore::InspectorBrowserDebuggerAgent::~InspectorBrowserDebuggerAgent): (WebCore::InspectorBrowserDebuggerAgent::discardBindings): (WebCore::InspectorBrowserDebuggerAgent::setEventListenerBreakpoint): (WebCore::InspectorBrowserDebuggerAgent::removeEventListenerBreakpoint): (WebCore::InspectorBrowserDebuggerAgent::didInsertDOMNode): (WebCore::InspectorBrowserDebuggerAgent::didRemoveDOMNode): (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint): (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint): (WebCore::InspectorBrowserDebuggerAgent::willInsertDOMNode): (WebCore::InspectorBrowserDebuggerAgent::willRemoveDOMNode): (WebCore::InspectorBrowserDebuggerAgent::willModifyDOMAttr): (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent): (WebCore::InspectorBrowserDebuggerAgent::hasBreakpoint): (WebCore::InspectorBrowserDebuggerAgent::updateSubtreeBreakpoints): (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded): (WebCore::InspectorBrowserDebuggerAgent::setXHRBreakpoint): (WebCore::InspectorBrowserDebuggerAgent::removeXHRBreakpoint): (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest): (WebCore::InspectorBrowserDebuggerAgent::clearForPageNavigation): * inspector/InspectorBrowserDebuggerAgent.h: Added. (WebCore::InspectorBrowserDebuggerAgent::create): * inspector/InspectorController.cpp: (WebCore::InspectorController::InspectorController): (WebCore::InspectorController::inspectedPageDestroyed): (WebCore::InspectorController::didCommitLoad): (WebCore::InspectorController::enableDebuggerFromFrontend): (WebCore::InspectorController::disableDebugger): (WebCore::InspectorController::restoreStickyBreakpoints): (WebCore::InspectorController::restoreStickyBreakpoint): * inspector/InspectorController.h: * inspector/InspectorDOMAgent.cpp: (WebCore::InspectorDOMAgent::discardBindings): (WebCore::InspectorDOMAgent::didInsertDOMNode): (WebCore::InspectorDOMAgent::didRemoveDOMNode): * inspector/InspectorDOMAgent.h: * inspector/InspectorInstrumentation.cpp: (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl): (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl): (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl): (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl): (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl): (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl): (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded): 2011-01-14 Pavel Feldman Not reviewed: build fix. * WebCore.vcproj/WebCore.vcproj: 2011-01-14 Pavel Feldman Reviewed by Yury Semikhatsky. Web Inspector: extract InspectorSettings from InspectorState, simplify it. https://bugs.webkit.org/show_bug.cgi?id=52429 * CMakeLists.txt: * GNUmakefile.am: * WebCore.gypi: * WebCore.pro: * WebCore.xcodeproj/project.pbxproj: * inspector/InspectorClient.h: * inspector/InspectorController.cpp: (WebCore::InspectorController::InspectorController): (WebCore::InspectorController::inspectorStartsAttached): (WebCore::InspectorController::setInspectorStartsAttached): (WebCore::InspectorController::setInspectorAttachedHeight): (WebCore::InspectorController::inspectorAttachedHeight): (WebCore::InspectorController::setMonitoringXHREnabled): (WebCore::InspectorController::restoreDebugger): (WebCore::InspectorController::restoreProfiler): (WebCore::InspectorController::ensureSettingsLoaded): (WebCore::InspectorController::enableProfiler): (WebCore::InspectorController::disableProfiler): (WebCore::InspectorController::enableDebuggerFromFrontend): (WebCore::InspectorController::disableDebugger): * inspector/InspectorController.h: * inspector/InspectorSettings.cpp: Added. (WebCore::InspectorSettings::InspectorSettings): (WebCore::InspectorSettings::getBoolean): (WebCore::InspectorSettings::setBoolean): (WebCore::InspectorSettings::getLong): (WebCore::InspectorSettings::setLong): (WebCore::InspectorSettings::registerBoolean): (WebCore::InspectorSettings::registerLong): * inspector/InspectorSettings.h: Added. * inspector/InspectorState.cpp: (WebCore::InspectorState::InspectorState): (WebCore::InspectorState::setValue): (WebCore::InspectorState::setObject): (WebCore::InspectorState::registerBoolean): (WebCore::InspectorState::registerString): (WebCore::InspectorState::registerLong): (WebCore::InspectorState::registerObject): (WebCore::InspectorState::Property::create): * inspector/InspectorState.h: (WebCore::InspectorState::setBoolean): (WebCore::InspectorState::setString): (WebCore::InspectorState::setLong): 2011-01-14 Sheriff Bot Unreviewed, rolling out r75774. http://trac.webkit.org/changeset/75774 https://bugs.webkit.org/show_bug.cgi?id=52431 gtk builds were broken (Requested by loislo2 on #webkit). * CMakeLists.txt: * WebCore.gypi: * WebCore.pro: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * inspector/CodeGeneratorInspector.pm: * inspector/Inspector.idl: * inspector/InspectorBrowserDebuggerAgent.cpp: Removed. * inspector/InspectorBrowserDebuggerAgent.h: Removed. * inspector/InspectorController.cpp: (WebCore::InspectorController::InspectorController): (WebCore::InspectorController::inspectedPageDestroyed): (WebCore::InspectorController::didCommitLoad): (WebCore::InspectorController::enableDebuggerFromFrontend): (WebCore::InspectorController::disableDebugger): (WebCore::InspectorController::restoreStickyBreakpoints): (WebCore::InspectorController::restoreStickyBreakpoint): (WebCore::InspectorController::setEventListenerBreakpoint): (WebCore::InspectorController::removeEventListenerBreakpoint): (WebCore::InspectorController::hasEventListenerBreakpoint): (WebCore::InspectorController::setXHRBreakpoint): (WebCore::InspectorController::removeXHRBreakpoint): (WebCore::InspectorController::hasXHRBreakpoint): * inspector/InspectorController.h: * inspector/InspectorDOMAgent.cpp: (WebCore::InspectorDOMAgent::discardBindings): (WebCore::InspectorDOMAgent::setDOMBreakpoint): (WebCore::InspectorDOMAgent::removeDOMBreakpoint): (WebCore::InspectorDOMAgent::shouldBreakOnNodeInsertion): (WebCore::InspectorDOMAgent::shouldBreakOnNodeRemoval): (WebCore::InspectorDOMAgent::shouldBreakOnAttributeModification): (WebCore::InspectorDOMAgent::descriptionForDOMEvent): (WebCore::InspectorDOMAgent::didInsertDOMNode): (WebCore::InspectorDOMAgent::didRemoveDOMNode): (WebCore::InspectorDOMAgent::hasBreakpoint): (WebCore::InspectorDOMAgent::updateSubtreeBreakpoints): * inspector/InspectorDOMAgent.h: * inspector/InspectorInstrumentation.cpp: (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl): (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl): (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl): (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl): (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl): (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl): (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded): 2011-01-12 Ilya Tikhonovsky Reviewed by Yury Semikhatsky. Web Inspector: Extract BrowserDebuggerAgent from InspectorController, InspectorDOMAgent and InspectorDebugger agent. We have some methods of Debugger which are related to DOM. Lets extract these methods to BrowserDebugger agent. http://bugs.webkit.org/show_bug.cgi?id=52294 * CMakeLists.txt: * WebCore.gypi: * WebCore.pro: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * inspector/CodeGeneratorInspector.pm: * inspector/Inspector.idl: * inspector/InspectorBrowserDebuggerAgent.cpp: Added. (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent): (WebCore::InspectorBrowserDebuggerAgent::~InspectorBrowserDebuggerAgent): (WebCore::InspectorBrowserDebuggerAgent::discardBindings): (WebCore::InspectorBrowserDebuggerAgent::setEventListenerBreakpoint): (WebCore::InspectorBrowserDebuggerAgent::removeEventListenerBreakpoint): (WebCore::InspectorBrowserDebuggerAgent::didInsertDOMNode): (WebCore::InspectorBrowserDebuggerAgent::didRemoveDOMNode): (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint): (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint): (WebCore::InspectorBrowserDebuggerAgent::willInsertDOMNode): (WebCore::InspectorBrowserDebuggerAgent::willRemoveDOMNode): (WebCore::InspectorBrowserDebuggerAgent::willModifyDOMAttr): (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent): (WebCore::InspectorBrowserDebuggerAgent::hasBreakpoint): (WebCore::InspectorBrowserDebuggerAgent::updateSubtreeBreakpoints): (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded): (WebCore::InspectorBrowserDebuggerAgent::setXHRBreakpoint): (WebCore::InspectorBrowserDebuggerAgent::removeXHRBreakpoint): (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest): (WebCore::InspectorBrowserDebuggerAgent::clearForPageNavigation): * inspector/InspectorBrowserDebuggerAgent.h: Added. (WebCore::InspectorBrowserDebuggerAgent::create): * inspector/InspectorController.cpp: (WebCore::InspectorController::InspectorController): (WebCore::InspectorController::inspectedPageDestroyed): (WebCore::InspectorController::didCommitLoad): (WebCore::InspectorController::enableDebuggerFromFrontend): (WebCore::InspectorController::disableDebugger): (WebCore::InspectorController::restoreStickyBreakpoints): (WebCore::InspectorController::restoreStickyBreakpoint): * inspector/InspectorController.h: * inspector/InspectorDOMAgent.cpp: (WebCore::InspectorDOMAgent::discardBindings): (WebCore::InspectorDOMAgent::didInsertDOMNode): (WebCore::InspectorDOMAgent::didRemoveDOMNode): * inspector/InspectorDOMAgent.h: * inspector/InspectorInstrumentation.cpp: (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl): (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl): (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl): (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl): (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl): (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl): (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded): 2011-01-13 Kent Tamura Reviewed by Dimitri Glazkov. Implement form validation message UI https://bugs.webkit.org/show_bug.cgi?id=48980 * Add four internal pseudo selectors: - -webkit-validation-bubble - -webkit-validation-bubble-message - -webkit-validation-bubble-top-outer-arrow - -webkit-validation-bubble-top-inner-arrow * Implement ValidationMessage functions Show the message for / 20.0 seconds. No new tests because the feature is disabled by default for now and the new behavior is strongly timing-dependent. * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::canShareStyleWithElement): Do not share a style with elements with different shadowPseudoId(). * css/html.css: Define appearance for the internal selectors. (::-webkit-validation-bubble): (::-webkit-validation-bubble-message): (::-webkit-validation-bubble-top-outer-arrow): (::-webkit-validation-bubble-top-inner-arrow): * dom/Node.cpp: (WebCore::Node::createRendererIfNeeded): Allow to add shadow renderers even if canHaveChildren() returns false. * html/HTMLFormControlElement.cpp: (WebCore::HTMLFormControlElement::detach): Remove m_validationMessage immediately because we can't use hideVisibleValidationMessage(), which calls a ValidationMessage function later. (WebCore::HTMLFormControlElement::updateVisibleValidationMessage): - Don't create ValidationMessage if the message is empty. - Remove the check for message equality. (WebCore::HTMLFormControlElement::hideVisibleValidationMessage): Don't remove m_validationMessage immediately. We shouldn't make the element needsLayout() state in this context. * html/ValidationMessage.cpp: (WebCore::ValidationMessage::~ValidationMessage): hideMessage() -> deleteBubbleTree() renaming. (WebCore::ValidationMessage::setMessage): Implemented. (WebCore::ValidationMessage::setMessageDOMAndStartTimer): Added. This updates the validation message and starts the timer to hide it. (WebCore::ElementWithPseudoId): Added to help implementations of styled shadow nodes. (WebCore::ValidationMessage::buildBubbleTree): Added. (WebCore::ValidationMessage::requestToHideMessage): Added. (WebCore::ValidationMessage::deleteBubbleTree): Renamed from hideMessage(), and implemented. * html/ValidationMessage.h: Add declarations. 2011-01-13 Dan Bernstein Reviewed by Alexey Proskuryakov. REGRESSION (r71884): Cross-origin XHR fails if willSendRequest changes the URL https://bugs.webkit.org/show_bug.cgi?id=52419 Test: http/tests/loading/cross-origin-XHR-willLoadRequest.html * loader/ResourceLoader.cpp: (WebCore::ResourceLoader::init): Complete r74453 by ensuring that m_request is only set after willSendRequest(). Otherwise, willSendRequest() ends up calling into ThreadableDocumentRequest::willSendRequest(), which cancels the request. 2011-01-13 Dan Bernstein Reviewed by Mark Rowe. Don’t try to compile InjectedScriptSource.js into WebCore. * WebCore.xcodeproj/project.pbxproj: 2011-01-13 Mike Thole Reviewed by Darin Adler and Brady Eidson. The pageScaleFactor() should be saved/restored along with the scroll position https://bugs.webkit.org/show_bug.cgi?id=52406 * history/HistoryItem.cpp: (WebCore::HistoryItem::HistoryItem): Initialize m_pageScaleFactor. (WebCore::HistoryItem::pageScaleFactor): Added getter. (WebCore::HistoryItem::setPageScaleFactor): Added setter. (WebCore::HistoryItem::encodeBackForwardTreeNode): Encode m_pageScaleFactor. (WebCore::HistoryItem::decodeBackForwardTree): Decode m_pageScaleFactor. * history/HistoryItem.h: * loader/HistoryController.cpp: (WebCore::HistoryController::saveScrollPositionAndViewStateToItem): Save the page scale factor... (WebCore::HistoryController::restoreScrollPositionAndViewState): ...and restore it here. 2011-01-13 Evan Martin Reviewed by Tony Chang. [chromium] drop backwards iteration in Linux complex text code https://bugs.webkit.org/show_bug.cgi?id=52403 ComplexTextController previously supported iterating through the text in both directions, but this resulted in duplicate code for each path. Instead, by being more careful about flipping signs where appropriate, we can refactor the code into one code path. No tests, just a refactoring; should be covered by existing tests. * platform/graphics/chromium/ComplexTextControllerLinux.cpp: (WebCore::ComplexTextController::ComplexTextController): (WebCore::ComplexTextController::reset): (WebCore::ComplexTextController::nextScriptRun): * platform/graphics/chromium/ComplexTextControllerLinux.h: * platform/graphics/chromium/FontLinux.cpp: (WebCore::glyphIndexForXPositionInScriptRun): (WebCore::Font::selectionRectForComplexText): 2011-01-13 Dimitri Glazkov Reviewed by Darin Adler. Flip input[type=range] to use the new shadow DOM model. https://bugs.webkit.org/show_bug.cgi?id=52317 This is a straight-up flip, minimal change to the logic, which will be refactored in a follow-up patch. Covered by existing tests. * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::initForStyleResolve): Changed to use either host or parent node to find parent. * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::updateType): Added logic for destroying/creating shadow DOM subtree. * html/InputType.cpp: (WebCore::InputType::createShadowSubtree): Added empty decl. (WebCore::InputType::destroyShadowSubtree): Added a method to destroy shadow subtree. * html/InputType.h: Added defs. * html/RangeInputType.cpp: (WebCore::RangeInputType::createShadowSubtree): Added a virtual method to create slider thumb. * html/RangeInputType.h: Adde def. * html/shadow/SliderThumbElement.cpp: Added temporary RenderSliderThumb class to handle cascading appearance. (WebCore::RenderSliderThumb::RenderSliderThumb): Added. (WebCore::RenderSliderThumb::layout): Moved here the logic from RenderSlider::createThumbStyle. (WebCore::SliderThumbElement::createRenderer): Added virtual method to create RenderSliderThumb instance. (WebCore::SliderThumbElement::defaultEventHandler): Changed to use HTMLDivElement as base class. (WebCore::SliderThumbElement::detach): Ditto. * html/shadow/SliderThumbElement.h: (WebCore::SliderThumbElement::SliderThumbElement): Ditto. (WebCore::SliderThumbElement::create): Ditto. (WebCore::toSliderThumbElement): Added a casting helper. * rendering/MediaControlElements.cpp: (WebCore::MediaControlInputElement::attach): Added handling of shadow DOM, since the whole method is hand-rolled. (WebCore::MediaControlInputElement::updateStyle): Ditto. * rendering/RenderSlider.cpp: (WebCore::RenderSlider::~RenderSlider): Removed unneeded code. (WebCore::RenderSlider::thumbRect): Changed to use sliderThumbElement helper. (WebCore::RenderSlider::layout): Ditto. (WebCore::RenderSlider::sliderThumbElement): Added a temporary helper to access SliderThumbElement. (WebCore::RenderSlider::mouseEventIsInThumb): Changed to use sliderThumbElement helper. (WebCore::RenderSlider::mouseEventOffsetToThumb): Ditto. (WebCore::RenderSlider::setValueForPosition): Ditto. (WebCore::RenderSlider::positionForOffset): Ditto. (WebCore::RenderSlider::currentPosition): Ditto. (WebCore::RenderSlider::trackSize): Ditto. (WebCore::RenderSlider::forwardEvent): Ditto. (WebCore::RenderSlider::inDragMode): Ditto. * rendering/RenderSlider.h: Added def. 2011-01-13 Adam Barth Reviewed by Eric Seidel. Rename RGBA32Buffer to ImageFrame https://bugs.webkit.org/show_bug.cgi?id=52363 RGBA32Buffer is a terrible misnomer. ImageFrame is vastly more accurate. More cleanup to come. * WebCore.pro: * platform/graphics/ImageSource.cpp: (WebCore::ImageSource::createFrameAtIndex): (WebCore::ImageSource::frameDurationAtIndex): (WebCore::ImageSource::frameIsCompleteAtIndex): * platform/graphics/qt/ImageDecoderQt.cpp: (WebCore::ImageDecoderQt::frameBufferAtIndex): (WebCore::ImageDecoderQt::internalReadImage): (WebCore::ImageDecoderQt::internalHandleCurrentImage): * platform/graphics/qt/ImageDecoderQt.h: * platform/graphics/wince/ImageWinCE.cpp: (WebCore::ImageFrame::asNewNativeImage): * platform/image-decoders/ImageDecoder.cpp: (WebCore::ImageFrame::ImageFrame): (WebCore::ImageFrame::operator=): (WebCore::ImageFrame::clear): (WebCore::ImageFrame::zeroFill): (WebCore::ImageFrame::copyReferenceToBitmapData): (WebCore::ImageFrame::copyBitmapData): (WebCore::ImageFrame::setSize): (WebCore::ImageFrame::hasAlpha): (WebCore::ImageFrame::setHasAlpha): (WebCore::ImageFrame::setColorProfile): (WebCore::ImageFrame::setStatus): (WebCore::ImageFrame::width): (WebCore::ImageFrame::height): * platform/image-decoders/ImageDecoder.h: (WebCore::ImageFrame::ImageFrame): * platform/image-decoders/bmp/BMPImageDecoder.cpp: (WebCore::BMPImageDecoder::frameBufferAtIndex): (WebCore::BMPImageDecoder::decode): * platform/image-decoders/bmp/BMPImageDecoder.h: * platform/image-decoders/bmp/BMPImageReader.cpp: (WebCore::BMPImageReader::decodeBMP): * platform/image-decoders/bmp/BMPImageReader.h: (WebCore::BMPImageReader::setBuffer): * platform/image-decoders/cairo/ImageDecoderCairo.cpp: (WebCore::ImageFrame::asNewNativeImage): * platform/image-decoders/cg/ImageDecoderCG.cpp: (WebCore::getPtrAsPixelData): (WebCore::ImageFrame::copyReferenceToBitmapData): (WebCore::ImageFrame::copyBitmapData): (WebCore::ImageFrame::setSize): (WebCore::ImageFrame::asNewNativeImage): * platform/image-decoders/gif/GIFImageDecoder.cpp: (WebCore::GIFImageDecoder::frameBufferAtIndex): (WebCore::GIFImageDecoder::clearFrameBufferCache): (WebCore::GIFImageDecoder::haveDecodedRow): (WebCore::GIFImageDecoder::frameComplete): (WebCore::GIFImageDecoder::initFrameBuffer): * platform/image-decoders/gif/GIFImageDecoder.h: * platform/image-decoders/gif/GIFImageReader.cpp: (GIFImageReader::read): * platform/image-decoders/gif/GIFImageReader.h: (GIFFrameReader::GIFFrameReader): * platform/image-decoders/haiku/ImageDecoderHaiku.cpp: (WebCore::ImageFrame::asNewNativeImage): * platform/image-decoders/ico/ICOImageDecoder.cpp: (WebCore::ICOImageDecoder::frameBufferAtIndex): (WebCore::ICOImageDecoder::decode): * platform/image-decoders/ico/ICOImageDecoder.h: * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: (WebCore::JPEGImageDecoder::frameBufferAtIndex): (WebCore::JPEGImageDecoder::outputScanlines): (WebCore::JPEGImageDecoder::jpegComplete): (WebCore::JPEGImageDecoder::decode): * platform/image-decoders/jpeg/JPEGImageDecoder.h: * platform/image-decoders/openvg/ImageDecoderOpenVG.cpp: (WebCore::ImageFrame::asNewNativeImage): * platform/image-decoders/png/PNGImageDecoder.cpp: (WebCore::PNGImageDecoder::frameBufferAtIndex): (WebCore::PNGImageDecoder::rowAvailable): (WebCore::PNGImageDecoder::pngComplete): * platform/image-decoders/png/PNGImageDecoder.h: (WebCore::PNGImageDecoder::isComplete): * platform/image-decoders/qt/ImageFrameQt.cpp: Copied from Source/WebCore/platform/image-decoders/qt/RGBA32BufferQt.cpp. (WebCore::ImageFrame::ImageFrame): (WebCore::ImageFrame::operator=): (WebCore::ImageFrame::clear): (WebCore::ImageFrame::zeroFill): (WebCore::ImageFrame::copyBitmapData): (WebCore::ImageFrame::setSize): (WebCore::ImageFrame::asNewNativeImage): (WebCore::ImageFrame::hasAlpha): (WebCore::ImageFrame::setHasAlpha): (WebCore::ImageFrame::setColorProfile): (WebCore::ImageFrame::setStatus): (WebCore::ImageFrame::setPixmap): (WebCore::ImageFrame::width): (WebCore::ImageFrame::height): * platform/image-decoders/qt/RGBA32BufferQt.cpp: Removed. * platform/image-decoders/skia/ImageDecoderSkia.cpp: (WebCore::ImageFrame::ImageFrame): (WebCore::ImageFrame::operator=): (WebCore::ImageFrame::clear): (WebCore::ImageFrame::zeroFill): (WebCore::ImageFrame::copyBitmapData): (WebCore::ImageFrame::setSize): (WebCore::ImageFrame::asNewNativeImage): (WebCore::ImageFrame::hasAlpha): (WebCore::ImageFrame::setHasAlpha): (WebCore::ImageFrame::setColorProfile): (WebCore::ImageFrame::setStatus): (WebCore::ImageFrame::width): (WebCore::ImageFrame::height): * platform/image-decoders/webp/WEBPImageDecoder.cpp: (WebCore::WEBPImageDecoder::frameBufferAtIndex): (WebCore::WEBPImageDecoder::decode): * platform/image-decoders/webp/WEBPImageDecoder.h: * platform/image-decoders/wx/ImageDecoderWx.cpp: (WebCore::ImageFrame::asNewNativeImage): 2011-01-13 Dimitri Glazkov Reviewed by Darin Adler. Transferring nodes between documents should be aware of the shadow DOM. https://bugs.webkit.org/show_bug.cgi?id=52399 No visible change in behavior at the moment. Once https://bugs.webkit.org/show_bug.cgi?id=52317 lands, the following tests should no longer crash: * fast/css/pseudo-in-range-invalid-value.html * fast/css/pseudo-in-range.html * fast/forms/form-collection-elements.html * fast/forms/range-keyoperation.html * dom/Document.cpp: (WebCore::Document::adoptNode): Changed to use Node::setDocumentRecursively. * dom/Node.cpp: (WebCore::Node::setDocumentRecursively): Added new method, taking existing logic and adding shadow DOM traversal. (WebCore::Node::traverseNextNode): Style fix. (WebCore::Node::traverseNextSibling): Ditto. (WebCore::Node::traversePreviousNode): Ditto. (WebCore::Node::traversePreviousNodePostOrder): Ditto. (WebCore::Node::checkReplaceChild): Changed to use setDocumentRecursively. (WebCore::Node::checkAddChild): Ditto. * dom/Node.h: Added def. 2011-01-12 Enrica Casucci Reviewed by Darin Adler. WebKit2: Add support for drag and drop https://bugs.webkit.org/show_bug.cgi?id=52343 This patch contains the changes required to support dropping content in WebKit on the Mac. The DragData class has been extended to provide additional context from the application (keyboard state, modal windows, etc.) as well as information of the drag pasteboard being used. The support for WebKit as drag source will be added with a separate patch. * WebCore.exp.in: * page/DragController.cpp: (WebCore::DragController::dragIsMove): Added DragData parameter. (WebCore::DragController::tryDocumentDrag): Modified call to dragIsMove. (WebCore::DragController::concludeEditDrag): Same as above. * page/DragController.h: Added parameter to isCopyKeyDown. * page/mac/DragControllerMac.mm: The following methods have been modified to use the information stored in the DragData class. (WebCore::DragController::isCopyKeyDown): (WebCore::DragController::dragOperation): * platform/DragData.h: (WebCore::DragData::flags): * platform/DragData.cpp: Added default flags parameter to the constructor. * platform/mac/DragDataMac.mm: (WebCore::DragData::DragData): Added constructor that receives the name of the pasteboard to use. (WebCore::DragData::canSmartReplace): (WebCore::DragData::containsColor): (WebCore::DragData::containsFiles): (WebCore::DragData::asFilenames): (WebCore::DragData::containsPlainText): (WebCore::DragData::asPlainText): (WebCore::DragData::containsCompatibleContent): (WebCore::DragData::asURL): (WebCore::DragData::asFragment): All the following files have been modified to add the DragData parameter to isCopyKeyDown. I plan to improve this in the future and make isCopyKeyDown not platform specific. * page/android/DragControllerAndroid.cpp: (WebCore::DragController::isCopyKeyDown): * page/brew/DragControllerBrew.cpp: (WebCore::DragController::isCopyKeyDown): * page/chromium/DragControllerChromium.cpp: (WebCore::DragController::isCopyKeyDown): * page/efl/DragControllerEfl.cpp: (WebCore::DragController::isCopyKeyDown): * page/gtk/DragControllerGtk.cpp: (WebCore::DragController::isCopyKeyDown): * page/haiku/DragControllerHaiku.cpp: (WebCore::DragController::isCopyKeyDown): * page/mac/DragControllerMac.mm: (WebCore::DragController::isCopyKeyDown): (WebCore::DragController::dragOperation): * page/qt/DragControllerQt.cpp: (WebCore::DragController::isCopyKeyDown): * page/win/DragControllerWin.cpp: (WebCore::DragController::isCopyKeyDown): * page/wx/DragControllerWx.cpp: (WebCore::DragController::isCopyKeyDown): 2011-01-13 David Kilzer Add missing MathMLElementFactory.h and MathMLNames.h to Xcode project Not reviewed. * WebCore.xcodeproj/project.pbxproj: Add missing headers. Note that the corresponding source files were originally added to the project in r48559. 2011-01-12 Zhenyao Mo Reviewed by Kenneth Russell. Use GC3D types in WebGLRenderingContext and related WebGL classes https://bugs.webkit.org/show_bug.cgi?id=51908 * html/canvas/WebGLActiveInfo.h: (WebCore::WebGLActiveInfo::create): (WebCore::WebGLActiveInfo::type): (WebCore::WebGLActiveInfo::size): (WebCore::WebGLActiveInfo::WebGLActiveInfo): * html/canvas/WebGLBuffer.cpp: (WebCore::WebGLBuffer::associateBufferDataImpl): (WebCore::WebGLBuffer::associateBufferData): (WebCore::WebGLBuffer::associateBufferSubDataImpl): (WebCore::WebGLBuffer::associateBufferSubData): (WebCore::WebGLBuffer::byteLength): (WebCore::WebGLBuffer::getCachedMaxIndex): (WebCore::WebGLBuffer::setCachedMaxIndex): (WebCore::WebGLBuffer::setTarget): * html/canvas/WebGLBuffer.h: (WebCore::WebGLBuffer::getTarget): * html/canvas/WebGLFramebuffer.cpp: (WebCore::WebGLFramebuffer::setAttachment): (WebCore::WebGLFramebuffer::getAttachment): (WebCore::WebGLFramebuffer::getWidth): (WebCore::WebGLFramebuffer::getHeight): (WebCore::WebGLFramebuffer::getColorBufferFormat): (WebCore::WebGLFramebuffer::initializeRenderbuffers): * html/canvas/WebGLFramebuffer.h: * html/canvas/WebGLProgram.cpp: (WebCore::WebGLProgram::cacheActiveAttribLocations): (WebCore::WebGLProgram::numActiveAttribLocations): (WebCore::WebGLProgram::getActiveAttribLocation): (WebCore::WebGLProgram::isUsingVertexAttrib0): * html/canvas/WebGLProgram.h: (WebCore::WebGLProgram::getLinkCount): * html/canvas/WebGLRenderbuffer.h: (WebCore::WebGLRenderbuffer::setInternalFormat): (WebCore::WebGLRenderbuffer::getInternalFormat): (WebCore::WebGLRenderbuffer::setSize): (WebCore::WebGLRenderbuffer::getWidth): (WebCore::WebGLRenderbuffer::getHeight): * html/canvas/WebGLRenderingContext.cpp: (WebCore::WebGLRenderingContext::initializeNewContext): (WebCore::WebGLRenderingContext::sizeInBytes): (WebCore::WebGLRenderingContext::activeTexture): (WebCore::WebGLRenderingContext::bindAttribLocation): (WebCore::WebGLRenderingContext::bindBuffer): (WebCore::WebGLRenderingContext::bindFramebuffer): (WebCore::WebGLRenderingContext::bindRenderbuffer): (WebCore::WebGLRenderingContext::bindTexture): (WebCore::WebGLRenderingContext::blendColor): (WebCore::WebGLRenderingContext::blendEquation): (WebCore::WebGLRenderingContext::blendEquationSeparate): (WebCore::WebGLRenderingContext::blendFunc): (WebCore::WebGLRenderingContext::blendFuncSeparate): (WebCore::WebGLRenderingContext::bufferData): (WebCore::WebGLRenderingContext::bufferSubData): (WebCore::WebGLRenderingContext::checkFramebufferStatus): (WebCore::WebGLRenderingContext::clear): (WebCore::WebGLRenderingContext::clearColor): (WebCore::WebGLRenderingContext::clearDepth): (WebCore::WebGLRenderingContext::clearStencil): (WebCore::WebGLRenderingContext::colorMask): (WebCore::WebGLRenderingContext::copyTexImage2D): (WebCore::WebGLRenderingContext::copyTexSubImage2D): (WebCore::WebGLRenderingContext::createShader): (WebCore::WebGLRenderingContext::cullFace): (WebCore::WebGLRenderingContext::deleteBuffer): (WebCore::WebGLRenderingContext::depthFunc): (WebCore::WebGLRenderingContext::depthMask): (WebCore::WebGLRenderingContext::depthRange): (WebCore::WebGLRenderingContext::disable): (WebCore::WebGLRenderingContext::disableVertexAttribArray): (WebCore::WebGLRenderingContext::validateElementArraySize): (WebCore::WebGLRenderingContext::validateIndexArrayConservative): (WebCore::WebGLRenderingContext::validateIndexArrayPrecise): (WebCore::WebGLRenderingContext::validateRenderingState): (WebCore::WebGLRenderingContext::drawArrays): (WebCore::WebGLRenderingContext::drawElements): (WebCore::WebGLRenderingContext::enable): (WebCore::WebGLRenderingContext::enableVertexAttribArray): (WebCore::WebGLRenderingContext::framebufferRenderbuffer): (WebCore::WebGLRenderingContext::framebufferTexture2D): (WebCore::WebGLRenderingContext::frontFace): (WebCore::WebGLRenderingContext::generateMipmap): (WebCore::WebGLRenderingContext::getActiveAttrib): (WebCore::WebGLRenderingContext::getActiveUniform): (WebCore::WebGLRenderingContext::getAttachedShaders): (WebCore::WebGLRenderingContext::getAttribLocation): (WebCore::WebGLRenderingContext::getBufferParameter): (WebCore::WebGLRenderingContext::getError): (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter): (WebCore::WebGLRenderingContext::getParameter): (WebCore::WebGLRenderingContext::getProgramParameter): (WebCore::WebGLRenderingContext::getRenderbufferParameter): (WebCore::WebGLRenderingContext::getShaderParameter): (WebCore::WebGLRenderingContext::getTexParameter): (WebCore::WebGLRenderingContext::getUniform): (WebCore::WebGLRenderingContext::getUniformLocation): (WebCore::WebGLRenderingContext::getVertexAttrib): (WebCore::WebGLRenderingContext::getVertexAttribOffset): (WebCore::WebGLRenderingContext::hint): (WebCore::WebGLRenderingContext::isBuffer): (WebCore::WebGLRenderingContext::isEnabled): (WebCore::WebGLRenderingContext::isFramebuffer): (WebCore::WebGLRenderingContext::isProgram): (WebCore::WebGLRenderingContext::isRenderbuffer): (WebCore::WebGLRenderingContext::isShader): (WebCore::WebGLRenderingContext::isTexture): (WebCore::WebGLRenderingContext::lineWidth): (WebCore::WebGLRenderingContext::linkProgram): (WebCore::WebGLRenderingContext::pixelStorei): (WebCore::WebGLRenderingContext::polygonOffset): (WebCore::WebGLRenderingContext::readPixels): (WebCore::WebGLRenderingContext::renderbufferStorage): (WebCore::WebGLRenderingContext::sampleCoverage): (WebCore::WebGLRenderingContext::scissor): (WebCore::WebGLRenderingContext::stencilFunc): (WebCore::WebGLRenderingContext::stencilFuncSeparate): (WebCore::WebGLRenderingContext::stencilMask): (WebCore::WebGLRenderingContext::stencilMaskSeparate): (WebCore::WebGLRenderingContext::stencilOp): (WebCore::WebGLRenderingContext::stencilOpSeparate): (WebCore::WebGLRenderingContext::texImage2DBase): (WebCore::WebGLRenderingContext::texImage2DImpl): (WebCore::WebGLRenderingContext::texImage2D): (WebCore::WebGLRenderingContext::texParameter): (WebCore::WebGLRenderingContext::texParameterf): (WebCore::WebGLRenderingContext::texParameteri): (WebCore::WebGLRenderingContext::texSubImage2DBase): (WebCore::WebGLRenderingContext::texSubImage2DImpl): (WebCore::WebGLRenderingContext::texSubImage2D): (WebCore::WebGLRenderingContext::uniform1f): (WebCore::WebGLRenderingContext::uniform1fv): (WebCore::WebGLRenderingContext::uniform1i): (WebCore::WebGLRenderingContext::uniform1iv): (WebCore::WebGLRenderingContext::uniform2f): (WebCore::WebGLRenderingContext::uniform2fv): (WebCore::WebGLRenderingContext::uniform2i): (WebCore::WebGLRenderingContext::uniform2iv): (WebCore::WebGLRenderingContext::uniform3f): (WebCore::WebGLRenderingContext::uniform3fv): (WebCore::WebGLRenderingContext::uniform3i): (WebCore::WebGLRenderingContext::uniform3iv): (WebCore::WebGLRenderingContext::uniform4f): (WebCore::WebGLRenderingContext::uniform4fv): (WebCore::WebGLRenderingContext::uniform4i): (WebCore::WebGLRenderingContext::uniform4iv): (WebCore::WebGLRenderingContext::uniformMatrix2fv): (WebCore::WebGLRenderingContext::uniformMatrix3fv): (WebCore::WebGLRenderingContext::uniformMatrix4fv): (WebCore::WebGLRenderingContext::vertexAttrib1f): (WebCore::WebGLRenderingContext::vertexAttrib1fv): (WebCore::WebGLRenderingContext::vertexAttrib2f): (WebCore::WebGLRenderingContext::vertexAttrib2fv): (WebCore::WebGLRenderingContext::vertexAttrib3f): (WebCore::WebGLRenderingContext::vertexAttrib3fv): (WebCore::WebGLRenderingContext::vertexAttrib4f): (WebCore::WebGLRenderingContext::vertexAttrib4fv): (WebCore::WebGLRenderingContext::vertexAttribPointer): (WebCore::WebGLRenderingContext::viewport): (WebCore::WebGLRenderingContext::getBooleanParameter): (WebCore::WebGLRenderingContext::getBooleanArrayParameter): (WebCore::WebGLRenderingContext::getFloatParameter): (WebCore::WebGLRenderingContext::getIntParameter): (WebCore::WebGLRenderingContext::getLongParameter): (WebCore::WebGLRenderingContext::getUnsignedLongParameter): (WebCore::WebGLRenderingContext::getWebGLFloatArrayParameter): (WebCore::WebGLRenderingContext::getWebGLIntArrayParameter): (WebCore::WebGLRenderingContext::isTexInternalFormatColorBufferCombinationValid): (WebCore::WebGLRenderingContext::getBoundFramebufferColorFormat): (WebCore::WebGLRenderingContext::validateTextureBinding): (WebCore::WebGLRenderingContext::validateSize): (WebCore::WebGLRenderingContext::validateTexFuncFormatAndType): (WebCore::WebGLRenderingContext::validateTexFuncLevel): (WebCore::WebGLRenderingContext::validateTexFuncParameters): (WebCore::WebGLRenderingContext::validateTexFuncData): (WebCore::WebGLRenderingContext::validateDrawMode): (WebCore::WebGLRenderingContext::validateStencilFunc): (WebCore::WebGLRenderingContext::validateFramebufferFuncParameters): (WebCore::WebGLRenderingContext::validateBlendEquation): (WebCore::WebGLRenderingContext::validateBlendFuncFactors): (WebCore::WebGLRenderingContext::validateCapability): (WebCore::WebGLRenderingContext::validateUniformParameters): (WebCore::WebGLRenderingContext::validateUniformMatrixParameters): (WebCore::WebGLRenderingContext::validateBufferDataParameters): (WebCore::WebGLRenderingContext::vertexAttribfImpl): (WebCore::WebGLRenderingContext::vertexAttribfvImpl): (WebCore::WebGLRenderingContext::simulateVertexAttrib0): * html/canvas/WebGLRenderingContext.h: (WebCore::WebGLRenderingContext::VertexAttribState::VertexAttribState): * html/canvas/WebGLShader.cpp: (WebCore::WebGLShader::create): (WebCore::WebGLShader::WebGLShader): * html/canvas/WebGLShader.h: (WebCore::WebGLShader::getType): * html/canvas/WebGLTexture.cpp: (WebCore::WebGLTexture::setTarget): (WebCore::WebGLTexture::setParameteri): (WebCore::WebGLTexture::setParameterf): (WebCore::WebGLTexture::setLevelInfo): (WebCore::WebGLTexture::generateMipmapLevelInfo): (WebCore::WebGLTexture::getInternalFormat): (WebCore::WebGLTexture::getType): (WebCore::WebGLTexture::getWidth): (WebCore::WebGLTexture::getHeight): (WebCore::WebGLTexture::isNPOT): (WebCore::WebGLTexture::mapTargetToIndex): (WebCore::WebGLTexture::computeLevelCount): (WebCore::WebGLTexture::update): (WebCore::WebGLTexture::getLevelInfo): * html/canvas/WebGLTexture.h: (WebCore::WebGLTexture::LevelInfo::setInfo): * html/canvas/WebGLUniformLocation.cpp: (WebCore::WebGLUniformLocation::create): (WebCore::WebGLUniformLocation::WebGLUniformLocation): (WebCore::WebGLUniformLocation::location): * html/canvas/WebGLUniformLocation.h: * platform/graphics/GraphicsContext3D.h: Map GC3Dboolean to bool instead of unsigned char. 2011-01-13 Jian Li Reviewed by Darin Fisher. Change createObjectURL and revokeObjectURL to put under webkitURL. https://bugs.webkit.org/show_bug.cgi?id=52257 Note that we add "webkit" vendor prefix to URL that is introduced in the latest File API spec. For the time being, we implement webkitURL as a readonly attribute instead of a constructor so that we will not expose prototype property, as required by the spec. * Android.derived.jscbindings.mk: * Android.derived.v8bindings.mk: * Android.mk: * CMakeLists.txt: * DerivedSources.cpp: * DerivedSources.make: * GNUmakefile.am: * WebCore.gypi: * WebCore.pri: * WebCore.pro: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * html/DOMURL.cpp: Added. * html/DOMURL.h: Added. * html/DOMURL.idl: Added. * inspector/front-end/NetworkPanel.js: * inspector/front-end/utilities.js: * page/DOMWindow.cpp: (WebCore::DOMWindow::webkitURL): * page/DOMWindow.h: * page/DOMWindow.idl: * workers/WorkerContext.cpp: (WebCore::WorkerContext::webkitURL): * workers/WorkerContext.h: * workers/WorkerContext.idl: 2011-01-13 Emil Eklund Reviewed by Dimitri Glazkov. Setting outerText should convert CR/LF to
https://bugs.webkit.org/show_bug.cgi?id=52268 Make set outerText support line breaks (sharing the text to fragment code with setInnerText) and handle empty text nodes the same way IE does. Test: fast/dom/set-outer-text.html * html/HTMLElement.cpp: (WebCore::HTMLElement::textToFragment): Shared between setInnerText and setOuterText (WebCore::HTMLElement::setInnerText): Split out text parsing code. (WebCore::mergeWithNextTextNode): Split out text node merging code. (WebCore::HTMLElement::setOuterText): Added support for line breaks. * html/HTMLElement.h: 2011-01-13 Zhenyao Mo Reviewed by Kenneth Russell. Relax the ESSL valid charset a little bit to include " ' ` https://bugs.webkit.org/show_bug.cgi?id=52396 * html/canvas/WebGLRenderingContext.cpp: >>>>>>> .r75740 2011-01-13 Adrienne Walker Reviewed by Kenneth Russell. [chromium] Attempt to fix crash in tiled compositor memcpy https://bugs.webkit.org/show_bug.cgi?id=52379 * platform/graphics/chromium/LayerTilerChromium.cpp: (WebCore::LayerTilerChromium::update): 2011-01-13 Dimitri Glazkov Unreviewed, rolling out r75725. http://trac.webkit.org/changeset/75725 https://bugs.webkit.org/show_bug.cgi?id=52317 Caused crashes in layout tests. * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::initForStyleResolve): * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::updateType): * html/InputType.cpp: * html/InputType.h: * html/RangeInputType.cpp: * html/RangeInputType.h: * html/shadow/SliderThumbElement.cpp: (WebCore::SliderThumbElement::defaultEventHandler): (WebCore::SliderThumbElement::detach): * html/shadow/SliderThumbElement.h: (WebCore::SliderThumbElement::SliderThumbElement): (WebCore::SliderThumbElement::create): * rendering/MediaControlElements.cpp: (WebCore::MediaControlInputElement::attach): (WebCore::MediaControlInputElement::updateStyle): * rendering/RenderSlider.cpp: (WebCore::RenderSlider::~RenderSlider): (WebCore::RenderSlider::styleDidChange): (WebCore::RenderSlider::createThumbStyle): (WebCore::RenderSlider::thumbRect): (WebCore::RenderSlider::layout): (WebCore::RenderSlider::updateFromElement): (WebCore::RenderSlider::mouseEventIsInThumb): (WebCore::RenderSlider::mouseEventOffsetToThumb): (WebCore::RenderSlider::setValueForPosition): (WebCore::RenderSlider::positionForOffset): (WebCore::RenderSlider::currentPosition): (WebCore::RenderSlider::trackSize): (WebCore::RenderSlider::forwardEvent): (WebCore::RenderSlider::inDragMode): * rendering/RenderSlider.h: 2011-01-12 Dimitri Glazkov Reviewed by Darin Adler. Flip input[type=range] to use the new shadow DOM model. https://bugs.webkit.org/show_bug.cgi?id=52317 This is a straight-up flip, minimal change to the logic, which will be refactored in a follow-up patch. Covered by existing tests. * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::initForStyleResolve): Changed to use either host or parent node to find parent. * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::updateType): Added logic for destroying/creating shadow DOM subtree. * html/InputType.cpp: (WebCore::InputType::createShadowSubtree): Added empty decl. (WebCore::InputType::destroyShadowSubtree): Added a method to destroy shadow subtree. * html/InputType.h: Added defs. * html/RangeInputType.cpp: (WebCore::RangeInputType::createShadowSubtree): Added a virtual method to create slider thumb. * html/RangeInputType.h: Adde def. * html/shadow/SliderThumbElement.cpp: Added temporary RenderSliderThumb class to handle cascading appearance. (WebCore::RenderSliderThumb::RenderSliderThumb): Added. (WebCore::RenderSliderThumb::layout): Moved here the logic from RenderSlider::createThumbStyle. (WebCore::SliderThumbElement::createRenderer): Added virtual method to create RenderSliderThumb instance. (WebCore::SliderThumbElement::defaultEventHandler): Changed to use HTMLDivElement as base class. (WebCore::SliderThumbElement::detach): Ditto. * html/shadow/SliderThumbElement.h: (WebCore::SliderThumbElement::SliderThumbElement): Ditto. (WebCore::SliderThumbElement::create): Ditto. (WebCore::toSliderThumbElement): Added a casting helper. * rendering/MediaControlElements.cpp: (WebCore::MediaControlInputElement::attach): Added handling of shadow DOM, since the whole method is hand-rolled. (WebCore::MediaControlInputElement::updateStyle): Ditto. * rendering/RenderSlider.cpp: (WebCore::RenderSlider::~RenderSlider): Removed unneeded code. (WebCore::RenderSlider::thumbRect): Changed to use sliderThumbElement helper. (WebCore::RenderSlider::layout): Ditto. (WebCore::RenderSlider::sliderThumbElement): Added a temporary helper to access SliderThumbElement. (WebCore::RenderSlider::mouseEventIsInThumb): Changed to use sliderThumbElement helper. (WebCore::RenderSlider::mouseEventOffsetToThumb): Ditto. (WebCore::RenderSlider::setValueForPosition): Ditto. (WebCore::RenderSlider::positionForOffset): Ditto. (WebCore::RenderSlider::currentPosition): Ditto. (WebCore::RenderSlider::trackSize): Ditto. (WebCore::RenderSlider::forwardEvent): Ditto. (WebCore::RenderSlider::inDragMode): Ditto. * rendering/RenderSlider.h: Added def. 2011-01-13 Dan Bernstein Reviewed by Simon Fraser. Crash in Widget::setFrameRect() https://bugs.webkit.org/show_bug.cgi?id=52375 Test: plugins/destroy-on-setwindow.html * platform/mac/WidgetMac.mm: (WebCore::Widget::setFrameRect): Protect the Widget from being deleted as a result of calling out to the view. (WebCore::Widget::getOuterView): Coding style fix. (WebCore::Widget::paint): Protect the Widget from being deleted as a result of calling out to the views. This is precautionary, since this function does not applear to access member variables after such calls. * platform/wx/WidgetWx.cpp: (WebCore::Widget::setFrameRect): Protect the Widget from being deleted as a result of calling out to the platform widget. 2011-01-13 Csaba Osztrogonác Unreviewed buildfix after r75715. * WebCore.pri: * WebCore.pro: 2011-01-13 Pavel Feldman Not reviewed: Qt build fix. * WebCore.pri: 2011-01-12 Pavel Feldman Reviewed by Yury Semikhatsky. Web Inspector: embed injected script into the backend. https://bugs.webkit.org/show_bug.cgi?id=52312 InjectedScript belongs to the backend of the system and should be exposed by means of protocol, not InjectedScriptAccess. This patch makes injected script a part of the backend. It introduces single manual generation step (xxd -i) that should be automated by the build scripts for all the platforms. * CMakeLists.txt: * DerivedSources.make: * GNUmakefile.am: * WebCore.gyp/WebCore.gyp: * WebCore.gypi: * WebCore.pro: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * bindings/js/JSInjectedScriptHostCustom.cpp: (WebCore::InjectedScriptHost::injectedScriptFor): * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: (WebCore::InjectedScriptHost::injectedScriptFor): * inspector/InjectedScriptHost.cpp: (WebCore::InjectedScriptHost::injectedScriptSource): * inspector/InjectedScriptHost.h: * inspector/Inspector.idl: * inspector/InspectorController.cpp: (WebCore::InspectorController::restoreInspectorStateFromCookie): * inspector/InspectorState.cpp: (WebCore::InspectorState::InspectorState): * inspector/InspectorState.h: * inspector/front-end/InjectedScript.js: Removed. * inspector/front-end/WebKit.qrc: * inspector/front-end/inspector.html: * inspector/front-end/inspector.js: (WebInspector.doLoadedDone.propertyNamesCallback): (WebInspector.doLoadedDone): * inspector/xxd.pl: Added. 2011-01-13 Mikhail Naganov Reviewed by Timothy Hatcher. Web Inspector: Cleanup after r75613 -- make all UI-facing strings to be passed directly to WebInspector.UIString https://bugs.webkit.org/show_bug.cgi?id=52365 * English.lproj/localizedStrings.js: * inspector/front-end/ApplicationCacheItemsView.js: (WebInspector.ApplicationCacheItemsView.prototype._updateCallback): (WebInspector.ApplicationCacheItemsView.prototype._populateDataGrid): * inspector/front-end/AuditRules.js: (WebInspector.AuditRules.GzipRule.prototype.doRun): (WebInspector.AuditRules.CookieSizeRule.prototype.processCookies): (WebInspector.AuditRules.StaticCookielessRule.prototype.processCookies): * inspector/front-end/BreakpointsSidebarPane.js: (WebInspector.EventListenerBreakpointsSidebarPane): (WebInspector.EventListenerBreakpointsSidebarPane.prototype._createCategory): * inspector/front-end/CookieItemsView.js: (WebInspector.CookieItemsView.prototype._updateWithCookies): * inspector/front-end/ImageView.js: (WebInspector.ImageView.prototype._createContentIfNeeded.onImageLoad): (WebInspector.ImageView.prototype._createContentIfNeeded): * inspector/front-end/NetworkPanel.js: (WebInspector.NetworkTimeCalculator.prototype.formatValue): (WebInspector.NetworkTransferTimeCalculator.prototype.formatValue): (WebInspector.NetworkTransferDurationCalculator.prototype.formatValue): * inspector/front-end/ProfileDataGridTree.js: (WebInspector.ProfileDataGridNode.prototype.get data.formatMilliseconds): (WebInspector.ProfileDataGridNode.prototype.get data): * inspector/front-end/Resource.js: (WebInspector.Resource.Type.toUIString): (WebInspector.Resource.Type.toString): * inspector/front-end/TimelineOverviewPane.js: (WebInspector.TimelineOverviewCalculator.prototype.formatValue): * inspector/front-end/TimelinePanel.js: (WebInspector.TimelinePanel): (WebInspector.TimelineCalculator.prototype.formatValue): (WebInspector.TimelinePanel.FormattedRecord.prototype._generateAggregatedInfo): (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent): (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails): * inspector/front-end/utilities.js: (): 2011-01-13 Viatcheslav Ostapenko Reviewed by Simon Hausmann. [Qt] Need a way to inform the application when a Netscape plugin is created. https://bugs.webkit.org/show_bug.cgi?id=30179 Added "c" style static method for the application to hook up for receiving notifications when a plugin is created. * plugins/symbian/PluginViewSymbian.cpp: (qtwebkit_setPluginCreatedCallback): (WebCore::PluginView::platformStart): 2011-01-13 Yi Shen Reviewed by Eric Seidel. [Qt] Use a black background color for the video element on Qt Mobile https://bugs.webkit.org/show_bug.cgi?id=52252 Use black as the background color for the video element on Qt Mobile. * css/themeQtMobile.css: (video): 2011-01-13 Yi Shen Reviewed by Eric Seidel. [Qt] Use a big central media play control button for video element https://bugs.webkit.org/show_bug.cgi?id=52315 When ChromeClient::requiresFullscreenForVideoPlayback() returns true, all other control buttons for the video element are hidden, except a big centralized play button. No new tests because no client implements requiresFullscreenForVideoPlayback yet. * WebCore.pri: * css/mediaControlsQtFullscreen.css: Added. (audio): (audio::-webkit-media-controls-panel): (video::-webkit-media-controls-panel): (video:-webkit-full-page-media::-webkit-media-controls-panel): (audio::-webkit-media-controls-mute-button): (video::-webkit-media-controls-mute-button): (audio::-webkit-media-controls-play-button): (video::-webkit-media-controls-play-button): (audio::-webkit-media-controls-timeline-container): (video::-webkit-media-controls-timeline-container): (audio::-webkit-media-controls-current-time-display): (video::-webkit-media-controls-current-time-display): (audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display): (audio::-webkit-media-controls-timeline): (video::-webkit-media-controls-timeline): (audio::-webkit-media-controls-volume-slider-container): (video::-webkit-media-controls-volume-slider-container): (audio::-webkit-media-controls-volume-slider): (video::-webkit-media-controls-volume-slider): (audio::-webkit-media-controls-seek-back-button, video::-webkit-media-controls-seek-back-button): (audio::-webkit-media-controls-seek-forward-button, video::-webkit-media-controls-seek-forward-button): (audio::-webkit-media-controls-fullscreen-button): (video::-webkit-media-controls-fullscreen-button): (audio::-webkit-media-controls-rewind-button, video::-webkit-media-controls-rewind-button): (audio::-webkit-media-controls-return-to-realtime-button, video::-webkit-media-controls-return-to-realtime-button): (audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button): * platform/qt/RenderThemeQt.cpp: (WebCore::RenderThemeQt::extraMediaControlsStyleSheet): 2011-01-13 Carlos Garcia Campos Reviewed by Xan Lopez. [GTK] Paint toggle buttons inconsistent when the object state is indeterminate https://bugs.webkit.org/show_bug.cgi?id=52361 Check whether the object state is indeterminate to set the flag GTK_STATE_FLAG_INCONSISTENT before rendering check and radio buttons. * platform/gtk/RenderThemeGtk3.cpp: (WebCore::paintToggle): 2011-01-13 Yi Shen Reviewed by Simon Hausmann. [Qt] Extend the Platform Plugin to support full screen video handler https://bugs.webkit.org/show_bug.cgi?id=51249 Make MediaPlayerPrivateQt support a fullscreen player. No new tests because LayoutTests/media/media-fullscreen-inline.html already exists. However, this test failed for Qt (QtMediaPlayer) due to durationchange event getting fired twice. So, still skip it for Qt. * WebCore.pro: * platform/graphics/qt/MediaPlayerPrivateQt.cpp: (WebCore::MediaPlayerPrivateQt::MediaPlayerPrivateQt): (WebCore::MediaPlayerPrivateQt::removeVideoItem): (WebCore::MediaPlayerPrivateQt::restoreVideoItem): * platform/graphics/qt/MediaPlayerPrivateQt.h: (WebCore::MediaPlayerPrivateQt::supportsFullscreen): (WebCore::MediaPlayerPrivateQt::mediaPlayer): 2011-01-13 Dan Bernstein Reviewed by Dave Hyatt. Disable inheritance of text emphasis marks to ruby text https://bugs.webkit.org/show_bug.cgi?id=52359 Test: fast/ruby/text-emphasis.html * css/html.css: (rt): 2011-01-13 Csaba Osztrogonác Rubber-stamped by David Levin. Trivial fix after r75682. * loader/FrameLoader.cpp: Remove accidentally committed debug code. (WebCore::FrameLoader::shouldClose): 2011-01-12 Ryosuke Niwa Reviewed by Eric Seidel. REGRESSION(r69831): focus() in onkeypress discards input (affects chaseonline.chase.com) https://bugs.webkit.org/show_bug.cgi?id=52241 The bug was caused by RenderTextControl::selection's creating a Range with m_insertText which is a shadow DOM div as both start and end containers. Fixed the bug by traversing through the descendents of m_innerText and using the right start and end containers to create a Range. Test: fast/forms/focus-change-on-keypress.html * rendering/RenderTextControl.cpp: (WebCore::setContainerAndOffsetForRange): Added; a helper function. (WebCore::RenderTextControl::selection): See above. 2011-01-12 Kenichi Ishibashi Reviewed by Kent Tamura. M_formElementsWithFormAttribute not cleared when FormAssociatedElement is inserted with a null m_form and then removed. https://bugs.webkit.org/show_bug.cgi?id=51905 Calls unregisterFormElementWithFormAttribute() when 'form' attribute is removed. Tests: fast/forms/form-associated-element-crash.html fast/forms/form-associated-element-crash2.html * html/FormAssociatedElement.cpp: (WebCore::FormAssociatedElement::formAttributeChanged): 2011-01-12 Kenichi Ishibashi Reviewed by Kent Tamura. M_formElementsWithFormAttribute not cleared when Node is moved to another document. https://bugs.webkit.org/show_bug.cgi?id=51418 Calls unregisterFormElementWithFormAttribute() when form associated elements are moved to another document. Test: fast/forms/change-form-element-document-crash.html * html/FormAssociatedElement.cpp: (WebCore::FormAssociatedElement::willMoveToNewOwnerDocument): Added. * html/FormAssociatedElement.h: Added willMoveToNewOwnerDocument(). * html/HTMLFormControlElement.cpp: (WebCore::HTMLFormControlElement::willMoveToNewOwnerDocument): Added. * html/HTMLFormControlElement.h: Added willMoveToNewOwnerDocument(). * html/HTMLObjectElement.cpp: (WebCore::HTMLObjectElement::willMoveToNewOwnerDocument): Added. * html/HTMLObjectElement.h: Added willMoveToNewOwnerDocument(). * html/HTMLPlugInImageElement.h: Moves willMoveToNewOwnerDocument() to protected. 2011-01-12 Ryosuke Niwa Reviewed by Eric Seidel. Stop instantiating legacy editing positions in ApplyBlockElementCommand and ApplyStyleCommand https://bugs.webkit.org/show_bug.cgi?id=52250 Removed instantiation of legacy editing positions. Calls to Position::Position are replaced by calls to Position's convenience functions. Also added firstPositionInOrBeforeNode and lastPositionInOrAfterNode, which are functions that return firstPositionInNode and lastPositionInNode respectively when the specified node can have children for editing purpose and return positionBeforeNode and positionAfterNode respectively otherwise. They can be used to guarantee that we never create a bogus position like [img, 0] or [br, 0]. No tests are added since this is a cleanup. * editing/ApplyBlockElementCommand.cpp: (WebCore::ApplyBlockElementCommand::formatSelection): * editing/ApplyStyleCommand.cpp: (WebCore::ApplyStyleCommand::applyBlockStyle): (WebCore::ApplyStyleCommand::fixRangeAndApplyInlineStyle): (WebCore::ApplyStyleCommand::highestAncestorWithConflictingInlineStyle): (WebCore::ApplyStyleCommand::removeInlineStyle): (WebCore::ApplyStyleCommand::nodeFullySelected): (WebCore::ApplyStyleCommand::nodeFullyUnselected): (WebCore::ApplyStyleCommand::splitTextAtStart): (WebCore::ApplyStyleCommand::splitTextAtEnd): (WebCore::ApplyStyleCommand::splitTextElementAtStart): (WebCore::ApplyStyleCommand::splitTextElementAtEnd): (WebCore::ApplyStyleCommand::isValidCaretPositionInTextNode): (WebCore::ApplyStyleCommand::mergeStartWithPreviousIfIdentical): (WebCore::ApplyStyleCommand::mergeEndWithNextIfIdentical): (WebCore::ApplyStyleCommand::computedFontSize): (WebCore::ApplyStyleCommand::joinChildTextNodes): * editing/ApplyStyleCommand.h: * editing/htmlediting.h: (WebCore::firstPositionInOrBeforeNode): Added. (WebCore::lastPositionInOrAfterNode): Added. 2011-01-12 Sam Weinig Another build fix. * platform/mac/WheelEventMac.mm: (WebCore::phaseForEvent): 2011-01-12 Sam Weinig Fix build. * platform/mac/WheelEventMac.mm: (WebCore::phaseForEvent): 2011-01-12 Adam Barth Reviewed by Darin Adler. Remove premature optimization from SchemeRegistry https://bugs.webkit.org/show_bug.cgi?id=52283 As far as I can tell, this optimization isn't necessary. I'm slightly unsure which benchmarks to run to demonstrate this numerically, but none of the benchmarks Chromium tracks were affected by adding a similar check for "display-isolated" schemes. * platform/SchemeRegistry.cpp: (WebCore::SchemeRegistry::shouldTreatURLSchemeAsLocal): 2011-01-12 Beth Dakin Reviewed by Anders Carlsson. Add-on for https://bugs.webkit.org/show_bug.cgi?id=52309 Expose fixed layout through WebKit SPI -and corresponding- And now with getters! * WebCore.exp.in: 2011-01-12 Sam Weinig Reviewed by Anders Carlsson. https://bugs.webkit.org/show_bug.cgi?id=52337 PlatformWheelEvent should know about the scroll phase on the Mac Add a phase parameter on Mac PlatformWheelEvents. * platform/PlatformWheelEvent.h: (WebCore::PlatformWheelEvent::PlatformWheelEvent): (WebCore::PlatformWheelEvent::phase): * platform/mac/WheelEventMac.mm: (WebCore::phaseForEvent): (WebCore::PlatformWheelEvent::PlatformWheelEvent): 2011-01-12 Chris Marrin Unreviewed. A couple of lines of the patch for https://bugs.webkit.org/show_bug.cgi?id=52321 were omitted. * platform/graphics/ca/GraphicsLayerCA.cpp: (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers): 2011-01-12 Chris Marrin Unreviewed. Getting rid of an assert that was causing build failures that turns out not to be needed. * rendering/RenderLayer.cpp: (WebCore::RenderLayer::paintsWithTransform): 2011-01-12 Chris Marrin Unreviewed. Another fix for Gtk * rendering/RenderLayer.cpp: (WebCore::RenderLayer::paintsWithTransform): 2011-01-12 Chris Marrin Unreviewed. Fix for Gtk and Windows builds * page/Frame.cpp: (WebCore::Frame::scalePage): * page/Frame.h: * platform/graphics/ca/win/PlatformCALayerWin.cpp: (PlatformCALayer::contentsScale): (PlatformCALayer::setContentsScale): 2011-01-12 Chris Marrin UNreviewed. Fix for the Windows build * platform/graphics/ca/win/PlatformCALayerWin.cpp: (contentsScale): (setContentsScale): 2011-01-12 Chris Marrin Unreviewed. Another build fix * platform/graphics/ca/GraphicsLayerCA.cpp: (WebCore::GraphicsLayerCA::clampedContentsScaleForScale): * platform/graphics/ca/mac/PlatformCALayerMac.mm: (PlatformCALayer::setContentsScale): 2011-01-11 Matthew Delaney Reviewed by Simon Fraser. Max area bound needed in creation of IOSurface in ImageBufferCG.cpp https://bugs.webkit.org/show_bug.cgi?id=52172 Tests: fast/canvas/canvas-large-dimensions.html * platform/graphics/cg/ImageBufferCG.cpp: (WebCore::ImageBuffer::ImageBuffer): 2011-01-12 Daniel Bates And Benjamin C Meyer Build fix when building with Inspector disabled https://bugs.webkit.org/show_bug.cgi?id=52313 After changeset 75604 it's not possible to build when the Inspector is disabled. * inspector/InspectorInstrumentation.h: (WebCore::InspectorInstrumentation::updateApplicationCacheStatus): Fix build breakage when building with Inspector disabled and Offline Web Applications enabled by moving macro guard condition ENABLE(INSPECTOR) && ENABLE(OFFLINE_WEB_APPLICATIONS) into function body. This makes us also consistent with the form we use for InspectorInstrumentation::networkStateChanged() and other InspectorInstrumentation functions. * loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::didReceiveData): Fix build breakage when building with Inspector disabled by adding ENABLE(INSPECTOR) guard around code that references the instance variable ApplicationCacheGroup::m_currentResourceIdentifier as this variable only exists when building with the Inspector. (WebCore::ApplicationCacheGroup::didFinishLoading): Ditto. (WebCore::ApplicationCacheGroup::didFail): Ditto. 2011-01-12 Chris Marrin Unreviewed. Fix a build issue from http://trac.webkit.org/changeset/75639. * platform/graphics/GraphicsLayer.h: (WebCore::GraphicsLayer::contentsScale): (WebCore::GraphicsLayer::setContentsScale): 2011-01-12 Chris Marrin Reviewed by Kevin Decker. Pages with accelerated layers lose subpixel-AA and become blurry when a scale factor is applied rdar://problem/8824974 This prevents the rootLayer (with the WebKit rendered content) from going becoming a tiled layer when zoomed, and when there is other layered content on the page. This speeds up zooming a lot and avoids some buggy behavior in CA with a very large number of layers. * rendering/RenderLayer.cpp: (WebCore::RenderLayer::paintsWithTransform): * rendering/RenderLayer.h: * rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::paintingGoesToWindow): 2011-01-12 Chris Marrin Reviewed by Simon Fraser. Pages with accelerated layers lose subpixel-AA and become blurry when a scale factor is applied rdar://problem/8824974 When scaled, WebKit renders the page content at the scaled up size, so there are no scaling artifacts. But content drawn into a layer's backing store does not scale up. This is made worse by the fact that the root page contents become layered when there are other accelerated compositing layers present (video, plugins, etc.). Plumb scaling factor from Frame::scalePage() down into all layers with content. It eventually calls CALayer::setContentsScale which renders to a backing store whose dimensions are scaled, causing them to render larger and appear pixel perfect at the scaled page size. * page/Frame.cpp: (WebCore::Frame::updateContentsScale): (WebCore::Frame::scalePage): * page/Frame.h: * platform/graphics/GraphicsLayer.h: * platform/graphics/ca/GraphicsLayerCA.cpp: (WebCore::GraphicsLayerCA::setContentsScale): (WebCore::GraphicsLayerCA::clampedContentsScaleForScale): * platform/graphics/ca/GraphicsLayerCA.h: (WebCore::GraphicsLayerCA::contentsScale): * platform/graphics/ca/PlatformCALayer.h: * platform/graphics/ca/mac/PlatformCALayerMac.mm: (PlatformCALayer::contentsScale): (PlatformCALayer::setContentsScale): * rendering/RenderLayer.cpp: (WebCore::RenderLayer::updateContentsScale): * rendering/RenderLayer.h: * rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::createGraphicsLayer): (WebCore::RenderLayerBacking::updateForegroundLayer): (WebCore::RenderLayerBacking::updateMaskLayer): (WebCore::RenderLayerBacking::updateContentsScale): * rendering/RenderLayerBacking.h: * rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::updateContentsScale): * rendering/RenderLayerCompositor.h: 2011-01-12 Stephen White Reviewed by James Robinson. Fix DrawingBuffer issues for depth/stencil, extensions, etc. https://bugs.webkit.org/show_bug.cgi?id=52310 1) GL_TEXTURE is not a valid argument to glFramebufferTexture2D() (should be GL_TEXTURE_2D). 2) Support for the multisampling extension was being checked after the DrawingBuffer constructor was called, which calls multisample() to check for the extension. 3) If depth or stencil is set, the corresponding framebuffers must be created in the DrawingBuffer constructor. 4) GL_DEPTH_STENCIL is not a valid framebuffer internal type in GLES2. Must use GL_OES_DEPTH24_STENCIL8, and check for the OES_packed_depth_stencil extension. * platform/graphics/chromium/DrawingBufferChromium.cpp: (WebCore::DrawingBuffer::DrawingBuffer): Record the extension support in the constructor. Create all the secondary drawing buffers (for multisampling, depth/stencil). * platform/graphics/gpu/DrawingBuffer.cpp: (WebCore::DrawingBuffer::create): Check for the extensions before calling the DrawingBuffer constructor. (WebCore::DrawingBuffer::createSecondaryBuffers): Refactor creation of the secondary buffers from DrawingBufferMac.mm to here. (WebCore::DrawingBuffer::reset): Use DEPTH24_STENCIL8 format, not DEPTH_STENCIL. Use DEPTH_COMPONENT16, not DEPTH_COMPONENT. Use GL_TEXTURE_2D, not GL_TEXTURE (for glFramebufferTexture2D). * platform/graphics/gpu/DrawingBuffer.h: Refactor createSecondaryBuffers(). Add extension support arguments to constructor. Add support for packed_depth_stencil extension. * platform/graphics/gpu/mac/DrawingBufferMac.mm: (WebCore::DrawingBuffer::DrawingBuffer): Record extension support in constructor. Refactor out creation of secondary buffers. 2011-01-12 Beth Dakin Reviewed by Anders Carlsson. Fix for https://bugs.webkit.org/show_bug.cgi?id=52309 Expose fixed layout through WebKit SPI -and corresponding- Export symbols for ScrollView::setUseFixedLayout() and ScrollView::setFixedLayoutSize() * WebCore.exp.in: 2011-01-12 Robert Hogan Reviewed by Kenneth Rohde Christiansen. [Qt] Search input field doesn't have cancel button Add a cancel button to the search field and make it customizable by the client. For now, use the close dialog button associated with the application's style as the default. Unskip a bunch of search field related tests that pass now: fast/forms/search-cancel-button-mouseup.html fast/forms/search-rtl.html fast/forms/search-abs-pos-cancel-button.html fast/forms/search-styled.html fast/forms/search-transformed.html fast/forms/search-zoomed.html fast/forms/search-cancel-button-style-sharing.html fast/forms/search-display-none-cancel-button.html fast/forms/search-placeholder-value-changed.html fast/repaint/search-field-cancel.html fast/forms/search-cancel-button-events.html https://bugs.webkit.org/show_bug.cgi?id=42887 * platform/graphics/qt/ImageQt.cpp: (loadResourcePixmap): * platform/qt/RenderThemeQt.cpp: (WebCore::RenderThemeQt::isControlStyled): (WebCore::RenderThemeQt::computeSizeBasedOnStyle): (WebCore::RenderThemeQt::paintSearchField): (WebCore::RenderThemeQt::adjustSearchFieldStyle): (WebCore::RenderThemeQt::adjustSearchFieldCancelButtonStyle): (WebCore::RenderThemeQt::convertToPaintingRect): (WebCore::RenderThemeQt::paintSearchFieldCancelButton): * platform/qt/RenderThemeQt.h: 2011-01-12 Andrey Kosyakov Reviewed by Pavel Feldman. Web Inspector: cookie table is multiplied after repeated switching to cookies tab in network item view Only create cookiesTable is it hasn't been done yet. https://bugs.webkit.org/show_bug.cgi?id=52303 * inspector/front-end/ResourceCookiesView.js: (WebInspector.ResourceCookiesView.prototype.show): 2011-01-12 Koan-Sin Tan Reviewed by Martin Robinson. [Gtk] WebKitGtk+ doesn't build on Mac OS X 10.6 https://bugs.webkit.org/show_bug.cgi?id=50867 * config.h: Don't disallow ctype for (OS(DARWIN) && PLATFORM(GTK)) Many GTK+ related files include or . On Mac, includes . includes , which uses isacii(). * platform/UUID.cpp: (WebCore::createCanonicalUUIDString): For OS(DARWIN) && !PLATFORM(CF) use the Chromium Linux UUID generation. 2011-01-12 Simon Fraser Reviewed by Eric Seidel. [CSS Gradients] One color stop should not paint anything for linear-gradient https://bugs.webkit.org/show_bug.cgi?id=52259 Share color stop parsing code between linear and radial gradients. Consider the gradient invalid if it has less than two color stops. * css/CSSParser.cpp: (WebCore::CSSParser::parseLinearGradient): (WebCore::CSSParser::parseRadialGradient): (WebCore::CSSParser::parseGradientColorStops): * css/CSSParser.h: 2011-01-12 Mikhail Naganov Reviewed by Pavel Feldman. Fix inconsistencies in Inspector strings found by the new check-inspector-strings script. https://bugs.webkit.org/show_bug.cgi?id=52295 * English.lproj/localizedStrings.js: * inspector/front-end/BreakpointsSidebarPane.js: (WebInspector.EventListenerBreakpointsSidebarPane): * inspector/front-end/ProfilesPanel.js: (WebInspector.ProfilesPanel.prototype.setRecordingProfile): * inspector/front-end/Resource.js: (WebInspector.Resource.Type.toString): * inspector/front-end/ResourcesPanel.js: (WebInspector.ResourceRevisionTreeElement): * inspector/front-end/utilities.js: (): 2011-01-12 Yury Semikhatsky Unreviewed. Fix WML compilation on Mac. * wml/WMLInputElement.cpp: (WebCore::WMLInputElement::setValue): (WebCore::WMLInputElement::setValueForUser): (WebCore::WMLInputElement::initialize): (WebCore::WMLInputElement::validateInputMask): * wml/WMLSelectElement.cpp: (WebCore::WMLSelectElement::listBoxSelectItem): 2011-01-12 Justin Schuh Unreviewed build fix for debug strict compiles. Use fprintf for debug statements instead of fwrite, which caused compile failures in debug strict mode because of failure to check the fwrite return value. No behavior changed. * rendering/CounterNode.cpp: (WebCore::showTreeAndMark): 2010-12-29 Yury Semikhatsky Reviewed by Pavel Feldman. inspector/timeline-network-resource.html fails when run twice https://bugs.webkit.org/show_bug.cgi?id=37394 Send didReceiveResponse notification to the timeline agent from ResourceLoadNotifier instead of ResourceLoader::didReceiveResponse to cover the cases when resources are loaded from memory cache. Network notifications are now sent to InspectorInstrumentation which dispatches them to interested agents and InspectorController. * inspector/Inspector.idl: * inspector/InspectorApplicationCacheAgent.cpp: (WebCore::InspectorApplicationCacheAgent::didReceiveManifestResponse): * inspector/InspectorController.cpp: (WebCore::InspectorController::InspectorController): (WebCore::InspectorController::didCommitLoad): (WebCore::InspectorController::willSendRequest): (WebCore::InspectorController::didReceiveResponse): (WebCore::InspectorController::didFailLoading): (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest): * inspector/InspectorController.h: * inspector/InspectorInstrumentation.cpp: (WebCore::InspectorInstrumentation::identifierForInitialRequestImpl): (WebCore::InspectorInstrumentation::willSendRequestImpl): (WebCore::InspectorInstrumentation::markResourceAsCachedImpl): (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl): (WebCore::InspectorInstrumentation::willReceiveResourceResponseImpl): (WebCore::InspectorInstrumentation::didReceiveContentLengthImpl): (WebCore::InspectorInstrumentation::didFinishLoadingImpl): (WebCore::InspectorInstrumentation::didFailLoadingImpl): (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequestImpl): (WebCore::InspectorInstrumentation::scriptImportedImpl): (WebCore::InspectorInstrumentation::retrieveResourceAgent): * inspector/InspectorInstrumentation.h: (WebCore::InspectorInstrumentation::identifierForInitialRequest): (WebCore::InspectorInstrumentation::willSendRequest): (WebCore::InspectorInstrumentation::markResourceAsCached): (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCache): (WebCore::InspectorInstrumentation::willReceiveResourceResponse): (WebCore::InspectorInstrumentation::didReceiveContentLength): (WebCore::InspectorInstrumentation::didFinishLoading): (WebCore::InspectorInstrumentation::didFailLoading): (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequest): (WebCore::InspectorInstrumentation::scriptImported): * inspector/InspectorResourceAgent.cpp: (WebCore::InspectorResourceAgent::identifierForInitialRequest): * inspector/InspectorResourceAgent.h: * inspector/InspectorTimelineAgent.cpp: (WebCore::InspectorTimelineAgent::willSendResourceRequest): * inspector/InspectorTimelineAgent.h: * inspector/TimelineRecordFactory.cpp: (WebCore::TimelineRecordFactory::createResourceSendRequestData): * inspector/TimelineRecordFactory.h: * inspector/front-end/NetworkManager.js: (WebInspector.NetworkManager.prototype.identifierForInitialRequest): * inspector/front-end/TimelinePanel.js: (WebInspector.TimelinePanel.prototype.addRecordToTimeline): * loader/FrameLoader.cpp: (WebCore::FrameLoader::loadedResourceFromMemoryCache): * loader/ResourceLoadNotifier.cpp: (WebCore::ResourceLoadNotifier::didReceiveResponse): (WebCore::ResourceLoadNotifier::didFailToLoad): (WebCore::ResourceLoadNotifier::assignIdentifierToInitialRequest): (WebCore::ResourceLoadNotifier::dispatchWillSendRequest): (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse): (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength): (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading): (WebCore::ResourceLoadNotifier::sendRemainingDelegateMessages): * loader/ResourceLoader.cpp: (WebCore::ResourceLoader::didReceiveResponse): * loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::createResourceHandle): (WebCore::ApplicationCacheGroup::didReceiveResponse): (WebCore::ApplicationCacheGroup::didReceiveData): (WebCore::ApplicationCacheGroup::didFinishLoading): (WebCore::ApplicationCacheGroup::didFail): * loader/appcache/ApplicationCacheGroup.h: * workers/DefaultSharedWorkerRepository.cpp: (WebCore::SharedWorkerScriptLoader::notifyFinished): * workers/Worker.cpp: (WebCore::Worker::notifyFinished): * workers/WorkerContext.cpp: (WebCore::WorkerContext::importScripts): * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::didFinishLoading): 2011-01-12 Pavel Podivilov Reviewed by Pavel Feldman. Web Inspector: do not replace all tabs with spaces when editing script source https://bugs.webkit.org/show_bug.cgi?id=52291 * inspector/front-end/SourceFrame.js: (WebInspector.SourceFrame.prototype.setContent): (WebInspector.SourceFrame.prototype._editLine): 2011-01-11 Jeremy Orlow Reviewed by Nate Chapin. Enforce READ_ONLY transactions in IndexedDB https://bugs.webkit.org/show_bug.cgi?id=52229 Add READ_ONLY_ERR and return it whenever delete or put are called. Note that IDBCursor's delete and update are simply aliases for delete/put, which is why no extra code is required to handle those cases. Test: storage/indexeddb/transaction-read-only.html * dom/ExceptionCode.cpp: * storage/IDBCursorBackendImpl.cpp: (WebCore::IDBCursorBackendImpl::deleteFunction): * storage/IDBDatabase.idl: * storage/IDBDatabaseException.h: * storage/IDBDatabaseException.idl: * storage/IDBObjectStoreBackendImpl.cpp: (WebCore::IDBObjectStoreBackendImpl::put): (WebCore::IDBObjectStoreBackendImpl::deleteFunction): (WebCore::IDBObjectStoreBackendImpl::deleteIndex): 2011-01-11 Philippe Normand Reviewed by Eric Seidel. [GTK] minimal build breaks in RenderThemeGtk3 https://bugs.webkit.org/show_bug.cgi?id=52202 * platform/gtk/RenderThemeGtk3.cpp: Added VIDEO guards around initMediaColors(). 2011-01-11 Philippe Normand Reviewed by Eric Carlson. [GStreamer] PlatformVideoWindowMac implementation https://bugs.webkit.org/show_bug.cgi?id=50770 This new implementation will be used on Mac OS to display the fullscreen video window with the GStreamer-based media player. * platform/graphics/gstreamer/GStreamerGWorld.cpp: (WebCore::gstGWorldSyncMessageCallback): * platform/graphics/gstreamer/PlatformVideoWindow.h: (WebCore::PlatformVideoWindow::window): * platform/graphics/gstreamer/PlatformVideoWindowMac.mm: (PlatformVideoWindow::PlatformVideoWindow): (PlatformVideoWindow::~PlatformVideoWindow): (PlatformVideoWindow::prepareForOverlay): 2011-01-11 Simon Fraser Reviewed by Dan Bernstein. Webkit crashes when a gradient is applied using the first-line pseudo element https://bugs.webkit.org/show_bug.cgi?id=52225 When a pseudostyle references images, we fail to register/unregister the relevant RenderObjects as clients of the image in the style. For gradients, this caused a crash. This patch fixes the crash by returning a null gradient image in this situation. Test: fast/gradients/gradient-on-pseudoelement-crash.html * css/CSSGradientValue.cpp: (WebCore::CSSGradientValue::image): 2011-01-11 Andy Estes Reviewed by Darin Adler. REGRESSION (r71562): servePendingRequests() no longer called when resources are done loading. https://bugs.webkit.org/show_bug.cgi?id=52264 In r71562, servePendingRequests() is no longer called in Loader's didFinishLoading(), didFail() and didReceiveResponse() methods. Since r71562 was intended only as a refactoring, these calls should be restored. At least one WebKit-based Mac OS X application relies on this for correct behavior. * loader/cache/CachedResourceLoader.cpp: (WebCore::CachedResourceLoader::loadDone): Call resourceLoadScheduler()->servePendingRequests(). 2011-01-11 Patrick Gansterer Reviewed by Eric Seidel. Add Document::setContent() https://bugs.webkit.org/show_bug.cgi?id=52085 Add a method to Document to set the whole content at once. This removes the hack of the insert method in the xml parser and is a predecessor to feed the xml parser with raw data. * dom/Document.cpp: (WebCore::Document::setContent): * dom/Document.h: * dom/XMLDocumentParser.cpp: (WebCore::XMLDocumentParser::insert): Added ASSERT_NOT_REACHED(). * loader/cache/CachedFont.cpp: (WebCore::CachedFont::ensureSVGFontData): Use setContent. * xml/DOMParser.cpp: (WebCore::DOMParser::parseFromString): Ditto. * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::responseXML): Ditto. * xml/XSLTProcessor.cpp: (WebCore::XSLTProcessor::createDocumentFromSource): Ditto. 2011-01-11 Brent Fulgham Unreviewed build fix. * platform/graphics/cairo/PathCairo.cpp: (WebCore::Path::addArc): Switch to MathExtra's piFloat define, rather than M_PI which is not always available. 2011-01-11 Nicolas Dufresne Reviewed by Adam Barth. Use plug-in DB for extensions to MIME type convertion Plugins extension to MIME type conversion was not used in the frameLoader. This was causing some fallback to be use which as the side effect of loosing all the parameters or attributes. This patch ensure that we try to convert the extension to MIME type using the plugin database beofre using this fallback. Attribute lost with Flash plugin without mime type set https://bugs.webkit.org/show_bug.cgi?id=50657 Test: plugins/no-mime-with-valid-extension.html * loader/FrameLoader.cpp: (WebCore::FrameLoader::defaultObjectContentType): Use PluginDatabase for MIME 2011-01-11 James Simonsen Reviewed by Eric Seidel. [Web Timing] Rename sslHandshakeStart to secureConnectionStart https://bugs.webkit.org/show_bug.cgi?id=52239 * page/PerformanceTiming.cpp: (WebCore::PerformanceTiming::secureConnectionStart): * page/PerformanceTiming.h: * page/PerformanceTiming.idl: 2011-01-11 Adam Barth Reviewed by Eric Seidel. Introduce the notion of a "display-isolated" URL scheme for use by Chrome-internal URLs https://bugs.webkit.org/show_bug.cgi?id=50182 This patch actually makes the display-isolated schemes display isolated. The behavior should be the same as the previous iteration of this patch, but re-organized a bit because reading the access white list is expensive. * page/SecurityOrigin.cpp: (WebCore::SecurityOrigin::isAccessToURLWhiteListed): (WebCore::SecurityOrigin::canDisplay): * page/SecurityOrigin.h: * platform/SchemeRegistry.cpp: * platform/SchemeRegistry.h: 2011-01-11 Mihai Parparita Reviewed by Darin Fisher. Scroll event should be fired asynchronously https://bugs.webkit.org/show_bug.cgi?id=45631 Tests: fast/events/fire-scroll-event.html fast/events/fire-scroll-event-element.html fast/events/scroll-event-phase.html Makes scroll events fire asynchronously to be in compliance with the CSSOM View Module and consistent with Gecko, Opera and (to some degree) IE. Implemented via the EventQueue class added by r74062 (EventQueue now has a convenience enqueueScrollEvent method). * dom/EventQueue.cpp: (WebCore::EventQueue::enqueueScrollEvent): (WebCore::EventQueue::pendingEventTimerFired): * dom/EventQueue.h: * page/EventHandler.cpp: (WebCore::EventHandler::sendScrollEvent): * rendering/RenderLayer.cpp: (WebCore::RenderLayer::scrollToOffset): * rendering/RenderListBox.cpp: (WebCore::RenderListBox::valueChanged): 2011-01-11 Patrick Gansterer Unreviewed WinCE build fix for r75523. * platform/wince/DragDataWinCE.cpp: Added missing include. 2011-01-11 Abhishek Arya Reviewed by Dimitri Glazkov. RefPtr the FrameView to prevent scrollbar from getting deleted inside its scroll event. https://bugs.webkit.org/show_bug.cgi?id=52238 Test: scrollbars/scrollable-iframe-remove-crash.html * page/DOMWindow.cpp: (WebCore::DOMWindow::scrollTo): 2011-01-08 Dimitri Glazkov Reviewed by David Hyatt. Make pseudo-style resolution less hard-coded when used to select a shadow node https://bugs.webkit.org/show_bug.cgi?id=46595 Essentially implements the plumbing for the XBL2 pseudo attribute: http://dev.w3.org/2006/xbl2/#the-pseudo-attribute Test: fast/css/unknown-pseudo-element-matching.html * css/CSSGrammar.y: Changed to handle specifier_list structure with the CSSParser::updateSpecifierWithElementName helper, added logic to keep unknown pseudo-element selectors at the top of the selector chain, so that we can easily check for them and grab them, and also because they would either not match anything or act as a descendant selector (descendant into a shadow DOM subtree that is), not a specifier. * css/CSSParser.cpp: (WebCore::CSSParser::updateSpecifiersWithElementName): Generalized/combined the logic adding element name to selectors and added the special case to handle unknown pseudo-element selectors. * css/CSSParser.h: Added def. * css/CSSSelector.cpp: (WebCore::CSSSelector::pseudoId): Removed any mention of PseudoSliderThumb/SLIDER_THUMB. (WebCore::nameToPseudoTypeMap): Ditto. (WebCore::CSSSelector::extractPseudoType): Ditto. * css/CSSSelector.h: Added a new ShadowDescendant relation type, removed PseudoSliderThumb def. (WebCore::CSSSelector::isUnknownPseudoElement): Added a helper method. * css/CSSSelectorList.cpp: (WebCore::SelectorHasUnknownPseudoElementFunctor::operator()): Added a functor to check for an unknown pseudo-element in the list. (WebCore::CSSSelectorList::hasUnknownPseudoElements): Added. * css/CSSSelectorList.h: Added a def. * css/CSSStyleSelector.cpp: (WebCore::CSSRuleSet::getPseudoRules): Added accessor to pseudo-element hash. (WebCore::CSSStyleSelector::matchRules): Added matching pseudo elements. (WebCore::CSSStyleSelector::SelectorChecker::checkSelector): Added handling of ShadowDescendant relation. (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Enabled handling of unknown pseudo-element selectors. (WebCore::CSSRuleSet::addRule): Added populating unknown pseudo-element hash. * css/html.css: (input[type="range"]::-webkit-slider-thumb): Added previously-hard-coded display:block. * dom/Element.h: (WebCore::Element::shadowPseudoId): Added new virtual method to allow elements to provide the value of pseudo-element selector they would match. * dom/Node.cpp: (WebCore::Node::querySelector): Added checking for unknown pseudo-element selectors, so that we can throw a SYNTAX_ERR if found. (WebCore::Node::querySelectorAll): Ditto. * html/shadow/SliderThumbElement.h: (WebCore::SliderThumbElement::shadowPseudoId): Added to return "-webkit-slider-thumb"; * rendering/RenderSlider.cpp: (WebCore::RenderSlider::createThumbStyle): Changed to use the new styleForElement logic. * rendering/style/RenderStyleConstants.h: Removed SLIDER_THUMB. 2011-01-11 Dean Jackson Reviewed by Simon Fraser. https://bugs.webkit.org/show_bug.cgi?id=52233 WebKitCSSMatrix constructor should accept 'none' as a valid string parameter. * css/WebKitCSSMatrix.cpp: (WebCore::WebKitCSSMatrix::setMatrixValue): 2011-01-11 James Robinson Reviewed by Dimitri Glazkov. Set all RenderBlocks as replaced when an inline display type is specified https://bugs.webkit.org/show_bug.cgi?id=50858 When a RenderBlock is created for an element with a specified display:inline style, it should always be treated as inline-block. This situations often comes up for form controls. Previously, RenderBlock::styleWillChange set the replaced flag for display values of inline-block, inline-table, and inline-table and a number of subclasses of RenderBlock set the replaced flag in styleDidChange for a display:inline. However sometimes new subclasses would miss this step leading to bugs (such as with RenderDetails). This patch sets the replaced flag for all inline display types in RenderBlock::styleWillChange. Code cleanup only, no change in behavior so no new tests. * rendering/RenderBlock.cpp: (WebCore::RenderBlock::styleWillChange): * rendering/RenderButton.cpp: (WebCore::RenderButton::styleDidChange): * rendering/RenderFieldset.cpp: * rendering/RenderFieldset.h: * rendering/RenderFileUploadControl.cpp: (WebCore::RenderFileUploadControl::styleDidChange): * rendering/RenderListBox.cpp: * rendering/RenderListBox.h: * rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::styleDidChange): * rendering/RenderSlider.cpp: (WebCore::RenderSlider::styleDidChange): * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::styleDidChange): 2011-01-11 Dimitri Glazkov Reviewed by Eric Seidel. REGRESSION(r71934) Can't type in search edit field on skin-one.com https://bugs.webkit.org/show_bug.cgi?id=52195 Restored the original behavior, where the selectstart event is not dispatched when selection changes inside of the shadow DOM. * dom/Node.cpp: (WebCore::determineDispatchBehavior): Moved EventDispatchBehavior-determining logic into a helper function, also added a check to keep selectstart events inside of the shadow DOM. (WebCore::Node::dispatchGenericEvent): Changed to use the helper function. 2011-01-11 Viatcheslav Ostapenko Reviewed by Eric Seidel. [Qt] Provide plugin coordinates to windowless plugins on Symbian. https://bugs.webkit.org/show_bug.cgi?id=52213 * plugins/symbian/PluginViewSymbian.cpp: (WebCore::PluginView::setNPWindowIfNeeded): 2011-01-10 Zhenyao Mo Reviewed by Kenneth Russell. Need to consider UNPACK_ALIGNMENT in GraphicsContext3D::texImage2DResourceSafe https://bugs.webkit.org/show_bug.cgi?id=52068 * html/canvas/WebGLRenderingContext.cpp: (WebCore::WebGLRenderingContext::copyTexImage2D): Use computeImageSizeInBytes. (WebCore::WebGLRenderingContext::copyTexSubImage2D): Ditto. (WebCore::WebGLRenderingContext::readPixels): Ditto, and fix a bug on generating the wrong error. (WebCore::WebGLRenderingContext::texImage2DBase): Ditto. (WebCore::WebGLRenderingContext::validateTexFuncData): Use computeImageSizeInBytes. * platform/graphics/GraphicsContext3D.cpp: (WebCore::GraphicsContext3D::texImage2DResourceSafe): Add a new parameter alignment. (WebCore::GraphicsContext3D::computeFormatAndTypeParameters): Add more supported format/type. (WebCore::GraphicsContext3D::computeImageSizeInBytes): Added. * platform/graphics/GraphicsContext3D.h: 2011-01-10 Enrica Casucci Reviewed by Alexey Proskuryakov. Paste and drag and drop use different code paths to interact with the pasteboard. https://bugs.webkit.org/show_bug.cgi?id=52093 The change consists in a refactoring of the code to have only one class that deals with the pasteboard on Mac. No new tests. A test is already available for this (editing/pasteboard/drag-image-to-contenteditable-in-iframe.html) but had incorrect results. * WebCore.exp.in: * loader/EmptyClients.h: Added two Mac only methods to call into WebKit to use functionality that is in NSURLExtras. (WebCore::EmptyEditorClient::canonicalizeURL): (WebCore::EmptyEditorClient::canonicalizeURLString): * page/DragController.cpp: The following methods have been changed to pass a pointer to the Frame object to the DragData class. (WebCore::documentFragmentFromDragData): (WebCore::DragController::performDrag): (WebCore::DragController::dispatchTextInputEventFor): (WebCore::DragController::concludeEditDrag): * page/EditorClient.h: Added two Mac only methods to call into WebKit to use functionality that is in NSURLExtras. The following files have been modified to pass the Frame object to the DragData method calls. * page/chromium/DragControllerChromium.cpp: (WebCore::DragController::dragOperation): * page/gtk/DragControllerGtk.cpp: (WebCore::DragController::dragOperation): * page/mac/DragControllerMac.mm: (WebCore::DragController::dragOperation): * page/qt/DragControllerQt.cpp: (WebCore::DragController::dragOperation): * page/win/DragControllerWin.cpp: (WebCore::DragController::dragOperation): * platform/DragData.h: Removed Mac specific constructor and reference to PasteboardHelper class. * platform/Pasteboard.h: Added public constructor to create a Pasteboard object from an NSPasteboard. The following files were all modified to match the new parameters of the methods listed. * platform/android/DragDataAndroid.cpp: (WebCore::DragData::asPlainText): (WebCore::DragData::containsURL): (WebCore::DragData::asURL): (WebCore::DragData::asFragment): * platform/chromium/DragDataChromium.cpp: (WebCore::DragData::containsURL): (WebCore::DragData::asURL): (WebCore::DragData::asPlainText): (WebCore::DragData::containsCompatibleContent): (WebCore::DragData::asFragment): * platform/gtk/DragDataGtk.cpp: (WebCore::DragData::asPlainText): (WebCore::DragData::containsCompatibleContent): (WebCore::DragData::containsURL): (WebCore::DragData::asURL): (WebCore::DragData::asFragment): * platform/haiku/DragDataHaiku.cpp: (WebCore::DragData::asPlainText): (WebCore::DragData::containsURL): (WebCore::DragData::asURL): (WebCore::DragData::asFragment): * platform/mac/DragDataMac.mm: (WebCore::DragData::DragData): (WebCore::DragData::asPlainText): (WebCore::insertablePasteboardTypes): (WebCore::DragData::containsCompatibleContent): (WebCore::DragData::containsURL): (WebCore::DragData::asURL): (WebCore::DragData::asFragment): * platform/mac/PasteboardMac.mm: (WebCore::Pasteboard::getBestURL): (WebCore::Pasteboard::asURL): * platform/qt/DragDataQt.cpp: (WebCore::DragData::asPlainText): (WebCore::DragData::containsCompatibleContent): (WebCore::DragData::containsURL): (WebCore::DragData::asURL): (WebCore::DragData::asFragment): * platform/win/DragDataWin.cpp: (WebCore::DragData::containsURL): (WebCore::DragData::asURL): (WebCore::DragData::asPlainText): (WebCore::DragData::containsCompatibleContent): (WebCore::DragData::asFragment): * platform/wince/DragDataWinCE.cpp: (WebCore::DragData::containsURL): (WebCore::DragData::asURL): (WebCore::DragData::asPlainText): (WebCore::DragData::asFragment): * platform/wx/DragDataWx.cpp: (WebCore::DragData::asPlainText): (WebCore::DragData::containsURL): (WebCore::DragData::asURL): (WebCore::DragData::asFragment): 2011-01-11 Abhishek Arya Reviewed by Dimitri Glazkov. RefPtr text node in setOuterText since calling appendData on a text node can fire away dom event listener which might remove the text node from underneath. https://bugs.webkit.org/show_bug.cgi?id=52163 Test: fast/dom/text-node-append-data-remove-crash.html * html/HTMLElement.cpp: (WebCore::HTMLElement::setOuterText): 2011-01-11 Carlos Garcia Campos Reviewed by Martin Robinson. [GTK] Add support for element https://bugs.webkit.org/show_bug.cgi?id=48713 * GNUmakefile.am: Enable meter element. 2011-01-11 Csaba Osztrogonác Unreviewed buildfix. [Qt][V8] Add missing include for debug build. * loader/cache/CachedResourceLoader.cpp: 2011-01-11 Pavel Feldman Reviewed by Yury Semikhatsky. Web Inspector: redirects are lost from the network panel upon navigation. https://bugs.webkit.org/show_bug.cgi?id=52210 * inspector/front-end/NetworkManager.js: (WebInspector.NetworkManager.prototype.didCommitLoadForFrame): 2011-01-11 Jocelyn Turcotte Reviewed by Kenneth Rohde Christiansen. [Qt] Remove uses of QFuture since it isn't supported on all platforms. https://bugs.webkit.org/show_bug.cgi?id=51204 * platform/network/qt/QtNAMThreadSafeProxy.cpp: (WebCore::QtNAMThreadSafeProxy::QtNAMThreadSafeProxy): (WebCore::QtNAMThreadSafeProxy::localCookiesForUrl): (WebCore::QtNAMThreadSafeProxy::localWillLoadFromCache): * platform/network/qt/QtNAMThreadSafeProxy.h: (WebCore::QtNAMThreadSafeProxy::cookiesForUrl): (WebCore::QtNAMThreadSafeProxy::willLoadFromCache): 2011-01-11 Pavel Podivilov Reviewed by Pavel Feldman. Web Inspector: recreate script view after live edit. https://bugs.webkit.org/show_bug.cgi?id=51751 * inspector/front-end/Script.js: (WebInspector.Script.prototype.set source): * inspector/front-end/ScriptView.js: (WebInspector.ScriptView): * inspector/front-end/ScriptsPanel.js: (WebInspector.ScriptsPanel.prototype.editScriptSource.mycallback): (WebInspector.ScriptsPanel.prototype.editScriptSource): (WebInspector.ScriptsPanel.prototype.viewRecreated): * inspector/front-end/SourceFrame.js: (WebInspector.SourceFrame.prototype._doEditLine): 2011-01-11 Pavel Podivilov Reviewed by Pavel Feldman. Web Inspector: frameDetachedFromParent notification handler is missing in NetworkManager. https://bugs.webkit.org/show_bug.cgi?id=52205 * inspector/front-end/NetworkManager.js: (WebInspector.NetworkManager.prototype.frameDetachedFromParent): 2011-01-11 Alexander Pavlov Reviewed by Pavel Feldman. Web Inspector: "Audit present state" always disabled https://bugs.webkit.org/show_bug.cgi?id=52199 Removed all traces of resource tracking checks, as we have it no more. * English.lproj/localizedStrings.js: * inspector/front-end/AuditLauncherView.js: (WebInspector.AuditLauncherView.prototype._createLauncherUI): * inspector/front-end/AuditsPanel.js: 2011-01-11 Pavel Podivilov Reviewed by Pavel Feldman. Web Inspector: move delayed search implementation to SourceFrame. https://bugs.webkit.org/show_bug.cgi?id=51753 * inspector/front-end/SourceFrame.js: (WebInspector.SourceFrame.prototype._createViewerIfNeeded): (WebInspector.SourceFrame.prototype.findSearchMatches): (WebInspector.SourceFrame.prototype.cancelFindSearchMatches): * inspector/front-end/SourceView.js: (WebInspector.SourceView.prototype.hide): (WebInspector.SourceView.prototype.searchCanceled): (WebInspector.SourceView.prototype.performSearch.didFindSearchMatches): (WebInspector.SourceView.prototype.performSearch): 2011-01-11 Ilya Tikhonovsky Reviewed by Pavel Feldman. Web Inspector: innerFirstChild has a side effect which should be called explicitly. If a node is a frame's owner then innerFirstChild method subscribes DOMAgent instance to the frame's doc's events. I think this should be done explicitly when we meet with the node for the first time. As I understand it happens in buildArrayForContainerChildren method. https://bugs.webkit.org/show_bug.cgi?id=52204 * inspector/InspectorDOMAgent.cpp: (WebCore::InspectorDOMAgent::startListeningFrameDoc): (WebCore::InspectorDOMAgent::buildArrayForContainerChildren): (WebCore::InspectorDOMAgent::innerFirstChild): * inspector/InspectorDOMAgent.h: 2011-01-11 Adam Roben Delete WKCACFLayer.{cpp,h} These have been unused since r75262 * platform/graphics/win/WKCACFLayer.cpp: Removed. * platform/graphics/win/WKCACFLayer.h: Removed. 2011-01-11 Pavel Feldman Reviewed by Yury Semikhatsky. Web Inspector: [regression] Cookies view does not allow columns resize. https://bugs.webkit.org/show_bug.cgi?id=51877 * inspector/front-end/CookieItemsView.js: (WebInspector.CookieItemsView.prototype._updateWithCookies): 2011-01-11 Noel Gordon Reviewed by James Robinson. [chromium] canvas.toDataURL("image/jpeg") should composite onto black. https://bugs.webkit.org/show_bug.cgi?id=51237 The Canvas specification requires that the canvas image is composited using the Porter-Duff operator source-over onto a black background; the resultant image should be JPEG encoded and returned as a dataURL. To composite image A and background B, for any Porter-Duff operator, produce pixels I with I = c(A)F(A) + c(B)F(B) where, F(X) is the fraction [0.0-1.0] contributed to the composite by image X, and c(X) are the premultiplied RGB color components of image X. Note by definition, c(B) = 0 since the background is black, so I = c(A)F(A). Since F(A) = 1 in Porter-Duff operator source-over, the composited pixels satisfy I = c(A). Hence, to conform to the Canvas spec, pass the premultiplied RGB color components of the canvas image to the JPEG encoder. Covered by canvas/philip/tests/toDataURL.jpeg.alpha.html * platform/image-encoders/skia/JPEGImageEncoder.cpp: (WebCore::preMultipliedBGRAtoRGB): Use Porter-Duff source-over black. 2011-01-11 Pavel Feldman Reviewed by Yury Semikhatsky. Chromium DevTools: get rid of APU-related code in WebKit/chromium. https://bugs.webkit.org/show_bug.cgi?id=52152 * inspector/InspectorController.cpp: (WebCore::InspectorController::restoreInspectorStateFromCookie): (WebCore::InspectorController::setInjectedScriptSource): * inspector/InspectorState.cpp: (WebCore::InspectorState::InspectorState): * inspector/InspectorState.h: * inspector/front-end/inspector.js: 2011-01-11 Pavel Feldman Reviewed by Yury Semikhatsky. Web Inspector: [REGRESSION] Load timing is requested for all resources (not only for the main one). https://bugs.webkit.org/show_bug.cgi?id=51749 * inspector/InspectorController.cpp: (WebCore::InspectorController::willSendRequest): * loader/ResourceLoadNotifier.cpp: (WebCore::ResourceLoadNotifier::dispatchWillSendRequest): 2011-01-11 Carlos Garcia Campos Reviewed by Martin Robinson. [GTK] GRefPtr should not be used with Gtk widgets https://bugs.webkit.org/show_bug.cgi?id=51241 GRefPtr breaks the widget life-cycle, the main problem is that GRefPtr calls g_object_unref() when it's destroyed, which is undesirable for widgets. In gtk+ widgets are created with a floating reference and when added to a container, the container takes the ownership of the widget consuming the floating reference. So you don't usually need to call g_object_ref/unref on widgets (only for some operations like reparent a widget) and toplevel widgets are destroyed with gtk_widget_destroy(). * platform/ContextMenuItem.h: * platform/gtk/ContextMenuGtk.cpp: (WebCore::ContextMenu::ContextMenu): (WebCore::ContextMenu::~ContextMenu): (WebCore::ContextMenu::setPlatformDescription): * platform/gtk/ContextMenuItemGtk.cpp: (WebCore::ContextMenuItem::ContextMenuItem): (WebCore::ContextMenuItem::releasePlatformDescription): (WebCore::ContextMenuItem::type): (WebCore::ContextMenuItem::action): (WebCore::ContextMenuItem::setAction): (WebCore::ContextMenuItem::title): (WebCore::ContextMenuItem::setTitle): (WebCore::ContextMenuItem::platformSubMenu): (WebCore::ContextMenuItem::setSubMenu): (WebCore::ContextMenuItem::setChecked): (WebCore::ContextMenuItem::setEnabled): 2010-10-10 David Hyatt Reviewed by Simon Fraser. https://bugs.webkit.org/show_bug.cgi?id=51119, transformed elements not responding properly to :hover after r73385. Just use the entire document area as the hit test area, since there appears to be a rounding bug/issues with relying on float math when mapping the hit test area into transformed coordinates. * rendering/RenderLayer.cpp: (WebCore::RenderLayer::hitTest): 2011-01-10 Stephen White Reviewed by James Robinson. Fix canvas->canvas draws on the GPU path. https://bugs.webkit.org/show_bug.cgi?id=52141 Two problems: according to the canvas spec, both source and destination rects can have negative width or height, but this shouldn't cause the image to be flipped. So we need to normalize the rects (in the software path, this is done by BitmapImage*::draw). Secondly, in the FBO->FBO path, the image needs to be flipped vertically, since it is drawn upside down. We were doing this by flipping the destination rect, but this doesn't work if the source rect is not the entire image, since we extract the wrong part of the image. Fixed by flipping the source rect instead (and flipping it within the image buffer's height, not the source rect's height). Covered by fast/canvas/drawImage-with-negative-source-destination.html. * platform/graphics/skia/BitmapImageSingleFrameSkia.h: Put normalizeRect() in global scope. * platform/graphics/skia/ImageBufferSkia.cpp: (WebCore::ImageBuffer::draw): Fix as above: normalize both source and dest rects, and flip the source rect instead of the dest rect. * platform/graphics/skia/ImageSkia.cpp: (WebCore::normalizeRect): Put normalizeRect() in global scope. 2011-01-10 Laszlo Gombos Reviewed by Csaba Osztrogonác. [Qt] Baseline qt_minimal configuration https://bugs.webkit.org/show_bug.cgi?id=51313 No new tests as there is no new functionality. * platform/graphics/qt/GraphicsLayerQt.cpp: Fix the location of the QT_NO_ANIMATION guard. * platform/qt/WheelEventQt.cpp: (WebCore::PlatformWheelEvent::applyDelta): Fix the location of the QT_NO_WHEELEVENT guard. 2011-01-10 Joe Mason Reviewed by Alexey Proskuryakov. WebSockets: unbounded buffer growth when server sends bad data https://bugs.webkit.org/show_bug.cgi?id=51253 Fail a websocket handshake after 1024 bytes without a newline, or if it contains a null byte before the first newline. Tests: http/tests/websocket/tests/handshake-fail-by-maxlength.html http/tests/websocket/tests/handshake-fail-by-prepended-null.html * websockets/WebSocketHandshake.cpp: (WebCore::WebSocketHandshake::readStatusLine): 2011-01-10 Adam Barth Reviewed by Darin Adler. Introduce the notion of a "display-isolated" URL scheme for use by Chrome-internal URLs https://bugs.webkit.org/show_bug.cgi?id=50182 This patch adds the basic plumbing for display-isolated URL schemes. Originally, this patch also had the functional change, but I've split that off into a separate patch because the original patch caused a performance regression. * page/SecurityOrigin.cpp: (WebCore::SecurityOrigin::canDisplay): * platform/SchemeRegistry.cpp: (WebCore::displayIsolatedURLSchemes): (WebCore::SchemeRegistry::registerURLSchemeAsLocal): (WebCore::SchemeRegistry::removeURLSchemeRegisteredAsLocal): (WebCore::SchemeRegistry::localSchemes): (WebCore::SchemeRegistry::deprecatedShouldTreatURLAsLocal): (WebCore::SchemeRegistry::shouldTreatURLSchemeAsLocal): (WebCore::SchemeRegistry::registerURLSchemeAsDisplayIsolated): (WebCore::SchemeRegistry::shouldTreatURLSchemeAsDisplayIsolated): * platform/SchemeRegistry.h: 2011-01-10 Jer Noble Reviewed by Simon Fraser. https://bugs.webkit.org/show_bug.cgi?id=52095 REGRESSION (r75277): 2 test cases (<1%) had incorrect layout Fixes tests: fullscreen/full-screen-remove-ancestor.html fullscreen/full-screen-remove.html Previously, the above tests were failing because DRT dumped the contents of their