diff options
author | Ben Murdoch <benm@google.com> | 2011-05-24 11:24:40 +0100 |
---|---|---|
committer | Ben Murdoch <benm@google.com> | 2011-06-02 09:53:15 +0100 |
commit | 81bc750723a18f21cd17d1b173cd2a4dda9cea6e (patch) | |
tree | 7a9e5ed86ff429fd347a25153107221543909b19 /Source/WebCore/ChangeLog-2011-02-16 | |
parent | 94088a6d336c1dd80a1e734af51e96abcbb689a7 (diff) | |
download | external_webkit-81bc750723a18f21cd17d1b173cd2a4dda9cea6e.zip external_webkit-81bc750723a18f21cd17d1b173cd2a4dda9cea6e.tar.gz external_webkit-81bc750723a18f21cd17d1b173cd2a4dda9cea6e.tar.bz2 |
Merge WebKit at r80534: Intial merge by Git
Change-Id: Ia7a83357124c9e1cdb1debf55d9661ec0bd09a61
Diffstat (limited to 'Source/WebCore/ChangeLog-2011-02-16')
-rw-r--r-- | Source/WebCore/ChangeLog-2011-02-16 | 47896 |
1 files changed, 47896 insertions, 0 deletions
diff --git a/Source/WebCore/ChangeLog-2011-02-16 b/Source/WebCore/ChangeLog-2011-02-16 new file mode 100644 index 0000000..f9c333c --- /dev/null +++ b/Source/WebCore/ChangeLog-2011-02-16 @@ -0,0 +1,47896 @@ +2011-02-15 Gavin Barraclough <barraclough@apple.com> + + Reviewed by Geoff Garen. + + Bug 54524 - Allow JSObject to fully utilize cell's capacity for inline storage. + + Currently JSObject is both directly instantiated for regular JS objects, and + derived to implement subtypes. A consequence of this is that we need to ensure + that sufficient space from the cell is left unused and available for any data + members that will be introduced by subclasses of JSObject. By restructuring + the internal storage array out of JSObject we can increase the size in the + internal storage for regular objects. + + Add classes JSFinalObject and JSNonFinalObject. JSNonFinalObject retains as + much additional capacity as is currently available to allow for data members + in subclasses. JSFinalObject utilizes all available space for internal storage, + and only allows construction through JSFinalObject::create(). + + * bindings/js/JSDOMWindowShell.h: + Update JSObject -> JSNonFinalObject. + +2011-02-16 Carol Szabo <carol.szabo@nokia.com> + + Reviewed by David Hyatt. + + REGRESSION: Use after free in WebCore::RenderCounter::destroyCounterNode + https://bugs.webkit.org/show_bug.cgi?id=54478 + + Test: fast/css/counters/render-tree-reorg-crash.html + + * rendering/RenderCounter.cpp: + (WebCore::findPlaceForCounter): + Fixed typo. The code was still walking sometimes the renderer tree + instead of the element tree as intended. + +2011-02-16 Hans Wennborg <hans@chromium.org> + + Reviewed by Jeremy Orlow. + + IndexedDB: Inject auto increment keys via key path on insertion + https://bugs.webkit.org/show_bug.cgi?id=54457 + + Inject auto increment keys via key path for object stores using key + path and auto increment. + + * bindings/v8/IDBBindingUtilities.cpp: + (WebCore::LocalContext::getNthValueOnKeyPath): + (WebCore::createIDBKeyFromSerializedValueAndKeyPath): + (WebCore::injectIDBKeyIntoSerializedValue): + * bindings/v8/IDBBindingUtilities.h: + * platform/chromium/PlatformBridge.h: + * storage/IDBKeyPathBackendImpl.cpp: + (IDBKeyPathBackendImpl::injectIDBKeyIntoSerializedValue): + * storage/IDBKeyPathBackendImpl.h: + * storage/IDBObjectStoreBackendImpl.cpp: + (WebCore::injectKeyIntoKeyPath): + (WebCore::IDBObjectStoreBackendImpl::selectKeyForPut): + (WebCore::IDBObjectStoreBackendImpl::putInternal): + * storage/IDBObjectStoreBackendImpl.h: + * storage/chromium/IDBKeyPathBackendImpl.cpp: + (WebCore::IDBKeyPathBackendImpl::injectIDBKeyIntoSerializedValue): + +2011-02-16 Sergio Villar Senin <svillar@igalia.com> + + Reviewed by Martin Robinson. + + [Gtk] Add support for layoutTestController.setWillSendRequestClearHeader + https://bugs.webkit.org/show_bug.cgi?id=54537 + + Headers removed from the SoupMessage should be also removed from + the ResourceRequest when updating the latter from the former. + + * platform/network/soup/ResourceRequestSoup.cpp: + (WebCore::ResourceRequest::updateFromSoupMessage): + +2011-02-16 Ilya Tikhonovsky <loislo@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: split all the functions of Inspector backend API by domain. + https://bugs.webkit.org/show_bug.cgi?id=54558 + + We have a number of functions from different domains in single instance of InspectorBackend. + It'd be better to split the functions by their domains. + As example 'evaluate' will be moved from InspectorBackend to RuntimeAgent container. + + * inspector/CodeGeneratorInspector.pm: + * inspector/front-end/AuditRules.js: + (WebInspector.AuditRules.evaluateInTargetWindow): + (WebInspector.AuditRules.UnusedCssRule.prototype.doRun): + * inspector/front-end/AuditsPanel.js: + (WebInspector.AuditsPanel.prototype._reloadResources): + * inspector/front-end/BreakpointManager.js: + (WebInspector.BreakpointManager.prototype._projectChanged): + (WebInspector.BreakpointManager.prototype.restoreDOMBreakpoints): + (WebInspector.BreakpointManager.prototype._saveBreakpoints): + (WebInspector.DOMBreakpoint.prototype._enable): + (WebInspector.DOMBreakpoint.prototype._disable): + (WebInspector.EventListenerBreakpoint.prototype._enable): + (WebInspector.EventListenerBreakpoint.prototype._disable): + (WebInspector.XHRBreakpoint.prototype._enable): + (WebInspector.XHRBreakpoint.prototype._disable): + * inspector/front-end/CSSStyleModel.js: + (WebInspector.CSSStyleModel.prototype.getStylesAsync): + (WebInspector.CSSStyleModel.prototype.getComputedStyleAsync): + (WebInspector.CSSStyleModel.prototype.getInlineStyleAsync): + (WebInspector.CSSStyleModel.prototype.setRuleSelector.callback): + (WebInspector.CSSStyleModel.prototype.setRuleSelector): + (WebInspector.CSSStyleModel.prototype.addRule.callback): + (WebInspector.CSSStyleModel.prototype.addRule): + (WebInspector.CSSStyleModel.prototype._styleSheetChanged): + (WebInspector.CSSStyleModel.prototype._onRevert): + (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt): + (WebInspector.CSSProperty.prototype.setText): + (WebInspector.CSSProperty.prototype.setDisabled): + (WebInspector.CSSStyleSheet.createForId): + (WebInspector.CSSStyleSheet.prototype.setText): + * inspector/front-end/ConsoleView.js: + (WebInspector.ConsoleView.prototype.requestClearMessages): + (WebInspector.ConsoleView.prototype.completions): + (WebInspector.ConsoleView.prototype._handleContextMenuEvent.itemAction): + (WebInspector.ConsoleView.prototype._handleContextMenuEvent): + (WebInspector.ConsoleView.prototype.evalInInspectedWindow): + * inspector/front-end/CookieItemsView.js: + (WebInspector.CookieItemsView.prototype._deleteCookie): + * inspector/front-end/DOMAgent.js: + (WebInspector.DOMAgent.prototype.getChildNodesAsync): + (WebInspector.DOMAgent.prototype.setAttributeAsync): + (WebInspector.DOMAgent.prototype.removeAttributeAsync): + (WebInspector.DOMAgent.prototype.setTextNodeValueAsync): + (WebInspector.ApplicationCacheDispatcher.getApplicationCachesAsync): + (WebInspector.Cookies.getCookiesAsync): + (WebInspector.EventListeners.getEventListenersForNodeAsync): + * inspector/front-end/DOMStorage.js: + (WebInspector.DOMStorage.prototype.getEntries): + (WebInspector.DOMStorage.prototype.setItem): + (WebInspector.DOMStorage.prototype.removeItem): + * inspector/front-end/Database.js: + (WebInspector.Database.prototype.getTableNames): + (WebInspector.Database.prototype.executeSql): + * inspector/front-end/DebuggerModel.js: + (WebInspector.DebuggerModel.prototype.enableDebugger): + (WebInspector.DebuggerModel.prototype.disableDebugger): + (WebInspector.DebuggerModel.prototype.continueToLocation): + (WebInspector.DebuggerModel.prototype.setBreakpoint): + (WebInspector.DebuggerModel.prototype.setBreakpointBySourceId): + (WebInspector.DebuggerModel.prototype.removeBreakpoint): + (WebInspector.DebuggerModel.prototype.editScriptSource): + * inspector/front-end/ElementsPanel.js: + (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged): + (WebInspector.ElementsPanel): + (WebInspector.ElementsPanel.prototype.setDocument): + (WebInspector.ElementsPanel.prototype.searchCanceled): + (WebInspector.ElementsPanel.prototype.performSearch): + (WebInspector.ElementsPanel.prototype.handleCopyEvent): + (WebInspector.ElementsPanel.prototype.setSearchingForNode): + * inspector/front-end/ElementsTreeOutline.js: + (WebInspector.ElementsTreeElement.prototype._createTooltipForNode): + (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted): + (): + * inspector/front-end/ExtensionPanel.js: + (WebInspector.ExtensionWatchSidebarPane.prototype.setExpression): + * inspector/front-end/ExtensionServer.js: + (WebInspector.ExtensionServer.prototype._onAddRequestHeaders): + (WebInspector.ExtensionServer.prototype._onReload): + (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage): + * inspector/front-end/HeapSnapshotView.js: + (WebInspector.HeapSnapshotProfileType.prototype.buttonClicked): + * inspector/front-end/NetworkManager.js: + (WebInspector.NetworkManager): + (WebInspector.NetworkManager.prototype.reset): + (WebInspector.NetworkManager.prototype.requestContent): + * inspector/front-end/NetworkPanel.js: + (WebInspector.NetworkDataGridNode.prototype._openInNewTab): + * inspector/front-end/ProfileView.js: + (WebInspector.CPUProfileView): + (WebInspector.CPUProfileType.prototype.buttonClicked): + * inspector/front-end/ProfilesPanel.js: + (WebInspector.ProfilesPanel.prototype._clearProfiles): + (WebInspector.ProfilesPanel.prototype._removeProfileHeader): + (WebInspector.ProfilesPanel.prototype.loadHeapSnapshot): + (WebInspector.ProfilesPanel.prototype._toggleProfiling): + (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot): + * inspector/front-end/PropertiesSidebarPane.js: + (WebInspector.PropertiesSidebarPane.prototype.update): + * inspector/front-end/RemoteObject.js: + (WebInspector.RemoteObject.resolveNode): + (WebInspector.RemoteObject.prototype.getProperties): + (WebInspector.RemoteObject.prototype.setPropertyValue): + (WebInspector.RemoteObject.prototype.pushNodeToFrontend): + * inspector/front-end/ResourcesPanel.js: + (WebInspector.FrameTreeElement.prototype.onselect): + (WebInspector.FrameTreeElement.prototype.set hovered): + (WebInspector.FrameResourceTreeElement.prototype.ondblclick): + * inspector/front-end/Script.js: + (WebInspector.Script.prototype.requestSource): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame): + (WebInspector.ScriptsPanel.prototype._setPauseOnExceptions): + (WebInspector.ScriptsPanel.prototype._togglePause): + (WebInspector.ScriptsPanel.prototype._stepOverClicked): + (WebInspector.ScriptsPanel.prototype._stepIntoClicked): + (WebInspector.ScriptsPanel.prototype._stepOutClicked): + (WebInspector.ScriptsPanel.prototype.toggleBreakpointsClicked): + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrame.prototype._hidePopup): + * inspector/front-end/TestController.js: + (WebInspector.TestController.prototype.notifyDone): + * inspector/front-end/TimelinePanel.js: + (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClicked): + * inspector/front-end/WatchExpressionsSidebarPane.js: + (WebInspector.WatchExpressionsSection.prototype.update): + * inspector/front-end/WorkersSidebarPane.js: + (WebInspector.WorkersSidebarPane.prototype.setInstrumentation): + * inspector/front-end/inspector.js: + (WebInspector.highlightDOMNode): + (WebInspector.doLoadedDone): + (WebInspector.openResource): + (WebInspector.documentKeyDown): + +2011-02-16 Mario Sanchez Prada <msanchez@igalia.com> + + Reviewed by Martin Robinson. + + [GTK] events missing when a document is (re)loaded + https://bugs.webkit.org/show_bug.cgi?id=25831 + + Make sure webArea returns a proper name and that a signal + 'state-change::defunct' is emitted when detaching the wrapper. + + Test: platform/gtk/accessibility/document-reload-events.html + + * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: + (webkit_accessible_get_name): Returns the current document's title + as fallback mechanism for webArea objects. + (webkit_accessible_detach): Emit 'state-change::defunct' function + as soon as the wrapper is detached from the related core object. + +2011-02-15 Nikolas Zimmermann <nzimmermann@rim.com> + + Reviewed by Dirk Schulze. + + Pixel tests differences on 10.6.6 32bit vs. 64bit + https://bugs.webkit.org/show_bug.cgi?id=54474 + + When generating a SVG pixel test baseline with a vanilla 10.6.6 installation on a 32bit machine (Core Duo MBP) + and comparing the run with a software-identical 64bit machine (Core 2 Duo MBP), there are about 250 differences. + + These fall in two categories: + a) 1px differences in text AA, or when drawing circles (all _below_ a tolerance of 0.01). Only visible in the subtracted difference image. + The reason is probably CGFloat being typedefed to double on 64bit machines, and float on 32bit machines. + AffineTransform stores doubles, so on 32bit machines we loose precision from AffineTransform -> CGAffineTransform. + + b) Failures >0.1% (text origin/scale is slightly different, user-visible). + Caused by several sources of numerical instabilities within the SVG rendering code. + + -> SVGPreserveAspectRatio::getCTM() computes an AffineTransform using doubles as input parameters, but floats are passed (like everywhere else in SVG). + This method is used to compute the viewBox AffineTransform, that affects the rendering of every content in the document. RenderSVGRoot concats + this transformation matrix to the GraphicsContext CTM, resulting in a source of numerical imprecision. + + -> SVGInlineTextBox::paintTextWithShadows() calculates a scaling factor for text, to scale up the specified font size, to the actual on-screen size. + SVGInlineTextBox uses the scaled Font object, to draw in an unscaled context, that gets scaled up again afterwards. + context->scale(1 / scalingFactor); scaledFont.drawText(); context->scale(scalingFactor); + + To remove the scale from the current GraphicsContext CTM, "context->scale(FloatSize(1 / scalingFactor, ...)" is used. As AffineTransform stores + doubles internally, it's likely that "context->scale(FloatSize(1 / ctm.a(), .." doesn't give you a matrix with a=1, but something close to 1. + Using "context->concatCTM(AffineTransform().scale(1 / ctm.a(), ..." could be used as workaround, to preserve double precision. + Fixing that brings us down to just a few pixel tests that differ between 32 & 64bit. There is still numerical imprecision, as floating-point + number representations aren't always precise. Unfortunately CoreGraphics doesn't provide a public way to just set a CTM, it only allows to concat them. + Fortunately CGContextSetCTM() is available, as private method, that allows me to switch the context CTM to any arbitary CGAffineTransform. + + -> Add GraphicsContext::setCTM(const AffineTransform&) and implement it for all platforms (each explicitely exposes a 'setCTM' concept, except CG) + Use CGContextSetCTM() for CG, which appears to be present since at least 10.4, Cairo is using it for the same purpose since some years! + + -> Instead of scaling the GraphicsContext before drawing text, grab the current CTM using context->getCTM(), scale it by '1 / scalingFactor' + normalize the transform (look for values close to 0/1 using float precision, and round!), and assign it using context->setCTM(normalizedTransform). + After drawing, just switch back to the preserved original CTM, both operations need GraphicsContext::setCTM. + This fixes all pixel test differences between 32/64 bit machines that fall into category b). + The use of GraphicsContext::setCTM() allows to switch between arbitary context transformations _without_ inducing accumulated rounding imprecision. + + These combined patches fix the pixel test baseline changes. + + Updated existing Snow Leopard pixel test baseline with a 32bit machine, passes here with tolerance 0. + The 64bit machine passes the baseline with tolerance 0.01. + + * platform/graphics/GraphicsContext.h: Add setCTM(const AffineTransform&) method. + * platform/graphics/cairo/GraphicsContextCairo.cpp: + (WebCore::GraphicsContext::setCTM): Implement setCTM. + * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h: + (WebCore::GraphicsContextPlatformPrivate::setCTM): Ditto. + * platform/graphics/cg/GraphicsContextCG.cpp: + (WebCore::GraphicsContext::setCTM): Ditto. + * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h: + (WebCore::GraphicsContextPlatformPrivate::setCTM): Ditto. + * platform/graphics/chromium/GLES2Canvas.cpp: + (WebCore::GLES2Canvas::setCTM): Ditto. + * platform/graphics/chromium/GLES2Canvas.h: + * platform/graphics/haiku/GraphicsContextHaiku.cpp: + (WebCore::GraphicsContext::setCTM): Ditto. + * platform/graphics/openvg/GraphicsContextOpenVG.cpp: + (WebCore::GraphicsContext::setCTM): Ditto. + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContext::setCTM): Ditto. + * platform/graphics/skia/GraphicsContextSkia.cpp: + (WebCore::GraphicsContext::setCTM): Ditto. + * platform/graphics/win/GraphicsContextWin.cpp: + (WebCore::GraphicsContextPlatformPrivate::setCTM): Ditto. + * platform/graphics/wince/GraphicsContextWinCE.cpp: + (WebCore::GraphicsContextPlatformPrivate::concatCTM): + (WebCore::GraphicsContextPlatformPrivate::setCTM): Ditto. + (WebCore::GraphicsContext::setCTM): + * platform/graphics/wx/GraphicsContextWx.cpp: + (WebCore::GraphicsContext::setCTM): Ditto. + * rendering/svg/SVGInlineTextBox.cpp: Use setCTM() to switch to a scale-free AffineTransform, and also to switch back to the original CTM after rendering text. + (WebCore::normalizeTransform): + (WebCore::SVGInlineTextBox::paintDecorationWithStyle): + (WebCore::SVGInlineTextBox::paintTextWithShadows): + * svg/SVGPreserveAspectRatio.cpp: s/double/float/. + (WebCore::SVGPreserveAspectRatio::getCTM): + * svg/SVGPreserveAspectRatio.h: + * svg/SVGSVGElement.cpp: Simplify viewport() code, avoid using doubles. + (WebCore::SVGSVGElement::viewport): + +2011-02-16 Andreas Kling <kling@webkit.org> + + Reviewed by Dirk Schulze. + + SVGAnimateElement incorrectly uses Color::nameForRenderTreeAsText() + https://bugs.webkit.org/show_bug.cgi?id=54547 + + * svg/SVGAnimateElement.cpp: + (WebCore::SVGAnimateElement::applyResultsToTarget): + +2011-02-14 Mikhail Naganov <mnaganov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: [Chromium] Landing detailed heap snapshots, part 3. + https://bugs.webkit.org/show_bug.cgi?id=54385 + + Provide node classes for data grid views: + - summary -- list of objects by constuctor; + - diff -- summaries btw two snapshots; + - explorer -- explore heap graph; + - dominators tree; + + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * inspector/front-end/DetailedHeapshotGridNodes.js: Added. + * inspector/front-end/HeapSnapshot.js: + (WebInspector.HeapSnapshotFilteredOrderedIterator): + (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.incInstancesCount): + (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.get instancesCount): + (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.next): + (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.resetInstancesCount): + (WebInspector.HeapSnapshotEdgesProvider): + (WebInspector.HeapSnapshotNodesProvider): + * inspector/front-end/PleaseWaitMessage.js: + (WebInspector.PleaseWaitMessage.prototype.get instance): + * inspector/front-end/WebKit.qrc: + * inspector/front-end/inspector.html: + +2011-02-16 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r78655. + http://trac.webkit.org/changeset/78655 + https://bugs.webkit.org/show_bug.cgi?id=54543 + + Causes too many test failures in chromium (Requested by + mnaganov on #webkit). + + * bindings/js/JSEventListener.cpp: + (WebCore::JSEventListener::handleEvent): + * bindings/js/JSEventTarget.cpp: + (WebCore::toJS): + * bindings/v8/V8AbstractEventListener.cpp: + (WebCore::V8AbstractEventListener::invokeEventHandler): + * dom/EventTarget.cpp: + * dom/EventTarget.h: + * storage/IDBRequest.cpp: + * storage/IDBRequest.h: + +2011-02-16 Ilya Tikhonovsky <loislo@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: move Database and DOMStorage related things from InspectorAgent to the corresponding agents. + + https://bugs.webkit.org/show_bug.cgi?id=54455 + + Some set of instrumentation calls should work even if we have no InspectorFrontend instance and corresponding agents. + At the moment we are using InspectorAgent instance for such calls. + + * inspector/InspectorAgent.cpp: + (WebCore::InspectorAgent::InspectorAgent): + (WebCore::InspectorAgent::createFrontendLifetimeAgents): + (WebCore::InspectorAgent::pushDataCollectedOffline): + (WebCore::InspectorAgent::didCommitLoad): + * inspector/InspectorAgent.h: + (WebCore::InspectorOfflineResourcesBase::~InspectorOfflineResourcesBase): + (WebCore::InspectorOfflineResourcesBase::InspectorOfflineResourcesBase): + (WebCore::InspectorAgent::databaseAgentResources): + (WebCore::InspectorAgent::domStorageAgentResources): + * inspector/InspectorDOMStorageAgent.cpp: + (WebCore::InspectorDOMStorageAgent::Resources::clear): + (WebCore::InspectorDOMStorageAgent::Resources::pushDataCollectedOffline): + (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent): + (WebCore::InspectorDOMStorageAgent::~InspectorDOMStorageAgent): + (WebCore::InspectorDOMStorageAgent::createOfflineStorage): + (WebCore::InspectorDOMStorageAgent::selectDOMStorage): + (WebCore::InspectorDOMStorageAgent::getDOMStorageResourceForId): + (WebCore::InspectorDOMStorageAgent::didUseDOMStorage): + * inspector/InspectorDOMStorageAgent.h: + (WebCore::InspectorDOMStorageAgent::create): + * inspector/InspectorDatabaseAgent.cpp: + (WebCore::InspectorDatabaseAgent::Resources::clear): + (WebCore::InspectorDatabaseAgent::Resources::pushDataCollectedOffline): + (WebCore::InspectorDatabaseAgent::didOpenDatabase): + (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent): + (WebCore::InspectorDatabaseAgent::createOfflineStorage): + (WebCore::InspectorDatabaseAgent::databaseForId): + (WebCore::InspectorDatabaseAgent::selectDatabase): + * inspector/InspectorDatabaseAgent.h: + (WebCore::InspectorDatabaseAgent::create): + * inspector/InspectorInstrumentation.cpp: + (WebCore::InspectorInstrumentation::didOpenDatabaseImpl): + (WebCore::InspectorInstrumentation::didUseDOMStorageImpl): + +2011-02-15 John Sullivan <sullivan@apple.com> + + Reviewed by Antti Koivisto. + + Dan Bernstein came up with this fix while we debugged it. I just typed. + + https://bugs.webkit.org/show_bug.cgi?id=54532 + On platforms without platformWidgets, going Back to a scrolled page + draws at the top-left before drawing at the restored scroll position + + <rdar://problem/8998838> + + * page/FrameView.cpp: + (WebCore::FrameView::performPostLayoutTasks): + Don't send the didFirstLayout and didFirstVisuallyNonEmptyLayout callbacks + for nested layouts. Doing so was causing ScrollView::setScrollPosition() + to short-circuit. + +2011-02-15 Csaba Osztrogonác <ossy@webkit.org> + + Unreviewed. + + [Qt][V8] Buildfix. Add missing USE(JSC) guard. + + * plugins/qt/PluginViewQt.cpp: + +2011-02-15 Ami Fischman <fischman@chromium.org> + + Reviewed by David Levin. + + Remove the artificial -32px shift for media controls in mediaDocuments + so that they overlap the canvas as they do in non-mediaDocuments. + This also fixes test_shell failing to update the media slider (see + linked crbug below). + + https://bugs.webkit.org/show_bug.cgi?id=27798 + http://crbug.com/72623 + + Test: media/video-controls-in-media-document.html + Added a render test that asserts that the controls show up in the + expected spot (0,208) instead of below the canvas (0,240). + + * css/mediaControlsChromium.css: + +2011-02-15 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Darin Adler. + + Extract a function to process ancestor and their sibling nodes from processContents + https://bugs.webkit.org/show_bug.cgi?id=54425 + + Extracted processAncestorsAndTheirSiblings. + + * dom/Range.cpp: + (WebCore::Range::processContents): Calls processContents. + (WebCore::Range::processAncestorsAndTheirSiblings): Extracted from processContents. + * dom/Range.h: + +2011-02-15 Kent Tamura <tkent@chromium.org> + + Reviewed by Darin Fisher. + + [Chromium] Rendering error of spin buttons on layers + https://bugs.webkit.org/show_bug.cgi?id=54427 + + Test: fast/forms/input-appearance-spinbutton-layer.html + + * rendering/RenderThemeChromiumWin.cpp: + Add checks for multiple ThemePainter instances. + (WebCore::RenderThemeChromiumWin::paintInnerSpinButton): + Avoid to create multiple ThemePainter instances. + +2011-02-15 Chris Rogers <crogers@google.com> + + Reviewed by Kenneth Russell. + + Fix race condition in JavaScriptAudioNode + https://bugs.webkit.org/show_bug.cgi?id=54518 + + No new tests since audio API is not yet implemented. + + * webaudio/JavaScriptAudioNode.cpp: + (WebCore::JavaScriptAudioNode::process): + +2011-02-10 Jeremy Orlow <jorlow@chromium.org> + + Reviewed by Nate Chapin. + + Throwing in an IndexedDB error or success event should lead to the transaction aborting + https://bugs.webkit.org/show_bug.cgi?id=54249 + + When an exception is thrown but not handled within an IDBRequests success/error event, + we should abort the transaction. + + Test: storage/indexeddb/exception-in-event-aborts.html + + * bindings/js/JSEventListener.cpp: + (WebCore::JSEventListener::handleEvent): + * bindings/js/JSEventTarget.cpp: + (WebCore::toJS): + * bindings/v8/V8AbstractEventListener.cpp: + (WebCore::V8AbstractEventListener::invokeEventHandler): + * dom/EventTarget.cpp: + (WebCore::EventTarget::uncaughtExceptionInEventHandler): + * dom/EventTarget.h: + * storage/IDBRequest.cpp: + (WebCore::IDBRequest::uncaughtExceptionInEventHandler): + * storage/IDBRequest.h: + +2011-02-15 Ian Henderson <ianh@apple.com> + + Reviewed by Darin Adler. + + To determine image properties, CG allocates memory which isn't included in CachedImage's decoded size + https://bugs.webkit.org/show_bug.cgi?id=53281 + + When determining properties of an image (such as its size), CG ends up + decoding part of the image. This patch adds accounting for this extra + decoded size so a cache prune can clean up the allocations. + + * platform/graphics/BitmapImage.cpp: + (WebCore::BitmapImage::BitmapImage): + (WebCore::BitmapImage::destroyMetadataAndNotify): + Clearing the source destroys the extra decoded data. Report this + change in decoded size to the image observer. + (WebCore::BitmapImage::cacheFrame): + The first decoded frame subsumes the data decoded when determining + image properties, so we subtract it out here. + (WebCore::BitmapImage::didDecodeProperties): + Reports the extra decoded size to the image's observer. + (WebCore::BitmapImage::size): + (WebCore::BitmapImage::currentFrameSize): + (WebCore::BitmapImage::getHotSpot): + (WebCore::BitmapImage::frameCount): + (WebCore::BitmapImage::isSizeAvailable): + (WebCore::BitmapImage::repetitionCount): + * platform/graphics/BitmapImage.h: + * platform/graphics/ImageSource.cpp: + (WebCore::ImageSource::bytesDecodedToDetermineProperties): + The default value is 0 to match the current behavior on other + platforms. + * platform/graphics/ImageSource.h: + * platform/graphics/cg/ImageSourceCG.cpp: + (WebCore::ImageSource::bytesDecodedToDetermineProperties): + Add a constant value for bytesDecodedToDetermineProperties(), measured + by tracing malloc/calloc calls while asking an image source for its + properties. + +2011-02-15 James Robinson <jamesr@chromium.org> + + Reviewed by Alexey Proskuryakov. + + requestAnimationFrame callbacks should not fire within a modal dialog + https://bugs.webkit.org/show_bug.cgi?id=53188 + + requestAnimationFrame callbacks shouldn't fire while a modal dialog is up (like a window.alert()). + This matches Firefox and other async APIs. This patch moves the callback servicing into its own + controller class which receives notifications on suspend/resume. + + Test: fast/animation/request-animation-frame-during-modal.html + + * WebCore.gypi: + * bindings/js/ScriptDebugServer.cpp: + (WebCore::ScriptDebugServer::setJavaScriptPaused): + * dom/Document.cpp: + (WebCore::Document::Document): + (WebCore::Document::suspendScriptedAnimationControllerCallbacks): + (WebCore::Document::resumeScriptedAnimationControllerCallbacks): + (WebCore::Document::webkitRequestAnimationFrame): + (WebCore::Document::webkitCancelRequestAnimationFrame): + (WebCore::Document::serviceScriptedAnimations): + * dom/Document.h: + * dom/ScriptExecutionContext.h: + (WebCore::ScriptExecutionContext::suspendScriptedAnimationControllerCallbacks): + (WebCore::ScriptExecutionContext::resumeScriptedAnimationControllerCallbacks): + * dom/ScriptedAnimationController.cpp: Added. + (WebCore::ScriptedAnimationController::ScriptedAnimationController): + (WebCore::ScriptedAnimationController::suspend): + (WebCore::ScriptedAnimationController::resume): + (WebCore::ScriptedAnimationController::registerCallback): + (WebCore::ScriptedAnimationController::cancelCallback): + (WebCore::ScriptedAnimationController::serviceScriptedAnimations): + * dom/ScriptedAnimationController.h: Added. + (WebCore::ScriptedAnimationController::create): + * history/CachedFrame.cpp: + (WebCore::CachedFrameBase::restore): + (WebCore::CachedFrame::CachedFrame): + * page/PageGroupLoadDeferrer.cpp: + (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): + (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer): + +2011-02-14 Jeremy Orlow <jorlow@chromium.org> + + Reviewed by Darin Fisher. + + Add initial support for per-origin quotas to IndexedDB + https://bugs.webkit.org/show_bug.cgi?id=54421 + + Add support for non-persistent per-origin quotas. If one is + specified, it overrides the default. + + No tests as this is only exposed via the Chromium webkit API. + + * storage/IDBFactoryBackendImpl.cpp: + (WebCore::IDBFactoryBackendImpl::open): + (WebCore::IDBFactoryBackendImpl::setQuota): + * storage/IDBFactoryBackendImpl.h: + * storage/IDBFactoryBackendInterface.h: + +2011-02-15 Adam Barth <abarth@webkit.org> + + Reviewed by Darin Adler. + + XSLT with output method HTML and images crashes in debug mode + https://bugs.webkit.org/show_bug.cgi?id=54462 + + http://trac.webkit.org/changeset/75577 created Document::setContent but + didn't notice that the code paths combined into Document::setContent + were subtly different. In particular, some of the code paths called + parser->finish() whereas other did not. + + The difference is that an explicit call to parser->finish() is required + in the case where there is no frame because explicitClose doesn't call + endIfNotLoadingMainResource if there is no frame. This patch moves + that logic inside explicitClose, which is more natural. + + This patch also removes removeAllChildren, which has not effect in this + situation and should never have been added in the first place. + + Test: fast/parser/xslt-with-html.xml + + * dom/Document.cpp: + (WebCore::Document::setContent): + (WebCore::Document::explicitClose): + +2011-02-15 Oliver Hunt <oliver@apple.com> + + Fix EFL build for + https://bugs.webkit.org/show_bug.cgi?id=54415 + + * CMakeLists.txt: + +2011-02-15 David Kilzer <ddkilzer@apple.com> + + <http://webkit.org/b/54487> Minor header clean up in RenderLayerBacking.cpp + + Reviewed by Darin Adler. + + * rendering/RenderLayerBacking.cpp: Remove unused + WebGLRenderingContext.h header, and move GraphicsContext3D.h + into a #if ENABLE(WEBGL) || ENABLE(ACCELERATED_2D_CANVAS)/#endif + block. + +2011-02-14 Oliver Hunt <oliver@apple.com> + + Reviewed by Gavin Barraclough and Geoff Garen. + + Refactor handles and weak pointers to become nicer and more automatic + https://bugs.webkit.org/show_bug.cgi?id=54415 + + Update WebCore to use the new Global<> type rather than ProtectedJSValue + and gc[Un]Protect. Also update to use new WeakGCPtr APIs, and remove now + unnecessary destructors. + + * ForwardingHeaders/collector/handles/Global.h: Added. + * WebCore.vcproj/WebCore.vcproj: + * WebCore.vcproj/copyForwardingHeaders.cmd: + * bindings/js/JSCallbackData.h: + (WebCore::JSCallbackData::JSCallbackData): + * bindings/js/JSCustomVoidCallback.h: + * bindings/js/JSDOMBinding.cpp: + (WebCore::forgetDOMNode): + (WebCore::cacheDOMNodeWrapper): + * bindings/js/JSDOMWindowBase.h: + * bindings/js/JSDOMWindowShell.cpp: + (WebCore::JSDOMWindowShell::setWindow): + * bindings/js/JSDataGridDataSource.h: + * bindings/js/JSEventListener.cpp: + (WebCore::JSEventListener::JSEventListener): + * bindings/js/JSEventListener.h: + (WebCore::JSEventListener::setWrapper): + * bindings/js/JSLazyEventListener.cpp: + (WebCore::JSLazyEventListener::initializeJSFunction): + * bindings/js/ScheduledAction.cpp: + (WebCore::ScheduledAction::ScheduledAction): + (WebCore::ScheduledAction::executeFunctionInContext): + * bindings/js/ScheduledAction.h: + (WebCore::ScheduledAction::ScheduledAction): + * bindings/js/ScriptCachedFrameData.cpp: + (WebCore::ScriptCachedFrameData::ScriptCachedFrameData): + (WebCore::ScriptCachedFrameData::restore): + * bindings/js/ScriptCachedFrameData.h: + * bindings/js/ScriptCallStackFactory.cpp: + (WebCore::createScriptArguments): + * bindings/js/ScriptController.cpp: + (WebCore::ScriptController::createWindowShell): + (WebCore::ScriptController::evaluateInWorld): + (WebCore::ScriptController::clearWindowShell): + (WebCore::ScriptController::attachDebugger): + * bindings/js/ScriptController.h: + * bindings/js/ScriptFunctionCall.cpp: + (WebCore::ScriptFunctionCall::call): + (WebCore::ScriptCallback::call): + * bindings/js/ScriptObject.cpp: + (WebCore::ScriptObject::ScriptObject): + * bindings/js/ScriptObject.h: + * bindings/js/ScriptState.cpp: + (WebCore::ScriptStateProtectedPtr::ScriptStateProtectedPtr): + (WebCore::ScriptStateProtectedPtr::get): + * bindings/js/ScriptState.h: + * bindings/js/ScriptValue.cpp: + (WebCore::ScriptValue::isFunction): + (WebCore::ScriptValue::deserialize): + * bindings/js/ScriptValue.h: + (WebCore::ScriptValue::ScriptValue): + (WebCore::ScriptValue::hasNoValue): + * bindings/js/ScriptWrappable.h: + (WebCore::ScriptWrappable::ScriptWrappable): + (WebCore::ScriptWrappable::setWrapper): + * bindings/js/WorkerScriptController.cpp: + (WebCore::WorkerScriptController::WorkerScriptController): + (WebCore::WorkerScriptController::~WorkerScriptController): + (WebCore::WorkerScriptController::initScript): + (WebCore::WorkerScriptController::evaluate): + * bindings/js/WorkerScriptController.h: + (WebCore::WorkerScriptController::workerContextWrapper): + * bindings/scripts/CodeGeneratorJS.pm: + * bridge/NP_jsobject.cpp: + (_NPN_InvokeDefault): + (_NPN_Invoke): + (_NPN_Evaluate): + (_NPN_Construct): + * bridge/jsc/BridgeJSC.cpp: + (JSC::Bindings::Instance::Instance): + (JSC::Bindings::Instance::~Instance): + (JSC::Bindings::Instance::willDestroyRuntimeObject): + (JSC::Bindings::Instance::willInvalidateRuntimeObject): + * bridge/jsc/BridgeJSC.h: + * bridge/runtime_object.cpp: + (JSC::Bindings::RuntimeObject::invalidate): + * bridge/runtime_root.cpp: + (JSC::Bindings::RootObject::RootObject): + (JSC::Bindings::RootObject::invalidate): + (JSC::Bindings::RootObject::globalObject): + (JSC::Bindings::RootObject::updateGlobalObject): + * bridge/runtime_root.h: + * dom/EventListener.h: + * dom/EventTarget.h: + (WebCore::EventTarget::markJSEventListeners): + * xml/XMLHttpRequest.cpp: + + Qt bindings courtesy of Csaba Osztrogonác + * bridge/qt/qt_runtime.cpp: + (JSC::Bindings::QtRuntimeConnectionMethod::call): + (JSC::Bindings::QtConnectionObject::QtConnectionObject): + (JSC::Bindings::QtConnectionObject::execute): + (JSC::Bindings::QtConnectionObject::match): + * bridge/qt/qt_runtime.h: + +2011-02-15 Jia Pu <jpu@apple.com> + + Reviewed by Darin Adler. + + Autocorrection should respect undo. + https://bugs.webkit.org/show_bug.cgi?id=52221 + <rdar://problem/8663399> + + Manual test: manual-tests/autocorrection/undo-autocorrection.html + + When user undoes an autocorrection, we need to do four things: + 1. Revert the change in text that has been made by correction. + 2. Revert the selection to pre-correction state so that user can immediately continue typing. + 3. Add appropriate markers to reverted text so that it won't be corrected again and/or shown + as misspelled. + 4. If applicable, notify spell checking service to record this reversion. + + To achieve these, this patch introduces following changes: + 1. Created SpellingCorrectionCommand so that correction can be undone in similar way as any + other editing command. SpellingCorrectionCommand is a composition of SetSelectionCommand, + SpellingCorrectionRecordUndoCommand and ReplaceSelectionCommand. + 2. Created SetSelectionCommand so that undo command can restore selection state. + 3. Added member function recordAutocorrectionResponse() to editor client. + + To improve readability, this patch also consolidates various boolean arguments in SelectionController::setSelection() + and ReplaceSelectionCommand::ReplaceSelectionCommand(). These boolean arguments have been + replaced by enum variable. + + * WebCore.exp.in: Updated for changes in Editor and ReplaceSelectionCommand. + + * WebCore.xcodeproj/project.pbxproj: Updated for new source files. + + * editing/CompositeEditCommand.cpp: + (WebCore::CompositeEditCommand::moveParagraphs): Adopted new signature of ReplaceSelectionCommand::create(). + + * editing/Editor.cpp: + (WebCore::Editor::replaceSelectionWithFragment): Ditto. + (WebCore::Editor::unappliedEditing): Cleaned up trailing whitespace. + (WebCore::Editor::reappliedEditing): Ditto. + (WebCore::Editor::selectComposition): Adopted new signature of SelectionController::setSelection(). + (WebCore::Editor::confirmComposition): Ditto. + (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Rearranged code to reduce the + level of deeply nested if statement. Adopted SpellingCorrectionCommand. + (WebCore::Editor::applyCorrectionPanelInfo): Adopted SpellingCorrectionCommand. + (WebCore::Editor::unappliedSpellCorrection): Function for adding markers to reverted text and + for notifiying editor client about undone correction. + (WebCore::Editor::changeSelectionAfterCommand): Adopted new signature of SelectionController::setSelection(). + (WebCore::Editor::respondToChangedSelection): Use SelectionController::SetSelectionOptions + instead of boolean variables. + + * editing/Editor.h: Added Editor::unappliedSpellCorrection(). + + * editing/EditorCommand.cpp: + (WebCore::executeInsertFragment): Adopted new signature of ReplaceSelectionCommand::create(). + + * editing/MoveSelectionCommand.cpp: + (WebCore::MoveSelectionCommand::doApply): Ditto. + + * editing/ReplaceSelectionCommand.cpp: + (WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand): Replaced all boolean arguments + with an enum value. + + * editing/ReplaceSelectionCommand.h: + (WebCore::ReplaceSelectionCommand::create): Ditto. + + * editing/SelectionController.cpp: Adopted new signature of SelectionController::setSelection(). + (WebCore::SelectionController::moveTo): + (WebCore::SelectionController::setSelection): + (WebCore::SelectionController::respondToNodeModification): + (WebCore::SelectionController::setBase): + (WebCore::SelectionController::setExtent): + (WebCore::SelectionController::setSelectedRange): + + * editing/SelectionController.h: + (WebCore::SelectionController::setSelection): Replaced all boolean arguments with an enum value. + + * editing/SetSelectionCommand.cpp: Added. + (WebCore::SetSelectionCommand::SetSelectionCommand): + (WebCore::SetSelectionCommand::doApply): + (WebCore::SetSelectionCommand::doUnapply): + + * editing/SetSelectionCommand.h: Added. + (WebCore::SetSelectionCommand::create): + + * editing/mac/SpellingCorrectionCommand.cpp: Added. + (WebCore::SpellingCorrectionRecordUndoCommand::create): + (WebCore::SpellingCorrectionRecordUndoCommand::SpellingCorrectionRecordUndoCommand): + (WebCore::SpellingCorrectionRecordUndoCommand::doApply): + (WebCore::SpellingCorrectionRecordUndoCommand::doUnapply): + (WebCore::SpellingCorrectionCommand::SpellingCorrectionCommand): + (WebCore::SpellingCorrectionCommand::doApply): + + * editing/mac/SpellingCorrectionCommand.h: Added. + (WebCore::SpellingCorrectionCommand::create): + + * loader/EmptyClients.h: Updated for the new function declared in EditorClient. + (WebCore::EmptyEditorClient::recordAutocorrectionResponse): + + * manual-tests/autocorrection/undo-autocorrection.html: Added. + + * page/ContextMenuController.cpp: + (WebCore::ContextMenuController::contextMenuItemSelected): Adopted new signature of ReplaceSelectionCommand::create(). + + * page/DragController.cpp: + (WebCore::DragController::concludeEditDrag): Ditto. + + * page/EditorClient.h: Added EditorClient::recordAutocorrectionResponse(). + +2011-02-15 Beth Dakin <bdakin@apple.com> + + Reviewed by Darin Adler. + + Speculative fix for <rdar://problem/8998498> CrashTracer: [USER] + 8 crashes in WebProcess calling setOverlayScrollerState:forceImmediately: + + My best guess is that this is crashing because + willRemoveVerticalScrollbar()/Horizontal was not being called + properly from the RenderLayer destructor. + + Call willRemoveVerticalScrollbar()/Horizontal from destroyScrollbar() + so that all current and future scrollbar-destroyers will properly + call this function. And only do it for native scrollers. + (WebCore::RenderLayer::destroyScrollbar): + (WebCore::RenderListBox::destroyScrollbar): + + For consistency's sake, I also moved didAddVerticalScrollbar() + /Horizontal to createScrollbar(). Again, only call for native + scrollers. + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::createScrollbar): + (WebCore::RenderListBox::createScrollbar): + + These functions no longer call didAdd/willRemove. + (WebCore::RenderLayer::setHasHorizontalScrollbar): + (WebCore::RenderLayer::setHasVerticalScrollbar): + * rendering/RenderListBox.cpp: + (WebCore::RenderListBox::setHasVerticalScrollbar): + + Remove unnecessary ScrollableArea::-prefix + * platform/ScrollView.cpp: + (WebCore::ScrollView::setHasHorizontalScrollbar): + (WebCore::ScrollView::setHasVerticalScrollbar): + +2011-02-15 Joseph Pecoraro <joepeck@webkit.org> + + Reviewed by David Kilzer. + + Cleanup Some Potential ENABLE(INSPECTOR) Related Building Issues + https://bugs.webkit.org/show_bug.cgi?id=54048 + + * WebCore.exp.in: moved inspector only export into ENABLE(INSPECTOR) block. + * bindings/js/ScriptHeapSnapshot.h: include no longer needed. + +2011-02-15 Stephen White <senorblanco@chromium.org> + + Reviewed by James Robinson. + + [chromium] clearRect() is incorrect in accelerated 2D canvas. + https://bugs.webkit.org/show_bug.cgi?id=54497 + + When doing GPU-Canvas2D clearRect() using the fast path (glClear()), + we were not correctly converting from canvas to screen coordinates. + Fixed by inverting the rectangle in Y, and changing + SharedGraphicsContext3D::scissor to take glScissor-like parameters. + + Covered by fast/canvas/canvas-strokeRect.html. + + * platform/graphics/chromium/GLES2Canvas.cpp: + (WebCore::GLES2Canvas::clearRect): + Flip the Y coord of the rectangle passed to scissor(). + * platform/graphics/gpu/SharedGraphicsContext3D.cpp: + (WebCore::SharedGraphicsContext3D::scissor): + * platform/graphics/gpu/SharedGraphicsContext3D.h: + Give scissor() the same param types as GraphicsContext3D::scissor(). + +2011-02-15 Pratik Solanki <psolanki@apple.com> + + Move WTF_USE_CFNETWORK to Platform.h + https://bugs.webkit.org/show_bug.cgi?id=54168 + + Reviewed by Darin Adler. + + * config.h: Remove WTF_USE_CFNETWORK. + +2011-02-15 Kenneth Russell <kbr@google.com> + + Reviewed by Darin Fisher. + + Allow controlling minimum DOMTimer interval on a per-page basis + https://bugs.webkit.org/show_bug.cgi?id=54312 + + Renamed DOMTimer::minTimerInterval and setMinTimerInterval to + defaultMinTimerInterval and setDefaultMinTimerInterval, made them + private and exposed them via Settings::defaultMinDOMTimerInterval + and setDefaultMinDOMTimerInterval. Added new + Settings::setMinDOMTimerInterval and minDOMTimerInterval. + + The storage for the minimum timer interval currently lives in the + Page, though this could be moved to the Settings object if + desired. The accessor methods on the Page are private and exposed + to Settings by making Settings a friend, so the abstraction + barrier is clear at the API level. + + Adjusting the interval both upward and downward may cause the fire + times of the active timers on the page to be adjusted, if they + would be affected by the clamping value. This is needed to reduce + latency when bringing a tab to the foreground, in particular if + the minimum timer interval was decreased from a very high value to + a very low value. + + A new method, setMinimumTimerInterval, has been added to + LayoutTestController, implemented in all ports of DumpRenderTree, + and used in new layout tests. + + Ideally changing the page's minimum timer interval would affect + dedicated workers, but this is too much to do in an initial patch, + so a FIXME has been added. + + Tested with: + - The new layout tests on the WebKit Mac and Chromium (Mac, + Linux) DRT ports. + - Hooked up the new API in Chromium and ran some simple manual + tests. + + Tests: fast/dom/timer-increase-min-interval-and-reset-part-1.html + fast/dom/timer-increase-min-interval-and-reset-part-2.html + fast/dom/timer-increase-min-interval.html + fast/dom/timer-increase-then-decrease-min-interval.html + + * WebCore.exp.in: + * dom/Document.cpp: + (WebCore::Document::minimumTimerInterval): + * dom/Document.h: + * dom/ScriptExecutionContext.cpp: + (WebCore::ScriptExecutionContext::adjustMinimumTimerInterval): + (WebCore::ScriptExecutionContext::minimumTimerInterval): + * dom/ScriptExecutionContext.h: + * page/DOMTimer.cpp: + (WebCore::DOMTimer::DOMTimer): + (WebCore::DOMTimer::fired): + (WebCore::DOMTimer::adjustMinimumTimerInterval): + (WebCore::DOMTimer::intervalClampedToMinimum): + * page/DOMTimer.h: + (WebCore::DOMTimer::defaultMinTimerInterval): + (WebCore::DOMTimer::setDefaultMinTimerInterval): + * page/Page.cpp: + (WebCore::Page::Page): + (WebCore::Page::setMinimumTimerInterval): + (WebCore::Page::minimumTimerInterval): + * page/Page.h: + * page/Settings.cpp: + (WebCore::Settings::setDefaultMinDOMTimerInterval): + (WebCore::Settings::defaultMinDOMTimerInterval): + (WebCore::Settings::setMinDOMTimerInterval): + (WebCore::Settings::minDOMTimerInterval): + * page/Settings.h: + * platform/Timer.h: + (WebCore::TimerBase::augmentFireInterval): + (WebCore::TimerBase::augmentRepeatInterval): + +2011-02-15 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Beth Dakin. + + Fix scrollbar rendering crash when rendered into a layer + https://bugs.webkit.org/show_bug.cgi?id=54494 + + Remove code added in r78394 which was intended to find out whether + a scrollbar was being rendered into a compositing layer. r78612 + obviated the need for this code. + + * page/FrameView.h: + * platform/ScrollableArea.h: + * rendering/RenderLayer.cpp: + * rendering/RenderLayer.h: + * rendering/RenderListBox.cpp: + * rendering/RenderListBox.h: + +2011-02-15 Simon Fraser <simon.fraser@apple.com> + + Let Xcode have its way with the project. + + * WebCore.xcodeproj/project.pbxproj: + +2011-02-15 Simon Fraser <simon.fraser@apple.com> + + Fix Mac builds that don't use rubber-band scrolling + by moving m_drawingIntoLayer out of the #ifdef. + + * platform/mac/ScrollAnimatorMac.h: + * platform/mac/ScrollAnimatorMac.mm: + (WebCore::ScrollAnimatorMac::ScrollAnimatorMac): + +2011-02-15 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Xan Lopez. + + [Freetype] Better map CSS font weight to Fontconfig font weight + https://bugs.webkit.org/show_bug.cgi?id=54323 + + * platform/graphics/freetype/FontCacheFreeType.cpp: + (WebCore::fontWeightToFontconfigWeight): Added this helper to map between CSS and + Fontconfig font weights. + (WebCore::FontCache::createFontPlatformData): Use the new helper instead of just + deciding between bold and regular. + +2011-02-15 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Sam Weinig. + + Fix scrollbar rendering crash when rendered into a layer + https://bugs.webkit.org/show_bug.cgi?id=54494 + + The scroller delegate was failing to return a layer in a case + where the scroller was still rendering into a GraphicsLayer, because + even though WebCore had switched out of compositing mode, the + DrawingAreaImpl was still rendering into its nonCompositedContent + layer. This happens when the m_exitCompositingTimer timer hasn't fired + yet. + + The fix is to track whether we're drawing into a layer via the + GraphicsContext, rather than asking about compositing layers. + + * platform/graphics/GraphicsContext.h: + * platform/graphics/cg/GraphicsContextCG.cpp: + (WebCore::GraphicsContext::setIsCALayerContext): + (WebCore::GraphicsContext::isCALayerContext): + Getter and setter for the bit that says if we're rendering into a CALayer. + + * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h: + (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate): + Store a bool for whether this context targets a layer. + + * platform/graphics/mac/WebLayer.mm: + (drawLayerContents): Call setIsCALayerContext(true). + + * platform/mac/ScrollAnimatorMac.h: + (WebCore::ScrollAnimatorMac::setIsDrawingIntoLayer): + (WebCore::ScrollAnimatorMac::isDrawingIntoLayer): + New methods to get and set a flag that says when we're + drawing into a layer, so that the delegate can get at this state. + + * platform/mac/ScrollAnimatorMac.mm: + (-[ScrollbarPainterDelegate layer]): Use isDrawingIntoLayer() + (WebCore::ScrollAnimatorMac::ScrollAnimatorMac): Init the flag. + + * platform/mac/ScrollbarThemeMac.mm: + (WebCore::ScrollbarThemeMac::unregisterScrollbar): Whitespace. + (WebCore::ScrollbarThemeMac::paint): Push the "isDrawingIntoLayer" + state down onto ScrollAnimatorMac, getting it from the GraphicsContext. + +2011-02-15 Anders Carlsson <andersca@apple.com> + + Reviewed by Darin Adler. + + Add NPP_GetSitesWithData and NPP_URLRedirectNotify to the NPAPI headers + https://bugs.webkit.org/show_bug.cgi?id=54481 + + We should really sync all headers with the NPAPI repository, but doing that + lead to build errors so I just added what was needed. + + * bridge/npapi.h: + Add new functions. + + * bridge/nptypes.h: + Sync with the official NPAPI repository, adding 64-bit integer types and + removing a duplicate license header. + + * plugins/npfunctions.h: + Add new functions. + +2011-02-15 Antti Koivisto <antti@apple.com> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=54486 + Crashes under CachedResourceLoader::revalidateResource + + CachedResourceLoader might get deleted from under one of its methods. + Try to catch a more informative crash stack. + + * loader/cache/CachedResourceLoader.cpp: + (WebCore::CachedResourceLoader::CachedResourceLoader): + (WebCore::CachedResourceLoader::~CachedResourceLoader): + (WebCore::CachedResourceLoader::requestImage): + (WebCore::CachedResourceLoader::requestUserCSSStyleSheet): + (WebCore::CachedResourceLoader::requestResource): + (WebCore::CachedResourceLoader::setAutoLoadImages): + (WebCore::CachedResourceLoader::load): + (WebCore::CachedResourceLoader::loadDone): + (WebCore::CachedResourceLoader::preload): + (WebCore::CachedResourceLoader::requestPreload): + * loader/cache/CachedResourceLoader.h: + +2011-02-15 Andreas Kling <kling@webkit.org> + + Reviewed by Darin Adler. + + Optimize Color::serialized() + https://bugs.webkit.org/show_bug.cgi?id=54452 + + Apply the optimizations from CSSPrimitiveValue::cssText() [CSS_RGBCOLOR] + to Color::serialized() - build the serialized color strings manually + instead of using String::format(). + + * platform/graphics/Color.cpp: + (WebCore::appendHexNumber): + (WebCore::Color::serialized): + +2011-02-15 Jarred Nicholls <jarred@sencha.com> + + Reviewed by Alexey Proskuryakov. + + XMLHttpRequest::abort() doesn't clear response data + https://bugs.webkit.org/show_bug.cgi?id=54118 + + Properly clear all buffer data on abort, so no memory hangs around unnecessarily. + + No new tests because there is no observable effect except for less memory used. + + * xml/XMLHttpRequest.cpp: + (WebCore::XMLHttpRequest::abort): + +2011-02-15 Andreas Kling <kling@webkit.org> + + Reviewed by Darin Adler. + + Rename Color::name() to Color::nameForRenderTreeAsText() + https://bugs.webkit.org/show_bug.cgi?id=54464 + + Color::name() returns the color as either #RRGGBB or #RRGGBBAA. + Since the latter is not a valid CSS color, it can't be re-parsed + by WebKit, and should only be used in DRT dumps. + + * editing/ApplyStyleCommand.cpp: + (WebCore::StyleChange::extractTextStyles): + * page/DragController.cpp: + (WebCore::DragController::concludeEditDrag): + * platform/graphics/Color.cpp: + (WebCore::Color::nameForRenderTreeAsText): + * platform/graphics/Color.h: + * platform/graphics/GraphicsLayer.cpp: + (WebCore::GraphicsLayer::dumpProperties): + * platform/graphics/filters/FEFlood.cpp: + (WebCore::FEFlood::externalRepresentation): + * rendering/RenderTreeAsText.cpp: + (WebCore::RenderTreeAsText::writeRenderObject): + * rendering/svg/SVGRenderTreeAsText.cpp: + (WebCore::operator<<): + (WebCore::writeRenderSVGTextBox): + * svg/SVGAnimateElement.cpp: + (WebCore::SVGAnimateElement::applyResultsToTarget): + * svg/SVGColor.cpp: + (WebCore::SVGColor::cssText): + +2011-02-15 Andras Becsi <abecsi@webkit.org> + + Rubber-stamped by Andreas Kling. + + [Qt] Typo fix. + + No new tests needed. + + * WebCore.pro: add missing ASCII to header name. + +2011-02-15 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: test whether inspector gets populated with databases and storages upon opening. + https://bugs.webkit.org/show_bug.cgi?id=54469 + + Tests: http/tests/inspector-enabled/database-open.html + http/tests/inspector-enabled/dom-storage-open.html + + * inspector/front-end/DOMStorage.js: + * inspector/front-end/Database.js: + (WebInspector.DatabaseDispatcher.prototype.addDatabase): + +2011-02-15 Andreas Kling <kling@webkit.org> + + Reviewed by Darin Adler. + + Share the helper functions used by Latin-1 and UTF-8 text codecs + https://bugs.webkit.org/show_bug.cgi?id=54446 + + Move MachineWord, UCharByteFiller and the other helper functions + into TextCodecASCIIFastPath.h where they can be used by both + TextCodecUTF8 and TextCodecLatin1. + + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * platform/text/TextCodecASCIIFastPath.h: Added. + (WebCore::isAllASCII): + (WebCore::copyASCIIMachineWord): + (WebCore::isAlignedToMachineWord): + (WebCore::alignToMachineWord): + * platform/text/TextCodecLatin1.cpp: + (WebCore::TextCodecLatin1::decode): + * platform/text/TextCodecUTF8.cpp: + (WebCore::TextCodecUTF8::decode): + +2011-02-15 Leo Yang <leo.yang@torchmobile.com.cn> + + Reviewed by Kent Tamura. + + Code style issue in WebCore/dom/InputElement.cpp + https://bugs.webkit.org/show_bug.cgi?id=54428 + + Remove 2 extra spaces in InputElement.cpp line 221. + + Code style fix, No new tests. + + * dom/InputElement.cpp: + (WebCore::InputElement::handleBeforeTextInsertedEvent): + +2011-02-15 Philippe Normand <pnormand@igalia.com> + + Reviewed by Martin Robinson. + + [GStreamer] Video player sets system volume to 100% + https://bugs.webkit.org/show_bug.cgi?id=54140 + + Don't explicitely set volume at startup and use the + GstStreamVolume interface with cubic volume scale when + updating/retrieving the volume value. This gives a much better + user-experience. + + * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: + (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin): + +2011-02-15 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Sketch script-src for Content Security Policy + https://bugs.webkit.org/show_bug.cgi?id=54381 + + This patch provides a sketch of the script-src directive. We still do + not parse the value of the directive, and the wiring into the rest of + WebCore is incorrect, but those are things we can fix in future + patches. For the momemnt, this patch lets us test what we're doing. + + Test: http/tests/security/contentSecurityPolicy/script-loads-with-img-src.html + + * page/ContentSecurityPolicy.cpp: + (WebCore::CSPDirective::CSPDirective): + (WebCore::CSPDirective::allows): + (WebCore::ContentSecurityPolicy::didReceiveHeader): + (WebCore::ContentSecurityPolicy::canLoadExternalScriptFromSrc): + (WebCore::ContentSecurityPolicy::parse): + (WebCore::ContentSecurityPolicy::emitDirective): + * page/ContentSecurityPolicy.h: + +2011-02-15 Antti Koivisto <antti@apple.com> + + Reviewed by Andreas Kling. + + svg/custom/use-css-no-effect-on-shadow-tree.svg produces empty image on Chromium Linux after r58556 + https://bugs.webkit.org/show_bug.cgi?id=54460 + + Don't use fast path for SVG. There are some additional rules for shadow trees that are not + implemented on fast path. + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::checkSelector): + +2011-02-15 Andras Becsi <abecsi@webkit.org> + + Reviewed by Csaba Osztrogonác. + + [Qt] Redesign the build system + https://bugs.webkit.org/show_bug.cgi?id=51339 + + Part 1. + + Introduce CodeGenerators.pri and add common includepaths to WebCore.pri, + thus unnecessary duplications can be removed from project files. + + No new tests needed. + + * CodeGenerators.pri: Copied from Source/WebCore/WebCore.pri. + Don't add non-source generated files to SOURCES. + * DerivedSources.pro: Change WebCore.pri to CodeGenerators.pri. + * WebCore.pri: Move code generation rules to CodeGenerators.pri. + * WebCore.pro: Move common options to WebCore.pri. + +2011-02-15 Charlie Reis <creis@chromium.org> + + Reviewed by Mihai Parparita. + + Crash in WebCore::FrameLoader::continueLoadAfterNavigationPolicy + https://bugs.webkit.org/show_bug.cgi?id=54219 + + Ensures we do not start a new navigation while we are in the process of + stopping a navigation. Also adds a manual test, since the crash can + only be reproduced using the back button and not history.back(). + + * loader/FrameLoader.cpp: + * manual-tests/navigation-during-onload-triggered-by-back.html: Added. + * manual-tests/resources/navigation-during-onload-container.html: Added. + +2011-02-15 Bill Budge <bbudge@chromium.org> + + Reviewed by David Levin. + + SubresourceLoader should expose finish time + https://bugs.webkit.org/show_bug.cgi?id=54287 + + No tests needed, exposes no new functionality + + * loader/DocumentThreadableLoader.cpp: + (WebCore::DocumentThreadableLoader::didFinishLoading): + * loader/DocumentThreadableLoader.h: + * loader/SubresourceLoader.cpp: + (WebCore::SubresourceLoader::didFinishLoading): + * loader/SubresourceLoaderClient.h: + (WebCore::SubresourceLoaderClient::didFinishLoading): + * loader/cache/CachedResourceRequest.cpp: + (WebCore::CachedResourceRequest::didFinishLoading): + * loader/cache/CachedResourceRequest.h: + * loader/icon/IconLoader.cpp: + (WebCore::IconLoader::didFinishLoading): + * loader/icon/IconLoader.h: + +2011-02-15 Antti Koivisto <antti@apple.com> + + Reviewed by Darin Adler. + + Enable fast path selector checking for child and subselector combinators + https://bugs.webkit.org/show_bug.cgi?id=54360 + + * css/CSSStyleSelector.cpp: + (WebCore::isFastCheckableSelector): + (WebCore::fastCheckSingleSelector): + (WebCore::checkClassValue): + (WebCore::checkIdValue): + (WebCore::checkTagValue): + (WebCore::CSSStyleSelector::SelectorChecker::fastCheckSelector): + +2011-02-15 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: console auto-scroll is broken when there are both scrollers. + https://bugs.webkit.org/show_bug.cgi?id=54273 + + * inspector/front-end/utilities.js: + (Element.prototype.isScrolledToBottom): use clientHeight instead of offsetHeight to determine + whether the element is scrolled to the bottom. + +2011-02-14 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: highlighter works incorrect at build.chromium.org WebKit cells + https://bugs.webkit.org/show_bug.cgi?id=53910 + + Use enclosingBoundingBox for the absolute margin quad as the reference box for a tooltip. + + * inspector/InspectorAgent.cpp: + (WebCore::InspectorAgent::drawNodeHighlight): + +2011-02-15 Dirk Schulze <krit@webkit.org> + + Rubber-stamped by Nikolas Zimmermann. + + SVG animation doesn't support attribute value 'inherit' + https://bugs.webkit.org/show_bug.cgi?id=54410 + + Accidently replaced start value RegularPropertyValue for m_fromPropertyValueType + and m_toPropertyValueType by CurrentColorValue before landing. Check for property + value type 'inherit' on color validation was missing. + + * svg/SVGAnimateElement.cpp: + (WebCore::SVGAnimateElement::calculateFromAndToValues): + (WebCore::SVGAnimateElement::calculateFromAndByValues): + +2011-02-15 Adam Roben <aroben@apple.com> + + Windows build fix after r78533 + + * WebCore.vcproj/WebCore.vcproj: Fix bad XML syntax. + +2011-02-15 Gavin Peters <gavinp@chromium.org> + + Reviewed by Antti Koivisto. + + SharedBuffer::buffer() does not do what you think. + https://bugs.webkit.org/show_bug.cgi?id=54420 + + No new tests. + + * inspector/InspectorResourceAgent.cpp: + (WebCore::InspectorResourceAgent::resourceContentBase64): + * platform/SharedBuffer.h: + * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: + (WebCore::JPEGImageReader::decode): + (WebCore::JPEGImageDecoder::decode): + * platform/image-decoders/webp/WEBPImageDecoder.cpp: + (WebCore::WEBPImageDecoder::decode): + +2011-02-15 Dirk Schulze <krit@webkit.org> + + Reviewed by Nikolas Zimmermann. + + SVG animation doesn't support attribute value 'inherit' + https://bugs.webkit.org/show_bug.cgi?id=54410 + + SVG animation does not support 'inherit' as value for CSS property animations. With the patch, SVG determines + if the attribute of the target element is an animatable CSS Property and computes the style during the + animation. + + This fixes the following tests on the W3C test suite: + * animate-elem-84-t.svg + * animate-elem-85-t.svg + + Tests: svg/animations/animate-currentColor.html + svg/animations/animate-inherit-css-property.html + + * svg/SVGAnimateElement.cpp: + (WebCore::adjustForCurrentColor): + (WebCore::adjustForInheritance): + (WebCore::SVGAnimateElement::calculateAnimatedValue): When a property value is 'inherit' or 'currentColor' + during the animation, get the computed style of the property since the values could be animated themselves. + (WebCore::inheritsFromProperty): + (WebCore::attributeValueIsCurrentColor): + (WebCore::SVGAnimateElement::calculateFromAndToValues): Check if 'from', 'by' or 'to' value has the + string 'inherit' or 'currentColor' and if the attribute supports one of these values. + (WebCore::SVGAnimateElement::calculateFromAndByValues): Ditto. + * svg/SVGAnimateElement.h: + * svg/SVGAnimationElement.cpp: + (WebCore::SVGAnimationElement::isTargetAttributeCSSProperty): Check if target element is stylable and + the attribute is an animatable CSS property by using the CSS property map in SVGStyledElement. + (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue): s/target/targetElement/ for consistency. + * svg/SVGAnimationElement.h: + * svg/SVGStyledElement.cpp: + (WebCore::SVGStyledElement::isAnimatableCSSProperty): Checks if the CSS property is animatable. + * svg/SVGStyledElement.h: + * svg/animation/SMILTimeContainer.cpp: Use the new function isTargetAttributeCSSProperty to determine + if the target element is stylable and the attribute is an animatable CSS property. + (WebCore::SMILTimeContainer::baseValueFor): + +2011-02-15 Antti Koivisto <antti@apple.com> + + Reviewed by Andreas Kling. + + r78499 causes assertion failure in http/tests/xmlhttprequest/cache-override.html + https://bugs.webkit.org/show_bug.cgi?id=54418 + + Check for zero buffer length. + + * platform/text/TextCodecUTF8.cpp: + (WebCore::TextCodecUTF8::decode): + +2011-02-15 MORITA Hajime <morrita@google.com> + + Unreviewed build fix. + + * page/EditorClient.h: Changed GrammarDetail forward declaration from class to struct. + +2011-01-26 MORITA Hajime <morrita@google.com> + + Reviewed by Ryosuke Niwa. + + Refactoring: Extract TextCheckerClient from EditorClient + https://bugs.webkit.org/show_bug.cgi?id=53213 + + Created new abstract class TextCheckerClient. The class has + spellcheck related API which is split. + This is the first step for sharing spell-checking codebase + between ports. A standalone TextCheckerClient implementation + should be done in future changes. + + No new tests. No behavioral change. + + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * accessibility/mac/AccessibilityObjectWrapper.mm: + (AXAttributeStringSetSpelling): + * editing/Editor.cpp: Replacing some client() call with textChecker(). + (WebCore::Editor::textChecker): Added. + (WebCore::Editor::ignoreSpelling): + (WebCore::Editor::learnSpelling): + (WebCore::Editor::isSelectionMisspelled): + (WebCore::Editor::guessesForMisspelledSelection): + (WebCore::Editor::markMisspellingsAfterTypingToWord): + (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): + (WebCore::Editor::correctionPanelTimerFired): + * editing/Editor.h: + * editing/SpellChecker.cpp: + (WebCore::SpellChecker::SpellChecker): + * editing/TextCheckingHelper.cpp: Replacing some client() call with textChecker(). + (WebCore::TextCheckingHelper::findFirstMisspelling): + (WebCore::TextCheckingHelper::findFirstMisspellingOrBadGrammar): + (WebCore::TextCheckingHelper::findFirstBadGrammar): + (WebCore::TextCheckingHelper::guessesForMisspelledOrUngrammaticalRange): + * loader/EmptyClients.h: Added EmptyTextCheckerClient. + (WebCore::EmptyTextCheckerClient::ignoreWordInSpellDocument): + (WebCore::EmptyTextCheckerClient::learnWord): + (WebCore::EmptyTextCheckerClient::checkSpellingOfString): + (WebCore::EmptyTextCheckerClient::getAutoCorrectSuggestionForMisspelledWord): + (WebCore::EmptyTextCheckerClient::checkGrammarOfString): + (WebCore::EmptyTextCheckerClient::checkTextOfParagraph): + (WebCore::EmptyTextCheckerClient::getGuessesForWord): + (WebCore::EmptyTextCheckerClient::requestCheckingOfString): + (WebCore::EmptyEditorClient::textChecker): + * page/EditorClient.h: Extracted TextCheckerClient. + * page/Page.h: + * platform/text/TextCheckerClient.h: Added. + (WebCore::TextCheckerClient::~TextCheckerClient): + +2011-02-07 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Adam Barth. + + Add EditorClient callbacks to override isDOMPasteAllowed and javaScriptCanAccessClipboard + https://bugs.webkit.org/show_bug.cgi?id=52417 + + Added two callback functions, canCopyCut and canPaste to EditorClient. These functions + returns true iff the current frame should be able to copy/cut and paste respectively. + They take the default value determined by isDOMPasteAllowed and javaScriptCanAccessClipboard. + + These callbacks allows embedders to decide whether or not copy/cut/paste should be enabled + per frame and thus per origin rather than per page. + + No new tests are added since this is a WebKit/WebCore interface change. + + * editing/EditorCommand.cpp: + (WebCore::supportedCopyCut): Calls canCopyCut. + (WebCore::supportedPaste): Calls canPaste. + * loader/EmptyClients.h: + (WebCore::EmptyEditorClient::canCopyCut): Added. + (WebCore::EmptyEditorClient::canPaste): Added. + * page/EditorClient.h: + +2011-02-14 Jeremy Orlow <jorlow@chromium.org> + + efl build fix + + * CMakeLists.txt: + +2011-02-11 Jeremy Orlow <jorlow@chromium.org> + + Reviewed by Nate Chapin. + + Finish up implementing the new event model in IndexedDB + https://bugs.webkit.org/show_bug.cgi?id=54331 + + We shouldn't have our own event subclasses. Instead, we + should just fire Event's with the proper type and bubble + settings. All the attributes on the events before should + just be on the request. IDBRequest should throw if they're + accessed before the success event fires. + + * WebCore.gypi: + * bindings/generic/RuntimeEnabledFeatures.h: + * bindings/js/JSEventCustom.cpp: + (WebCore::toJS): + * bindings/v8/custom/V8EventCustom.cpp: + (WebCore::toV8): + * dom/Event.cpp: + * dom/Event.h: + * page/DOMWindow.idl: + * storage/IDBAbortEvent.h: Removed. + * storage/IDBCompleteEvent.cpp: Removed. + * storage/IDBCompleteEvent.h: Removed. + * storage/IDBDatabase.cpp: + (WebCore::IDBDatabase::~IDBDatabase): + * storage/IDBDatabaseException.h: + * storage/IDBDatabaseException.idl: + * storage/IDBErrorEvent.cpp: Removed. + * storage/IDBErrorEvent.h: Removed. + * storage/IDBErrorEvent.idl: Removed. + * storage/IDBEvent.h: Removed. + * storage/IDBEvent.idl: Removed. + * storage/IDBEventDispatcher.cpp: + (WebCore::IDBEventDispatcher::dispatch): + * storage/IDBRequest.cpp: + (WebCore::IDBRequest::IDBRequest): + (WebCore::IDBRequest::result): + (WebCore::IDBRequest::errorCode): + (WebCore::IDBRequest::webkitErrorMessage): + (WebCore::IDBRequest::source): + (WebCore::IDBRequest::transaction): + (WebCore::IDBRequest::readyState): + (WebCore::IDBRequest::resetReadyState): + (WebCore::IDBRequest::onError): + (WebCore::createSuccessEvent): + (WebCore::IDBRequest::onSuccess): + (WebCore::IDBRequest::dispatchEvent): + * storage/IDBRequest.h: + * storage/IDBRequest.idl: + * storage/IDBSuccessEvent.cpp: Removed. + * storage/IDBSuccessEvent.h: Removed. + * storage/IDBSuccessEvent.idl: Removed. + * storage/IDBTransaction.cpp: + (WebCore::IDBTransaction::onAbort): + (WebCore::IDBTransaction::onComplete): + (WebCore::IDBTransaction::dispatchEvent): + +2011-02-14 Enrica Casucci <enrica@apple.com> + + Copy/paste from a WebKit window to a TextEdit window loses fonts. + <rdar://problem/8623090> + https://bugs.webkit.org/show_bug.cgi?id=54416 + + Reviewed by Dan Bernstein. + + We don't have the complete solution that fixes this problem for WebKit2 yet. + This patch fixes the regression in WebKit. + + * platform/mac/PasteboardMac.mm: + (WebCore::Pasteboard::writeSelection): For WebKit2 use only plain text, + for WebKit use the original API to create the NSAttributedString. + +2011-02-14 Levi Weintraub <leviw@chromium.org> + + Reviewed by Alexey Proskuryakov. + + Strikethrough disappears when posting a message on odnoklassniki.ru + https://bugs.webkit.org/show_bug.cgi?id=53475 + + Changing the behavior of the strikethrough execCommand when styleWithCSS + is false. We formerly created <s> tags, which was different than both IE + and FF and caused problems with some rich text editors that would strip + out unexpected tags such as <s>. + + Test: editing/execCommand/strikethrough-uses-strike-tag.html + + * editing/ApplyStyleCommand.cpp: + (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded): + +2011-02-14 Pratik Solanki <psolanki@apple.com> + + Remove dead code in FormDataStreamCFNet.cpp + https://bugs.webkit.org/show_bug.cgi?id=54401 + + Reviewed by Darin Adler. + + The static functions in this file are no longer reachable. We added a conditional branch to + use new CFNetwork functions in r30329 and later made that code path permanent in r41517 + which made these functions unreachable. + + * platform/network/cf/FormDataStreamCFNet.cpp: + +2011-02-14 Andreas Kling <kling@webkit.org> + + Reviewed by Darin Adler. + + GraphicsContext: Add clip(IntRect) overload for Qt + https://bugs.webkit.org/show_bug.cgi?id=54365 + + Qt has special code paths for clipping to integer rectangles. + Add a GraphicsContext::clip() overload to allow us to take + advantage of the optimized code. + + * platform/graphics/GraphicsContext.cpp: + (WebCore::GraphicsContext::clip): + * platform/graphics/GraphicsContext.h: + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContext::clip): + +2011-02-14 Darin Adler <darin@apple.com> + + Reviewed by Alexey Proskuryakov. + + Add built-in decoder for UTF-8 for improved performance + https://bugs.webkit.org/show_bug.cgi?id=53898 + + Covered by existing tests; not adding new tests at this time. + + This patch now handles errors in the same way the existing codecs do, + and so passes our tests. The first version failed some tests because + of incorrect error handling. The second version was missing one line + of code that made it decode incomplete sequences at the end of the + buffer twice. + + * platform/text/TextCodecICU.cpp: + (WebCore::create): Renamed from newTextCodecICU, made a static member + function, and added a call to adoptPtr. + (WebCore::TextCodecICU::registerEncodingNames): Renamed from + registerExtendedEncodingNames since this class is no longer used for + base codecs. Removed aliases for UTF-8; now handled by TextCodecUTF8. + (WebCore::TextCodecICU::registerCodecs): Renamed. + (WebCore::fallbackForGBK): Renamed to conform to our current style. + + * platform/text/TextCodecICU.h: Updated for above changes. Changed + indentation. Made most functions private, including virtual function + overrides. Marked ICUConverterWrapper noncopyable. + + * platform/text/TextCodecUTF8.cpp: + (WebCore::TextCodecUTF8::registerEncodingNames): Added the UTF-8 aliases + that were formerly added by TextCodecICU. + (WebCore::nonASCIISequenceLength): Fixed bug where this would return 4 for + bytes F5-FF instead of failing. + (WebCore::decodeNonASCIISequence): Tweaked coding style. + (WebCore::appendCharacter): Added. Makes it easier to share code between + the partial-character handling and main loop. + (WebCore::TextCodecUTF8::decode): Fixed buffer size computation for case + where there is a partial sequence. Fixed partial sequence handling so that + goto is no longer needed, since compilers sometimes make poor code when + goto is involved. Added a loop for partial sequences since we consume only + one byte when a partial sequence is invalid. Fixed logic in main decoding + loop so goto is not needed. Used early-exit style in both loops so the main + flow is not nested inside if statements. Added correct error handling for + flush when a partial sequence remains, which involved wrapping the function + in yet another loop. + + * platform/text/TextCodecUTF8.h: Made virtual function overrides private. + + * platform/text/TextEncodingRegistry.cpp: + (WebCore::buildBaseTextCodecMaps): Added calls to TextCodecUTF8. Removed + calls to TextCodecICU. Added FIXMEs for other codecs that no longer need + to be included here. + (WebCore::extendTextCodecMaps): Updated for the name change of the + TextCodecICU functions. + +2011-02-14 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Add basic parser for Content Security Policy + https://bugs.webkit.org/show_bug.cgi?id=54379 + + The parser in this patch is very basic. It just segments the CSP + header into directives. The exactly syntax will likely change a bit as + we discuss the details in public-web-security, but this parser will + allow us to make progress. + + Sadly, this patch does not contain any tests. That's because CSP + policies do not have any observable effects yet. Hopefully we'll get + enough sketched out in the next couple patches to begin writing tests. + + * page/ContentSecurityPolicy.cpp: + (WebCore::CSPDirective::CSPDirective): + (WebCore::CSPDirective::name): + (WebCore::CSPDirective::value): + (WebCore::ContentSecurityPolicy::~ContentSecurityPolicy): + (WebCore::ContentSecurityPolicy::didReceiveHeader): + (WebCore::ContentSecurityPolicy::parse): + * page/ContentSecurityPolicy.h: + +2011-02-14 Andrew Wason <rectalogic@rectalogic.com> + + Reviewed by Kenneth Russell. + + [Qt] WebKit fails to compile for Qt when WebGL enabled + https://bugs.webkit.org/show_bug.cgi?id=53431 + + No new tests. + + * WebCore.pro: + Add source and header files and include directory to Qt project. + * html/canvas/WebGLRenderingContext.cpp: + File uses 'emit' which is a Qt keyword - #undef emit. + * platform/graphics/gpu/qt: Added. + * platform/graphics/gpu/qt/DrawingBufferQt.cpp: Added. + Partial implementation of DrawingBuffer for Qt. + (WebCore::DrawingBuffer::DrawingBuffer): + (WebCore::DrawingBuffer::~DrawingBuffer): + (WebCore::DrawingBuffer::didReset): + (WebCore::DrawingBuffer::platformLayer): + (WebCore::DrawingBuffer::platformColorBuffer): + * platform/graphics/qt/Extensions3DQt.cpp: + Noop implementation for pure virtual methods added to Extensions3D.h + (WebCore::Extensions3DQt::blitFramebuffer): + (WebCore::Extensions3DQt::renderbufferStorageMultisample): + * platform/graphics/qt/Extensions3DQt.h: + Declare new methods added to Extensions3D.h + * platform/graphics/qt/GraphicsContext3DQt.cpp: + Remove method implementations no longer in GraphicsContext3D.h. + Change m_syntheticErrors to use unsigned int to match new + GC3Denum type. + (WebCore::GraphicsContext3D::create): + Change return type to match GraphicsContext3D.h + (WebCore::GraphicsContext3D::lineWidth): + Change argument type to GC3Dfloat to match GraphicsContext3D.h + (WebCore::GraphicsContext3D::getUniformLocation): + Change return type to GC3Dfloat to match GraphicsContext3D.h + (WebCore::GraphicsContext3D::getExtensions): + Need to call get() on OwnPtr. + (WebCore::GraphicsContext3D::getImageData): + Rename enum values to match declarations in GraphicsContext3D.h + +2011-02-14 Tony Chang <tony@chromium.org> + + Reviewed by Dimitri Glazkov. + + <select> elements don't honor border:0px in chromium-linux + https://bugs.webkit.org/show_bug.cgi?id=51152 + + No new tests, covered by existing pixel results (fast/forms/basic-selects.html + convers lots of cases). + + * css/themeChromiumLinux.css: + (select): + * platform/chromium/PlatformBridge.h: + * rendering/RenderThemeChromiumLinux.cpp: + (WebCore::RenderThemeChromiumLinux::paintButton): + (WebCore::RenderThemeChromiumLinux::paintMenuList): + match border logic in RenderThemeChromiumWin.cpp: + http://trac.webkit.org/browser/trunk/Source/WebCore/rendering/RenderThemeChromiumWin.cpp#L463 + +2011-02-14 Xiaomei Ji <xji@chromium.org> + + Reviewed by Dan Bernstein. + + Fix rendering of ISO-8859-8 when dir="rtl". + https://bugs.webkit.org/show_bug.cgi?id=52128 + + Test: fast/text/international/iso-8859-8.html + + * platform/text/BidiResolver.h: Add VisualDirectionOverride enum. + (WebCore::::createBidiRunsForLine): For lines with visual direction override, + create bidi runs without resolving bidi levels (one run per render object), + set bidi level as 0 or 1 depending on LTR or RTL override, + and reverse runs for RTL override. + * rendering/RenderBlockLineLayout.cpp: + (WebCore::RenderBlock::constructLine): Set inline box bidi level the same as + BidiRun's bidi level without special handling of VisualDirectionOverride. + (WebCore::RenderBlock::layoutInlineChildren): Pass in VisualDirectionOverride + to createBidiRunsForLine(). + +2011-02-14 Alexis Menard <alexis.menard@nokia.com> + + Reviewed by Andreas Kling. + + [Qt] Crash on application exit after constructing and destroying a QWebView twice + https://bugs.webkit.org/show_bug.cgi?id=54000 + + Check the value is valid before use it. + + * platform/qt/SharedTimerQt.cpp: + (WebCore::SharedTimerQt::~SharedTimerQt): + +2011-02-14 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: 304 Not Modified responses have a yellow icon in Web Inspector Resources panel + https://bugs.webkit.org/show_bug.cgi?id=33220 + + * inspector/front-end/ResourceHeadersView.js: + (WebInspector.ResourceHeadersView.prototype._refreshHTTPInformation): + +2011-02-14 Adrienne Walker <enne@google.com> + + Reviewed by James Robinson. + + [chromium] Modify LayerTilerChromium to use TilingData. + https://bugs.webkit.org/show_bug.cgi?id=54143 + + Most of the previous data in LayerTilerChromium is now calculated + from TilingData. TilingData was modified to allow for a dynamic + tile size and page size. LayerTilerChromium also gets its own + shader with a texture transform to handle drawing from a texture + that is larger than a tile. + + * platform/graphics/chromium/LayerChromium.h: + * platform/graphics/chromium/LayerRendererChromium.cpp: + (WebCore::LayerRendererChromium::LayerRendererChromium): + (WebCore::LayerRendererChromium::updateAndDrawRootLayer): + (WebCore::LayerRendererChromium::initializeSharedObjects): + (WebCore::LayerRendererChromium::cleanupSharedObjects): + * platform/graphics/chromium/LayerRendererChromium.h: + (WebCore::LayerRendererChromium::tilerSharedValues): + * platform/graphics/chromium/LayerTilerChromium.cpp: + (WebCore::LayerTilerChromium::create): + (WebCore::LayerTilerChromium::LayerTilerChromium): + (WebCore::LayerTilerChromium::setTileSize): + (WebCore::LayerTilerChromium::reset): + (WebCore::LayerTilerChromium::contentRectToTileIndices): + (WebCore::LayerTilerChromium::tileIndex): + (WebCore::LayerTilerChromium::tileContentRect): + (WebCore::LayerTilerChromium::tileLayerRect): + (WebCore::LayerTilerChromium::layerSize): + (WebCore::LayerTilerChromium::layerTileSize): + (WebCore::LayerTilerChromium::invalidateEntireLayer): + (WebCore::LayerTilerChromium::draw): + (WebCore::LayerTilerChromium::resizeLayer): + (WebCore::LayerTilerChromium::growLayerToContain): + (WebCore::LayerTilerChromium::drawTexturedQuad): + (WebCore::LayerTilerChromium::SharedValues::SharedValues): + (WebCore::LayerTilerChromium::SharedValues::~SharedValues): + * platform/graphics/chromium/LayerTilerChromium.h: + (WebCore::LayerTilerChromium::SharedValues::tilerShaderProgram): + (WebCore::LayerTilerChromium::SharedValues::shaderSamplerLocation): + (WebCore::LayerTilerChromium::SharedValues::shaderMatrixLocation): + (WebCore::LayerTilerChromium::SharedValues::shaderAlphaLocation): + (WebCore::LayerTilerChromium::SharedValues::shaderTexTransformLocation): + (WebCore::LayerTilerChromium::SharedValues::initialized): + * platform/graphics/gpu/TilingData.cpp: + (WebCore::computeNumTiles): + (WebCore::TilingData::TilingData): + (WebCore::TilingData::setTotalSize): + (WebCore::TilingData::setMaxTextureSize): + (WebCore::TilingData::tileSizeX): + (WebCore::TilingData::tileSizeY): + (WebCore::TilingData::textureOffset): + (WebCore::TilingData::recomputeNumTiles): + * platform/graphics/gpu/TilingData.h: + +2011-02-14 Andrey Adaikin <aandrey@google.com> + + Reviewed by Pavel Feldman. + + Web Inspector: [Text editor] First implementation of the editable TextViewer without optimization + https://bugs.webkit.org/show_bug.cgi?id=54388 + + * inspector/front-end/TextViewer.js: + (WebInspector.TextViewer.prototype.set readOnly): + (WebInspector.TextEditorChunkedPanel): + (WebInspector.TextEditorChunkedPanel.prototype._buildChunks): + (WebInspector.TextEditorChunkedPanel.prototype.makeLineAChunk): + (WebInspector.TextEditorChunkedPanel.prototype.beginDomUpdates): + (WebInspector.TextEditorChunkedPanel.prototype.endDomUpdates): + (WebInspector.TextEditorChunkedPanel.prototype._repaintAll): + (WebInspector.TextEditorGutterChunk.prototype.set expanded): + (WebInspector.TextEditorMainPanel): + (WebInspector.TextEditorMainPanel.prototype.set readOnly): + (WebInspector.TextEditorMainPanel.prototype._buildChunks): + (WebInspector.TextEditorMainPanel.prototype._highlightDataReady): + (WebInspector.TextEditorMainPanel.prototype._paintLine): + (WebInspector.TextEditorMainPanel.prototype.textChanged): + (WebInspector.TextEditorMainPanel.prototype._handleDOMUpdates.return): + (WebInspector.TextEditorMainPanel.prototype._handleDOMUpdates): + (WebInspector.TextEditorMainPanel.prototype._handleDOMSubtreeModified): + (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates): + (WebInspector.TextEditorMainPanel.prototype._collectLinesFromDiv): + (WebInspector.TextEditorMainChunk.prototype.addDecoration): + (WebInspector.TextEditorMainChunk.prototype.removeDecoration): + (WebInspector.TextEditorMainChunk.prototype.set expanded): + +2011-02-14 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: use call frame column to determine execution line in source frame. + https://bugs.webkit.org/show_bug.cgi?id=54001 + + - Make call frame line and column zero based + - Set execution line in source frame based on call frame line:column + - Determine currently hit breakpoint based on call frame line:column + + * bindings/js/JavaScriptCallFrame.cpp: + (WebCore::JavaScriptCallFrame::JavaScriptCallFrame): + * bindings/js/JavaScriptCallFrame.h: + (WebCore::JavaScriptCallFrame::create): + (WebCore::JavaScriptCallFrame::line): + (WebCore::JavaScriptCallFrame::column): + (WebCore::JavaScriptCallFrame::update): + * bindings/js/ScriptDebugServer.cpp: + (WebCore::ScriptDebugServer::createCallFrameAndPauseIfNeeded): + (WebCore::ScriptDebugServer::updateCallFrameAndPauseIfNeeded): + * bindings/v8/DebuggerScript.js: + (): + * inspector/front-end/BreakpointsSidebarPane.js: + (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._debuggerPaused): + * inspector/front-end/CallStackSidebarPane.js: + (WebInspector.CallStackSidebarPane.prototype.update): + * inspector/front-end/DebuggerModel.js: + (WebInspector.DebuggerModel.prototype.continueToLocation): + (WebInspector.DebuggerModel.prototype._pausedScript): + (WebInspector.DebuggerModel.prototype._breakpointForCallFrame): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel.prototype._debuggerPaused): + (WebInspector.ScriptsPanel.prototype._clearCurrentExecutionLine): + (WebInspector.ScriptsPanel.prototype._callFrameSelected): + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrame.prototype._setTextViewerDecorations): + (WebInspector.SourceFrame.prototype.setExecutionLocation): + (WebInspector.SourceFrame.prototype.clearExecutionLocation): + (WebInspector.SourceFrame.prototype._setExecutionLocation): + (WebInspector.SourceFrame.prototype._breakpointAdded): + (WebInspector.SourceFrame.prototype._continueToLine): + (WebInspector.SourceFrame.prototype._originalLocationToTextViewerLineNumber): + +2011-02-14 Christian Dywan <christian@lanedo.com> + + Reviewed by Gustavo Noronha Silva. + + Regression: Back, Forward, Reload hidden in context menu + https://bugs.webkit.org/show_bug.cgi?id=54393 + + * page/ContextMenuController.cpp: Always show Back, Forward, + Reload and Stop context menu items for the GTK+ port. + +2011-02-14 Johnny Ding <jnd@chromium.org> + + Reviewed by Andreas Kling. + + Move the finiteness check into common code. + + Test covered by canvas/philip/tests/2d.path.isPointInPath.nonfinite.html + + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::isPointInPath): + +2011-02-14 Roland Steiner <rolandsteiner@chromium.org> + + Reviewed by Kent Tamura. + + Bug 54377 - Clean up RenderTextControlSingleLine::createSubtreeIfNeeded() + https://bugs.webkit.org/show_bug.cgi?id=54377 + + Rearranged the condition blocks, removed superfluous conditions: + .) if-statements where it's already clear that a search field is being generated + .) testing for spin-buttons on field types that can never have them. + + createInnerBlockStyle(): only search fields create an inner block, and + these can never have spin buttons. + + No new tests. (Refactoring - covered by existing tests) + + * rendering/RenderTextControlSingleLine.cpp: + (WebCore::RenderTextControlSingleLine::createInnerBlockStyle): + (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded): + +2011-02-10 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: refactoring, extract SourceMapping from SourceFrameContent. + https://bugs.webkit.org/show_bug.cgi?id=54195 + + Add SourceMapping interface with two implementations - IdenticalSourceMapping and SourceMappingForFormattedScript. + Rewrite SourceFrameContent based on SourceMapping. Make SourceFrame unaware of source mapping details. + + * inspector/front-end/ResourceView.js: + (WebInspector.SourceFrameContentProviderForResource.prototype.requestContent): + * inspector/front-end/ScriptFormatter.js: + (WebInspector.ScriptFormatter.locationToPosition): + (WebInspector.ScriptFormatter.positionToLocation): + (WebInspector.ScriptFormatter.prototype.formatContent.didFormatChunks): + (WebInspector.ScriptFormatter.prototype.formatContent): + (WebInspector.ScriptFormatter.prototype._splitContentIntoChunks): + (WebInspector.SourceMappingForFormattedScript): + (WebInspector.SourceMappingForFormattedScript.prototype.fromScriptLocation): + (WebInspector.SourceMappingForFormattedScript.prototype.toScriptLocation): + (WebInspector.SourceMappingForFormattedScript.prototype.originalPositionToFormattedLocation): + (WebInspector.SourceMappingForFormattedScript.prototype._convertPosition): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.SourceFrameContentProviderForScript.prototype.requestContent): + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrame.prototype._createTextViewer): + (WebInspector.SourceFrame.prototype._shouldDisplayBreakpoint): + (WebInspector.SourceFrame.prototype.setExecutionLine): + (WebInspector.SourceFrame.prototype.clearExecutionLine): + (WebInspector.SourceFrame.prototype._breakpointAdded): + (WebInspector.SourceFrame.prototype.formatSource.didFormat): + (WebInspector.SourceFrame.prototype.formatSource): + (WebInspector.SourceFrame.prototype._continueToLine): + (WebInspector.SourceFrame.prototype._setBreakpoint): + (WebInspector.SourceFrame.prototype._findBreakpoint): + (WebInspector.SourceFrameContentProvider.prototype.requestContent): + * inspector/front-end/SourceFrameContent.js: + (WebInspector.SourceFrameContent): + (WebInspector.SourceFrameContent.prototype.sourceFrameLineNumberToScriptLocation): + (WebInspector.SourceFrameContent.prototype.scriptLocationToSourceFrameLineNumber): + (WebInspector.SourceFrameContent.prototype._sourceIDForSourceFrameLineNumber): + (WebInspector.SourceMapping): + (WebInspector.SourceMapping.prototype.fromScriptLocation): + (WebInspector.SourceMapping.prototype.toScriptLocation): + (WebInspector.IdenticalSourceMapping): + (WebInspector.IdenticalSourceMapping.prototype.fromScriptLocation): + (WebInspector.IdenticalSourceMapping.prototype.toScriptLocation): + * inspector/front-end/utilities.js: + (String.prototype.lineEndings): + +2011-02-14 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: [REGRESSION introduced in r77950] Develop -> Start Debugging JavaScript does not open Web Inspector. + https://bugs.webkit.org/show_bug.cgi?id=54277 + + * inspector/InspectorAgent.cpp: + (WebCore::InspectorAgent::populateScriptObjects): + (WebCore::InspectorAgent::stopUserInitiatedProfiling): + (WebCore::InspectorAgent::showAndEnableDebugger): + (WebCore::InspectorAgent::showPanel): + * inspector/InspectorAgent.h: + * inspector/InspectorController.cpp: + (WebCore::InspectorController::showAndEnableDebugger): + (WebCore::InspectorController::stopUserInitiatedProfiling): + +2011-02-14 Kenichi Ishibashi <bashi@chromium.org> + + Reviewed by Andreas Kling. + + css style="max-width:none" works wrong + https://bugs.webkit.org/show_bug.cgi?id=53743 + + Fix a bug that "max-width:none" works wrong. + See also: http://trac.webkit.org/changeset/13462 + + Test: fast/css/max-width-none.html + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::applyProperty): For max-width of none, + set it to Length(undefinedLength, Fixed), which is the correct + value. + +2011-02-14 Antti Koivisto <antti@apple.com> + + Reviewed by Andreas Kling. + + REGRESSION (r77834): Assertion failing in svg/custom/use-multiple-on-nested-disallowed-font.svg + https://bugs.webkit.org/show_bug.cgi?id=54344 + + Intead of recomputing, just mark style selector dirty if it is invalidated in the middle of a style recalc. + + * dom/Document.cpp: + (WebCore::Document::Document): + (WebCore::Document::recalcStyle): + (WebCore::Document::recalcStyleSelector): + * dom/Document.h: + +2011-02-14 Naoki Takano <takano.naoki@gmail.com> + + Reviewed by Kent Tamura. + + [Chromium] Fix wrong popup position for RTL(again) + https://bugs.webkit.org/show_bug.cgi?id=54375 + + Fix right position bug introduce by https://bugs.webkit.org/show_bug.cgi?id=53567, because the previous fix was correct for the current behaviour, but not good for http://crbug.com/60427. To calculate the correct right offset value and apply to the position, change WebCore::PopupContainer::layout() to return right offset value and use the returned value to calculate position. + + No new tests. However we can check manually with select_dropdown_box_alignment.html, autofill_alignment.html, select_alignment.html, select_dropdown_box_alignment.html, autofill-popup-width-and-item-direction.html + + * platform/chromium/PopupMenuChromium.cpp: + (WebCore::PopupContainer::layoutAndCalculateWidgetRect): Change the input parameter to take popupInitialCoordinate again. And calculate correct right position with returned right offset from layoutAndGetRightOffset(). + (WebCore::PopupContainer::showPopup): Change the passing parameter to layoutAndCalculateWidgetRect(). + (WebCore::PopupContainer::layoutAndGetRightOffset): Change the name from layout() and to return rightOffset value. + (WebCore::PopupContainer::refresh): Change the passing parameter to layoutAndCalculateWidgetRect(). + * platform/chromium/PopupMenuChromium.h: Change the function name and parameters. + +2011-02-14 Alejandro G. Castro <alex@igalia.com> + + Unreviewed, rolling out r78451. + http://trac.webkit.org/changeset/78451 + https://bugs.webkit.org/show_bug.cgi?id=53898 + + It is causing crashes in some bots + + * platform/text/TextCodecICU.cpp: + (WebCore::newTextCodecICU): + (WebCore::TextCodecICU::registerBaseEncodingNames): + (WebCore::TextCodecICU::registerBaseCodecs): + (WebCore::TextCodecICU::registerExtendedEncodingNames): + (WebCore::TextCodecICU::registerExtendedCodecs): + (WebCore::ErrorCallbackSetter::~ErrorCallbackSetter): + (WebCore::getGbkEscape): + (WebCore::urlEscapedEntityCallback): + (WebCore::gbkCallbackEscape): + (WebCore::gbkUrlEscapedEntityCallack): + (WebCore::gbkCallbackSubstitute): + * platform/text/TextCodecICU.h: + (WebCore::ICUConverterWrapper::ICUConverterWrapper): + * platform/text/TextCodecUTF8.cpp: + (WebCore::TextCodecUTF8::registerEncodingNames): + (WebCore::nonASCIISequenceLength): + (WebCore::decodeNonASCIISequence): + (WebCore::TextCodecUTF8::decode): + * platform/text/TextCodecUTF8.h: + * platform/text/TextEncodingRegistry.cpp: + (WebCore::buildBaseTextCodecMaps): + (WebCore::extendTextCodecMaps): + +2011-02-13 Antti Koivisto <antti@apple.com> + + Reviewed by Dan Bernstein. + + https://bugs.webkit.org/show_bug.cgi?id=54376 + Make sorting of matched rules faster + + - use std::sort + - cache specificity, it is slow to compute + - inline compare function + + * css/CSSStyleSelector.cpp: + (WebCore::RuleData::specificity): + (WebCore::CSSStyleSelector::matchRules): + (WebCore::compareRules): + (WebCore::CSSStyleSelector::sortMatchedRules): + (WebCore::RuleData::RuleData): + (WebCore::CSSStyleSelector::matchPageRules): + * css/CSSStyleSelector.h: + +2011-02-12 Darin Adler <darin@apple.com> + + Reviewed by Alexey Proskuryakov. + + Add built-in decoder for UTF-8 for improved performance + https://bugs.webkit.org/show_bug.cgi?id=53898 + + Covered by existing tests; not adding new tests at this time. + + This patch now handles errors in the same way the existing codecs do, + and so passes our tests. The previous version failed some tests because + of incorrect error handling. + + * platform/text/TextCodecICU.cpp: + (WebCore::create): Renamed from newTextCodecICU, made a static member + function, and added a call to adoptPtr. + (WebCore::TextCodecICU::registerEncodingNames): Renamed from + registerExtendedEncodingNames since this class is no longer used for + base codecs. Removed aliases for UTF-8; now handled by TextCodecUTF8. + (WebCore::TextCodecICU::registerCodecs): Renamed. + (WebCore::fallbackForGBK): Renamed to conform to our current style. + + * platform/text/TextCodecICU.h: Updated for above changes. Changed + indentation. Made most functions private, including virtual function + overrides. Marked ICUConverterWrapper noncopyable. + + * platform/text/TextCodecUTF8.cpp: + (WebCore::TextCodecUTF8::registerEncodingNames): Added the UTF-8 aliases + that were formerly added by TextCodecICU. + (WebCore::nonASCIISequenceLength): Fixed bug where this would return 4 for + bytes F5-FF instead of failing. + (WebCore::decodeNonASCIISequence): Tweaked coding style. + (WebCore::appendCharacter): Added. Makes it easier to share code between + the partial-character handling and main loop. + (WebCore::TextCodecUTF8::decode): Fixed buffer size computation for case + where there is a partial sequence. Fixed partial sequence handling so that + goto is no longer needed, since compilers sometimes make poor code when + goto is involved. Added a loop for partial sequences since we consume only + one byte when a partial sequence is invalid. Fixed logic in main decoding + loop so goto is not needed. Used early-exit style in both loops so the main + flow is not nested inside if statements. Added correct error handling for + flush when a partial sequence remains, which involved wrapping the function + in yet another loop. + + * platform/text/TextCodecUTF8.h: Made virtual function overrides private. + + * platform/text/TextEncodingRegistry.cpp: + (WebCore::buildBaseTextCodecMaps): Added calls to TextCodecUTF8. Removed + calls to TextCodecICU. Added FIXMEs for other codecs that no longer need + to be included here. + (WebCore::extendTextCodecMaps): Updated for the name change of the + TextCodecICU functions. + +2011-02-13 Mark Rowe <mrowe@apple.com> + + Reviewed by Maciej Stachowiak. + + <rdar://problem/8995490> WebCoreAuthenticationClientAsChallengeSender doesn't implement some necessary methods. + + * platform/network/mac/AuthenticationMac.mm: + (-[WebCoreAuthenticationClientAsChallengeSender performDefaultHandlingForAuthenticationChallenge:]): + (-[WebCoreAuthenticationClientAsChallengeSender rejectProtectionSpaceAndContinueWithChallenge:]): + +2011-02-13 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Andreas Kling. + + Repeating gradients drawn incorrectly + https://bugs.webkit.org/show_bug.cgi?id=53502 + + The 'forward-fill' logic for repeating gradients used the wrong + starting stop index (0 rather than the original first index), which + resulted in incorrect gradients if backwards-fill had already been + applied. + + Test: fast/gradients/css3-repeating-end-fill.html + + * css/CSSGradientValue.cpp: + (WebCore::CSSGradientValue::addStops): + +2011-02-13 Benjamin Poulain <benjamin.poulain@nokia.com> + + Reviewed by Andreas Kling. + + Unused variable result in RenderBlock::addOverflowFromFloats() + https://bugs.webkit.org/show_bug.cgi?id=54363 + + Remove the unused variable. + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::addOverflowFromFloats): + +2011-02-13 Cameron Zwarich <zwarich@apple.com> + + Reviewed by Anders Carlsson. + + WebCore fails to build with Clang's -Woverloaded-virtual + https://bugs.webkit.org/show_bug.cgi?id=54367 + + * loader/PingLoader.h: + (WebCore::PingLoader::didReceiveData): Change the method signature to match the signature + in the base class. + +2011-02-13 Nico Weber <thakis@chromium.org> + + Reviewed by Anders Carlsson. + + RenderBR::width() tries but fails to override RenderText::width() + https://bugs.webkit.org/show_bug.cgi?id=54301 + + The superclass method's signature changed, e.g. in + http://trac.webkit.org/changeset/57215, but the subclass was not + updated. + + * rendering/RenderBR.h: + (WebCore::RenderBR::width): + +2011-02-13 Andreas Kling <kling@webkit.org> + + Reviewed by Dirk Schulze. + + Canvas: 2d.fillStyle.parse.system.html fails + https://bugs.webkit.org/show_bug.cgi?id=39168 + + Based on previous work by Julien Chaffraix <jchaffraix@codeaurora.org> + and Jan Erik Hanssen <jhanssen@sencha.com> + + * css/CSSParser.cpp: + (WebCore::CSSParser::parseColor): Changed the function to better match our + early return policy. Also we now return false when we don't parse the color. + This is needed for createFromString to fallback to using parseSystemColor. + + (WebCore::CSSParser::parseSystemColor): Made use of the RenderTheme to get + the system colors. + + * css/CSSParser.h: Added the new parseSystemColor method. + + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::setStrokeColor): Pass the document to createFromString. + (WebCore::CanvasRenderingContext2D::setFillColor): Ditto. + + * html/canvas/CanvasStyle.cpp: + (WebCore::parseColor): + (WebCore::parseColorOrCurrentColor): + (WebCore::CanvasStyle::createFromString): Try to parse the color using CSSParser::parseColor + and fall back to parseSystemColor if it did not work. + + * html/canvas/CanvasStyle.h: Added the new Document* parameter to createFromString. + +2011-02-13 Jeremy Moskovich <jeremy@chromium.org> + + Reviewed by Adam Barth. + + Add a compile-time option to completely disable WebArchive support. + https://bugs.webkit.org/show_bug.cgi?id=52712 + + Add an ENABLE(WEB_ARCHIVE) compile-time setting and use it for all WebArchive code. + + ArchiveResource and ArchiveResourceCollection are notably still compiled in. They are used + in Safari for functionality such as "Save Image As" and Image copy & paste independent of + WebArchive support. + + Ports Affected: + WebArchive support is currently enabled for all ports that define PLATFORM(CF) apart from Qt. + This patch preserves this behavior except that it also disables support in the Chromium port. + + No behavior changes so no new tests. + + * WebCore.gyp/WebCore.gyp: Don't compile LegacyWebArchive.cpp and friends. + * WebCore.pro: Don't compile ArchiveFactory.cpp in Qt port. + * loader/DocumentLoader.cpp: Surround WebArchive code with #ifdef. + (WebCore::DocumentLoader::commitLoad): + (WebCore::DocumentLoader::setupForReplaceByMIMEType): + (WebCore::DocumentLoader::archiveResourceForURL): + * loader/DocumentLoader.h: + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::loadURLIntoChildFrame): + (WebCore::FrameLoader::stopAllLoaders): + (WebCore::FrameLoader::finishedLoadingDocument): + * loader/FrameLoader.h: + * loader/ResourceLoader.cpp: + (WebCore::ResourceLoader::start): + * loader/archive/ArchiveFactory.cpp: Remove #ifdef since feature is now enabled/disabled wholesale. + (WebCore::archiveMIMETypes): + * page/Settings.cpp: + * page/Settings.h: + * platform/MIMETypeRegistry.cpp: + (WebCore::initializeSupportedNonImageMimeTypes): + +2011-02-13 Aparna Nandyal <aparna.nand@wipro.com> + + Reviewed by Andreas Kling. + + [Qt] QtWebKit does not properly handle D&D of a percent-encoded URL. + https://bugs.webkit.org/show_bug.cgi?id=53320 + + The encoding that was done is corrected in the fix. + Replaced the KURL encoding function with QUrl API. + + * platform/qt/DragDataQt.cpp: + (WebCore::DragData::asURL): + +2011-02-13 Leo Yang <leo.yang.c@gmail.com> + + Reviewed by Andreas Kling. + + Unnecessary call of containingBlock() in RenderBoxModelObject::relativePositionOffsetX() + https://bugs.webkit.org/show_bug.cgi?id=54351 + + We were calling containingBlock() twice if the left is not auto. We only need to call it + once because we can use 'cb' variable in the following line. + + No functionality change, no new tests. + + * rendering/RenderBoxModelObject.cpp: + (WebCore::RenderBoxModelObject::relativePositionOffsetX): + +2011-02-13 Jarred Nicholls <jarred@sencha.com> + + Reviewed by Simon Fraser. + + getComputedStyle returns wrong value for margin-right + https://bugs.webkit.org/show_bug.cgi?id=13343 + + Matching IE, Firefox, and Opera behavior by returning the computed margin + values as specified, rather than the used/auto values (calculated via RenderBox). + Also CSS 2.1+ compliant by returning margin percentage as specified, if applicable. + Note: Firefox and Opera return calculated fixed lengths for percentage margins, IE + returns the specified percentage. + + Tests: fast/css/getComputedStyle/getComputedStyle-margin-auto.html + fast/css/getComputedStyle/getComputedStyle-margin-length.html + fast/css/getComputedStyle/getComputedStyle-margin-percentage.html + + * css/CSSComputedStyleDeclaration.cpp: + (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): + +2011-02-13 Adam Barth <abarth@webkit.org> + + Reviewed by Sam Weinig. + + crypto.getRandomValues should throw TYPE_MISMATCH_ERR + https://bugs.webkit.org/show_bug.cgi?id=54346 + + As requested by Sam. + + * page/Crypto.cpp: + (WebCore::Crypto::getRandomValues): + +2011-02-13 Alexey Proskuryakov <ap@apple.com> + + Reviewed by Dan Bernstein. + + https://bugs.webkit.org/show_bug.cgi?id=54349 + Inline some accessors in PrintContext + + No change in behavior, so no tests. + + * WebCore.exp.in: + * page/PrintContext.cpp: + * page/PrintContext.h: + (WebCore::PrintContext::pageCount): + (WebCore::PrintContext::pageRect): + Inline pageCount() and pageRect() to match pageRects(). + +2011-02-13 Sam Weinig <sam@webkit.org> + + Roll r78424 [Extra scrolling required when scrolling with a scroll wheel (Mighty Mouse)] back + in with fixes to make it work with render layers. + + * platform/mac/ScrollAnimatorMac.h: + * platform/mac/ScrollAnimatorMac.mm: + (WebCore::ScrollAnimatorMac::scrollToOffsetWithoutAnimation): + (WebCore::ScrollAnimatorMac::adjustScrollXPositionIfNecessary): + (WebCore::ScrollAnimatorMac::adjustScrollYPositionIfNecessary): + (WebCore::ScrollAnimatorMac::adjustScrollPositionIfNecessary): + (WebCore::ScrollAnimatorMac::immediateScrollToPoint): + (WebCore::ScrollAnimatorMac::immediateScrollByDeltaX): + (WebCore::ScrollAnimatorMac::immediateScrollByDeltaY): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::RenderLayer): + (WebCore::RenderLayer::contentsSize): + (WebCore::RenderLayer::visibleHeight): + (WebCore::RenderLayer::visibleWidth): + (WebCore::RenderLayer::updateScrollInfoAfterLayout): + * rendering/RenderLayer.h: + * rendering/RenderListBox.cpp: + (WebCore::RenderListBox::visibleHeight): + (WebCore::RenderListBox::visibleWidth): + * rendering/RenderListBox.h: + +2011-02-13 Sam Weinig <sam@webkit.org> + + Reviewed by Dan Bernstein. + + Some Scrollbar functions assume an attached ScrollableArea but can be called without one + https://bugs.webkit.org/show_bug.cgi?id=54262 + + Make sure that all calls to the scrollable area are null checked. + + * platform/Scrollbar.cpp: + (WebCore::Scrollbar::autoscrollPressedPart): + (WebCore::Scrollbar::moveThumb): + (WebCore::Scrollbar::mouseMoved): + +2011-02-13 Sam Weinig <sam@webkit.org> + + Roll out r78424. It broke a bunch of tests. + + * platform/mac/ScrollAnimatorMac.h: + * platform/mac/ScrollAnimatorMac.mm: + (WebCore::ScrollAnimatorMac::scrollToOffsetWithoutAnimation): + (WebCore::ScrollAnimatorMac::immediateScrollToPoint): + (WebCore::ScrollAnimatorMac::immediateScrollByDeltaX): + (WebCore::ScrollAnimatorMac::immediateScrollByDeltaY): + * rendering/RenderLayer.cpp: + * rendering/RenderLayer.h: + (WebCore::RenderLayer::contentsSize): + * rendering/RenderListBox.cpp: + * rendering/RenderListBox.h: + +2011-02-12 Sam Weinig <sam@webkit.org> + + Reviewed by Dan Bernstein. + + WK2: Extra scrolling required when scrolling with a scroll wheel (Mighty Mouse) + <rdar://problem/8984760> + + When going down the smooth scroll path, constrained scrolls (such as those from a + Mighty Mouse) were being correctly constrained at the ScrollView level, but the + duplicate values being stored by the animator were not being constrained correctly. + + In order to implement the constraint at this level, more of the ScrollableArea's API + needed to be filled in for RenderLayer and RenderListBox. + + * platform/mac/ScrollAnimatorMac.h: + * platform/mac/ScrollAnimatorMac.mm: + (WebCore::ScrollAnimatorMac::scrollToOffsetWithoutAnimation): Call immediateScrollToPoint to stay + consistent and get the desired behavior. + + (WebCore::ScrollAnimatorMac::adjustScrollXPositionIfNecessary): + (WebCore::ScrollAnimatorMac::adjustScrollYPositionIfNecessary): + (WebCore::ScrollAnimatorMac::adjustScrollPositionIfNecessary): + (WebCore::ScrollAnimatorMac::immediateScrollToPoint): + (WebCore::ScrollAnimatorMac::immediateScrollByDeltaX): + (WebCore::ScrollAnimatorMac::immediateScrollByDeltaY): + Ensure that the scroll animators view of the current scroll position is the + same as the scrollable areas by correctly clamping the value. + + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::contentsSize): Correct implementation + to use the scroll size, not the visible size. + (WebCore::RenderLayer::visibleHeight): + (WebCore::RenderLayer::visibleWidth): + * rendering/RenderLayer.h: + * rendering/RenderListBox.cpp: + (WebCore::RenderListBox::visibleHeight): + (WebCore::RenderListBox::visibleWidth): + * rendering/RenderListBox.h: + Add implementations for visibleHeight/visibleWidth. + +2011-02-12 Adam Barth <abarth@webkit.org> + + Reviewed by Sam Weinig. + + crypto.getRandomValues should support all integer array types + https://bugs.webkit.org/show_bug.cgi?id=54342 + + As discussed on whatwg, we should support all the integer array types. + + Test: security/crypto-random-values-types.html + + * page/Crypto.cpp: + (WebCore::Crypto::getRandomValues): + +2011-02-12 Adam Barth <abarth@webkit.org> + + Reviewed by Mark Rowe. + + Use /dev/urandom as the OSRandomSource on OS(DARWIN) + https://bugs.webkit.org/show_bug.cgi?id=54279 + + Update the ifdef. OS(UNIX) includes OS(DARWIN), so this change is + should be a NOP. + + * config.h: + +2011-02-11 Zhenyao Mo <zmo@google.com> + + Reviewed by Kenneth Russell. + + [chromium] Allow turning off multisampling through web preference settings + https://bugs.webkit.org/show_bug.cgi?id=54321 + + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::create): Disable multisampling in WebGL if web reference says so. + * page/Settings.cpp: Add a flag for multisampling preference. + (WebCore::Settings::Settings): + (WebCore::Settings::setOpenGLMultisamplingEnabled): + * page/Settings.h: Ditto. + (WebCore::Settings::openGLMultisamplingEnabled): + +2011-02-12 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Tony Chang. + + Deploy EditingStyle in applyBlockStyle and applyInlineStyle + https://bugs.webkit.org/show_bug.cgi?id=53911 + + Deployed EditingStyle in ApplyStyleCommand::applyBlockStyle and ApplyStyleCommand::applyInlineStyle. + Extracted EditingStyle::extractAndRemoveTextDirection from applyInlineStyle. + Also added propertiesToInclude to the argument list of EditingStyle's constructor that takes Node* + so that splitAncestorsWithUnicodeBidi can call EditingStyle::textDirection to obtain the text direction. + + No new tests are added since this is a refactoring. + + * editing/ApplyStyleCommand.cpp: + (WebCore::ApplyStyleCommand::doApply): Passes EditingStyle* to applyBlockStyle and applyInlineStyle. + (WebCore::ApplyStyleCommand::applyBlockStyle): Takes EditingStyle*. + (WebCore::ApplyStyleCommand::splitAncestorsWithUnicodeBidi): Changed the type of allowedDirection + from int to WritingDirection. Uses EditingStyle's textDirection to obtain the writing direction. + (WebCore::ApplyStyleCommand::applyInlineStyle): Takes EditingStyle*. + (WebCore::ApplyStyleCommand::removeInlineStyleFromElement): Allows style to be null; exit early instead. + (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement): Asserts that style is not null. + (WebCore::ApplyStyleCommand::removeInlineStyle): Allows style to be null. + * editing/ApplyStyleCommand.h: Includes WritingDirection.h; prototype changes. + * editing/EditingStyle.cpp: + (WebCore::EditingStyle::EditingStyle): Added PropertiesToInclude to the argument. + (WebCore::EditingStyle::init): Supports PropertiesToInclude. + (WebCore::EditingStyle::extractAndRemoveTextDirection): Extracted from applyInlineStyle. + * editing/EditingStyle.h: + (WebCore::EditingStyle::create): Supports PropertiesToInclude. + +2011-02-12 Jochen Eisinger <jochen@chromium.org> + + Reviewed by Jeremy Orlow. + + Implement IDBObjectStore::clear + https://bugs.webkit.org/show_bug.cgi?id=54193 + + Test: storage/indexeddb/objectstore-clear.html + + * storage/IDBObjectStore.cpp: + (WebCore::IDBObjectStore::clear): + * storage/IDBObjectStore.h: + * storage/IDBObjectStore.idl: + * storage/IDBObjectStoreBackendImpl.cpp: + (WebCore::IDBObjectStoreBackendImpl::clear): + (WebCore::doDelete): + (WebCore::IDBObjectStoreBackendImpl::clearInternal): + * storage/IDBObjectStoreBackendImpl.h: + * storage/IDBObjectStoreBackendInterface.h: + +2011-02-12 Adam Barth <abarth@webkit.org> + + Another attempt to fix the EFL build. Looks like we're missing one + more file. + + * CMakeLists.txt: + +2011-02-12 Adam Barth <abarth@webkit.org> + + Attempt to fix the EFL build. Apparently the CMake build had no + concept of ArrayBuffers. + + * CMakeLists.txt: + +2011-02-12 Ryosuke Niwa <rniwa@webkit.org> + + Unreviewed build fix. + + * dom/Range.cpp: + (WebCore::lengthOfContentsInNode): Replaced static const unsigned LengthOfContentsInNode. + (WebCore::Range::processContents): + (WebCore::Range::processContentsBetweenOffsets): + +2011-02-12 Adam Barth <abarth@webkit.org> + + CPP files belong in SOURCES not in HEADERS. There are more errors like + this for other disabled features, but I'm not fixing them in this + patch. + + * WebCore.pro: + +2011-02-12 Adam Barth <abarth@webkit.org> + + Apparently lines in .pro files need to be \-terminated. + + * WebCore.pro: + +2011-02-11 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Darin Adler. + + Extract a function to process contents for one node from Range::processContents + https://bugs.webkit.org/show_bug.cgi?id=54282 + + Extracted Range::processContentsBetweenOffsets, which process contents of a node + between two offsets. This function is used for the simple case where the start + and the end containers are of the same node, and to process start and end containers + in the complex case. + + When the function takes a non-null fragment (simple case), it appends the processed + contents to the fragment; character data and processing instruction's contents are copied + between the offsets, and descendants are copied for node of other types (not node itself). + + When the fragment is null (complex case), the function copies contents of character data, + processing instruction, and node of other types (including node itself). + + No new tests are added since this is a refactoring. + + * dom/Range.cpp: + (WebCore::highestAncestorUnderCommonRoot): Added. + (WebCore::Range::processContents): Calls highestAncestorUnderCommonRoot and + processContentsBetweenOffsets. + (WebCore::Range::processContentsBetweenOffsets): Added. + * dom/Range.h: + +2011-02-12 Adam Barth <abarth@webkit.org> + + Attempt to fix the Qt Windows build. + + * WebCore.pro: + +2011-02-12 Adam Barth <abarth@webkit.org> + + Reviewed by Kenneth Russell. + + Enable ArrayBuffers by default + https://bugs.webkit.org/show_bug.cgi?id=54310 + + As discussed on webkit-dev, ArrayBuffers are used by a bunch of + different APIs, implemented by Firefox, and appear to be stable. + Keeping them conditional is a large mantainance burden than it's worth. + + * DerivedSources.cpp: + * WebCore.vcproj/WebCore.vcproj: + * bindings/generic/RuntimeEnabledFeatures.h: + (WebCore::RuntimeEnabledFeatures::setWebGLEnabled): + * bindings/js/JSArrayBufferCustom.cpp: + * bindings/js/JSBindingsAllInOne.cpp: + * bindings/js/JSDOMWindowCustom.cpp: + * bindings/js/JSDataViewCustom.cpp: + * bindings/js/JSFloat32ArrayCustom.cpp: + * bindings/js/JSInt16ArrayCustom.cpp: + * bindings/js/JSInt32ArrayCustom.cpp: + * bindings/js/JSInt8ArrayCustom.cpp: + * bindings/js/JSUint16ArrayCustom.cpp: + * bindings/js/JSUint32ArrayCustom.cpp: + * bindings/js/JSUint8ArrayCustom.cpp: + * bindings/v8/custom/V8ArrayBufferCustom.cpp: + * bindings/v8/custom/V8ArrayBufferViewCustom.h: + * bindings/v8/custom/V8DataViewCustom.cpp: + * bindings/v8/custom/V8Float32ArrayCustom.cpp: + * bindings/v8/custom/V8Int16ArrayCustom.cpp: + * bindings/v8/custom/V8Int32ArrayCustom.cpp: + * bindings/v8/custom/V8Int8ArrayCustom.cpp: + * bindings/v8/custom/V8Uint16ArrayCustom.cpp: + * bindings/v8/custom/V8Uint32ArrayCustom.cpp: + * bindings/v8/custom/V8Uint8ArrayCustom.cpp: + * html/canvas/ArrayBuffer.cpp: + * html/canvas/ArrayBuffer.idl: + * html/canvas/ArrayBufferView.cpp: + * html/canvas/ArrayBufferView.idl: + * html/canvas/DataView.cpp: + * html/canvas/DataView.idl: + * html/canvas/Float32Array.cpp: + * html/canvas/Float32Array.idl: + * html/canvas/Int16Array.cpp: + * html/canvas/Int16Array.idl: + * html/canvas/Int32Array.cpp: + * html/canvas/Int32Array.idl: + * html/canvas/Int8Array.cpp: + * html/canvas/Int8Array.idl: + * html/canvas/Uint16Array.cpp: + * html/canvas/Uint16Array.idl: + * html/canvas/Uint32Array.cpp: + * html/canvas/Uint32Array.idl: + * html/canvas/Uint8Array.cpp: + * html/canvas/Uint8Array.idl: + * page/Crypto.cpp: + (WebCore::Crypto::getRandomValues): + * page/Crypto.h: + * page/Crypto.idl: + * page/DOMWindow.idl: + * workers/WorkerContext.idl: + +2011-02-11 Yael Aharon <yael.aharon@nokia.com> + + Reviewed by Darin Adler. + + Background image positioning on RTL text + https://bugs.webkit.org/show_bug.cgi?id=32862 + + When the style of InlineFlowBox is right-to-left, the strips should be rearranged in reverse order. + + Tests: fast/inline/inline-box-background-long-image.html + fast/inline/inline-box-background-repeat-x.html + fast/inline/inline-box-background-repeat-y.html + fast/inline/inline-box-background.html + + * rendering/InlineFlowBox.cpp: + (WebCore::InlineFlowBox::paintFillLayer): + +2011-02-11 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r78044. + http://trac.webkit.org/changeset/78044 + https://bugs.webkit.org/show_bug.cgi?id=54318 + + Broke Safari extensions (Requested by eseidel on #webkit). + + * platform/KURL.cpp: + (WebCore::KURL::parse): + +2011-02-11 Beth Dakin <bdakin@apple.com> + + Reviewed by Sam Weinig. + + Fix for <rdar://problem/8976456> Scrollbars for overflow + areas never appear for WKScrollbarPainter scrollers + + Call ScrollableArea::didAddVerticalScrollbar() and + ScrollableArea::willRemoveVerticalScrollbar() when + appropriate for RenderLayers. + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::setHasHorizontalScrollbar): + (WebCore::RenderLayer::setHasVerticalScrollbar): + +2011-02-11 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + KURL should remove default port numbers when cannonicalizing urls (to match every other browser) + https://bugs.webkit.org/show_bug.cgi?id=54090 + + * platform/KURL.cpp: + (WebCore::isDefaultPortForScheme): + (WebCore::KURL::parse): + +2011-02-11 Mike Reed <reed@google.com> + + Reviewed by James Robinson. + + Need makeContextCurrent() called in prepareForSoftwareDraw(), in the case that skia's backend + is the gpu. This matches the pattern in GraphicsContext3DOpenGL.cpp + + No new tests. All existing canvas layouttests exercise this code path + + * platform/graphics/skia/PlatformContextSkia.cpp: + (WebCore::PlatformContextSkia::prepareForSoftwareDraw): + +2011-02-11 Adam Klein <adamk@chromium.org> + + Reviewed by Darin Adler. + + Check for empty scheme before accessing URLSchemeMaps in SchemeRegistry + https://bugs.webkit.org/show_bug.cgi?id=54304 + + This avoids potential crashes in HashMap, as WTF's StringHash doesn't + accept empty Strings. + + * platform/SchemeRegistry.cpp: + (WebCore::SchemeRegistry::shouldTreatURLSchemeAsNoAccess): + (WebCore::SchemeRegistry::shouldTreatURLSchemeAsSecure): + (WebCore::SchemeRegistry::shouldLoadURLSchemeAsEmptyDocument): + +2011-02-11 Adam Klein <adamk@chromium.org> + + Reviewed by Darin Fisher. + + [fileapi] Add support for filesystem: URI handling + https://bugs.webkit.org/show_bug.cgi?id=53529 + + There are two major parts to this patch: one is to add an + implementation of Entry.toURI to the FileSystem API. + The other is to implement security origin checking for this + new scheme. + + All changes are guarded by the FILE_SYSTEM feature. An accompanying + Chromium change, to support loading of filesystem: URIs, has recently + been submitted as Chromium r74082. + + Spec: + http://dev.w3.org/2009/dap/file-system/file-dir-sys.html#methods-2 + Proposed URI format, and discussion of security origin issues: + http://lists.w3.org/Archives/Public/public-webapps/2011JanMar/0218.html + + Tests: fast/filesystem/directory-entry-to-uri.html + fast/filesystem/file-entry-to-uri.html + fast/filesystem/filesystem-uri-origin.html + http/tests/security/filesystem-iframe-from-remote.html + + * fileapi/Entry.cpp: + (WebCore::Entry::toURI): + * fileapi/Entry.h: + * fileapi/Entry.idl: + - Added toURI method to the IDL, omitting the MIME type argument + specified in the spec as it will soon be removed. + * page/SecurityOrigin.cpp: + (WebCore::SecurityOrigin::SecurityOrigin): + - crack the filesystem: URI to get at the origin of the site + (WebCore::SecurityOrigin::canDisplay): + - canDisplay for filesystem: URIs is equivalent to canRequest + * platform/AsyncFileSystem.cpp: + (WebCore::AsyncFileSystem::create): + (WebCore::AsyncFileSystem::openFileSystem): + * platform/AsyncFileSystem.h: + (WebCore::AsyncFileSystem::type): + - Exposed filesystem type to allow toURI to use it as part of the + path. + (WebCore::AsyncFileSystem::AsyncFileSystem): + * platform/SchemeRegistry.cpp: + (WebCore::canDisplayOnlyIfCanRequestSchemes): + (WebCore::SchemeRegistry::canDisplayOnlyIfCanRequest): + (WebCore::SchemeRegistry::registerAsCanDisplayOnlyIfCanRequest): + - Generalized canDisplayOnlyIfCanRequest as it applies to both + filesystem: and blob: URIs. + * platform/SchemeRegistry.h: + +2011-02-11 Beth Dakin <bdakin@apple.com> + + Reviewed by Darin Adler. + + Fix for <rdar://problem/8961061> CrashTracer: [USER] + 1 crash at com.apple.WebCore: + -[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:] + 62 + + Must check for null _animator. + * platform/mac/ScrollAnimatorMac.mm: + (-[ScrollbarPainterControllerDelegate scrollAnimatorDestroyed]): + (-[ScrollbarPainterControllerDelegate contentAreaRectForScrollerImpPair:]): + (-[ScrollbarPainterControllerDelegate inLiveResizeForScrollerImpPair:]): + (-[ScrollbarPainterControllerDelegate mouseLocationInContentAreaForScrollerImpPair:]): + (-[ScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]): + (-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]): + (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac): + +2011-02-11 Chris Rogers <crogers@google.com> + + Reviewed by Kenneth Russell. + + Throw exception when AudioContext's createBuffer() fails to properly decode audio file data + https://bugs.webkit.org/show_bug.cgi?id=54158 + + No new tests since audio API is not yet implemented. + + * bindings/js/JSAudioContextCustom.cpp: + (WebCore::JSAudioContextConstructor::constructJSAudioContext): + (WebCore::JSAudioContext::createBuffer): + * bindings/v8/custom/V8AudioContextCustom.cpp: + (WebCore::V8AudioContext::createBufferCallback): + * platform/audio/chromium/AudioBusChromium.cpp: + (WebCore::createBusFromInMemoryAudioFile): + * webaudio/AudioContext.idl: + +2011-02-11 Mike Reed <reed@google.com> + + Reviewed by James Robinson. + + Fix toDataURL() to use device->readPixels() if need be, rather than always dereferencing + the address returned by getPixels() (as the device may not be backed by a CPU bitmap) + https://bugs.webkit.org/show_bug.cgi?id=54224 + + No new tests. Existing canvas tests exercise this... + fast/canvas/script-tests/canvas-createPattern-fillRect-shadow.html + + * platform/graphics/skia/ImageBufferSkia.cpp: + (WebCore::ImageBuffer::toDataURL): + +2011-02-11 Andrew Wason <rectalogic@rectalogic.com> + + Reviewed by David Levin. + + Files missing ENABLE_VIDEO #ifdef + https://bugs.webkit.org/show_bug.cgi?id=53390 + + No new tests. + + * html/canvas/WebGLRenderingContext.cpp: + * html/canvas/WebGLRenderingContext.h: + * html/canvas/WebGLRenderingContext.idl: + Wrap methods and declarations that use HTMLVideoElement + with #if ENABLE(VIDEO). + +2011-02-11 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r78331. + http://trac.webkit.org/changeset/78331 + https://bugs.webkit.org/show_bug.cgi?id=54295 + + This patch broke 11 tests in GTK bots (Requested by svillar on + #webkit). + + * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: + (webkit_accessible_get_name): + (webkit_accessible_detach): + +2011-02-11 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk> + + Reviewed by Xan Lopez. + + [GDOM] Video element needs proper wrapping + https://bugs.webkit.org/show_bug.cgi?id=54231 + + Use the same strategy as the one used for the audio tag to wrap + video as well. No layout tests because this only adds API. + + * bindings/gobject/GNUmakefile.am: + * bindings/gobject/WebKitHTMLElementWrapperFactory.cpp: + (WebKit::createVideoWrapper): + (WebKit::createHTMLElementWrapper): + +2011-02-11 Dirk Schulze <krit@webkit.org> + + Reviewed by Andreas Kling. + + SVGStyledElement::fillAttributeToPropertyTypeMap triggers a clang warning (-Woverloaded-virtual) + https://bugs.webkit.org/show_bug.cgi?id=54259 + + Renamed fillAttributeToPropertyTypeMap with passed map to fillPassedAttributeToPropertyTypeMap to + avoid overloading a virtual function. + + No change of functionality. Just fixing a build warning, so no new tests. + + * svg/SVGAElement.cpp: + (WebCore::SVGAElement::fillAttributeToPropertyTypeMap): + * svg/SVGAltGlyphElement.cpp: + (WebCore::SVGAltGlyphElement::fillAttributeToPropertyTypeMap): + * svg/SVGCircleElement.cpp: + (WebCore::SVGCircleElement::fillAttributeToPropertyTypeMap): + * svg/SVGClipPathElement.cpp: + (WebCore::SVGClipPathElement::fillAttributeToPropertyTypeMap): + * svg/SVGEllipseElement.cpp: + (WebCore::SVGEllipseElement::fillAttributeToPropertyTypeMap): + * svg/SVGFEBlendElement.cpp: + (WebCore::SVGFEBlendElement::fillAttributeToPropertyTypeMap): + * svg/SVGFEColorMatrixElement.cpp: + (WebCore::SVGFEColorMatrixElement::fillAttributeToPropertyTypeMap): + * svg/SVGFEComponentTransferElement.cpp: + (WebCore::SVGFEComponentTransferElement::fillAttributeToPropertyTypeMap): + * svg/SVGFECompositeElement.cpp: + (WebCore::SVGFECompositeElement::fillAttributeToPropertyTypeMap): + * svg/SVGFEConvolveMatrixElement.cpp: + (WebCore::SVGFEConvolveMatrixElement::fillAttributeToPropertyTypeMap): + * svg/SVGFEDiffuseLightingElement.cpp: + (WebCore::SVGFEDiffuseLightingElement::fillAttributeToPropertyTypeMap): + * svg/SVGFEDisplacementMapElement.cpp: + (WebCore::SVGFEDisplacementMapElement::fillAttributeToPropertyTypeMap): + * svg/SVGFEFloodElement.cpp: + (WebCore::SVGFEFloodElement::fillAttributeToPropertyTypeMap): + * svg/SVGFEGaussianBlurElement.cpp: + (WebCore::SVGFEGaussianBlurElement::fillAttributeToPropertyTypeMap): + * svg/SVGFEImageElement.cpp: + (WebCore::SVGFEImageElement::fillAttributeToPropertyTypeMap): + * svg/SVGFEMergeElement.cpp: + (WebCore::SVGFEMergeElement::fillAttributeToPropertyTypeMap): + * svg/SVGFEMorphologyElement.cpp: + (WebCore::SVGFEMorphologyElement::fillAttributeToPropertyTypeMap): + * svg/SVGFEOffsetElement.cpp: + (WebCore::SVGFEOffsetElement::fillAttributeToPropertyTypeMap): + * svg/SVGFESpecularLightingElement.cpp: + (WebCore::SVGFESpecularLightingElement::fillAttributeToPropertyTypeMap): + * svg/SVGFETileElement.cpp: + (WebCore::SVGFETileElement::fillAttributeToPropertyTypeMap): + * svg/SVGFETurbulenceElement.cpp: + (WebCore::SVGFETurbulenceElement::fillAttributeToPropertyTypeMap): + * svg/SVGFilterElement.cpp: + (WebCore::SVGFilterElement::fillAttributeToPropertyTypeMap): + * svg/SVGFilterPrimitiveStandardAttributes.cpp: + (WebCore::SVGFilterPrimitiveStandardAttributes::fillPassedAttributeToPropertyTypeMap): + * svg/SVGFilterPrimitiveStandardAttributes.h: + * svg/SVGFontElement.cpp: + (WebCore::SVGFontElement::fillAttributeToPropertyTypeMap): + * svg/SVGForeignObjectElement.cpp: + (WebCore::SVGForeignObjectElement::fillAttributeToPropertyTypeMap): + * svg/SVGGlyphElement.cpp: + (WebCore::SVGGlyphElement::fillAttributeToPropertyTypeMap): + * svg/SVGGradientElement.cpp: + (WebCore::SVGGradientElement::fillPassedAttributeToPropertyTypeMap): + * svg/SVGGradientElement.h: + * svg/SVGImageElement.cpp: + (WebCore::SVGImageElement::fillAttributeToPropertyTypeMap): + * svg/SVGLineElement.cpp: + (WebCore::SVGLineElement::fillAttributeToPropertyTypeMap): + * svg/SVGLinearGradientElement.cpp: + (WebCore::SVGLinearGradientElement::fillAttributeToPropertyTypeMap): + * svg/SVGMarkerElement.cpp: + (WebCore::SVGMarkerElement::fillAttributeToPropertyTypeMap): + * svg/SVGMaskElement.cpp: + (WebCore::SVGMaskElement::fillAttributeToPropertyTypeMap): + * svg/SVGMissingGlyphElement.cpp: + (WebCore::SVGMissingGlyphElement::fillAttributeToPropertyTypeMap): + * svg/SVGPathElement.cpp: + (WebCore::SVGPathElement::fillAttributeToPropertyTypeMap): + * svg/SVGPatternElement.cpp: + (WebCore::SVGPatternElement::fillAttributeToPropertyTypeMap): + * svg/SVGPolyElement.cpp: + (WebCore::SVGPolyElement::fillAttributeToPropertyTypeMap): + * svg/SVGRadialGradientElement.cpp: + (WebCore::SVGRadialGradientElement::fillAttributeToPropertyTypeMap): + * svg/SVGRectElement.cpp: + (WebCore::SVGRectElement::fillAttributeToPropertyTypeMap): + * svg/SVGStopElement.cpp: + (WebCore::SVGStopElement::fillAttributeToPropertyTypeMap): + * svg/SVGStyledElement.cpp: + (WebCore::SVGStyledElement::fillPassedAttributeToPropertyTypeMap): + * svg/SVGStyledElement.h: + * svg/SVGStyledTransformableElement.cpp: + (WebCore::SVGStyledTransformableElement::fillPassedAttributeToPropertyTypeMap): + * svg/SVGStyledTransformableElement.h: + * svg/SVGSwitchElement.cpp: + (WebCore::SVGSwitchElement::fillAttributeToPropertyTypeMap): + * svg/SVGSymbolElement.cpp: + (WebCore::SVGSymbolElement::fillAttributeToPropertyTypeMap): + * svg/SVGTRefElement.cpp: + (WebCore::SVGTRefElement::fillAttributeToPropertyTypeMap): + * svg/SVGTSpanElement.cpp: + (WebCore::SVGTSpanElement::fillAttributeToPropertyTypeMap): + * svg/SVGTextContentElement.cpp: + (WebCore::SVGTextContentElement::fillPassedAttributeToPropertyTypeMap): + * svg/SVGTextContentElement.h: + * svg/SVGTextElement.cpp: + (WebCore::SVGTextElement::fillAttributeToPropertyTypeMap): + * svg/SVGTextPathElement.cpp: + (WebCore::SVGTextPathElement::fillAttributeToPropertyTypeMap): + * svg/SVGTextPositioningElement.cpp: + (WebCore::SVGTextPositioningElement::fillPassedAttributeToPropertyTypeMap): + * svg/SVGTextPositioningElement.h: + * svg/SVGTitleElement.cpp: + (WebCore::SVGTitleElement::fillAttributeToPropertyTypeMap): + * svg/SVGUseElement.cpp: + (WebCore::SVGUseElement::fillAttributeToPropertyTypeMap): + * svg/SVGViewElement.cpp: + (WebCore::SVGViewElement::fillAttributeToPropertyTypeMap): + +2011-02-11 Andrey Adaikin <aandrey@google.com> + + Reviewed by Pavel Feldman. + + Web Inspector: [REGRESSION] click on error message in console doesn't scroll into view + https://bugs.webkit.org/show_bug.cgi?id=54089 + + * inspector/front-end/Drawer.js: + (WebInspector.Drawer.prototype.show.animationFinished): + (WebInspector.Drawer.prototype.show): + (WebInspector.Drawer.prototype.hide): + (WebInspector.Drawer.prototype.resize): + (WebInspector.Drawer.prototype.immediatelyFinishAnimation): + (WebInspector.Drawer.prototype._cancelAnimationIfNeeded): + (WebInspector.Drawer.prototype._animateDrawerHeight.animationFinished): + (WebInspector.Drawer.prototype._animateDrawerHeight): + (WebInspector.Drawer.prototype._statusBarDragging): + * inspector/front-end/inspector.js: + (WebInspector.animateStyle): + (WebInspector.animateStyle.forceComplete): + (WebInspector.animateStyle.cancel): + (WebInspector.showSourceLine): + +2011-02-10 Nate Chapin <japhet@chromium.org> + + Reviewed by Adam Barth. + + Make DocumentWriter a member of DocumentLoader + instead of FrameLoader. + https://bugs.webkit.org/show_bug.cgi?id=50489 + + Refactor, no new tests. + + * bindings/ScriptControllerBase.cpp: + (WebCore::ScriptController::executeIfJavaScriptURL): + * dom/Document.cpp: + (WebCore::Document::Document): + (WebCore::Document::explicitClose): + (WebCore::Document::lastModified): + (WebCore::Document::initSecurityContext): + (WebCore::Document::updateURLForPushOrReplaceState): + * dom/Document.h: + (WebCore::Document::setDocumentLoader): + (WebCore::Document::loader): + * html/MediaDocument.cpp: + (WebCore::MediaDocument::replaceMediaElementTimerFired): + * html/PluginDocument.cpp: + (WebCore::PluginDocumentParser::createDocumentStructure): + * loader/DocumentLoader.cpp: + (WebCore::DocumentLoader::DocumentLoader): + (WebCore::DocumentLoader::finishedLoading): + (WebCore::DocumentLoader::commitData): + (WebCore::DocumentLoader::setupForReplaceByMIMEType): + (WebCore::DocumentLoader::setFrame): + * loader/DocumentLoader.h: + (WebCore::DocumentLoader::writer): + * loader/DocumentWriter.cpp: + (WebCore::DocumentWriter::begin): + * loader/DocumentWriter.h: + (WebCore::DocumentWriter::setFrame): + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::FrameLoader): + (WebCore::FrameLoader::init): + (WebCore::FrameLoader::clear): + (WebCore::FrameLoader::receivedFirstData): + (WebCore::FrameLoader::transitionToCommitted): + (WebCore::FrameLoader::open): + (WebCore::FrameLoader::finishedLoadingDocument): + (WebCore::FrameLoader::addExtraFieldsToRequest): + * loader/FrameLoader.h: + (WebCore::FrameLoader::notifier): + * svg/graphics/SVGImage.cpp: + (WebCore::SVGImage::dataChanged): + +2011-02-10 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: make InspectorAgent own sub-agents, align agent creation/deletion routines. + https://bugs.webkit.org/show_bug.cgi?id=54227 + + * dom/Document.cpp: + (WebCore::Document::finishedParsing): + * inspector/InspectorAgent.cpp: + (WebCore::InspectorAgent::restoreInspectorStateFromCookie): + (WebCore::InspectorAgent::setFrontend): + (WebCore::InspectorAgent::disconnectFrontend): + (WebCore::InspectorAgent::releaseFrontendLifetimeAgents): + (WebCore::InspectorAgent::didCommitLoad): + (WebCore::InspectorAgent::domContentLoadedEventFired): + (WebCore::InspectorAgent::loadEventFired): + (WebCore::InspectorAgent::startTimelineProfiler): + (WebCore::InspectorAgent::stopTimelineProfiler): + * inspector/InspectorAgent.h: + * inspector/InspectorCSSAgent.cpp: + * inspector/InspectorDOMAgent.cpp: + (WebCore::InspectorDOMAgent::InspectorDOMAgent): + (WebCore::InspectorDOMAgent::startListening): + (WebCore::InspectorDOMAgent::stopListening): + (WebCore::InspectorDOMAgent::mainDOMContentLoaded): + (WebCore::InspectorDOMAgent::loadEventFired): + * inspector/InspectorDOMAgent.h: + (WebCore::InspectorDOMAgent::create): + * inspector/InspectorDOMStorageAgent.cpp: + (WebCore::InspectorDOMStorageAgent::~InspectorDOMStorageAgent): + * inspector/InspectorDOMStorageAgent.h: + (WebCore::InspectorDOMStorageAgent::create): + * inspector/InspectorDOMStorageResource.h: + * inspector/InspectorDatabaseAgent.cpp: + (WebCore::InspectorDatabaseAgent::~InspectorDatabaseAgent): + (WebCore::InspectorDatabaseAgent::executeSQL): + (WebCore::InspectorDatabaseAgent::selectDatabase): + (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent): + * inspector/InspectorDatabaseAgent.h: + (WebCore::InspectorDatabaseAgent::FrontendProvider::create): + (WebCore::InspectorDatabaseAgent::FrontendProvider::~FrontendProvider): + (WebCore::InspectorDatabaseAgent::FrontendProvider::frontend): + (WebCore::InspectorDatabaseAgent::FrontendProvider::clearFrontend): + (WebCore::InspectorDatabaseAgent::FrontendProvider::FrontendProvider): + (WebCore::InspectorDatabaseAgent::create): + * inspector/InspectorDatabaseResource.cpp: + (WebCore::InspectorDatabaseResource::InspectorDatabaseResource): + (WebCore::InspectorDatabaseResource::bind): + * inspector/InspectorDatabaseResource.h: + * inspector/InspectorInstrumentation.cpp: + (WebCore::InspectorInstrumentation::domContentLoadedEventFiredImpl): + (WebCore::InspectorInstrumentation::loadEventFiredImpl): + * inspector/InspectorInstrumentation.h: + (WebCore::InspectorInstrumentation::domContentLoadedEventFired): + (WebCore::InspectorInstrumentation::loadEventFired): + * inspector/InspectorState.cpp: + (WebCore::InspectorState::InspectorState): + (WebCore::InspectorState::mute): + (WebCore::InspectorState::updateCookie): + * inspector/InspectorState.h: + (WebCore::InspectorState::~InspectorState): + * inspector/InspectorTimelineAgent.cpp: + (WebCore::InspectorTimelineAgent::restore): + (WebCore::InspectorTimelineAgent::~InspectorTimelineAgent): + (WebCore::InspectorTimelineAgent::didCommitLoad): + (WebCore::InspectorTimelineAgent::setFrontend): + (WebCore::InspectorTimelineAgent::InspectorTimelineAgent): + * inspector/InspectorTimelineAgent.h: + (WebCore::InspectorTimelineAgent::create): + * page/DOMWindow.cpp: + (WebCore::DOMWindow::dispatchLoadEvent): + +2011-02-11 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: command line API $0 regressed. + https://bugs.webkit.org/show_bug.cgi?id=54283 + + * inspector/InjectedScriptSource.js: + +2011-02-11 Janne Koskinen <janne.p.koskinen@digia.com> + + Reviewed by Andreas Kling. + + [Qt][S60] Vertical borders of buttons and frames are misaligned + https://bugs.webkit.org/show_bug.cgi?id=51169 + + Force anti-aliasing for lines and rects when using OpenVG backend on Symbian. + OpenVG cannot guarantee rendering to be on pixel in floating point co-ordinates + without anti-aliasing. Patch idea by Laszlo Agocs. + + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate): + +2011-02-11 Mario Sanchez Prada <msanchez@igalia.com> + + Reviewed by Xan Lopez. + + [GTK] events missing when a document is (re)loaded + https://bugs.webkit.org/show_bug.cgi?id=25831 + + Make sure webArea returns a proper name and that a signal + 'state-change::defunct' is emitted when detaching the wrapper. + + Test: platform/gtk/accessibility/document-reload-events.html + + * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: + (webkit_accessible_get_name): Returns the current document's title + as fallback mechanism for webArea objects. + (webkit_accessible_detach): Emit 'state-change::defunct' function + as soon as the wrapper is detached from the related core object. + +2011-02-11 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: command line's API inspect() is broken. + https://bugs.webkit.org/show_bug.cgi?id=54275 + + Test: inspector/command-line-api.html + + * inspector/InjectedScriptSource.js: + +2011-02-11 Adam Barth <abarth@webkit.org> + + Turns out window.crypto is supposed to be readonly. + + * page/DOMWindow.idl: + +2011-02-11 Adam Barth <abarth@webkit.org> + + Actually add Crypto.cpp to the Windows build. I'm terrible. + + * WebCore.vcproj/WebCore.vcproj: + +2011-02-11 Adam Barth <abarth@webkit.org> + + Attempt to fix the Windows build. Apparently we don't support + conditional attributes on functions. This patch makes the whole Crypto + interface conditional on ArrayBuffer support. + + * page/DOMWindow.idl: + * page/Crypto.cpp: + * page/Crypto.h: + * page/Crypto.idl: + +2011-02-10 Antti Koivisto <antti@apple.com> + + Reviewed by Dave Hyatt. + + Enable ancestor identifier filtering for tree building + https://bugs.webkit.org/show_bug.cgi?id=54241 + + Call CSSStyleSelector::push/popParent() during tree building too, fix up the parent + element stack as needed. + + This roughly halves the remaining time in style matching over a typical page load. + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::pushParentStackFrame): + (WebCore::CSSStyleSelector::popParentStackFrame): + (WebCore::CSSStyleSelector::pushParent): + (WebCore::CSSStyleSelector::popParent): + * css/CSSStyleSelector.h: + (WebCore::CSSStyleSelector::ParentStackFrame::ParentStackFrame): + * dom/Document.h: + (WebCore::Document::styleSelectorIfExists): + * dom/Element.cpp: + (WebCore::Element::beginParsingChildren): + (WebCore::Element::finishParsingChildren): + * dom/Element.h: + +2011-02-10 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + WebKit should have a cryptographic RNG + https://bugs.webkit.org/show_bug.cgi?id=22049 + + Add crypto.getRandomValues. Yes, all these diffs are required to + expose a single function to the DOM. + + Test: security/crypto-random-values.html + + * Android.mk: + * CMakeLists.txt: + * DerivedSources.cpp: + * DerivedSources.make: + * ForwardingHeaders/wtf/CryptographicallyRandomNumber.h: Added. + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pri: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSDOMWindowCustom.cpp: + * bindings/v8/custom/V8DOMWindowCustom.cpp: + * config.h: + * page/Crypto.cpp: Added. + (WebCore::Crypto::Crypto): + (WebCore::Crypto::getRandomValues): + * page/Crypto.h: Added. + (WebCore::Crypto::create): + * page/Crypto.idl: Added. + * page/DOMWindow.cpp: + (WebCore::DOMWindow::clear): + (WebCore::DOMWindow::crypto): + * page/DOMWindow.h: + (WebCore::DOMWindow::optionalCrypto): + * page/DOMWindow.idl: + +2011-02-11 Ryuan Choi <ryuan.choi@samsung.com> + + Unreviewed build fix. + + [GTK] Build break with 2.18.3 + https://bugs.webkit.org/show_bug.cgi?id=54057 + + * platform/gtk/ScrollbarThemeGtk2.cpp: Include GtkVersioning.h + +2011-02-11 Cosmin Truta <ctruta@chromium.org> + + Reviewed by Adam Barth. + + Templatize KURLGooglePrivate::init + https://bugs.webkit.org/show_bug.cgi?id=53749 + + No new tests. Refactoring. + + * platform/KURLGoogle.cpp: + (WebCore::KURLGooglePrivate::init): + * platform/KURLGooglePrivate.h: + +2011-02-10 Andy Estes <aestes@apple.com> + + Reviewed by Eric Seidel. + + Convert ContainerNode::firstElementChild() to a free function. + https://bugs.webkit.org/show_bug.cgi?id=54269 + + No new tests. No change in behavior. + + It seemed incorrect to have a method on ContainerNode that had the + concept of an Element but couldn't return an Element*, but a method on + Element could not be called by holders of ContainerNodes or other + non-Element ContainerNode subclasses. A free function can both return + an Element* and be called by anyone with a ContainerNode*. + + * dom/ContainerNode.h: + (WebCore::ContainerNode::lastChild): + (WebCore::Node::lastChild): + * dom/Document.cpp: + (WebCore::Document::cacheDocumentElement): + * dom/Element.cpp: + (WebCore::Element::firstElementChild): + * dom/Element.h: + (WebCore::firstElementChild): + * html/parser/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::FragmentParsingContext::finished): + +2011-02-10 Mads Ager <ager@chromium.org> + + Reviewed by Nate Chapin. + + [V8] Don't crash on exception getting event handler function + https://bugs.webkit.org/show_bug.cgi?id=54216 + + Check for exceptions when attempting to get the handleEvent property + of an event-handler object. + + Test: fast/dom/exception-getting-event-handler.html + + * bindings/v8/V8EventListener.cpp: + (WebCore::V8EventListener::getListenerFunction): + +2011-02-10 Naoki Takano <takano.naoki@gmail.com> + + Reviewed by James Robinson. + + [Chromium] Layout Test canvas/philip/tests/2d.composite.globalAlpha.fill.html with --accelerated-2d-canvas. + https://bugs.webkit.org/show_bug.cgi?id=53857 + + globalAlpha is not applied to fillPath() and fillRect(). + + Test: fast/canvas/2d.composite.globalAlpha.fillPath.html and canvas/philip/tests/2d.composite.globalAlpha.fill.html with --accelerated-2d-canvas. + + * platform/graphics/chromium/GLES2Canvas.cpp: + (WebCore::GLES2Canvas::State::applyAlpha): Append a new function to apply global alpha when fillRect() and fillPath() are called. + (WebCore::GLES2Canvas::fillRect): Global alpha is applied to m_fillColor. + (WebCore::GLES2Canvas::fillPath): Global alpha is applied to m_fillColor. + +2011-02-10 Andy Estes <aestes@apple.com> + + Reviewed by Adam Barth. + + Remove an unneeded argument from HTMLDocument::create(). + https://bugs.webkit.org/show_bug.cgi?id=54268 + + Now that HTMLTreeBuilder no longer uses a dummy HTMLDocument for + fragment parsing, there isn't a need to explicitly specify a baseURL + when constructing an HTMLDocument. We can remove the unneeded argument. + + Also fix some style issues in Document.h and HTMLDocument.h caught by + check-webkit-style. + + No new tests. No change in behavior. + + * dom/Document.cpp: + (WebCore::Document::Document): + * dom/Document.h: + * html/HTMLDocument.cpp: + (WebCore::HTMLDocument::HTMLDocument): + * html/HTMLDocument.h: + (WebCore::HTMLDocument::create): + +2011-02-10 Michael Saboff <msaboff@apple.com> + + Reviewed by Geoffrey Garen. + + Cached JavaScript Parser Data Being Left in Memory Cache + https://bugs.webkit.org/show_bug.cgi?id=54245 + + Added logic in CachedScript to clear SourceProviderCache data in + destroyDecodedData(). Added and changed CachedScript timeout to + act similar to CachedImage. Changed didAddClient to call super + class method instead of duplicating the logic in the derived + classes. + + * loader/cache/CachedImage.cpp: + (WebCore::CachedImage::didAddClient): + * loader/cache/CachedScript.cpp: + (WebCore::CachedScript::didAddClient): + (WebCore::CachedScript::allClientsRemoved): + (WebCore::CachedScript::script): + (WebCore::CachedScript::destroyDecodedData): + * loader/cache/CachedScript.h: + +2011-02-10 Cosmin Truta <ctruta@chromium.org> + + Reviewed by David Levin. + + Fix style in KURLGooglePrivate + https://bugs.webkit.org/show_bug.cgi?id=54228 + + Replace occurrences of NULL with 0, '\0' or null (as applicable), + to appease check-webkit-style. + + No new tests. This is a style fix. + + * platform/KURLGoogle.cpp: + * platform/KURLGooglePrivate.h: + +2011-02-10 Andy Estes <aestes@apple.com> + + Reviewed by Darin Adler. + + HTML5 TreeBuilder regressed a Peacekeeper DOM test by 40% + https://bugs.webkit.org/show_bug.cgi?id=48719 + + The HTML5 fragment parsing algorithm specifies that a new Document + should be created to serve as the temporary parent of fragment nodes + during parsing. Document creation is expensive and accounts for ~38% of + the Peacekeeper DOM performance regression. Avoid the cost of creating + a dummy document by using the already-created DocumentFragment as the + root node during fragment parsing. + + With this patch, the regression in Peacekeeper from Safari 5.0.3 to ToT + is ~24%. + + Test: fast/parser/fragment-parser-doctype.html + + * dom/ContainerNode.h: + (WebCore::ContainerNode::firstElementChild): Add a method that returns + the first element-typed child from a ContainerNode. + * dom/Document.cpp: + (WebCore::Document::cacheDocumentElement): Call + ContainerNode::firstElementChild() to retrieve and cache the document + element. + * html/parser/HTMLConstructionSite.cpp: + (WebCore::HTMLConstructionSite::HTMLConstructionSite): Initialize the + root ContainerNode. + (WebCore::HTMLConstructionSite::detach): Clear the reference to the + root ContainerNode. + (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML): + Attach the new element to the root ContainerNode. + (WebCore::HTMLConstructionSite::insertDoctype): Ditto. + (WebCore::HTMLConstructionSite::insertCommentOnDocument): Ditto. + * html/parser/HTMLConstructionSite.h: Store a pointer to a + ContainerNode that will be used as the root node for document parsing. + This node might or might not be the same as m_document. + * html/parser/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::HTMLTreeBuilder): Initialize the + HTMLConstructionSite with the correct root ContainerNode based on + whether or not we're parsing a fragment. + (WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext): + Remove m_dummyDocumentForFragmentParsing. + (WebCore::HTMLTreeBuilder::FragmentParsingContext::finished): If the + fragment has a context element, store only the children of the root + element (HTML5 Section 10.4, Step 7). + * html/parser/HTMLTreeBuilder.h: + +2011-02-10 Beth Dakin <bdakin@apple.com> + + Reviewed by Oliver Hunt. + + Speculative fix for <rdar://problem/8971107> CrashTracer: 6 crashes + in WebProcess at com.apple.AppKit: + -[NSAnimation(NSInternal) _advanceTimeWithTimer:] + 154 + + * platform/mac/ScrollAnimatorMac.mm: + (-[ScrollbarPartAnimation scrollAnimatorDestroyed]): + +2011-02-09 Jeremy Orlow <jorlow@chromium.org> + + Reviewed by Nate Chapin. + + IndexedDB event targets need to ensure their wrappers aren't garbage collected + https://bugs.webkit.org/show_bug.cgi?id=54144 + + hasActivityPending should return true as long as it's possible that we'll + fire more event listeners on our event targets. It is still possible for + user generated events to run into problems, but I'm not sure how to address + that yet (or how big of a deal it is). + + There's really no way to test this deterministically. Testing by hand makes + it seem like this patch works as expected though. + + * storage/IDBCursorBackendImpl.cpp: + * storage/IDBDatabase.cpp: + (WebCore::IDBDatabase::IDBDatabase): + (WebCore::IDBDatabase::~IDBDatabase): + (WebCore::IDBDatabase::hasPendingActivity): + (WebCore::IDBDatabase::stop): + * storage/IDBDatabase.h: + * storage/IDBRequest.cpp: + (WebCore::IDBRequest::IDBRequest): + (WebCore::IDBRequest::hasPendingActivity): + (WebCore::IDBRequest::dispatchEvent): + (WebCore::IDBRequest::enqueueEvent): + * storage/IDBRequest.h: + * storage/IDBTransaction.cpp: + (WebCore::IDBTransaction::finished): + (WebCore::IDBTransaction::hasPendingActivity): + (WebCore::IDBTransaction::dispatchEvent): + (WebCore::IDBTransaction::canSuspend): + (WebCore::IDBTransaction::contextDestroyed): + (WebCore::IDBTransaction::enqueueEvent): + * storage/IDBTransaction.h: + +2011-02-10 Ademar de Souza Reis Jr <ademar.reis@openbossa.org> + + Reviewed by Andreas Kling. + + [Qt] create pkg-config files for mingw + https://bugs.webkit.org/show_bug.cgi?id=54238 + + (mingw is mostly the same as unix) + + This change was applied in the Qt repository (qt/src/3rdparty/webkit), + so we should do the same here in QtWebKit. + + Patch by Mark Brand <mabrand@mabrand.nl>, reviewed (there) by + Oswald Buddenhagen <oswald.buddenhagen@nokia.com> + 45fe2dddc3a0677b9ec9fce09f07cd4129e37afa + + * WebCore.pro: + +2011-02-10 Andreas Kling <kling@webkit.org> + + Reviewed by Antti Koivisto. + + RenderStyle: Remove duplicate comparison of InheritedFlags::_text_transform + https://bugs.webkit.org/show_bug.cgi?id=54246 + + * rendering/style/RenderStyle.h: + +2011-02-10 Dirk Schulze <krit@webkit.org> + + Reviewed by Andreas Kling. + + SVG animation avoid unnecessary adjust for currentColor + https://bugs.webkit.org/show_bug.cgi?id=54243 + + At the moment we try to adjust every animation value for currentColor - independent of the animation type. + Since the value is a string and the target element may needs to get called by getElementById, this could + be an expensive and unnecessary operation. Also after we adjust for currentColor, we save the result back + as a string and parse it to Color afterwards again. + With the patch we just adjust an animation value, if we use color animation. The color won't get saved and + parsed as a string again. + + No change of functionality, no new tests. + + * svg/SVGAnimateElement.cpp: + (WebCore::adjustForCurrentColor): + (WebCore::SVGAnimateElement::calculateFromAndToValues): + (WebCore::SVGAnimateElement::calculateFromAndByValues): + * svg/SVGAnimationElement.cpp: + (WebCore::SVGAnimationElement::currentValuesForValuesAnimation): + (WebCore::SVGAnimationElement::startedActiveInterval): + +2011-02-10 Ademar de Souza Reis Jr <ademar.reis@openbossa.org> + + Reviewed by Andreas Kling. + + [Qt] Remove the use of deprecated qFindChildren() + https://bugs.webkit.org/show_bug.cgi?id=54232 + + This was applied on the Qt repository and affects QtWebKit there. + (13833beb641289c45faed337848d37280195aadc) + + The side effect of this change is that we won't be able to build + QtWebKit with MSVC 6, as it doesn't support member template functions + (not sure if that's possible today anyway). + + Original patch from Olivier Goffart <olivier.goffart@nokia.com>, with + review reported as being from the mailing list. + + The changes are result of the following commands: + + git grep -O"sed -i 's/qF\(indChildr*e*n*<[^>]*>\)(this,* */f\\1(/'" qFindChild + git grep -O"sed -i 's/qF\(indChildr*e*n*<[^>]*>\)(&\([^\(),]*\),* */\\2.f\\1(/'" qFindChild + git grep -O"sed -i 's/qF\(indChildr*e*n*<[^>]*>\)(\([^\(),]*()\),* */\\2->f\\1(/'" qFindChild + git grep -O"sed -i 's/qF\(indChildr*e*n*<[^>]*>\)(\([^\(),]*\):\([^\(),]*\),* */(\\2:\\3)->f\\1(/'" qFindChild + git grep -O"sed -i 's/qF\(indChildr*e*n*<[^>]*>\)(\([^\(),]*\),* */\\2->f\\1(/'" qFindChild + + * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: + (WebCore::MediaPlayerPrivatePhonon::MediaPlayerPrivatePhonon): + +2011-02-10 Ademar de Souza Reis Jr <ademar.reis@openbossa.org> + + Reviewed by Andreas Kling. + + [Qt] Rename build target from "embedded" to "qpa" + https://bugs.webkit.org/show_bug.cgi?id=54233 + + This flag is used by Qt's configure script to enable a QPA build + ("QPA is a window system agnostic implementation of Qt" -- + previously known as lighthouse). + + On the Qt repository, this was changed by two commits: + + 13a0b4935900093607f2b3b7688e1452d22770fd + (from embedded to embedded_lite) + + 9716e12e0f5590ebc23ad9fb7ba75c6a3c5aadab + (from embedded_lite to qpa) + + * WebCore.pro: + +2011-02-10 Kenneth Russell <kbr@google.com> + + Reviewed by James Robinson. + + Incorporate algorithm for processing paths into GPU-renderable triangle meshes + https://bugs.webkit.org/show_bug.cgi?id=45521 + + Adding an implementation of Loop and Blinn's GPU accelerated path + rendering algorithm from GPU Gems 3. This implementation pays + particular attention to the efficiency of the curve subdivision + phase needed for correct rendering. It utilizes the OpenGL utility + library tessellator for triangulation of the interior of the + shape. The regions handled by Loop and Blinn's algorithm are + handled by the local triangulator previously incorporated. + + No tests yet; pixel tests will eventually be used to verify this + algorithm and prevent regressions. + + * platform/graphics/gpu/LoopBlinnPathProcessor.cpp: Added. + (WebCore::LoopBlinnPathProcessorImplementation::Segment::Segment): + (WebCore::LoopBlinnPathProcessorImplementation::Segment::setup): + (WebCore::LoopBlinnPathProcessorImplementation::Segment::kind): + (WebCore::LoopBlinnPathProcessorImplementation::Segment::getPoint): + (WebCore::LoopBlinnPathProcessorImplementation::Segment::next): + (WebCore::LoopBlinnPathProcessorImplementation::Segment::prev): + (WebCore::LoopBlinnPathProcessorImplementation::Segment::setNext): + (WebCore::LoopBlinnPathProcessorImplementation::Segment::setPrev): + (WebCore::LoopBlinnPathProcessorImplementation::Segment::contour): + (WebCore::LoopBlinnPathProcessorImplementation::Segment::subdivide): + (WebCore::LoopBlinnPathProcessorImplementation::Segment::boundingBox): + (WebCore::LoopBlinnPathProcessorImplementation::Segment::numCrossingsForXRay): + (WebCore::LoopBlinnPathProcessorImplementation::Segment::numberOfTriangles): + (WebCore::LoopBlinnPathProcessorImplementation::Segment::getTriangle): + (WebCore::LoopBlinnPathProcessorImplementation::Segment::numberOfInteriorVertices): + (WebCore::LoopBlinnPathProcessorImplementation::Segment::getInteriorVertex): + (WebCore::LoopBlinnPathProcessorImplementation::Segment::markedForSubdivision): + (WebCore::LoopBlinnPathProcessorImplementation::Segment::setMarkedForSubdivision): + (WebCore::LoopBlinnPathProcessorImplementation::Segment::toString): + (WebCore::LoopBlinnPathProcessorImplementation::Segment::computeBoundingBox): + (WebCore::LoopBlinnPathProcessorImplementation::Contour::Contour): + (WebCore::LoopBlinnPathProcessorImplementation::Contour::add): + (WebCore::LoopBlinnPathProcessorImplementation::Contour::subdivide): + (WebCore::LoopBlinnPathProcessorImplementation::Contour::begin): + (WebCore::LoopBlinnPathProcessorImplementation::Contour::end): + (WebCore::LoopBlinnPathProcessorImplementation::Contour::isOrientedCounterClockwise): + (WebCore::LoopBlinnPathProcessorImplementation::Contour::setIsOrientedCounterClockwise): + (WebCore::LoopBlinnPathProcessorImplementation::Contour::boundingBox): + (WebCore::LoopBlinnPathProcessorImplementation::Contour::fillSide): + (WebCore::LoopBlinnPathProcessorImplementation::Contour::setFillSide): + (WebCore::LoopBlinnPathProcessorImplementation::Segment::triangulate): + (WebCore::LoopBlinnPathProcessor::LoopBlinnPathProcessor): + (WebCore::LoopBlinnPathProcessor::~LoopBlinnPathProcessor): + (WebCore::LoopBlinnPathProcessor::process): + (WebCore::LoopBlinnPathProcessor::buildContours): + (WebCore::LoopBlinnPathProcessor::allSegmentsOverlappingY): + (WebCore::LoopBlinnPathProcessor::determineSidesToFill): + (WebCore::LoopBlinnPathProcessor::determineOrientation): + (WebCore::SweepData::SweepEvent::SweepEvent): + (WebCore::SweepData::SweepEvent::setup): + (WebCore::SweepData::SweepEvent::x): + (WebCore::SweepData::SweepEvent::entry): + (WebCore::SweepData::SweepEvent::interval): + (WebCore::SweepData::SweepEvent::operator<): + (WebCore::SweepData::trianglesOverlap): + (WebCore::LoopBlinnPathProcessor::subdivideCurves): + (WebCore::LoopBlinnPathProcessor::conditionallySubdivide): + (WebCore::LoopBlinnPathProcessor::subdivideCurvesSlow): + (WebCore::TessellationState::vertexCallback): + (WebCore::TessellationState::combineCallback): + (WebCore::TessellationState::edgeFlagCallback): + (WebCore::LoopBlinnPathProcessor::tessellateInterior): + * platform/graphics/gpu/LoopBlinnPathProcessor.h: Added. + +2011-02-10 Ademar de Souza Reis Jr <ademar.reis@openbossa.org> + + Reviewed by Andreas Kling. + + [Qt] Remove the use of deprecated qVariant* + https://bugs.webkit.org/show_bug.cgi?id=54229 + + This was applied on the Qt repository and affects QtWebKit there. + (633f3f45e5420663cf4ceadea79e62fea44cd2eb) + + The side effect of this change is that we won't be able to build + QtWebKit with MSVC 6, as it doesn't support member template functions + (not sure if it's possible today anyway). + + Original patch from Olivier Goffart <olivier.goffart@nokia.com>, with + review reported as being from the mailing list. + + The changes are result of the following commands: + + git grep -O"sed -i 's/qVariantValue</qvariant_cast</'" qVariantValue + git grep -O"sed -i 's/qVariantSetValue(\([^&*\(),]*\), */\\1.setValue(/'" qVariantSetValue + git grep -O"sed -i 's/qVariantSetValue *<\([^>]*\)> *(\([^&*\(),]*\), */\\2.setValue<\\1>(/'" qVariantSetValue + git grep -O"sed -i 's/qVariantCanConvert *<\([^>]*\)> *(\([^&*\(),]*\))/\\2.canConvert<\\1>()/g'" qVariantCanConvert + git grep -O"sed -i 's/qVariantCanConvert *<\([^>]*\)> *(\([^&*\(),]*([^&*\(),]*)\))/\\2.canConvert<\\1>()/g'" qVariantCanConvert + git grep -O"sed -i 's/qVariantFromValue\( *[(<]\)/QVariant::fromValue\\1/'" qVariantFromValue + + * bridge/qt/qt_runtime.cpp: + (JSC::Bindings::convertValueToQVariant): + * platform/graphics/qt/MediaPlayerPrivateQt.cpp: + (WebCore::MediaPlayerPrivateQt::commitLoad): + +2011-02-10 Nico Weber <thakis@chromium.org> + + Reviewed by Darin Adler. + + Fix clang warning "WebCore::HTMLAreaElement::getRect' hides overloaded virtual function [-Woverloaded-virtual]" + https://bugs.webkit.org/show_bug.cgi?id=54221 + + The method name conflicts with ContainerNode::getRect() so rename it to + computeRect(). Rename getPath() to computePath() for consistency as + well. + + No intended functionality change, covered by existing tests. + + * accessibility/AccessibilityImageMapLink.cpp: + (WebCore::AccessibilityImageMapLink::elementRect): + * html/HTMLAreaElement.cpp: + (WebCore::HTMLAreaElement::computePath): + (WebCore::HTMLAreaElement::computeRect): + * html/HTMLAreaElement.h: + * page/SpatialNavigation.cpp: + (WebCore::virtualRectForAreaElementAndDirection): + * rendering/RenderImage.cpp: + (WebCore::RenderImage::paintFocusRing): + +2011-02-10 Alexis Menard <alexis.menard@nokia.com> + + Reviewed by Andreas Kling. + + [Qt] Default focus ring is too wide + https://bugs.webkit.org/show_bug.cgi?id=51854 + + We now respect the outline property and html.css defines the outline of the focus + ring to be 5px. This is propagated until GraphicsContext::drawFocusRing which uses + it as the pen size. We should ignore the size and keep a default one. I also + reverted the SolidLine to DotLine so that the selection looks nicer. Chromium Skia, + CG Win, Haiku, WinCE ports also ignore the width. + + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::drawFocusRingForPath): + (WebCore::GraphicsContext::drawFocusRing): + +2011-02-10 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Gustavo Noronha Silva. + + [Soup] ResourceHandleSoup does not ever call didSendData for file uploads + https://bugs.webkit.org/show_bug.cgi?id=52090 + + Call didSendData as body data is uploaded to the server. This is necessary + for XHR upload events to function properly. + + * platform/network/ResourceHandleInternal.h: + (WebCore::ResourceHandleInternal::ResourceHandleInternal): Add two new members. + One to track the total amount of body data and one to track the total amount of + body data sent so far. + * platform/network/soup/ResourceHandleSoup.cpp: + (WebCore::wroteBodyDataCallback): Added. + (WebCore::addFormElementsToSoupMessage): Split this out into a helper function. + Will now now sum the total amount of body data. + (WebCore::startHttp): Attach a wrote-body-data signal handler. + +2011-02-10 Bill Budge <bbudge@chromium.org> + + Reviewed by David Levin. + + Add fields to ResourceRequest and ResourceResponse in preparation for adding CORS support to AssociatedURLLoader. + https://bugs.webkit.org/show_bug.cgi?id=53925 + + * platform/network/chromium/ResourceRequest.cpp: + (WebCore::ResourceRequest::doPlatformCopyData): + (WebCore::ResourceRequest::doPlatformAdopt): + * platform/network/chromium/ResourceRequest.h: + (WebCore::ResourceRequest::ResourceRequest): + (WebCore::ResourceRequest::downloadToFile): + (WebCore::ResourceRequest::setDownloadToFile): + * platform/network/chromium/ResourceResponse.cpp: + (WebCore::ResourceResponse::doPlatformCopyData): + (WebCore::ResourceResponse::doPlatformAdopt): + * platform/network/chromium/ResourceResponse.h: + (WebCore::ResourceResponse::downloadFilePath): + (WebCore::ResourceResponse::setDownloadFilePath): + +2011-02-10 Dirk Schulze <krit@webkit.org> + + Reviewed by Nikolas Zimmermann. + + SVGAnimateElement needs information about the animated attribute type + https://bugs.webkit.org/show_bug.cgi?id=53442 + + For animations, we need to know the SVG property type for a XML attribute. A global static mapping between + attribute name and a type is not possible, since one attribute name can be bound to different property types: + x can be a SVGNumberList, a SVGNumber or a SVGLength. So we have to ask every target element, if it supports + the animated attribute and of which type it is. Just for CSS properties we can share an explicit mapping between + the name and the type. This is done in a static map in SVGStyledElement. All other mappings are stored in local static + HashMaps for all SVG elements with animated properties. These maps get filled once with the fillAttributeToPropertyTypeMap function + that needs to be included in every SVG element. The function is not virtual in base classes for performance reasons. + + No change of functionality, so no new test cases. + + * svg/SVGAElement.cpp: + (WebCore::SVGAElement::attributeToPropertyTypeMap): + (WebCore::SVGAElement::fillAttributeToPropertyTypeMap): + * svg/SVGAElement.h: + * svg/SVGAltGlyphElement.cpp: + (WebCore::SVGAltGlyphElement::attributeToPropertyTypeMap): + (WebCore::SVGAltGlyphElement::fillAttributeToPropertyTypeMap): + * svg/SVGAltGlyphElement.h: + * svg/SVGAnimateElement.cpp: + (WebCore::SVGAnimateElement::determinePropertyType): + * svg/SVGCircleElement.cpp: + (WebCore::SVGCircleElement::attributeToPropertyTypeMap): + (WebCore::SVGCircleElement::fillAttributeToPropertyTypeMap): + * svg/SVGCircleElement.h: + * svg/SVGClipPathElement.cpp: + (WebCore::SVGClipPathElement::attributeToPropertyTypeMap): + (WebCore::SVGClipPathElement::fillAttributeToPropertyTypeMap): + * svg/SVGClipPathElement.h: + * svg/SVGComponentTransferFunctionElement.cpp: + (WebCore::SVGComponentTransferFunctionElement::attributeToPropertyTypeMap): + (WebCore::SVGComponentTransferFunctionElement::fillAttributeToPropertyTypeMap): + * svg/SVGComponentTransferFunctionElement.h: + * svg/SVGCursorElement.cpp: + (WebCore::SVGCursorElement::attributeToPropertyTypeMap): + (WebCore::SVGCursorElement::fillAttributeToPropertyTypeMap): + * svg/SVGCursorElement.h: + * svg/SVGElement.cpp: + (WebCore::SVGElement::attributeToPropertyTypeMap): + (WebCore::SVGElement::animatedPropertyTypeForAttribute): + * svg/SVGElement.h: + (WebCore::SVGElement::fillAttributeToPropertyTypeMap): + * svg/SVGEllipseElement.cpp: + (WebCore::SVGEllipseElement::attributeToPropertyTypeMap): + (WebCore::SVGEllipseElement::fillAttributeToPropertyTypeMap): + * svg/SVGEllipseElement.h: + * svg/SVGFEBlendElement.cpp: + (WebCore::SVGFEBlendElement::attributeToPropertyTypeMap): + (WebCore::SVGFEBlendElement::fillAttributeToPropertyTypeMap): + * svg/SVGFEBlendElement.h: + * svg/SVGFEColorMatrixElement.cpp: + (WebCore::SVGFEColorMatrixElement::attributeToPropertyTypeMap): + (WebCore::SVGFEColorMatrixElement::fillAttributeToPropertyTypeMap): + * svg/SVGFEColorMatrixElement.h: + * svg/SVGFEComponentTransferElement.cpp: + (WebCore::SVGFEComponentTransferElement::attributeToPropertyTypeMap): + (WebCore::SVGFEComponentTransferElement::fillAttributeToPropertyTypeMap): + * svg/SVGFEComponentTransferElement.h: + * svg/SVGFECompositeElement.cpp: + (WebCore::SVGFECompositeElement::attributeToPropertyTypeMap): + (WebCore::SVGFECompositeElement::fillAttributeToPropertyTypeMap): + * svg/SVGFECompositeElement.h: + * svg/SVGFEConvolveMatrixElement.cpp: + (WebCore::SVGFEConvolveMatrixElement::attributeToPropertyTypeMap): + (WebCore::SVGFEConvolveMatrixElement::fillAttributeToPropertyTypeMap): + * svg/SVGFEConvolveMatrixElement.h: + * svg/SVGFEDiffuseLightingElement.cpp: + (WebCore::SVGFEDiffuseLightingElement::attributeToPropertyTypeMap): + (WebCore::SVGFEDiffuseLightingElement::fillAttributeToPropertyTypeMap): + * svg/SVGFEDiffuseLightingElement.h: + * svg/SVGFEDisplacementMapElement.cpp: + (WebCore::SVGFEDisplacementMapElement::attributeToPropertyTypeMap): + (WebCore::SVGFEDisplacementMapElement::fillAttributeToPropertyTypeMap): + * svg/SVGFEDisplacementMapElement.h: + * svg/SVGFEFloodElement.cpp: + (WebCore::SVGFEFloodElement::attributeToPropertyTypeMap): + (WebCore::SVGFEFloodElement::fillAttributeToPropertyTypeMap): + * svg/SVGFEFloodElement.h: + * svg/SVGFEGaussianBlurElement.cpp: + (WebCore::SVGFEGaussianBlurElement::attributeToPropertyTypeMap): + (WebCore::SVGFEGaussianBlurElement::fillAttributeToPropertyTypeMap): + * svg/SVGFEGaussianBlurElement.h: + * svg/SVGFEImageElement.cpp: + (WebCore::SVGFEImageElement::attributeToPropertyTypeMap): + (WebCore::SVGFEImageElement::fillAttributeToPropertyTypeMap): + * svg/SVGFEImageElement.h: + * svg/SVGFELightElement.cpp: + (WebCore::SVGFELightElement::attributeToPropertyTypeMap): + (WebCore::SVGFELightElement::fillAttributeToPropertyTypeMap): + * svg/SVGFELightElement.h: + * svg/SVGFEMergeElement.cpp: + (WebCore::SVGFEMergeElement::attributeToPropertyTypeMap): + (WebCore::SVGFEMergeElement::fillAttributeToPropertyTypeMap): + * svg/SVGFEMergeElement.h: + * svg/SVGFEMergeNodeElement.cpp: + (WebCore::SVGFEMergeNodeElement::attributeToPropertyTypeMap): + (WebCore::SVGFEMergeNodeElement::fillAttributeToPropertyTypeMap): + * svg/SVGFEMergeNodeElement.h: + * svg/SVGFEMorphologyElement.cpp: + (WebCore::SVGFEMorphologyElement::attributeToPropertyTypeMap): + (WebCore::SVGFEMorphologyElement::fillAttributeToPropertyTypeMap): + * svg/SVGFEMorphologyElement.h: + * svg/SVGFEOffsetElement.cpp: + (WebCore::SVGFEOffsetElement::attributeToPropertyTypeMap): + (WebCore::SVGFEOffsetElement::fillAttributeToPropertyTypeMap): + * svg/SVGFEOffsetElement.h: + * svg/SVGFESpecularLightingElement.cpp: + (WebCore::SVGFESpecularLightingElement::attributeToPropertyTypeMap): + (WebCore::SVGFESpecularLightingElement::fillAttributeToPropertyTypeMap): + * svg/SVGFESpecularLightingElement.h: + * svg/SVGFETileElement.cpp: + (WebCore::SVGFETileElement::attributeToPropertyTypeMap): + (WebCore::SVGFETileElement::fillAttributeToPropertyTypeMap): + * svg/SVGFETileElement.h: + * svg/SVGFETurbulenceElement.cpp: + (WebCore::SVGFETurbulenceElement::attributeToPropertyTypeMap): + (WebCore::SVGFETurbulenceElement::fillAttributeToPropertyTypeMap): + * svg/SVGFETurbulenceElement.h: + * svg/SVGFilterElement.cpp: + (WebCore::SVGFilterElement::attributeToPropertyTypeMap): + (WebCore::SVGFilterElement::fillAttributeToPropertyTypeMap): + * svg/SVGFilterElement.h: + * svg/SVGFilterPrimitiveStandardAttributes.cpp: + (WebCore::SVGFilterPrimitiveStandardAttributes::fillAttributeToPropertyTypeMap): + * svg/SVGFilterPrimitiveStandardAttributes.h: + * svg/SVGFontElement.cpp: + (WebCore::SVGFontElement::attributeToPropertyTypeMap): + (WebCore::SVGFontElement::fillAttributeToPropertyTypeMap): + * svg/SVGFontElement.h: + (WebCore::SVGFontElement::rendererIsNeeded): + * svg/SVGForeignObjectElement.cpp: + (WebCore::SVGForeignObjectElement::attributeToPropertyTypeMap): + (WebCore::SVGForeignObjectElement::fillAttributeToPropertyTypeMap): + * svg/SVGForeignObjectElement.h: + * svg/SVGGlyphElement.cpp: + (WebCore::SVGGlyphElement::attributeToPropertyTypeMap): + (WebCore::SVGGlyphElement::fillAttributeToPropertyTypeMap): + * svg/SVGGlyphElement.h: + * svg/SVGGradientElement.cpp: + (WebCore::SVGGradientElement::fillAttributeToPropertyTypeMap): + * svg/SVGGradientElement.h: + * svg/SVGImageElement.cpp: + (WebCore::SVGImageElement::attributeToPropertyTypeMap): + (WebCore::SVGImageElement::fillAttributeToPropertyTypeMap): + * svg/SVGImageElement.h: + * svg/SVGLineElement.cpp: + (WebCore::SVGLineElement::attributeToPropertyTypeMap): + (WebCore::SVGLineElement::fillAttributeToPropertyTypeMap): + * svg/SVGLineElement.h: + * svg/SVGLinearGradientElement.cpp: + (WebCore::SVGLinearGradientElement::attributeToPropertyTypeMap): + (WebCore::SVGLinearGradientElement::fillAttributeToPropertyTypeMap): + * svg/SVGLinearGradientElement.h: + * svg/SVGMPathElement.cpp: + (WebCore::SVGMPathElement::attributeToPropertyTypeMap): + (WebCore::SVGMPathElement::fillAttributeToPropertyTypeMap): + * svg/SVGMPathElement.h: + * svg/SVGMarkerElement.cpp: + (WebCore::SVGMarkerElement::attributeToPropertyTypeMap): + (WebCore::SVGMarkerElement::fillAttributeToPropertyTypeMap): + * svg/SVGMarkerElement.h: + * svg/SVGMaskElement.cpp: + (WebCore::SVGMaskElement::attributeToPropertyTypeMap): + (WebCore::SVGMaskElement::fillAttributeToPropertyTypeMap): + * svg/SVGMaskElement.h: + * svg/SVGMissingGlyphElement.cpp: + (WebCore::SVGMissingGlyphElement::attributeToPropertyTypeMap): + (WebCore::SVGMissingGlyphElement::fillAttributeToPropertyTypeMap): + * svg/SVGMissingGlyphElement.h: + * svg/SVGPathElement.cpp: + (WebCore::SVGPathElement::attributeToPropertyTypeMap): + (WebCore::SVGPathElement::fillAttributeToPropertyTypeMap): + * svg/SVGPathElement.h: + * svg/SVGPatternElement.cpp: + (WebCore::SVGPatternElement::attributeToPropertyTypeMap): + (WebCore::SVGPatternElement::fillAttributeToPropertyTypeMap): + * svg/SVGPatternElement.h: + * svg/SVGPolyElement.cpp: + (WebCore::SVGPolyElement::attributeToPropertyTypeMap): + (WebCore::SVGPolyElement::fillAttributeToPropertyTypeMap): + * svg/SVGPolyElement.h: + * svg/SVGRadialGradientElement.cpp: + (WebCore::SVGRadialGradientElement::attributeToPropertyTypeMap): + (WebCore::SVGRadialGradientElement::fillAttributeToPropertyTypeMap): + * svg/SVGRadialGradientElement.h: + * svg/SVGRectElement.cpp: + (WebCore::SVGRectElement::attributeToPropertyTypeMap): + (WebCore::SVGRectElement::fillAttributeToPropertyTypeMap): + * svg/SVGRectElement.h: + * svg/SVGSVGElement.cpp: + (WebCore::SVGSVGElement::attributeToPropertyTypeMap): + (WebCore::SVGSVGElement::fillAttributeToPropertyTypeMap): + * svg/SVGSVGElement.h: + * svg/SVGScriptElement.cpp: + (WebCore::SVGScriptElement::attributeToPropertyTypeMap): + (WebCore::SVGScriptElement::fillAttributeToPropertyTypeMap): + * svg/SVGScriptElement.h: + * svg/SVGStopElement.cpp: + (WebCore::SVGStopElement::attributeToPropertyTypeMap): + (WebCore::SVGStopElement::fillAttributeToPropertyTypeMap): + * svg/SVGStopElement.h: + * svg/SVGStyledElement.cpp: + (WebCore::cssPropertyToTypeMap): + (WebCore::SVGStyledElement::animatedPropertyTypeForCSSProperty): + (WebCore::SVGStyledElement::fillAttributeToPropertyTypeMap): + * svg/SVGStyledElement.h: + * svg/SVGStyledTransformableElement.cpp: + (WebCore::SVGStyledTransformableElement::fillAttributeToPropertyTypeMap): + * svg/SVGStyledTransformableElement.h: + * svg/SVGSwitchElement.cpp: + (WebCore::SVGSwitchElement::attributeToPropertyTypeMap): + (WebCore::SVGSwitchElement::fillAttributeToPropertyTypeMap): + * svg/SVGSwitchElement.h: + * svg/SVGSymbolElement.cpp: + (WebCore::SVGSymbolElement::attributeToPropertyTypeMap): + (WebCore::SVGSymbolElement::fillAttributeToPropertyTypeMap): + * svg/SVGSymbolElement.h: + * svg/SVGTRefElement.cpp: + (WebCore::SVGTRefElement::attributeToPropertyTypeMap): + (WebCore::SVGTRefElement::fillAttributeToPropertyTypeMap): + * svg/SVGTRefElement.h: + * svg/SVGTSpanElement.cpp: + (WebCore::SVGTSpanElement::attributeToPropertyTypeMap): + (WebCore::SVGTSpanElement::fillAttributeToPropertyTypeMap): + * svg/SVGTSpanElement.h: + * svg/SVGTextContentElement.cpp: + (WebCore::SVGTextContentElement::fillAttributeToPropertyTypeMap): + * svg/SVGTextContentElement.h: + * svg/SVGTextElement.cpp: + (WebCore::SVGTextElement::attributeToPropertyTypeMap): + (WebCore::SVGTextElement::fillAttributeToPropertyTypeMap): + * svg/SVGTextElement.h: + * svg/SVGTextPathElement.cpp: + (WebCore::SVGTextPathElement::attributeToPropertyTypeMap): + (WebCore::SVGTextPathElement::fillAttributeToPropertyTypeMap): + * svg/SVGTextPathElement.h: + * svg/SVGTextPositioningElement.cpp: + (WebCore::SVGTextPositioningElement::fillAttributeToPropertyTypeMap): + * svg/SVGTextPositioningElement.h: + * svg/SVGTitleElement.cpp: + (WebCore::SVGTitleElement::attributeToPropertyTypeMap): + (WebCore::SVGTitleElement::fillAttributeToPropertyTypeMap): + * svg/SVGTitleElement.h: + * svg/SVGUseElement.cpp: + (WebCore::SVGUseElement::attributeToPropertyTypeMap): + (WebCore::SVGUseElement::fillAttributeToPropertyTypeMap): + * svg/SVGUseElement.h: + * svg/SVGViewElement.cpp: + (WebCore::SVGViewElement::attributeToPropertyTypeMap): + (WebCore::SVGViewElement::fillAttributeToPropertyTypeMap): + * svg/SVGViewElement.h: + +2011-02-10 Alexis Menard <alexis.menard@nokia.com> + + Reviewed by Andreas Kling. + + Fix a Warning after removing FileSystem support for the inspector. + + * WebCore.pro: + +2011-02-10 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Anders Carlsson. + + AX: AX needs to stop using WebCoreViewFactory + https://bugs.webkit.org/show_bug.cgi?id=54153 + + WebKit2 no longer uses WebCoreViewFactory, which means that accessibility code needs + to get off of it and use WebCoreSystemInterface, like other clients. + + * WebCore.exp.in: + * accessibility/AXObjectCache.h: + * accessibility/mac/AXObjectCacheMac.mm: + (WebCore::AXObjectCache::handleFocusedUIElementChanged): + * accessibility/mac/AccessibilityObjectWrapper.h: + * accessibility/mac/AccessibilityObjectWrapper.mm: + (-[AccessibilityObjectWrapper unregisterUniqueIdForUIElement]): + (CFAutoreleaseHelper): + (AXObjectIsTextMarker): + (AXObjectIsTextMarkerRange): + (AXTextMarkerRange): + (AXTextMarkerRangeStart): + (AXTextMarkerRangeEnd): + (textMarkerForVisiblePosition): + (-[AccessibilityObjectWrapper textMarkerForVisiblePosition:]): + (visiblePositionForTextMarker): + (-[AccessibilityObjectWrapper visiblePositionForTextMarker:]): + (visiblePositionForStartOfTextMarkerRange): + (visiblePositionForEndOfTextMarkerRange): + (textMarkerRangeFromMarkers): + (AXAttributeStringSetElement): + (-[AccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:]): + (textMarkerRangeFromVisiblePositions): + (-[AccessibilityObjectWrapper textMarkerRangeFromVisiblePositions:endPosition:]): + (-[AccessibilityObjectWrapper visiblePositionRangeForTextMarkerRange:]): + (-[AccessibilityObjectWrapper textMarkerRangeForSelection]): + (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]): + (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]): + * editing/mac/SelectionControllerMac.mm: + (WebCore::accessibilityConvertScreenRect): + (WebCore::SelectionController::notifyAccessibilityForSelectionChange): + * platform/mac/WebCoreSystemInterface.h: + * platform/mac/WebCoreSystemInterface.mm: + +2011-02-10 Alexis Menard <alexis.menard@nokia.com> + + Reviewed by Andreas Kling. + + [Qt] In trunk with Qt Multimedia the full screen mode doesn't work. + https://bugs.webkit.org/show_bug.cgi?id=54201 + + Add files for the fullscreen video playback handling. It also fix + a missing header. + + * WebCore.pro: + +2011-02-09 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: Remove FileSystem support from the inspector. + https://bugs.webkit.org/show_bug.cgi?id=50695 + + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * inspector/Inspector.idl: + * inspector/InspectorApplicationCacheAgent.cpp: + (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent): + (WebCore::InspectorApplicationCacheAgent::getApplicationCaches): + * inspector/InspectorApplicationCacheAgent.h: + * inspector/InspectorFileSystemAgent.cpp: Removed. + * inspector/InspectorFileSystemAgent.h: Removed. + * inspector/InspectorInstrumentation.cpp: + (WebCore::InspectorInstrumentation::identifierForInitialRequestImpl): + (WebCore::InspectorInstrumentation::willSendRequestImpl): + (WebCore::InspectorInstrumentation::markResourceAsCachedImpl): + (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl): + (WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl): + (WebCore::InspectorInstrumentation::didReceiveContentLengthImpl): + (WebCore::InspectorInstrumentation::didFinishLoadingImpl): + (WebCore::InspectorInstrumentation::didFailLoadingImpl): + (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequestImpl): + (WebCore::InspectorInstrumentation::scriptImportedImpl): + (WebCore::InspectorInstrumentation::networkStateChangedImpl): + (WebCore::InspectorInstrumentation::updateApplicationCacheStatusImpl): + (WebCore::InspectorInstrumentation::retrieveResourceAgent): + * inspector/front-end/FileSystemView.js: Removed. + * inspector/front-end/WebKit.qrc: + * inspector/front-end/inspector.html: + +2011-02-10 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r78219. + http://trac.webkit.org/changeset/78219 + https://bugs.webkit.org/show_bug.cgi?id=54215 + + breaks editing/style/iframe-onload-crash.html on GTK 64-bit + Debug (Requested by philn-tp on #webkit). + + * dom/Document.h: + * dom/DocumentFragment.h: + * dom/Element.h: + * dom/Node.h: + * dom/Text.h: + * editing/htmlediting.cpp: + (WebCore::editingIgnoresContent): + (WebCore::canHaveChildrenForEditing): + * editing/htmlediting.h: + * html/HTMLBRElement.h: + * html/HTMLButtonElement.h: + * html/HTMLDataGridElement.h: + * html/HTMLFormControlElement.h: + * html/HTMLFrameElementBase.h: + * html/HTMLHRElement.h: + * html/HTMLImageElement.h: + * html/HTMLMeterElement.h: + * html/HTMLOutputElement.h: + * html/HTMLPlugInElement.h: + * html/HTMLProgressElement.h: + * wml/WMLBRElement.h: + * wml/WMLDoElement.h: + * wml/WMLImageElement.h: + * wml/WMLInputElement.h: + * wml/WMLSelectElement.h: + +2011-02-10 Andras Becsi <abecsi@webkit.org> + + Rubber-stamped by Csaba Osztrogonác. + + [Qt][V8] Fix the build. + + No new tests needed. + + * bindings/v8/WorkerContextExecutionProxy.cpp: add missing CString header. + * loader/cache/CachedScript.h: do not use extra qualification for base class enum. + +2011-02-10 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: [STYLES] Suggest CSS property values once Up/Down is pressed with an empty input + https://bugs.webkit.org/show_bug.cgi?id=54205 + + * inspector/front-end/CSSCompletions.js: + (WebInspector.CSSCompletions): + (WebInspector.CSSCompletions.prototype._firstIndexOfPrefix): + * inspector/front-end/CSSKeywordCompletions.js: + (WebInspector.CSSKeywordCompletions.forProperty): + * inspector/front-end/StylesSidebarPane.js: + (): + * inspector/front-end/TextPrompt.js: + (WebInspector.TextPrompt.prototype.complete): + +2011-02-10 Renata Hodovan <reni@webkit.org> + + Reviewed by Dirk Schulze. + + SVGFESpecularLightingElement doesn't support dynamic invalidation, when attributes change. + https://bugs.webkit.org/show_bug.cgi?id=54186 + + The dynamic changes are captured by the svgAttributeChange function, and invalidate the filter primitive if necessary. + + Tests: svg/dynamic-updates/SVGFESpecularLightingElement-dom-in-attr.html + svg/dynamic-updates/SVGFESpecularLightingElement-dom-specularConstant-attr.html + svg/dynamic-updates/SVGFESpecularLightingElement-dom-specularExponent-attr.html + svg/dynamic-updates/SVGFESpecularLightingElement-dom-suraceScale-attr.html + svg/dynamic-updates/SVGFESpecularLightingElement-svgdom-in-prop.html + svg/dynamic-updates/SVGFESpecularLightingElement-svgdom-specularConstant-prop.html + svg/dynamic-updates/SVGFESpecularLightingElement-svgdom-specularExponent-prop.html + svg/dynamic-updates/SVGFESpecularLightingElement-svgdom-suraceScale-prop.html + + * svg/SVGFESpecularLightingElement.cpp: + (WebCore::SVGFESpecularLightingElement::svgAttributeChanged): + * svg/SVGFESpecularLightingElement.h: + +2011-02-10 Andrey Adaikin <aandrey@google.com> + + Reviewed by Pavel Feldman. + + Web Inspector: Error messages are not displayed for the last line in a script + https://bugs.webkit.org/show_bug.cgi?id=54204 + + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrame.prototype.addMessage): + (WebInspector.SourceFrame.prototype._addMessageToSource): + (WebInspector.SourceFrame.prototype._createConditionElement): + +2011-02-10 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Eric Seidel. + + Make canHaveChildrenForEditing more efficient + https://bugs.webkit.org/show_bug.cgi?id=53564 + + Improved the performance (1-2% in release and 20% in debug) by adding virtual member function + canContainRangeEndPoint to Node. It returns true whenever the associated node can have be a container + node for a position. + + As of this revision, canContainRangeEndPoint returns true on Document, DocumentFragment, Text nodes + and any elements except: + + HTML: applet, br, button, datagrid, embed, frame, frameset, hr, img, input, + meter, object, output, progress, and select. + + WML: br, do, img, input, and select. + + No new tests are added since this change cannot be tested directly. + + * dom/Document.h: + (WebCore::Document::canContainRangeEndPoint): Added; returns false. + * dom/DocumentFragment.h: + (WebCore::DocumentFragment::canContainRangeEndPoint): Added; returns true. + * dom/Element.h: + (WebCore::Element::canContainRangeEndPoint): Ditto. + * dom/Node.h: + (WebCore::Node::canContainRangeEndPoint): Added; returns false. + * dom/Text.h: + (WebCore::Text::canContainRangeEndPoint): Added; returns true. + * editing/htmlediting.cpp: Removed editingIgnoresContent and canHaveChildrenForEditing. + * editing/htmlediting.h: + (WebCore::editingIgnoresContent): Moved from htmlediting.cpp; made it inline. + (WebCore::canHaveChildrenForEditing): Ditto. + * html/HTMLBRElement.h: + (WebCore::HTMLBRElement::canContainRangeEndPoint): Added; returns false. + * html/HTMLButtonElement.h: + (WebCore::HTMLButtonElement::canContainRangeEndPoint): Ditto. + * html/HTMLDataGridElement.h: + (WebCore::HTMLDataGridElement::canContainRangeEndPoint): Ditto. + * html/HTMLFormControlElement.h: + (WebCore::HTMLFormControlElementWithState::canContainRangeEndPoint): Ditto. + * html/HTMLFrameElementBase.h: + (WebCore::HTMLFrameElementBase::canContainRangeEndPoint): Ditto. + * html/HTMLHRElement.h: + (WebCore::HTMLHRElement::canContainRangeEndPoint): Ditto. + * html/HTMLImageElement.h: + (WebCore::HTMLImageElement::canContainRangeEndPoint): Ditto. + * html/HTMLMeterElement.h: + (WebCore::HTMLMeterElement::canContainRangeEndPoint): Ditto. + * html/HTMLOutputElement.h: + (WebCore::HTMLOutputElement::canContainRangeEndPoint): Ditto. + * html/HTMLPlugInElement.h: + (WebCore::HTMLPlugInElement::canContainRangeEndPoint): Ditto. + * html/HTMLProgressElement.h: + (WebCore::HTMLProgressElement::canContainRangeEndPoint): Ditto. + * wml/WMLBRElement.h: + (WebCore::WMLBRElement::canContainRangeEndPoint): Ditto. + * wml/WMLDoElement.h: + (WebCore::WMLDoElement::canContainRangeEndPoint): Ditto. + * wml/WMLImageElement.h: + (WebCore::WMLImageElement::canContainRangeEndPoint): Ditto. + * wml/WMLInputElement.h: + (WebCore::WMLInputElement::canContainRangeEndPoint): Ditto. + * wml/WMLSelectElement.h: + (WebCore::WMLSelectElement::canContainRangeEndPoint): Ditto. + +2011-02-10 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: define interface per domain in Inspector.idl. + https://bugs.webkit.org/show_bug.cgi?id=54135 + + * inspector/CodeGeneratorInspector.pm: + * inspector/Inspector.idl: + +2011-02-10 Andrey Adaikin <aandrey@google.com> + + Reviewed by Pavel Feldman. + + Web Inspector: [regression] Fix syncing heights of the gutter and main panel lines, and add 2px padding-left + https://bugs.webkit.org/show_bug.cgi?id=54098 + + * inspector/front-end/TextViewer.js: + (WebInspector.TextViewer): + (WebInspector.TextViewer.prototype._updatePanelOffsets): + (WebInspector.TextViewer.prototype._syncScroll): + (WebInspector.TextViewer.prototype._syncDecorationsForLine): + (WebInspector.TextEditorChunkedPanel.prototype._totalHeight): + (WebInspector.TextEditorChunkedPanel.prototype.resize): + (WebInspector.TextEditorGutterPanel): + (WebInspector.TextEditorGutterChunk.prototype.set expanded): + (WebInspector.TextEditorGutterChunk.prototype.get height): + (WebInspector.TextEditorMainChunk.prototype.get height): + * inspector/front-end/textViewer.css: + (.webkit-line-content): + +2011-02-10 takano takumi <takano@apple.com> + + Reviewed by Dan Bernstein. + + A full-width character rotated leftward 90 degrees in text-combine + https://bugs.webkit.org/show_bug.cgi?id=54169 + + * rendering/RenderCombineText.cpp: + (WebCore::RenderCombineText::combineText): + - Fixed by resetting font's orientation to horizontal when we decided to make combined text. + Otherwise the text will be unexpectedly rotated in showGlyphsWithAdvances() in FontMac.mm. + +2011-02-10 Alexey Proskuryakov <ap@apple.com> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=50306 + <rdar://problem/8976152> REGRESSION: WebChromeClient::shouldReplaceWithGeneratedFileForUpload() + uses an initialized result value (breaks form submission with clang-built WebKit) + + No new test, because I can't reproduce the observable effect with my gcc build. + + * platform/network/FormData.cpp: (WebCore::FormData::appendKeyValuePairItems): Restore an + empty path check - an empty path was causing an exception in Foundation. + +2011-02-09 Andrey Kosyakov <caseq@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: Network & Resource panels make multiple requests for images with no content + https://bugs.webkit.org/show_bug.cgi?id=54085 + + - Added success parameter to resourceContent + - NetworkManager.requestContent() now returns empty for zero-length resources, null for errors + + * inspector/Inspector.idl: + * inspector/InspectorResourceAgent.cpp: + (WebCore::InspectorResourceAgent::resourceData): + (WebCore::InspectorResourceAgent::resourceContent): + * inspector/InspectorResourceAgent.h: + * inspector/front-end/NetworkManager.js: + (WebInspector.NetworkManager.prototype.requestContent): + * inspector/front-end/Resource.js: + (WebInspector.Resource.prototype.requestContent): + (WebInspector.Resource.prototype._contentURL): + +2011-02-10 Renata Hodovan <reni@webkit.org> + + Reviewed by Dirk Schulze. + + Move the light source implementations into their own files. + https://bugs.webkit.org/show_bug.cgi?id=53996 + + Splitting LightSource.cpp into 3 files. + + No new tests are added since this is a refactoring. + + * Android.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * platform/graphics/filters/DistantLightSource.cpp: Added. + (WebCore::DistantLightSource::initPaintingData): + (WebCore::DistantLightSource::updatePaintingData): + (WebCore::DistantLightSource::setAzimuth): + (WebCore::DistantLightSource::setElevation): + (WebCore::DistantLightSource::externalRepresentation): + * platform/graphics/filters/LightSource.cpp: + * platform/graphics/filters/PointLightSource.cpp: Added. + (WebCore::PointLightSource::initPaintingData): + (WebCore::PointLightSource::updatePaintingData): + (WebCore::PointLightSource::setX): + (WebCore::PointLightSource::setY): + (WebCore::PointLightSource::setZ): + (WebCore::operator<<): + (WebCore::PointLightSource::externalRepresentation): + * platform/graphics/filters/SpotLightSource.cpp: Added. + (WebCore::SpotLightSource::initPaintingData): + (WebCore::SpotLightSource::updatePaintingData): + (WebCore::SpotLightSource::setX): + (WebCore::SpotLightSource::setY): + (WebCore::SpotLightSource::setZ): + (WebCore::SpotLightSource::setPointsAtX): + (WebCore::SpotLightSource::setPointsAtY): + (WebCore::SpotLightSource::setPointsAtZ): + (WebCore::SpotLightSource::setSpecularExponent): + (WebCore::SpotLightSource::setLimitingConeAngle): + (WebCore::operator<<): + (WebCore::SpotLightSource::externalRepresentation): + +2011-02-10 Avi Drissman <avi@google.com> + + Reviewed by Darin Fisher. + + <option> should implement the dir attribute. Mac Chromium version, followup to r76983, r77654. + https://bugs.webkit.org/show_bug.cgi?id=50969 + + Use manual test Source/WebCore/manual-tests/pop-up-alignment-and-direction.html added in r76983. + + * platform/chromium/PopupMenuChromium.cpp: + (WebCore::PopupListBox::updateFromElement): + * platform/chromium/PopupMenuChromium.h: + +2011-02-10 Hans Wennborg <hans@chromium.org> + + Reviewed by Jeremy Orlow. + + IndexedDB: Update the semantics of put() + https://bugs.webkit.org/show_bug.cgi?id=54102 + + Update the semantics of put: For object stores with auto increment, + it should be allowed to provide an explicit key, or an in-line key, + overriding the key generator mechanism. + + This reflects the spec changes suggested here: + http://www.w3.org/Bugs/Public/show_bug.cgi?id=11976 + + Extracting key-selection logic into its own function + to make it a bit easier on the eyes. + + * storage/IDBObjectStoreBackendImpl.cpp: + (WebCore::IDBObjectStoreBackendImpl::selectKeyForPut): + (WebCore::IDBObjectStoreBackendImpl::putInternal): + * storage/IDBObjectStoreBackendImpl.h: + (WebCore::IDBObjectStoreBackendImpl::resetAutoIncrementKeyCache): + +2011-02-09 Antti Koivisto <antti@apple.com> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=54103 + Implement fast path for matching simple selectors + + Implement a fast path for single and descendant selectors consisting + of id, class and tag selectors only. + + Selectors like this are marked on style selector initialization. When + encountered during style matching they are resolved using a fast path. + + Since selectors like this are very common this speeds up style matching + quite a bit (up to 50% on some sites according to Shark). + + * css/CSSStyleSelector.cpp: + (WebCore::RuleData::hasFastCheckableSelector): + (WebCore::RuleData::hasMultipartSelector): + (WebCore::RuleData::hasTopSelectorMatchingHTMLBasedOnRuleHash): + (WebCore::CSSStyleSelector::matchRulesForList): + (WebCore::CSSStyleSelector::checkSelector): + (WebCore::selectorTagMatches): + (WebCore::isFastCheckableSelector): + (WebCore::CSSStyleSelector::SelectorChecker::fastCheckSelector): + (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): + (WebCore::isSelectorMatchingHTMLBasedOnRuleHash): + (WebCore::RuleData::RuleData): + * css/CSSStyleSelector.h: + +2011-02-09 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dan Bernstein. + + REGRESSION (r77101) box-shadow sometimes renders incorrectly + https://bugs.webkit.org/show_bug.cgi?id=54160 + + Fix an issue when ShadowBlur had a cached image buffer + that was larger than that of the current shadow being drawn, + and the current shadow was partially clipped out. + + In that situation endShadowLayer() would clip to the image + buffer, using the size of the buffer (as it must), but failed + to take into account the fact that we'd only cleared and painted + into a smaller section of the buffer. So we need to additionally + constrain the clip to cover only the valid part of the buffer. + + Test: fast/box-shadow/shadow-buffer-partial.html + + * platform/graphics/ShadowBlur.cpp: + (WebCore::ShadowBlur::endShadowLayer): + +2011-02-09 Beth Dakin <bdakin@apple.com> + + Reviewed by Maciej Stachowiak. + + Fix for <rdar://problem/8977051> CrashTracer: 8 crashes + in WebProcess at com.apple.WebCore: + -[ScrollbarPartAnimation setCurrentProgress:] + 364 + + The ScrollbarPartAnimation must be sent by reference! + * platform/mac/ScrollAnimatorMac.mm: + (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]): + +2011-02-09 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Darin Adler. + + REGRESSION(r76107): Crash in VisibleSelection::toNormalizedRange + https://bugs.webkit.org/show_bug.cgi?id=54053 + + The bug was caused by RenderBlock::positionForPoint's improperly returning a shadow node inside + RenderFileUploadControl for hit testing and VisibleSelection::toNormalizedRange's always assuming + the position variable "s" is not null. + + Fixed the bug by always returning a null position from RenderFileUploadControl::positionForPoint, + and also exiting early when either "s" or "e" is null in VisibleSelection::toNormalizedRange. + + Test: fast/forms/file-input-hit-test.html + + * editing/VisibleSelection.cpp: + (WebCore::VisibleSelection::toNormalizedRange): + * rendering/RenderFileUploadControl.cpp: + (WebCore::RenderFileUploadControl::positionForPoint): + * rendering/RenderFileUploadControl.h: + +2011-02-09 Sam Weinig <sam@webkit.org> + + Reviewed by Beth Dakin. + + Overlay scrollbars crash used with a RenderListBox. + + * rendering/RenderListBox.cpp: + (WebCore::RenderListBox::layout): + (WebCore::RenderListBox::contentsSize): + (WebCore::RenderListBox::currentMousePosition): + (WebCore::RenderListBox::setHasVerticalScrollbar): + * rendering/RenderListBox.h: + Implement enough of the ScrollableArea interface to get things generally + working. + +2011-02-09 Beth Dakin <bdakin@apple.com> + + Reviewed by Simon Fraser. + + Fix for <rdar://problem/8966868> ScrollbarPainterDelegate + must return a layer if layer-backed to avoid crashing + + New virtual function scrollbarWillRenderIntoCompositingLayer() + on ScrollableArea. + * page/FrameView.h: + * platform/ScrollableArea.h: + (WebCore::ScrollableArea::scrollbarWillRenderIntoCompositingLayer): + * rendering/RenderLayer.h: + (WebCore::RenderLayer::scrollbarWillRenderIntoCompositingLayer): + * rendering/RenderListBox.cpp: + (WebCore::RenderListBox::scrollbarWillRenderIntoCompositingLayer): + * rendering/RenderListBox.h: + + Clean up unnecessary method declarations and call + scrollbarWillRenderIntoCompositingLayer() to deterine if + we need to return a layer. + * platform/mac/ScrollAnimatorMac.mm: + (-[ScrollbarPainterDelegate layer]): + +2011-02-09 Yael Aharon <yael.aharon@nokia.com> + + Reviewed by Darin Adler. + + Replace static_cast<HTMLElement*> with toHTMLElement + https://bugs.webkit.org/show_bug.cgi?id=54117 + + No new tests since no new functionality was introduced. + + * accessibility/AccessibilityListBox.cpp: + (WebCore::AccessibilityListBox::addChildren): + * accessibility/AccessibilityMenuListPopup.cpp: + (WebCore::AccessibilityMenuListPopup::addChildren): + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::accessibleNameForNode): + (WebCore::AccessibilityRenderObject::accessibilityDescription): + * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: + (webkit_accessible_get_name): + (webkit_accessible_get_description): + * bindings/gobject/WebKitDOMBinding.cpp: + (WebKit::createWrapper): + (WebKit::kit): + * bindings/js/JSElementCustom.cpp: + (WebCore::toJSNewlyCreated): + * bindings/js/JSHTMLFrameSetElementCustom.cpp: + (WebCore::JSHTMLFrameSetElement::nameGetter): + * bindings/js/JSNodeCustom.cpp: + (WebCore::createWrapperInline): + * bindings/v8/custom/V8ElementCustom.cpp: + (WebCore::toV8): + * dom/Document.cpp: + (WebCore::Document::body): + * dom/Element.cpp: + (WebCore::Element::deprecatedCreateContextualFragment): + * dom/Range.cpp: + (WebCore::Range::createContextualFragment): + * editing/ApplyStyleCommand.cpp: + (WebCore::ApplyStyleCommand::applyBlockStyle): + (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange): + (WebCore::ApplyStyleCommand::splitAncestorsWithUnicodeBidi): + (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange): + (WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle): + (WebCore::ApplyStyleCommand::highestAncestorWithConflictingInlineStyle): + (WebCore::ApplyStyleCommand::applyInlineStyleToPushDown): + (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode): + (WebCore::ApplyStyleCommand::removeInlineStyle): + (WebCore::ApplyStyleCommand::shouldSplitTextElement): + (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded): + * editing/DeleteButtonController.cpp: + (WebCore::enclosingDeletableElement): + (WebCore::DeleteButtonController::show): + * editing/Editor.cpp: + (WebCore::Editor::setBaseWritingDirection): + * editing/InsertListCommand.cpp: + (WebCore::InsertListCommand::mergeWithNeighboringLists): + * editing/ReplaceSelectionCommand.cpp: + (WebCore::ReplaceSelectionCommand::negateStyleRulesThatAffectAppearance): + (WebCore::ReplaceSelectionCommand::handleStyleSpans): + (WebCore::ReplaceSelectionCommand::copyStyleToChildren): + * editing/SelectionController.cpp: + (WebCore::scanForForm): + (WebCore::SelectionController::currentForm): + * editing/htmlediting.cpp: + (WebCore::enclosingList): + (WebCore::enclosingListChild): + (WebCore::embeddedSublist): + (WebCore::appendedSublist): + * editing/markup.cpp: + (WebCore::StyledMarkupAccumulator::appendElement): + * html/HTMLCollection.cpp: + (WebCore::HTMLCollection::checkForNameMatch): + (WebCore::HTMLCollection::updateNameCache): + * html/HTMLElement.cpp: + (WebCore::HTMLElement::setOuterHTML): + (WebCore::HTMLElement::shadowAncestorOwnerForm): + * html/HTMLFormElement.cpp: + (WebCore::HTMLFormElement::formElementIndex): + * html/HTMLSelectElement.cpp: + (WebCore::HTMLSelectElement::setOption): + (WebCore::HTMLSelectElement::setLength): + * inspector/InspectorDOMAgent.cpp: + (WebCore::InspectorDOMAgent::getOuterHTML): + (WebCore::InspectorDOMAgent::setOuterHTML): + * page/EventHandler.cpp: + (WebCore::EventHandler::handleMouseMoveEvent): + * rendering/RenderMeter.cpp: + (WebCore::RenderMeter::createPart): + * rendering/RenderTextControl.cpp: + (WebCore::RenderTextControl::createSubtreeIfNeeded): + * rendering/RenderTextControlSingleLine.cpp: + (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded): + +2011-02-09 Mike Reed <reed@google.com> + + Reviewed by Kenneth Russell. + + Use Skia's device->readPixels() when its bitmap claims to have no pixels, as this + handles the case when the device is backed by the GPU. + Patch developed by bsalomon@google.com + + No new tests. Existing canvas tests suffice + e.g. LayoutTests/canvas/philip/... + + * platform/graphics/skia/ImageBufferSkia.cpp: + (WebCore::getImageData): + (WebCore::ImageBuffer::getUnmultipliedImageData): + (WebCore::ImageBuffer::getPremultipliedImageData): + (WebCore::putImageData): + (WebCore::ImageBuffer::putUnmultipliedImageData): + (WebCore::ImageBuffer::putPremultipliedImageData): + +2011-02-09 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + document.close shouldn't affect non-script-created parsers + https://bugs.webkit.org/show_bug.cgi?id=53689 + + Tests: fast/frames/document-write-in-iframe-onload-3.html + fast/parser/iframe-onload-document-close-with-external-script-2.html + fast/parser/iframe-onload-document-close-with-external-script-3.html + fast/parser/iframe-onload-document-close-with-external-script.html + fast/parser/setTimeout-open.html + + Move our implementation of document.close closer to the spec by + introducing the notion of a script-created parser. This area of our + code is somewhat hairy. It might take a few more iterations before we + fully come up to spec. + + * dom/Document.cpp: + (WebCore::Document::setContent): + (WebCore::Document::open): + (WebCore::Document::cancelParsing): + (WebCore::Document::close): + - Over time, this method should converge to the spec. + (WebCore::Document::explicitClose): + - I'm not in love with this name. Somehow we want to differentiate + between Document closing itself and the document.close DOM + method. + (WebCore::Document::removePendingSheet): + * dom/Document.h: + * dom/ScriptableDocumentParser.cpp: + (WebCore::ScriptableDocumentParser::ScriptableDocumentParser): + * dom/ScriptableDocumentParser.h: + (WebCore::ScriptableDocumentParser::setWasCreatedByScript): + (WebCore::ScriptableDocumentParser::wasCreatedByScript): + - General nonsense to keep track of whether the parser was created + by script. + * html/parser/HTMLDocumentParser.cpp: + (WebCore::HTMLDocumentParser::hasInsertionPoint): + - I'm not sure whether this part of the change is 100% correct. I + think our notion of the EOF character might be subtly different + from the notion in the spec. + * html/parser/HTMLInputStream.h: + (WebCore::HTMLInputStream::hasInsertionPoint): + - Remove FIXME because we're fixing that! + +2011-02-09 Abhishek Arya <inferno@chromium.org> + + Reviewed by James Robinson. + + [Chromium] Issue 72387: Integer bounds crash in LayerTilerChromium::resizeLayer + https://bugs.webkit.org/show_bug.cgi?id=54132 + + * platform/graphics/chromium/LayerTilerChromium.cpp: + (WebCore::LayerTilerChromium::resizeLayer): + +2011-02-09 Xiyuan Xia <xiyuan@chromium.org> + + Reviewed by Tony Chang. + + [Chromium] Use #f7f7f7 for select popup background on chromium/linux + https://bugs.webkit.org/show_bug.cgi?id=54115 + + No new tests since no behavior change. + + * css/themeChromiumLinux.css: + (select[size="1"] option): + +2011-02-09 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + REGRESSION(HTML 5): HTMLDocumentParser does not report html parse errors to the console + https://bugs.webkit.org/show_bug.cgi?id=41187 + + Wire up a basic HTML parse error message. There's a lot of room for + improvement in this area, but this is a start. + + No tests! See https://bugs.webkit.org/show_bug.cgi?id=54134 + + * html/parser/HTMLDocumentParser.h: + * html/parser/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::parseError): + * html/parser/HTMLTreeBuilder.h: + +2011-02-09 Naoki Takano <takano.naoki@gmail.com> + + Reviewed by Kenneth Russell. + + [Chromium] Issue 58536: Fix Layout Test canvas/philip/tests/2d.imageData.put.alpha.html with --accelerated-2d-canvas. + https://bugs.webkit.org/show_bug.cgi?id=53757 + + This fix is for 2d.imageData.put.alpha.html with --accelerated-2d-canvas. No new tests. + + * platform/graphics/skia/ImageBufferSkia.cpp: + (WebCore::ImageBuffer::putUnmultipliedImageData): needs to call syncSoftwareCanvas() to sync between hardware and software. + (WebCore::ImageBuffer::putPremultipliedImageData): needs to call syncSoftwareCanvas() to sync between hardware and software. + + +2011-02-09 Chris Rogers <crogers@google.com> + + Reviewed by Kenneth Russell. + + Fix scaling and thread safety of FFTFrameFFTW + https://bugs.webkit.org/show_bug.cgi?id=54045 + + No new tests since audio API is not yet implemented. + + * platform/audio/FFTFrame.h: + * platform/audio/fftw/FFTFrameFFTW.cpp: + (WebCore::FFTFrame::FFTFrame): + (WebCore::FFTFrame::doFFT): + (WebCore::FFTFrame::doInverseFFT): + (WebCore::FFTFrame::initialize): + (WebCore::FFTFrame::cleanup): + (WebCore::FFTFrame::realData): + (WebCore::FFTFrame::imagData): + (WebCore::FFTFrame::fftwPlanForSize): + * platform/audio/mac/FFTFrameMac.cpp: + (WebCore::FFTFrame::initialize): + * platform/audio/mkl/FFTFrameMKL.cpp: + (WebCore::FFTFrame::initialize): + * webaudio/AudioContext.cpp: + (WebCore::AudioContext::AudioContext): + +2011-02-09 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Darin Adler. + + AX: accessibilityShouldUseUniqueId doesn't need to be in the core AX object + https://bugs.webkit.org/show_bug.cgi?id=54126 + + This is a Mac-only accessibility API concept and doesn't belong in the core AX object. + + * accessibility/AccessibilityObject.h: + (WebCore::AccessibilityObject::node): + * accessibility/mac/AccessibilityObjectWrapper.mm: + (-[AccessibilityObjectWrapper accessibilityShouldUseUniqueId]): + +2011-02-09 Nebojsa Ciric <cira@chromium.org> + + Reviewed by Darin Fisher. + + Implements Locale object of JavaScript internationalization API proposal, as an + v8 extension. Extension code is hosted in v8 project (src/extensions/experimental/i18n-extension.{cc,h}) + and in this patch we just provide flags, tests and build rules for chromium port. + https://bugs.webkit.org/show_bug.cgi?id=49414 + + Test: fast/js/i18n-bindings-locale.html + + * WebCore.gyp/WebCore.gyp: + * bindings/generic/RuntimeEnabledFeatures.cpp: + (WebCore::RuntimeEnabledFeatures::experimentalI18NAPIEnabled): + * bindings/generic/RuntimeEnabledFeatures.h: + (WebCore::RuntimeEnabledFeatures::setExperimentalI18NAPIEnabled): + * bindings/v8/V8DOMWindowShell.cpp: + (WebCore::V8DOMWindowShell::createNewContext): + +2011-02-08 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Darin Adler. + + REGRESSION(r71934): Shadow DOM nodes leak via relatedTarget + https://bugs.webkit.org/show_bug.cgi?id=52065 + + * dom/Node.cpp: + (WebCore::pullOutOfShadow): Added a helper to move a node to the outermost + boundary of shadow DOM. + (WebCore::Node::dispatchMouseEvent): Changed to use pullOutOfShadow. + +2011-02-09 Yael Aharon <yael.aharon@nokia.com> + + Reviewed by Darin Adler. + + Add convenience method toHTMLElement(Node*) + https://bugs.webkit.org/show_bug.cgi?id=54105 + + No new tests since no new functionality introduced. + + * html/HTMLElement.h: + (WebCore::toHTMLElement): + +2011-02-09 Sam Weinig <sam@webkit.org> + + Reviewed by Dan Bernstein. + + Fixed positioned elements at very top or bottom of page remain fixed but clip during rubber-banding + <rdar://problem/7615997> + https://bugs.webkit.org/show_bug.cgi?id=54054 + + Take the overhang into account when calculating position for elements with position: fixed. + + * platform/ScrollView.cpp: + (WebCore::ScrollView::scrollXForFixedPosition): + (WebCore::ScrollView::scrollYForFixedPosition): + (WebCore::ScrollView::scrollOffsetForFixedPosition): + * platform/ScrollView.h: + * rendering/RenderView.cpp: + (WebCore::RenderView::mapLocalToContainer): + (WebCore::RenderView::mapAbsoluteToLocalPoint): + (WebCore::RenderView::computeRectForRepaint): + +2011-02-09 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dirk Schulze. + + Enhance ShadowBlur to tile inset box shadows + https://bugs.webkit.org/show_bug.cgi?id=51567 + + Add a tiling code path to ShadowBlur for rendering inset + box-shadows. + + Test: fast/box-shadow/inset-box-shadows.html + + * platform/graphics/ShadowBlur.cpp: + (WebCore::computeSliceSizesFromRadii): Compute the slice sizes + for the eight-piece shadow template. + (WebCore::ShadowBlur::templateSize): Compute the size of the template, + given the slice sizes. + (WebCore::ShadowBlur::drawRectShadow): Bail early if layerRect is empty + (which probably means we're clipped out). Call templateSize() and use + the result to decide whether to tile. + (WebCore::ShadowBlur::drawInsetShadow): New method for inset shadows. + (WebCore::ShadowBlur::drawRectShadowWithoutTiling): Code moved. + (WebCore::ShadowBlur::drawInsetShadowWithoutTiling): The non-tiling code + path for inset shadows. + (WebCore::ShadowBlur::drawInsetShadowWithTiling): Fill the shadow template + buffer, paint the non-blurred area of the destination, and then call drawLayerPieces() + to paint the eight-piece template image. + (WebCore::ShadowBlur::drawRectShadowWithTiling): Refactored code, now + shares the blurring code via blurAndColorShadowBuffer(), and the tiled template + drawing via drawLayerPieces(). + (WebCore::ShadowBlur::drawLayerPieces): Draw an eight-piece image from the + shadow template to the destination. + (WebCore::ShadowBlur::blurAndColorShadowBuffer): Blur the pixels in the image + buffer, and colorize them using the CompositeSourceIn operation. + * platform/graphics/ShadowBlur.h: + +2011-02-09 Jochen Eisinger <jochen@chromium.org> + + Reviewed by Adam Barth. + + Disable script elements when a CSP header is present + https://bugs.webkit.org/show_bug.cgi?id=53867 + + Tests: http/tests/security/contentSecurityPolicy/no-policy.html + http/tests/security/contentSecurityPolicy/script-src-in-iframe.html + http/tests/security/contentSecurityPolicy/script-src-none.html + http/tests/security/contentSecurityPolicy/script-src-redirect.html + + * html/parser/HTMLDocumentParser.cpp: + (WebCore::HTMLDocumentParser::shouldLoadExternalScriptFromSrc): + * html/parser/HTMLScriptRunner.cpp: + (WebCore::HTMLScriptRunner::requestPendingScript): + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::didBeginDocument): + * loader/MainResourceLoader.cpp: + (WebCore::MainResourceLoader::didReceiveResponse): + * page/ContentSecurityPolicy.cpp: + (WebCore::ContentSecurityPolicy::ContentSecurityPolicy): + (WebCore::ContentSecurityPolicy::didReceiveHeader): + (WebCore::ContentSecurityPolicy::canLoadExternalScriptFromSrc): + * page/ContentSecurityPolicy.h: + +2011-02-09 Patrick Gansterer <paroga@webkit.org> + + Unreviewed WinCE build fix for r78047. + + ContextMenu.cpp and ContextMenuItem.cpp have a USE(CROSS_PLATFORM_CONTEXT_MENUS), + so they shouldn't cause problems with correct preprocessor defines. + + * CMakeLists.txt: + +2011-02-09 Ilya Tikhonovsky <loislo@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: InspectorAgent should know nothing about InspectorController instance. + + https://bugs.webkit.org/show_bug.cgi?id=54100 + + * inspector/InspectorAgent.cpp: + (WebCore::InspectorAgent::InspectorAgent): + (WebCore::InspectorAgent::restoreInspectorStateFromCookie): + (WebCore::InspectorAgent::disconnectFrontend): + * inspector/InspectorAgent.h: + * inspector/InspectorController.cpp: + (WebCore::InspectorController::InspectorController): + (WebCore::InspectorController::disconnectFrontend): + (WebCore::InspectorController::restoreInspectorStateFromCookie): + +2011-02-09 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: source frame scroll position is not restored. + https://bugs.webkit.org/show_bug.cgi?id=54101 + + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel.prototype._scriptSourceChanged): + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrame.prototype.show): + (WebInspector.SourceFrame.prototype.hide): + (WebInspector.SourceFrame.prototype.get scrollTop): + (WebInspector.SourceFrame.prototype.set scrollTop): + * inspector/front-end/TextViewer.js: + (WebInspector.TextViewer.prototype.get scrollTop): + (WebInspector.TextViewer.prototype.set scrollTop): + (WebInspector.TextViewer.prototype.get scrollLeft): + (WebInspector.TextViewer.prototype.set scrollLeft): + +2011-02-09 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: follow up on InspectorAgent split - + removing unnecessary methods from InspectorController. + https://bugs.webkit.org/show_bug.cgi?id=54093 + + * WebCore.exp.in: + * inspector/InspectorAgent.cpp: + (WebCore::InspectorAgent::stopUserInitiatedProfiling): + (WebCore::InspectorAgent::showAndEnableDebugger): + (WebCore::InspectorAgent::enabled): + (WebCore::InspectorAgent::showConsole): + * inspector/InspectorAgent.h: + * inspector/InspectorController.cpp: + (WebCore::InspectorController::InspectorController): + (WebCore::InspectorController::didClearWindowObjectInWorld): + (WebCore::InspectorController::showConsole): + (WebCore::InspectorController::enabled): + (WebCore::InspectorController::inspectedPage): + * inspector/InspectorController.h: + * inspector/InspectorFrontendClientLocal.cpp: + +2011-02-07 Chris Marrin <cmarrin@apple.com> + + Reviewed by Simon Fraser. + + LayoutTests/animations/play-state.html has wrong behavior with accelerated compositing + https://bugs.webkit.org/show_bug.cgi?id=53513 + + The PlatformCAAnimation::create() function which took a pointer to another + PlatformCAAnimation was supposed to make a copy of that passed object. + But it was doing completely the wrong thing on Mac and was leaking an object + to boot. And the notion of copying an object using a static creation function + is wrong in the first place. So I changed it to a member copy() function + which would create a new PlatformCAAnimation which was a copy of 'this' and + return it. I changed the implementation on both Mac and Win to match. + + This problem was not caught by DRT, even there is a specific test for it. + That test just verifies that the higher level logic is working + properly, which it is. There's no practical way to find out if the + layer is currently animating. There is no logic which probes that + deeply into the layer mechanics. + + * platform/graphics/ca/GraphicsLayerCA.cpp: + * platform/graphics/ca/PlatformCAAnimation.h: + * platform/graphics/ca/mac/PlatformCAAnimationMac.mm: + * platform/graphics/ca/win/PlatformCAAnimationWin.cpp: + +2011-02-09 Lucas De Marchi <lucas.demarchi@profusion.mobi> + + Unreviewed build fix. + + [EFL] Remove double definition of ContextMenu. + https://bugs.webkit.org/show_bug.cgi?id=50762 + + When building with SHARED_CORE enabled, the symbols of ContextMenu + were both in webkit and webcore. This removes them from webcore and + shall be put back once the CROSS_PLATFORM_CONTEXT_MENUS is implemented + in EFL port. + + No new tests because no new functionality. + + * CMakeLists.txt: + +2011-02-09 Adam Roben <aroben@apple.com> + + Windows Production build fix + + * WebCore.vcproj/QTMovieWinCommon.vsprops: Link against + WebKitSystemInterface$(WebKitConfigSuffix).lib, not just WebKitSystemInterface.lib, so we + pick up the _debug variant when appropriate. + +2011-02-09 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Hostnames should cannonicalize to lowercase (to match every other browser) + https://bugs.webkit.org/show_bug.cgi?id=54084 + + * platform/KURL.cpp: + (WebCore::KURL::parse): + +2011-02-09 Peter Varga <pvarga@webkit.org> + + + Reviewed by Gavin Barraclough. + + Replace PCRE with Yarr in WebCore + https://bugs.webkit.org/show_bug.cgi?id=53496 + + No new tests needed. + + * Android.jscbindings.mk: + * CMakeLists.txt: + * ForwardingHeaders/pcre/pcre.h: Removed. + * ForwardingHeaders/yarr/Yarr.h: Added. + * ForwardingHeaders/yarr/YarrInterpreter.h: Added. + * ForwardingHeaders/yarr/YarrPattern.h: Added. + * WebCore.gyp/WebCore.gyp: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.vcproj/copyForwardingHeaders.cmd: + * platform/text/RegularExpression.cpp: + (WebCore::RegularExpression::Private::create): + (WebCore::RegularExpression::Private::Private): + (WebCore::RegularExpression::Private::compile): + (WebCore::RegularExpression::match): + +2011-02-09 Gyuyoung Kim <gyuyoung.kim@samsung.com> + + Reviewed by Eric Seidel. + + [EFL] Add dummy functions for HTML5 Video's control UI + https://bugs.webkit.org/show_bug.cgi?id=53906 + + In WebKit EFL, there are no implementations for HTML5 control UI. + First, dummy functions are added. + + * platform/efl/RenderThemeEfl.cpp: + (WebCore::RenderThemeEfl::extraMediaControlsStyleSheet): + (WebCore::RenderThemeEfl::formatMediaControlsCurrentTime): + (WebCore::RenderThemeEfl::paintMediaFullscreenButton): + (WebCore::RenderThemeEfl::paintMediaMuteButton): + (WebCore::RenderThemeEfl::paintMediaPlayButton): + (WebCore::RenderThemeEfl::paintMediaSeekBackButton): + (WebCore::RenderThemeEfl::paintMediaSeekForwardButton): + (WebCore::RenderThemeEfl::paintMediaSliderTrack): + (WebCore::RenderThemeEfl::paintMediaSliderThumb): + (WebCore::RenderThemeEfl::paintMediaVolumeSliderContainer): + (WebCore::RenderThemeEfl::paintMediaVolumeSliderTrack): + (WebCore::RenderThemeEfl::paintMediaVolumeSliderThumb): + (WebCore::RenderThemeEfl::paintMediaCurrentTime): + * platform/efl/RenderThemeEfl.h: + +2011-02-09 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Make WebKit's fragment cannonicalization match other browsers + https://bugs.webkit.org/show_bug.cgi?id=53850 + + This doesn't make us match perfectly, but it brings us closer. + + * platform/KURL.cpp: + (WebCore::appendEscapingBadChars): + (WebCore::escapeAndAppendFragment): + (WebCore::KURL::parse): + +2011-02-09 Hans Wennborg <hans@chromium.org> + + Reviewed by Jeremy Orlow. + + IndexedDB: Cursors should skip deleted entries + https://bugs.webkit.org/show_bug.cgi?id=53690 + + Add test to check that the cursor skips deleted entries. + + Test: storage/indexeddb/cursor-skip-deleted.html + + * storage/IDBCursorBackendImpl.cpp: + (WebCore::IDBCursorBackendImpl::currentRowExists): + (WebCore::IDBCursorBackendImpl::continueFunctionInternal): + * storage/IDBCursorBackendImpl.h: + +2011-02-08 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: script formatter should not create a worker for each script. + https://bugs.webkit.org/show_bug.cgi?id=54010 + + * inspector/front-end/ScriptFormatter.js: + (WebInspector.ScriptFormatter): + (WebInspector.ScriptFormatter.prototype._formatScript): + (WebInspector.ScriptFormatter.prototype._handleMessage): + (WebInspector.ScriptFormatter.prototype._handleError): + +2011-02-08 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: sync uglifyjs parser files. + https://bugs.webkit.org/show_bug.cgi?id=54003 + + * inspector/front-end/UglifyJS/parse-js.js: + * inspector/front-end/UglifyJS/process.js: + +2011-02-08 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Darin Adler. + + REGRESSION(71556,68059): queryCommandValue screws up background color at collapsed cursor + https://bugs.webkit.org/show_bug.cgi?id=53196 + + The bug was caused by Editor::selectionComputedStyle's modifying typing style without making a copy, + and its removing non-inheritable properties from the typing style. Fixed the bug by making a copy + before making the modification and not removing non-inheritable properties. + + Also fixed a bug in selectionStartCSSPropertyValue that it doesn't handle xx-small to -webkit-xxx-large + by extracting a function from StyleChange::extractTextStyles and calling it in both extractTextStyles + and selectionStartCSSPropertyValue. + + Test: editing/style/query-typing-style.html + + * editing/ApplyStyleCommand.cpp: + (WebCore::legacyFontSizeFromCSSValue): Extracted from StyleChange::extractTextStyles. + (WebCore::StyleChange::extractTextStyles): Calls legacyFontSizeFromCSSValue; this fixes the bug that + CSS values from xx-small through -webkit-xxx-large are not accounted. + * editing/ApplyStyleCommand.h: + * editing/Editor.cpp: + (WebCore::Editor::selectionStartCSSPropertyValue): Calls legacyFontSizeFromCSSValue. + (WebCore::Editor::selectionComputedStyle): Makes a copy before modifying typing style. + No longer calls removeNonEditingProperties on the copied typing style so that background-color property + is included when merged into the style. + +2011-02-08 Sam Weinig <sam@webkit.org> + + Reviewed by Maciej Stachowiak. + + REGRESSION (r76831): Subframes are printed blank + <rdar://problem/8945867> + + * page/FrameView.cpp: + (WebCore::FrameView::paintOverhangAreas): + Don't paint overhangs when printing. + +2011-02-07 Jeremy Orlow <jorlow@chromium.org> + + Reviewed by Nate Chapin. + + Events should propagate through IDBDatabase (for IDBRequest and IDBTransaction) + https://bugs.webkit.org/show_bug.cgi?id=53975 + + The third change in the series of overhauling IndexedDB's event model to match + the spec (at least the version in our heads and bugs). + + Test: storage/indexeddb/transaction-event-propagation.html + + * bindings/v8/V8DOMWrapper.cpp: + (WebCore::V8DOMWrapper::convertEventTargetToV8Object): + * dom/Event.cpp: + (WebCore::Event::isIDBAbortEvent): + (WebCore::Event::isIDBCompleteEvent): + * dom/Event.h: + * dom/EventTarget.cpp: + (WebCore::EventTarget::toIDBDatabase): + * dom/EventTarget.h: + * storage/IDBDatabase.cpp: + (WebCore::IDBDatabase::create): + (WebCore::IDBDatabase::IDBDatabase): + (WebCore::IDBDatabase::scriptExecutionContext): + (WebCore::IDBDatabase::eventTargetData): + (WebCore::IDBDatabase::ensureEventTargetData): + * storage/IDBDatabase.h: + (WebCore::IDBDatabase::toIDBDatabase): + (WebCore::IDBDatabase::refEventTarget): + (WebCore::IDBDatabase::derefEventTarget): + * storage/IDBDatabase.idl: + * storage/IDBRequest.cpp: + (WebCore::IDBRequest::onSuccess): + (WebCore::IDBRequest::dispatchEvent): + * storage/IDBTransaction.cpp: + (WebCore::IDBTransaction::backend): + (WebCore::IDBTransaction::db): + (WebCore::IDBTransaction::objectStore): + (WebCore::IDBTransaction::scriptExecutionContext): + (WebCore::IDBTransaction::dispatchEvent): + (WebCore::IDBTransaction::enqueueEvent): + * storage/IDBTransaction.h: + (WebCore::IDBTransaction::dispatchEvent): + +2011-02-08 Kenneth Russell <kbr@google.com> + + Reviewed by James Robinson. + + Add cache for GPU-accelerated path processing results + https://bugs.webkit.org/show_bug.cgi?id=45519 + + Adding a cache which holds the results of processing a path into + interior and exterior triangle meshes, according to the path + rendering algorithm from GPU Gems 3. No tests yet; will be tested + in conjunction with later code. + + * platform/graphics/gpu/LoopBlinnPathCache.cpp: Added. + (WebCore::LoopBlinnPathCache::LoopBlinnPathCache): + (WebCore::LoopBlinnPathCache::~LoopBlinnPathCache): + (WebCore::LoopBlinnPathCache::addVertex): + (WebCore::LoopBlinnPathCache::clear): + (WebCore::LoopBlinnPathCache::addInteriorVertex): + (WebCore::LoopBlinnPathCache::numberOfInteriorEdgeVertices): + (WebCore::LoopBlinnPathCache::interiorEdgeVertices): + (WebCore::LoopBlinnPathCache::addInteriorEdgeVertex): + * platform/graphics/gpu/LoopBlinnPathCache.h: Added. + (WebCore::LoopBlinnPathCache::numberOfVertices): + (WebCore::LoopBlinnPathCache::vertices): + (WebCore::LoopBlinnPathCache::texcoords): + (WebCore::LoopBlinnPathCache::numberOfInteriorVertices): + (WebCore::LoopBlinnPathCache::interiorVertices): + +2011-02-08 Zhenyao Mo <zmo@google.com> + + Reviewed by Kenneth Russell. + + Rename GraphicsContext3D::WebGLEnumType + https://bugs.webkit.org/show_bug.cgi?id=45708 + + * html/canvas/WebGLProgram.cpp: + (WebCore::WebGLProgram::getAttachedShader): + * html/canvas/WebGLProgram.h: + * platform/graphics/GraphicsContext3D.h: + +2011-02-08 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r77980. + http://trac.webkit.org/changeset/77980 + https://bugs.webkit.org/show_bug.cgi?id=54043 + + "Crashes on Windows and Linux..." (Requested by leviw on + #webkit). + + * WebCore.exp.in: + * accessibility/AXObjectCache.cpp: + (WebCore::AXObjectCache::visiblePositionForTextMarkerData): + * accessibility/AccessibilityObject.cpp: + (WebCore::startOfStyleRange): + (WebCore::endOfStyleRange): + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::visiblePositionForIndex): + * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: + (objectAndOffsetUnignored): + * dom/Position.cpp: + (WebCore::Position::upstream): + (WebCore::Position::downstream): + * dom/Range.cpp: + (WebCore::Range::editingStartPosition): + * editing/Editor.cpp: + (WebCore::Editor::canDeleteRange): + * editing/ReplaceSelectionCommand.cpp: + (WebCore::ReplaceSelectionCommand::doApply): + * editing/SelectionController.cpp: + (WebCore::SelectionController::selectFrameElementInParentIfFullySelected): + (WebCore::SelectionController::setSelectedRange): + * editing/TextIterator.cpp: + (WebCore::TextIterator::shouldRepresentNodeOffsetZero): + * editing/TypingCommand.cpp: + (WebCore::TypingCommand::deleteKeyPressed): + * editing/VisiblePosition.cpp: + (WebCore::VisiblePosition::VisiblePosition): + (WebCore::VisiblePosition::leftVisuallyDistinctCandidate): + (WebCore::VisiblePosition::rightVisuallyDistinctCandidate): + (WebCore::VisiblePosition::canonicalPosition): + (WebCore::VisiblePosition::characterAfter): + (WebCore::VisiblePosition::localCaretRect): + (WebCore::makeRange): + (WebCore::startVisiblePosition): + (WebCore::endVisiblePosition): + (WebCore::setStart): + (WebCore::setEnd): + (WebCore::isFirstVisiblePositionInNode): + (WebCore::isLastVisiblePositionInNode): + * editing/VisiblePosition.h: + * editing/htmlediting.cpp: + (WebCore::firstInSpecialElement): + (WebCore::lastInSpecialElement): + (WebCore::visiblePositionBeforeNode): + (WebCore::visiblePositionAfterNode): + * editing/visible_units.cpp: + (WebCore::startPositionForLine): + (WebCore::endPositionForLine): + (WebCore::previousLinePosition): + (WebCore::nextLinePosition): + (WebCore::startOfParagraph): + (WebCore::endOfParagraph): + (WebCore::endOfBlock): + (WebCore::startOfDocument): + (WebCore::endOfDocument): + (WebCore::logicalStartPositionForLine): + (WebCore::logicalEndPositionForLine): + * page/DOMSelection.cpp: + (WebCore::DOMSelection::collapse): + (WebCore::DOMSelection::setBaseAndExtent): + (WebCore::DOMSelection::setPosition): + (WebCore::DOMSelection::extend): + * page/EventHandler.cpp: + (WebCore::EventHandler::handleMousePressEventSingleClick): + * rendering/RenderObject.cpp: + (WebCore::RenderObject::createVisiblePosition): + * rendering/RenderTextControl.cpp: + (WebCore::RenderTextControl::visiblePositionForIndex): + * svg/SVGTextContentElement.cpp: + (WebCore::SVGTextContentElement::selectSubString): + +2011-02-08 Jia Pu <jpu@apple.com> + + Reviewed by Darin Adler. + + VisibleSelection::setWithoutValidation() should allow caret selection. + https://bugs.webkit.org/show_bug.cgi?id=53943 + + Test: editing/undo/undo-paste-when-caret-is-not-in-range.html + + * editing/VisibleSelection.cpp: + (WebCore::VisibleSelection::setWithoutValidation): + +2011-02-08 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Xan Lopez. + + [GTK] Remove the last remnants of the Mozilla theme drawing code + https://bugs.webkit.org/show_bug.cgi?id=54035 + + Remove all Mozilla theme drawing code. + + No new tests. This change only removes dead code. + + * GNUmakefile.am: Remove Mozilla files from the source list. + * platform/gtk/RenderThemeGtk.h: Remove Mozilla-theme-drawing-related methods + and add m_colormap to hold the current colormap of the widgets. + * platform/gtk/RenderThemeGtk2.cpp: Remove Mozilla code. + (WebCore::RenderThemeGtk::platformInit): Ditto. + (WebCore::RenderThemeGtk::~RenderThemeGtk): Ditto. + (WebCore::RenderThemeGtk::gtkContainer): Ditto. + * platform/gtk/ScrollbarThemeGtk2.cpp: Ditto. + * platform/gtk/WidgetRenderingContext.cpp: Ditto. + (WebCore::WidgetRenderingContext::WidgetRenderingContext): Ditto. + * platform/gtk/WidgetRenderingContext.h: Ditto. + * platform/gtk/gtk2drawing.c: Removed. + * platform/gtk/gtkdrawing.h: Removed. + +2011-02-08 Yael Aharon <yael.aharon@nokia.com> + + Reviewed by Antti Koivisto. + + Crash when logging into gmail.com with frame flattening turned on. + https://bugs.webkit.org/show_bug.cgi?id=52449 + + Frame flattening algorithm requires that layout always starts from the main frame, since layout of + subframes impacts the layout of their parents. + There are places in the code that call view->layout() not on the main frame. + Instead of changing all the callsites, I changed FrameView::layout() + to force layout from the main frame if frame flattening is enabled. + In addition, postLayoutTasks can trigger relayout, so make it use the timer even more. + Move the call to SelectionController::updateAppearance() to performPostLayoutTasks(), + because calling the from layout() leads to a crash in pages that have a selection in an iframe. + + Tests: fast/frames/flattening/iframe-flattening-crash.html + fast/frames/flattening/iframe-flattening-selection-crash.html + + * page/FrameView.cpp: + (WebCore::FrameView::layout): + (WebCore::FrameView::performPostLayoutTasks): + +2011-02-08 Andy Estes <aestes@apple.com> + + Reviewed by Darin Adler. + + <rdar://problem/8913952> REGRESSION (r76301): 'plaintext-only' must be + a supported contentEditable mode. + https://bugs.webkit.org/show_bug.cgi?id=54041 + + * html/HTMLElement.cpp: + (WebCore::HTMLElement::setContentEditable): Setting the contentEditable + attribute to 'plaintext-only' should not throw an exception. + +2011-02-08 Dan Bernstein <mitz@apple.com> + + Reviewed by Simon Fraser. + + RenderRubyRun::m_beingDestroyed is redundant + https://bugs.webkit.org/show_bug.cgi?id=54042 + + * rendering/RenderRubyRun.cpp: + (WebCore::RenderRubyRun::RenderRubyRun): Removed intialization of m_beingDestroyed. + (WebCore::RenderRubyRun::removeChild): Use the base class beingDestroyed(). + * rendering/RenderRubyRun.h: + +2011-02-08 Levi Weintraub <leviw@chromium.org> + + Reviewed by Ryosuke Niwa. + + Stop instantiating legacy editing Positions in VisiblePosition + https://bugs.webkit.org/show_bug.cgi?id=52919 + + Changing VisiblePosition completely away from legacy positions. + + No new tests since this is functionaly equivalent. + + * WebCore.exp.in: Removing the legacy VisiblePosition constructor and + adding the PositionIsOffsetInAnchor symbol. If we must create VisiblePositions + outside of WebCore, they should be parent anchored. + * accessibility/AXObjectCache.cpp: + (WebCore::AXObjectCache::visiblePositionForTextMarkerData): + * accessibility/AccessibilityObject.cpp: + (WebCore::startOfStyleRange): + (WebCore::endOfStyleRange): + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::visiblePositionForIndex): + * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: + (objectAndOffsetUnignored): + * dom/Position.cpp: + (WebCore::Position::upstream): Fixed to correctly respect PositionIsAfterAnchor + (WebCore::Position::downstream): ditto + * dom/Range.cpp: + (WebCore::Range::editingStartPosition): + * editing/Editor.cpp: + (WebCore::Editor::canDeleteRange): + * editing/ReplaceSelectionCommand.cpp: + (WebCore::ReplaceSelectionCommand::doApply): + * editing/SelectionController.cpp: + (WebCore::SelectionController::selectFrameElementInParentIfFullySelected): + (WebCore::SelectionController::setSelectedRange): + * editing/TextIterator.cpp: + (WebCore::TextIterator::shouldRepresentNodeOffsetZero): + * editing/TypingCommand.cpp: + (WebCore::TypingCommand::deleteKeyPressed): + * editing/VisiblePosition.cpp: + (WebCore::VisiblePosition::leftVisuallyDistinctCandidate): + (WebCore::VisiblePosition::rightVisuallyDistinctCandidate): + (WebCore::VisiblePosition::canonicalPosition): + (WebCore::VisiblePosition::characterAfter): + (WebCore::VisiblePosition::localCaretRect): + (WebCore::makeRange): + (WebCore::startVisiblePosition): + (WebCore::endVisiblePosition): + (WebCore::setStart): + (WebCore::setEnd): + (WebCore::isFirstVisiblePositionInNode): + (WebCore::isLastVisiblePositionInNode): + * editing/VisiblePosition.h: + (WebCore::VisiblePosition::VisiblePosition): + * editing/htmlediting.cpp: + (WebCore::firstInSpecialElement): + (WebCore::lastInSpecialElement): + (WebCore::visiblePositionBeforeNode): + (WebCore::visiblePositionAfterNode): + * editing/visible_units.cpp: + (WebCore::startPositionForLine): + (WebCore::endPositionForLine): + (WebCore::previousLinePosition): + (WebCore::nextLinePosition): + (WebCore::startOfParagraph): + (WebCore::endOfParagraph): + (WebCore::endOfBlock): + (WebCore::startOfDocument): + (WebCore::endOfDocument): + (WebCore::logicalStartPositionForLine): + (WebCore::logicalEndPositionForLine): + * page/DOMSelection.cpp: + (WebCore::DOMSelection::collapse): + (WebCore::DOMSelection::setBaseAndExtent): + (WebCore::DOMSelection::setPosition): + (WebCore::DOMSelection::extend): + * page/EventHandler.cpp: + (WebCore::EventHandler::handleMousePressEventSingleClick): + * rendering/RenderObject.cpp: + (WebCore::RenderObject::createVisiblePosition): + * rendering/RenderTextControl.cpp: + (WebCore::RenderTextControl::visiblePositionForIndex): + * svg/SVGTextContentElement.cpp: + (WebCore::SVGTextContentElement::selectSubString): + +2011-02-08 Michael Saboff <msaboff@apple.com> + + JSC::Bindings m_rootObject->isValid() assert fails when running layout tests + https://bugs.webkit.org/show_bug.cgi?id=53716 + + Changed ASSERT to be an if for the case where the RuntimeObject was + GC'ed before RootObject::invalidate is called. In that case there is + no need to remove the RuntimeObject from the RootObject. The isValid() + call will be false in this case, but the RuntimeObject has already + been removed from the RootObject. Added similar defensive code + in RootObject::removeRuntimeObject(). + + * bridge/jsc/BridgeJSC.cpp: + (JSC::Bindings::Instance::willDestroyRuntimeObject): + * bridge/runtime_root.cpp: + (JSC::Bindings::RootObject::removeRuntimeObject): + +2011-02-08 Beth Dakin <bdakin@apple.com> + + Reviewed by Darin Adler. + + Fix for <rdar://problem/8953365> CrashTracer: 14 + crashes in WebProcess at com.apple.WebCore: + -[ScrollKnobAnimation setCurrentProgress:] + 258 + + This crash seems to happen when the animation is running + and a window is closed. If the ScrollAnimator is destroyed, + delegate calls for the animation can still run, so we have + to make sure we inform the delegates when the ScrollAnimator + is gone, and then we have to null-check it before we do + anything with it. + + Remove scrollbarPainterDelegate() since it's not used anymore. + * platform/mac/ScrollAnimatorMac.h: + * platform/mac/ScrollAnimatorMac.mm: + + Add null-checks for _animator + (-[ScrollbarPartAnimation setCurrentProgress:]): + (-[ScrollbarPartAnimation scrollAnimatorDestroyed]): + (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]): + (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]): + (-[ScrollbarPainterDelegate scrollerImp:overlayScrollerStateChangedTo:]): + + New function to inform the delegates that the ScrollAnimator + is being destroyed. + (-[ScrollbarPainterDelegate scrollAnimatorDestroyed]): + (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac): + +2011-02-08 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Remove orphan code from old parser + https://bugs.webkit.org/show_bug.cgi?id=53984 + + This code appears to be unused. + + * html/HTMLParserErrorCodes.cpp: + * html/HTMLParserErrorCodes.h: + * html/HTMLParserQuirks.h: + * loader/EmptyClients.h: + * page/ChromeClient.h: + +2011-02-08 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Gustavo Noronha Silva. + + [GTK] Move scrollbar rendering out of gtk2drawing.c + https://bugs.webkit.org/show_bug.cgi?id=52836 + + Replace gtk2drawing.c scrollbar rendering with our own version. This + is the last use of the Mozilla theme drawing code. + + No new tests. This should not change the rendering of the default + theme. + + * platform/gtk/GtkVersioning.h: Add some more backported allocation setters. + * platform/gtk/RenderThemeGtk.h: Add a getter for the scrollbar widgets. + * platform/gtk/RenderThemeGtk2.cpp: Initialize and add getters for scrollbar widgets. + (WebCore::RenderThemeGtk::platformInit): Ditto. + (WebCore::RenderThemeGtk::gtkHScrollbar): Ditto. + (WebCore::RenderThemeGtk::gtkVScrollbar): Ditto. + * platform/gtk/ScrollbarThemeGtk.cpp: + (WebCore::ScrollbarThemeGtk::paint): We only repaint the scrolled + window background if we are repainting a button or the thumb. In that + case also repaint the track rect. + * platform/gtk/ScrollbarThemeGtk2.cpp: Port to WidgetRenderingContext. + (WebCore::ScrollbarThemeGtk::ScrollbarThemeGtk): Ditto. + (WebCore::ScrollbarThemeGtk::updateThemeProperties): Ditto. + (WebCore::getWidgetForScrollbar): Ditto. + (WebCore::ScrollbarThemeGtk::paintTrackBackground): Ditto. + (WebCore::ScrollbarThemeGtk::paintScrollbarBackground): Ditto. + (WebCore::ScrollbarThemeGtk::paintThumb): Ditto. + (WebCore::ScrollbarThemeGtk::paintButton): Ditto. + * platform/gtk/WidgetRenderingContext.cpp: Ditto. + (WebCore::WidgetRenderingContext::gtkPaintBox): Added an option which + also adjusts a widget allocation according to the paint rect. This is + necessary to properly draw scrollbar buttons. + * platform/gtk/WidgetRenderingContext.h: Ditto. + +2011-02-08 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dan Bernstein. + + Inset shadow with large offset renders incorrectly + https://bugs.webkit.org/show_bug.cgi?id=53882 + + Fix an issue with inset shadows, when the shadow offset + was larger than the box size. In this case we'd fail to + fill the box with the shadow color. + + Test: fast/box-shadow/inset-shadow-large-offset.html + + * rendering/RenderBoxModelObject.cpp: + (WebCore::areaCastingShadowInHole): Return a rect that covers the area + which contributes to the inset shadow. + + (WebCore::RenderBoxModelObject::paintBoxShadow): Use areaCastingShadowInHole() + to compute the outerRect. + +2011-02-08 Zhenyao Mo <zmo@google.com> + + Reviewed by Kenneth Russell. + + drawElements should check if a buffer is bound to ELEMENT_ARRAY_BUFFER + https://bugs.webkit.org/show_bug.cgi?id=54017 + + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::drawElements): + +2011-01-28 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Darin Adler. + + Change the rest of HTMLMediaElement shadow DOM parts to use shadowPseudoId. + https://bugs.webkit.org/show_bug.cgi?id=53190 + + This is the second part of refactoring the HTMLMediaElement to use new + shadow DOM. The changes are mainly mechanical, except for needing to + add a new method to RenderTheme, which indicates whether or not status + display is being used by it. Previously, we relied on existence of a cached + pseudo style. + + Refactoring, covered by existing tests. + + * css/CSSSelector.cpp: + (WebCore::CSSSelector::pseudoId): Removed now-unused enum values. + (WebCore::nameToPseudoTypeMap): Ditto. + (WebCore::CSSSelector::extractPseudoType): Ditto. + * css/CSSSelector.h: Ditto. + * html/shadow/MediaControls.cpp: + (WebCore::MediaControls::createPanel): Changed to use the newly-added MediaControlPanelElement. + (WebCore::MediaControls::createCurrentTimeDisplay): Changed to use the newly-added + MediaControlCurrentTimeDisplayElement. + (WebCore::MediaControls::createTimeRemainingDisplay): Changed to use the newly-added + MediaControlTimeRemainingDisplayElement. + * rendering/MediaControlElements.cpp: + (WebCore::MediaControlShadowRootElement::updateStyle): Changed to use the + standard style resolution. + (WebCore::MediaControlShadowRootElement::shadowPseudoId): Added. + (WebCore::MediaControlElement::MediaControlElement): Removed the switch statement + that is no longer necessary. + (WebCore::MediaControlElement::styleForElement): Changed to use the standard + style resolution. + (WebCore::MediaControlPanelElement::MediaControlPanelElement): Added. + (WebCore::MediaControlPanelElement::create): Added. + (WebCore::MediaControlPanelElement::displayType): Added. + (WebCore::MediaControlPanelElement::shadowPseudoId): Added. + (WebCore::MediaControlTimelineContainerElement::MediaControlTimelineContainerElement): + Removed PseudoId constructor arg. + (WebCore::MediaControlTimelineContainerElement::rendererIsNeeded): + Changed to use the newly-plumbed usesMediaControlStatusDisplay helper. + (WebCore::MediaControlTimelineContainerElement::displayType): Added. + (WebCore::MediaControlTimelineContainerElement::shadowPseudoId): Added. + (WebCore::MediaControlVolumeSliderContainerElement::MediaControlVolumeSliderContainerElement): + Removed PseudoId constructor arg. + (WebCore::MediaControlVolumeSliderContainerElement::displayType): Added. + (WebCore::MediaControlVolumeSliderContainerElement::shadowPseudoId): Added. + (WebCore::MediaControlStatusDisplayElement::MediaControlStatusDisplayElement): + Removed PseudoId constructor arg. + (WebCore::MediaControlStatusDisplayElement::rendererIsNeeded): Changed to + use the newly-plumbed usesMediaControlStatusDisplay helper. + (WebCore::MediaControlStatusDisplayElement::displayType): Added. + (WebCore::MediaControlStatusDisplayElement::shadowPseudoId): Added. + (WebCore::MediaControlTimeDisplayElement::MediaControlTimeDisplayElement): + Removed PseudoId constructor arg. + (WebCore::MediaControlTimeRemainingDisplayElement::create): Added. + (WebCore::MediaControlTimeRemainingDisplayElement::MediaControlTimeRemainingDisplayElement): Added. + (WebCore::MediaControlTimeRemainingDisplayElement::displayType): Added. + (WebCore::MediaControlTimeRemainingDisplayElement::shadowPseudoId): Added. + (WebCore::MediaControlCurrentTimeDisplayElement::create): Added. + (WebCore::MediaControlCurrentTimeDisplayElement::MediaControlCurrentTimeDisplayElement): Added. + (WebCore::MediaControlCurrentTimeDisplayElement::displayType): Added. + (WebCore::MediaControlCurrentTimeDisplayElement::shadowPseudoId): Added. + * rendering/MediaControlElements.h: Added/changed defs accordingly. + * rendering/RenderTheme.h: + (WebCore::RenderTheme::usesMediaControlStatusDisplay): Added. + * rendering/RenderThemeMac.h: Added def. + * rendering/RenderThemeMac.mm: + (WebCore::RenderThemeMac::usesMediaControlStatusDisplay): Added. + * rendering/style/RenderStyleConstants.h: Removed now-unused enum values. + +2011-02-08 Xiaomei Ji <xji@chromium.org> + + Reviewed by Dan Bernstein. + + Fix pop-up button text not rendered correctly according to its direction + in <option>. + https://bugs.webkit.org/show_bug.cgi?id=53642 + + In adjustInnerStyle(), if m_innerBlock's direction or unicode-bidi + changes, set it needs layout. + + Test: fast/text/international/pop-up-button-text-alignment-and-direction.html + + * rendering/RenderMenuList.cpp: + (WebCore::RenderMenuList::adjustInnerStyle): + +2011-02-08 Ilya Tikhonovsky <loislo@chromium.org> + + Unreviewed build fix for Qt-minimal. + + * inspector/InspectorInstrumentation.h: + (WebCore::InspectorInstrumentation::hasFrontend): + +2011-02-02 Ilya Tikhonovsky <loislo@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: move InspectorController's methods from InspectorAgent to InspectorController. + + https://bugs.webkit.org/show_bug.cgi?id=53169 + + All the Inspector API for WebCore has two parts. + The first one is InspectorInstrumentation for WebCore. + The second is InspectorController for WebKit. + InspectorAgent was produced by renaming original InspectorController. + This patch extracts WebKit related methods from InspectorAgent to InspectorController. + + * WebCore.exp.in: + * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp: + * html/HTMLDocument.cpp: + (WebCore::HTMLDocument::createParser): + * inspector/InspectorAgent.cpp: + (WebCore::InspectorAgent::InspectorAgent): + (WebCore::InspectorAgent::~InspectorAgent): + (WebCore::InspectorAgent::restoreInspectorStateFromCookie): + (WebCore::InspectorAgent::inspect): + (WebCore::InspectorAgent::handleMousePress): + (WebCore::InspectorAgent::didClearWindowObjectInWorld): + (WebCore::InspectorAgent::setFrontend): + (WebCore::InspectorAgent::disconnectFrontend): + (WebCore::InspectorAgent::resourceAgent): + (WebCore::InspectorAgent::createFrontendLifetimeAgents): + (WebCore::InspectorAgent::releaseFrontendLifetimeAgents): + (WebCore::InspectorAgent::populateScriptObjects): + (WebCore::InspectorAgent::pushDataCollectedOffline): + (WebCore::InspectorAgent::restoreProfiler): + (WebCore::InspectorAgent::startTimelineProfiler): + (WebCore::PostWorkerNotificationToFrontendTask::performTask): + (WebCore::InspectorAgent::didOpenDatabase): + (WebCore::InspectorAgent::didUseDOMStorage): + (WebCore::InspectorAgent::showAndEnableDebugger): + (WebCore::InspectorAgent::enableDebugger): + (WebCore::InspectorAgent::enabled): + * inspector/InspectorAgent.h: + (WebCore::InspectorAgent::frontend): + * inspector/InspectorController.cpp: + (WebCore::InspectorController::InspectorController): + (WebCore::InspectorController::~InspectorController): + (WebCore::InspectorController::setInspectorFrontendClient): + (WebCore::InspectorController::hasInspectorFrontendClient): + (WebCore::InspectorController::didClearWindowObjectInWorld): + (WebCore::InspectorController::startTimelineProfiler): + (WebCore::InspectorController::stopTimelineProfiler): + (WebCore::InspectorController::connectFrontend): + (WebCore::InspectorController::disconnectFrontend): + (WebCore::InspectorController::disconnectFrontendImpl): + (WebCore::InspectorController::show): + (WebCore::InspectorController::close): + (WebCore::InspectorController::restoreInspectorStateFromCookie): + (WebCore::InspectorController::evaluateForTestInFrontend): + (WebCore::InspectorController::drawNodeHighlight): + (WebCore::InspectorController::inspect): + (WebCore::InspectorController::enabled): + (WebCore::InspectorController::showPanel): + (WebCore::InspectorController::frontendLoaded): + (WebCore::InspectorController::timelineProfilerEnabled): + (WebCore::InspectorController::enableProfiler): + (WebCore::InspectorController::disableProfiler): + (WebCore::InspectorController::profilerEnabled): + (WebCore::InspectorController::debuggerEnabled): + (WebCore::InspectorController::showAndEnableDebugger): + (WebCore::InspectorController::disableDebugger): + (WebCore::InspectorController::startUserInitiatedProfiling): + (WebCore::InspectorController::stopUserInitiatedProfiling): + (WebCore::InspectorController::isRecordingUserInitiatedProfile): + (WebCore::InspectorController::setInspectorExtensionAPI): + (WebCore::InspectorController::resume): + (WebCore::InspectorController::hideHighlight): + (WebCore::InspectorController::dispatchMessageFromFrontend): + * inspector/InspectorController.h: + (WebCore::InspectorController::inspectorClient): + (WebCore::InspectorController::inspectedPage): + (WebCore::InspectorController::hasFrontend): + * inspector/InspectorFrontendClientLocal.cpp: + (WebCore::InspectorFrontendClientLocal::sendMessageToBackend): + * inspector/InspectorFrontendHost.cpp: + (WebCore::InspectorFrontendHost::setExtensionAPI): + * inspector/InspectorInstrumentation.cpp: + (WebCore::InspectorInstrumentation::didClearWindowObjectInWorldImpl): + (WebCore::InspectorInstrumentation::profilerEnabledImpl): + * inspector/InspectorInstrumentation.h: + (WebCore::InspectorInstrumentation::hasFrontend): + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): + +2011-02-08 George Wright <gwright@rim.com> + + Reviewed by Adam Barth. + + https://bugs.webkit.org/show_bug.cgi?id=53949 + + Ensure that we pack the colour byte order correctly for Skia using + Skia's SkPackARGB32 function. + + * platform/image-decoders/ImageDecoder.h: + (WebCore::ImageFrame::setRGBA): + +2011-02-08 George Wright <gwright@rim.com> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=53951 + + Ensure we do not pass (-1, -1) sized rects to ImageBuffer but instead + pass the full image dimensions. + + * platform/graphics/GraphicsContext.cpp: + (WebCore::GraphicsContext::drawImageBuffer): + +2011-02-08 Patrick Gansterer <paroga@webkit.org> + + Reviewed by Adam Roben. + + [WIN] Add missing includes and forward declarations for DownloadBundle + https://bugs.webkit.org/show_bug.cgi?id=53881 + + * platform/network/cf/DownloadBundle.h: + * platform/network/win/DownloadBundleWin.cpp: + (WebCore::DownloadBundle::appendResumeData): + +2011-02-08 Patrick Gansterer <paroga@webkit.org> + + Reviewed by Adam Roben. + + [WIN] Add missing include in WKCAImageQueue + https://bugs.webkit.org/show_bug.cgi?id=53890 + + * platform/graphics/win/WKCAImageQueue.cpp: + +2011-02-08 Patrick Gansterer <paroga@webkit.org> + + Reviewed by Adam Roben. + + [WIN] Add missing includes and forward declarations for CFNetwork + https://bugs.webkit.org/show_bug.cgi?id=53883 + + * platform/network/cf/DNSCFNet.cpp: + * platform/network/cf/LoaderRunLoopCF.cpp: + * platform/network/cf/LoaderRunLoopCF.h: + * platform/network/cf/ProxyServerCFNet.cpp: + * platform/network/cf/SocketStreamHandle.h: + * platform/network/cf/SocketStreamHandleCFNet.cpp: + +2011-02-08 Patrick Gansterer <paroga@webkit.org> + + Unreviewed WinCE build fix for r77870. + + * platform/DragImage.cpp: Enable createDragImageForLink for WinCE. + +2011-02-08 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: open network resource url in new tab upon double click. + https://bugs.webkit.org/show_bug.cgi?id=53930 + + * inspector/front-end/NetworkPanel.js: + (WebInspector.NetworkDataGridNode.prototype.createCells): + (WebInspector.NetworkDataGridNode.prototype._openInNewTab): + +2011-02-08 Yonathan Randolph <yonathan@gmail.com> + + Reviewed by Pavel Feldman. + + Web Inspector: $x: any node should work in optional context parameter. + https://bugs.webkit.org/show_bug.cgi?id=50138 + + * inspector/InjectedScriptSource.js: + +2011-02-08 Patrick Gansterer <paroga@webkit.org> + + Unreviewed WinCE build fix for r77870. + + Remove the global namespace prefix from GlobalLock/GlobalUnlock. + + * platform/win/ClipboardUtilitiesWin.cpp: + +2011-02-08 Pavel Feldman <pfeldman@chromium.org> + + Not reviewed: re-apply r77924. + + Test: inspector/console-api-on-call-frame.html + + * inspector/InjectedScriptSource.js: + * inspector/front-end/ExtensionServer.js: + (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage): + +2011-02-08 Andreas Kling <kling@webkit.org> + + Reviewed by Tor Arne Vestbø. + + REGRESSION(r77312): Unbreak TiledBackingStore. + + Due to an off-by-one error, we were no longer rendering the + rightmost column and bottom row of tiles. + + Covered by tst_QGraphicsWebView::widgetsRenderingThroughCache(). + + * platform/graphics/TiledBackingStore.cpp: + (WebCore::TiledBackingStore::invalidate): + (WebCore::TiledBackingStore::updateTileBuffers): + (WebCore::TiledBackingStore::paint): + (WebCore::TiledBackingStore::createTiles): + +2011-02-08 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r77924. + http://trac.webkit.org/changeset/77924 + https://bugs.webkit.org/show_bug.cgi?id=53997 + + Breaks inspector tests. (Requested by pfeldman on #webkit). + + * inspector/InjectedScriptSource.js: + (.): + (): + +2011-02-08 Andrey Kosyakov <caseq@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: [refacotring] merge InspectorAgent::willSendRequest() into InspectorResourceAgent + https://bugs.webkit.org/show_bug.cgi?id=53789 + - perform UserAgent override via InspectorInstrumentation + - move adding extra request headers to InspectorResourceAgent + - simplified things in InspectorState + + * inspector/Inspector.idl: + * inspector/InspectorAgent.cpp: + (WebCore::InspectorAgent::disconnectFrontend): + (WebCore::InspectorAgent::applyUserAgentOverride): + * inspector/InspectorAgent.h: + * inspector/InspectorInstrumentation.cpp: + (WebCore::InspectorInstrumentation::applyUserAgentOverrideImpl): + (WebCore::InspectorInstrumentation::willSendRequestImpl): + * inspector/InspectorInstrumentation.h: + (WebCore::InspectorInstrumentation::applyUserAgentOverride): + * inspector/InspectorResourceAgent.cpp: + (WebCore::InspectorResourceAgent::setExtraHeaders): + (WebCore::InspectorResourceAgent::willSendRequest): + * inspector/InspectorResourceAgent.h: + * inspector/InspectorState.cpp: + (WebCore::InspectorState::InspectorState): + (WebCore::InspectorState::restoreFromInspectorCookie): + (WebCore::InspectorState::updateCookie): + (WebCore::InspectorState::setValue): + (WebCore::InspectorState::getBoolean): + (WebCore::InspectorState::getString): + (WebCore::InspectorState::getLong): + (WebCore::InspectorState::getObject): + * inspector/InspectorState.h: + (WebCore::InspectorState::setObject): + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::userAgent): + +2011-02-08 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: do not hide scope variables with command line api. + https://bugs.webkit.org/show_bug.cgi?id=53497 + + Test: inspector/console-api-on-call-frame.html + + * inspector/InjectedScriptSource.js: + +2011-02-08 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: ignore cache upon reload via Ctrl(Cmd)+Shift+R. + https://bugs.webkit.org/show_bug.cgi?id=53914 + + * inspector/Inspector.idl: + * inspector/InspectorAgent.cpp: + (WebCore::InspectorAgent::reloadPage): + * inspector/InspectorAgent.h: + * inspector/front-end/AuditsPanel.js: + (WebInspector.AuditsPanel.prototype._reloadResources): + * inspector/front-end/ExtensionServer.js: + (WebInspector.ExtensionServer.prototype._onReload): + * inspector/front-end/inspector.js: + (WebInspector.documentKeyDown): + +2011-02-08 Antti Koivisto <antti@apple.com> + + Reviewed by Cameron Zwarich. + + Skip over sibling selectors when collecting descendant selector hashes + https://bugs.webkit.org/show_bug.cgi?id=53987 + + Skip instead of bailing out. This will allow optimizing some sibling selector cases. + + * css/CSSStyleSelector.cpp: + (WebCore::RuleData::RuleData): + (WebCore::RuleData::collectIdentifierHashes): + (WebCore::RuleData::collectDescendantSelectorIdentifierHashes): + * css/CSSStyleSelector.h: + +2011-02-07 Cris Neckar <cdn@chromium.org> + + Reviewed by Jian Li. + + Fix null deref in DOMURL + https://bugs.webkit.org/show_bug.cgi?id=53811 + + Test: fast/files/domurl-script-execution-context-crash.html + + * html/DOMURL.cpp: + (WebCore::DOMURL::DOMURL): + +2011-02-07 Mark Rowe <mrowe@apple.com> + + Fix the 32-bit build. + + * platform/mac/ScrollAnimatorMac.mm: + (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar): Remove some extraneous characters. + (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar): Ditto. + +2011-02-07 Xiyuan Xia <xiyuan@chromium.org> + + Reviewed by Tony Chang. + + [Chromium] Select popup box does not align with select button when appearance is not "menulist". + https://bugs.webkit.org/show_bug.cgi?id=53942 + + Added manual test select_webkit_appearance_off_popup_alignment.html. + + * manual-tests/select_webkit_appearance_off_popup_alignment.html: Added. + * platform/chromium/PopupMenuChromium.cpp: + (WebCore::PopupListBox::layout): + +2011-02-07 Aparna Nandyal <aparna.nand@wipro.com> + + Reviewed by Andreas Kling. + + [Qt] - Context menu needs "Copy" as well when the selected text is a link. + https://bugs.webkit.org/show_bug.cgi?id=40983 + + Added copy option for Qt platform if selection is a link. + Added a test in tst_qwebpage.cpp. + + * page/ContextMenuController.cpp: + (WebCore::ContextMenuController::populate): + +2011-02-07 Mike Reed <reed@google.com> + + Reviewed by Kenneth Russell. + + Add compile-time flag ENABLE(SKIA_GPU) to use Skia's gpu backend + when drawing <canvas>. Disabled by default. + + No new tests. existing canvas layouttests apply + + * platform/graphics/chromium/DrawingBufferChromium.cpp: + (WebCore::DrawingBuffer::publishToPlatformLayer): + * platform/graphics/skia/PlatformContextSkia.cpp: + (WebCore::GetGlobalGrContext): + (WebCore::PlatformContextSkia::isPrinting): + (WebCore::PlatformContextSkia::setSharedGraphicsContext3D): + (WebCore::PlatformContextSkia::syncSoftwareCanvas): + +2011-02-07 Jay Civelli <jcivelli@chromium.org> + + Reviewed by Darin Fisher. + + Removing unused code from PopupMenuChromium. + https://bugs.webkit.org/show_bug.cgi?id=53866 + + * platform/chromium/PopupMenuChromium.cpp: + (WebCore::PopupListBox::layout): + (WebCore::PopupMenuChromium::show): + * platform/chromium/PopupMenuChromium.h: + +2011-02-07 Kenichi Ishibashi <bashi@chromium.org> + + Reviewed by Andreas Kling. + + HTMLOutputElement::childrenChanged() should call its base class childrenChanged() + https://bugs.webkit.org/show_bug.cgi?id=53791 + + Calls HTMLFormControlElement::childrenChanged() in HTMLOutputElement::childrenChanged(). + + Test: fast/dom/HTMLOutputElement/htmloutputelement-children-removed.html + + * html/HTMLOutputElement.cpp: + (WebCore::HTMLOutputElement::childrenChanged): Calls super class's + childrenChanged(). + +2011-02-07 Benjamin Poulain <ikipou@gmail.com> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] cookiesEnabled could create the cookieJar on the wrong thread. + https://bugs.webkit.org/show_bug.cgi?id=52289 + + Use the QtNAMThreadSafeProxy to make sure the cookie jar is created + in the same thread as the QNetworkAccessManager. + + * platform/network/qt/QtNAMThreadSafeProxy.cpp: + (WebCore::QtNAMThreadSafeProxy::QtNAMThreadSafeProxy): + (WebCore::QtNAMThreadSafeProxy::hasCookieJar): + * platform/network/qt/QtNAMThreadSafeProxy.h: + * platform/qt/CookieJarQt.cpp: + (WebCore::cookiesEnabled): + +2011-02-07 Alexey Marinichev <amarinichev@chromium.org> + + Reviewed by Kenneth Russell. + + Hook up WebGraphicsContext3D::setContextLostCallback. + https://bugs.webkit.org/show_bug.cgi?id=53722 + + Test: fast/canvas/webgl/context-lost.html, comment out the line with + extension.loseContext() and kill the GPU process "Lose context" + message shows up. + + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContextLostCallback::WebGLRenderingContextLostCallback): + (WebCore::WebGLRenderingContextLostCallback::onContextLost): + (WebCore::WebGLRenderingContextLostCallback::~WebGLRenderingContextLostCallback): + (WebCore::WebGLRenderingContext::initializeNewContext): + (WebCore::WebGLRenderingContext::~WebGLRenderingContext): + * platform/graphics/GraphicsContext3D.h: + (WebCore::GraphicsContext3D::ContextLostCallback::~ContextLostCallback): + * platform/graphics/mac/GraphicsContext3DMac.mm: + (WebCore::GraphicsContext3D::setContextLostCallback): stub + * platform/graphics/qt/GraphicsContext3DQt.cpp: + (WebCore::GraphicsContext3D::setContextLostCallback): stub + +2011-02-07 Patrick Gansterer <paroga@webkit.org> + + Reviewed by Eric Seidel. + + Add missing PaintInfo include in RenderThemeWin.cpp + https://bugs.webkit.org/show_bug.cgi?id=53885 + + * rendering/RenderThemeWin.cpp: + +2011-02-07 Qi Zhang <qi.2.zhang@nokia.com> + + Reviewed by Andreas Kling. + + [Qt] enum QWebPage::WebAction doesn't have value QWebPage::CopyImageUrl + https://bugs.webkit.org/show_bug.cgi?id=52974 + + Add ContextMenuItemTagCopyImageUrlToClipboard into standard action but Qt platform specific. + + * page/ContextMenuController.cpp: + (WebCore::ContextMenuController::contextMenuItemSelected): + (WebCore::ContextMenuController::populate): + (WebCore::ContextMenuController::checkOrEnableIfNeeded): + * platform/ContextMenuItem.h: + * platform/LocalizationStrategy.h: + * platform/LocalizedStrings.cpp: + (WebCore::contextMenuItemTagCopyImageUrlToClipboard): + * platform/LocalizedStrings.h: + +2011-02-07 Kenichi Ishibashi <bashi@chromium.org> + + Reviewed by Kent Tamura. + + HTMLFormElement::formElementIndex() returns a bad index into a vector of form associated elements + https://bugs.webkit.org/show_bug.cgi?id=53970 + + Adds HTMLObjectElement::virtualForm() to make HTMLObjectElement::form() + return the right value. + + Test: fast/dom/HTMLObjectElement/form/nested-form-element.html + + * html/HTMLObjectElement.cpp: + (WebCore::HTMLObjectElement::virtualForm): Added. + * html/HTMLObjectElement.h: Added virtualForm(). + +2011-02-07 Ryosuke Niwa <rniwa@webkit.org> + + Unreviewed Leopard build fix. + + * WebCore.xcodeproj/project.pbxproj: let XCode have developmentRegion. + * platform/mac/DragImageMac.mm: + (WebCore::webkit_CGCeiling): Cast the return value of ceil to CGFloat. + +2011-02-07 Enrica Casucci <enrica@apple.com> + + Reviewed by Sam Weinig. + + Fixing a build break on Mac caused by http://trac.webkit.org/changeset/77874 + + When moving code from WebKit to WebCore we needed to move some additional + functions previously in NSStringExtras. + + * WebCore.xcodeproj/project.pbxproj: + * platform/mac/DragImageMac.mm: + (WebCore::fontFromNSFont): + (WebCore::canUseFastRenderer): + (WebCore::widthWithFont): + (WebCore::webkit_CGCeiling): + (WebCore::drawAtPoint): + (WebCore::drawDoubledAtPoint): + (WebCore::createDragImageForLink): + +2011-02-07 Lucas Forschler <lforschler@apple.com> + + Reviewed by Geoff Garen. + + Tr #2, Fix the Leopard 32bit debug build. + + No new tests required. + + * WebCore.xcodeproj/project.pbxproj: + * accessibility/AccessibilityAllInOne.cpp: + +2011-02-07 Beth Dakin <bdakin@apple.com> + + Reviewed by Sam Weinig. + + Fix for <rdar://problem/8946961> Fix repaint problems + with WKScrollbarPainter scrollers while resizing the window + + Remove setPainterForPainterController() and + removePainterFromPainterController() since they aren't + used anymore. + * platform/mac/ScrollAnimatorMac.h: + + Return early if they alpha hasn't changed. + * platform/mac/ScrollAnimatorMac.mm: + (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]): + (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]): + + If we're in a live resize, restore alpha to 1. + (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar): + (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar): + +2011-02-07 Beth Dakin <bdakin@apple.com> + + Reviewed by Eric Seidel. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=53950 + USE_WK_SCROLLBAR_PAINTER in ScrollbarThemeMac should be in + Platform.h instead + + Use hot new USE(WK_SCROLLBAR_PAINTER) from Platform.h rather + than the silly, old in-file #define. + + * platform/mac/ScrollbarThemeMac.mm: + (+[ScrollbarPrefsObserver appearancePrefsChanged:]): + (WebCore::updateArrowPlacement): + (WebCore::ScrollbarThemeMac::registerScrollbar): + (WebCore::ScrollbarThemeMac::scrollbarThickness): + (WebCore::ScrollbarThemeMac::usesOverlayScrollbars): + (WebCore::ScrollbarThemeMac::hasThumb): + (WebCore::ScrollbarThemeMac::minimumThumbLength): + (WebCore::ScrollbarThemeMac::paint): + +2011-02-07 Enrica Casucci <enrica@apple.com> + + Reviewed Adam Roben and Darin Adler. + + WebKit2: drag and drop support on Windows. + https://bugs.webkit.org/show_bug.cgi?id=52775 + <rdar://problem/8514409> + + * loader/EmptyClients.h: Removed createDragImageFromLink. + * page/DragClient.h: Ditto. + * page/DragController.cpp: + (WebCore::DragController::startDrag): changed call to createDragImageFromLink. + * platform/DragImage.h: + * platform/mac/DragImageMac.mm: + (WebCore::createDragImageForLink): Moved from DragClient. + * platform/win/ClipboardUtilitiesWin.cpp: Added a series of functions + to de-serialize the drag data from the map into an IDataObject. + (WebCore::getWebLocData): + (WebCore::texthtmlFormat): + (WebCore::createGlobalData): + (WebCore::getFullCFHTML): + (WebCore::urlWFormat): + (WebCore::urlFormat): + (WebCore::filenameWFormat): + (WebCore::filenameFormat): + (WebCore::htmlFormat): + (WebCore::smartPasteFormat): + (WebCore::getURL): + (WebCore::getPlainText): + (WebCore::getTextHTML): + (WebCore::ClipboardDataItem::ClipboardDataItem): + (WebCore::getStringData): + (WebCore::getUtf8Data): + (WebCore::getCFData): + (WebCore::setUCharData): + (WebCore::setCharData): + (WebCore::setCFData): + (WebCore::getClipboardMap): + (WebCore::getClipboardData): + (WebCore::setClipboardData): + * platform/win/ClipboardUtilitiesWin.h: + * platform/win/DragImageWin.cpp: Moved createDragImageForLink from DragClient + to a platform specific file in WebCore. It makes a lot more sense here, since + the drag image is always created in WebCore for all the other content types + except for links. + (WebCore::dragLabelFont): + (WebCore::createDragImageForLink): + * platform/win/WCDataObject.cpp: Added new way to + construct a WCDataObject from a DragDataMap. + (WebCore::WCDataObject::createInstance): + (WebCore::WCDataObject::clearData): + * platform/win/WCDataObject.h: + +2011-02-07 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r77848. + http://trac.webkit.org/changeset/77848 + https://bugs.webkit.org/show_bug.cgi?id=53963 + + caused 6 test failures (Requested by othermaciej on #webkit). + + * rendering/RenderBlockLineLayout.cpp: + (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): + +2011-02-04 Kenneth Russell <kbr@google.com> + + Reviewed by James Robinson. + + Add shaders for GPU accelerated path rendering + https://bugs.webkit.org/show_bug.cgi?id=45520 + + Refactored SolidFillShader and TexShader to call new + generateVertex() and generateFragment() methods on base Shader + class, and added support for the Loop/Blinn shaders. Refactored + Loop/Blinn shader classes to derive from Shader. + + Tested these changes with several of the IE9 Testdrive demos with + accelerated 2D canvas enabled, as well as a full layout test run + with --platform chromium-gpu. + + * platform/graphics/gpu/LoopBlinnShader.cpp: Added. + (WebCore::LoopBlinnShader::LoopBlinnShader): + (WebCore::LoopBlinnShader::use): + * platform/graphics/gpu/LoopBlinnShader.h: Added. + * platform/graphics/gpu/LoopBlinnSolidFillShader.cpp: Added. + (WebCore::LoopBlinnSolidFillShader::create): + (WebCore::LoopBlinnSolidFillShader::LoopBlinnSolidFillShader): + (WebCore::LoopBlinnSolidFillShader::use): + * platform/graphics/gpu/LoopBlinnSolidFillShader.h: Added. + * platform/graphics/gpu/Shader.cpp: + (WebCore::Shader::affineTo4x4): + (WebCore::Shader::loadShader): + (WebCore::Shader::loadProgram): + (WebCore::Shader::generateVertex): + (WebCore::Shader::generateFragment): + * platform/graphics/gpu/Shader.h: + * platform/graphics/gpu/SolidFillShader.cpp: + (WebCore::SolidFillShader::create): + * platform/graphics/gpu/TexShader.cpp: + (WebCore::TexShader::TexShader): + (WebCore::TexShader::create): + +2011-02-07 Dan Bernstein <mitz@apple.com> + + Reviewed by Oliver Hunt. + + <rdar://problem/8946023> REGRESSION (r76674): SVG + BiDi text broken (text-intro-05-t.svg) + https://bugs.webkit.org/show_bug.cgi?id=53480 + + * WebCore.xcodeproj/project.pbxproj: + * platform/graphics/mac/ComplexTextController.cpp: + (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): m_indexEnd should be an + offset into m_characters, not into the run’s characters. + * platform/graphics/mac/ComplexTextControllerATSUI.cpp: + (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): Ditto. + +2011-02-07 Sam Weinig <sam@webkit.org> + + Reviewed by Anders Carlsson. + + Add bundle API to get the background color of a frame + <rdar://problem/8962670> + https://bugs.webkit.org/show_bug.cgi?id=53952 + + * WebCore.exp.in: Add export. + +2011-02-07 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Darin Adler. + + Assertion failure in ~JSGlobalObject when loading apple.com HTML5 + transitions demo page + https://bugs.webkit.org/show_bug.cgi?id=53853 + + This was a long-standing bookkeeping bug uncovered by some heap refactoring. + + * html/HTMLCanvasElement.cpp: + (WebCore::HTMLCanvasElement::createImageBuffer): + * html/HTMLImageLoader.cpp: + (WebCore::HTMLImageLoader::notifyFinished): + * xml/XMLHttpRequest.cpp: + (WebCore::XMLHttpRequest::dropProtection): Take the JSLock before + reporting extra cost to the JavaScriptCore heap, since all use of + JavaScriptCore is supposed to be guarded by JSLock. + +2011-02-07 Jian Li <jianli@chromium.org> + + Reviewed by David Levin. + + Intermittent crash in fast/files/read-blob-async.html on the GTK+ debug + bots + https://bugs.webkit.org/show_bug.cgi?id=53104 + + Covered by the existing tests. + + * fileapi/FileStreamProxy.cpp: + (WebCore::FileStreamProxy::startOnFileThread): + * platform/network/BlobRegistryImpl.cpp: + (WebCore::BlobRegistryImpl::createResourceHandle): + * platform/network/BlobResourceHandle.cpp: + (WebCore::BlobResourceHandle::BlobResourceHandle): + (WebCore::BlobResourceHandle::cancel): + (WebCore::delayedStartBlobResourceHandle): + (WebCore::BlobResourceHandle::start): Keep BlobResourceHandle alive + till the delay function is called. + (WebCore::BlobResourceHandle::doStart): + (WebCore::doNotifyFinish): + (WebCore::BlobResourceHandle::notifyFinish): Notify the client via the + standalone function to prevent the handle from being disposed immediately + by the client which will make the calls in the stack that're still bound + to the handle suffer. + * platform/network/BlobResourceHandle.h: + * platform/network/ResourceHandle.h: Change cancel() to virtual so that + BlobResourceHandle::cancel will be called when we abort a FileReader. + +2011-02-07 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r77845. + http://trac.webkit.org/changeset/77845 + https://bugs.webkit.org/show_bug.cgi?id=53946 + + build failure (Requested by lforschler_ on #webkit). + + * WebCore.xcodeproj/project.pbxproj: + * accessibility/AccessibilityAllInOne.cpp: + +2011-02-07 Darin Adler <darin@apple.com> + + https://bugs.webkit.org/show_bug.cgi?id=53939 + fast/css/text-overflow-ellipsis.html failure after r77818/77819 + + * platform/text/TextCodecICU.cpp: + (WebCore::TextCodecICU::registerExtendedEncodingNames): + Add back the "utf8" synonym for "UTF-8". + +2011-02-07 David Hyatt <hyatt@apple.com> + + Reviewed by Dan Bernstein. + + Remove an unnecessary extra computeLogicalWidth() from line layout. + + * rendering/RenderBlockLineLayout.cpp: + (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): + +2011-02-07 Lucas Forschler <lforschler@apple.com> + + Reviewed by Geoffrey Garen. + + Fix Leopard Intel Debug Build. + <rdar://problem/8953606> REGRESSION: Can't link WebCore on 32-bit Leopard (53681) + This could potentially break windows, since I had to change #include <filename> to #include "filename" + + * WebCore.xcodeproj/project.pbxproj: + * accessibility/AccessibilityAllInOne.cpp: + +2011-02-07 Sam Weinig <sam@webkit.org> + + Fix build. + + * platform/mac/ScrollAnimatorMac.mm: + (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar): + (WebCore::ScrollAnimatorMac::willRemoveVerticalScrollbar): + (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar): + (WebCore::ScrollAnimatorMac::willRemoveHorizontalScrollbar): + +2011-02-07 Sam Weinig <sam@webkit.org> + + Reviewed by Beth Dakin. + + Add mechanism to inform the ScrollAnimator when Scrollbars are added + and removed. + + * platform/ScrollAnimator.h: + (WebCore::ScrollAnimator::didAddVerticalScrollbar): + (WebCore::ScrollAnimator::willRemoveVerticalScrollbar): + (WebCore::ScrollAnimator::didAddHorizontalScrollbar): + (WebCore::ScrollAnimator::willRemoveHorizontalScrollbar): + Make virtual to allow platform specific overrides. + + * platform/ScrollView.cpp: + (WebCore::ScrollView::setHasHorizontalScrollbar): + (WebCore::ScrollView::setHasVerticalScrollbar): + Call new ScrollableArea functions. + + * platform/ScrollableArea.cpp: + (WebCore::ScrollableArea::didAddVerticalScrollbar): + (WebCore::ScrollableArea::willRemoveVerticalScrollbar): + (WebCore::ScrollableArea::didAddHorizontalScrollbar): + (WebCore::ScrollableArea::willRemoveHorizontalScrollbar): + * platform/ScrollableArea.h: + Pipe to ScrollAnimator. + + * platform/mac/ScrollAnimatorMac.h: + * platform/mac/ScrollAnimatorMac.mm: + (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar): + (WebCore::ScrollAnimatorMac::willRemoveVerticalScrollbar): + (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar): + (WebCore::ScrollAnimatorMac::willRemoveHorizontalScrollbar): + * platform/mac/ScrollbarThemeMac.h: + * platform/mac/ScrollbarThemeMac.mm: + (WebCore::ScrollbarThemeMac::registerScrollbar): + (WebCore::ScrollbarThemeMac::unregisterScrollbar): + (WebCore::ScrollbarThemeMac::painterForScrollbar): + Move painter delegate registration to the new didAdd/willRemove functions. + +2011-02-07 Anders Carlsson <andersca@apple.com> + + Reviewed by Dan Bernstein. + + Missing text match markers with accelerated content + https://bugs.webkit.org/show_bug.cgi?id=53934 + + When doing the fake paint that recomputes the text match rects, we need to + flatten compositing layers, otherwise the rects won't be updated until the next paint call. + + (This worked by accident in WebKit1 because Safari calls -[NSWindow displayIfNeeded] on the containing + window before asking for the text match rects). + + * editing/Editor.cpp: + (WebCore::Editor::countMatchesForText): + +2011-02-07 Antti Koivisto <antti@apple.com> + + Reviewed by Andreas Kling. + + REGRESSION(r77740): CSSStyleSelector accessing deleted memory for svg/dom/use-transform.svg + https://bugs.webkit.org/show_bug.cgi?id=53900 + + Ignore link elements in shadow trees. + + * dom/Element.cpp: + (WebCore::StyleSelectorParentPusher::StyleSelectorParentPusher): + (WebCore::StyleSelectorParentPusher::~StyleSelectorParentPusher): + + Some asserts to catch cases like this. + + (WebCore::Element::attach): + (WebCore::Element::recalcStyle): + * html/HTMLLinkElement.cpp: + (WebCore::HTMLLinkElement::HTMLLinkElement): + (WebCore::HTMLLinkElement::process): + (WebCore::HTMLLinkElement::insertedIntoDocument): + (WebCore::HTMLLinkElement::removedFromDocument): + * html/HTMLLinkElement.h: + +2011-02-07 Darin Adler <darin@apple.com> + + Turn UTF-8 decoder off for now so we can look into failing tests + without leaving the tree red. + + * platform/text/TextCodecICU.cpp: + (WebCore::TextCodecICU::registerBaseEncodingNames): Reverting + earlier change so this can handle UTF-8. + (WebCore::TextCodecICU::registerBaseCodecs): Ditto. + (WebCore::TextCodecICU::registerExtendedEncodingNames): Ditto. + (WebCore::TextCodecICU::registerExtendedCodecs): Ditto. + * platform/text/TextCodecICU.h: Ditto. + * platform/text/TextEncodingRegistry.cpp: + (WebCore::buildBaseTextCodecMaps): Ditto. + (WebCore::extendTextCodecMaps): Ditto. + * platform/text/brew/TextCodecBrew.cpp: + (WebCore::TextCodecBrew::registerBaseEncodingNames): Ditto. + (WebCore::TextCodecBrew::registerBaseCodecs): Ditto. + (WebCore::TextCodecBrew::registerExtendedEncodingNames): Ditto. + (WebCore::TextCodecBrew::registerExtendedCodecs): Ditto. + * platform/text/brew/TextCodecBrew.h: Ditto. + * platform/text/gtk/TextCodecGtk.cpp: + (WebCore::TextCodecGtk::registerBaseEncodingNames): Ditto. + (WebCore::TextCodecGtk::registerBaseCodecs): Ditto. + * platform/text/wince/TextCodecWinCE.cpp: + (WebCore::TextCodecWinCE::registerBaseEncodingNames): Ditto. + (WebCore::TextCodecWinCE::registerBaseCodecs): Ditto. + (WebCore::TextCodecWinCE::registerExtendedEncodingNames): Ditto. + (WebCore::TextCodecWinCE::registerExtendedCodecs): Ditto. + * platform/text/wince/TextCodecWinCE.h: Ditto. + +2011-02-07 Anders Carlsson <andersca@apple.com> + + Reviewed by Maciej Stachowiak. + + Don't exclude overlay scrollers from the page overlay bounds + https://bugs.webkit.org/show_bug.cgi?id=53924 + + Export ScrollbarTheme::nativeTheme. + + * WebCore.exp.in: + +2011-02-07 Zhenyao Mo <zmo@google.com> + + Reviewed by Kenneth Russell. + + Crash in glDrawArrays with NaCl crystal model + https://bugs.webkit.org/show_bug.cgi?id=52831 + + * html/canvas/WebGLRenderingContext.cpp: Allocate large enough buffer for atttrib0 if it's enabled and not used. + (WebCore::WebGLRenderingContext::initVertexAttrib0): + (WebCore::WebGLRenderingContext::simulateVertexAttrib0): + * html/canvas/WebGLRenderingContext.h: + +2011-02-07 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Darin Adler. + + WAI-ARIA @aria-sort not exposed on rowheader and columnheader roles. + https://bugs.webkit.org/show_bug.cgi?id=53842 + + Test: platform/mac/accessibility/aria-sort.html + + * accessibility/AccessibilityObject.cpp: + (WebCore::AccessibilityObject::sortDirection): + * accessibility/AccessibilityObject.h: + * accessibility/mac/AccessibilityObjectWrapper.mm: + (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]): + (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): + * html/HTMLAttributeNames.in: + +2011-02-07 Darin Adler <darin@apple.com> + + Reviewed by Antti Koivisto. + + Add built-in decoder for UTF-8 for improved performance + https://bugs.webkit.org/show_bug.cgi?id=53898 + + Correct behavior is covered by existing tests. + + * Android.mk: Added TextCodecUTF8. + * CMakeLists.txt: Ditto. + * GNUmakefile.am: Ditto. + * WebCore.gypi: Ditto. + * WebCore.pro: Ditto. + * WebCore.vcproj/WebCore.vcproj: Ditto. + * WebCore.xcodeproj/project.pbxproj: Ditto. + + * platform/text/TextCodecICU.cpp: Removed registration of UTF-8 + since that's now handled by the built-in UTF-8 codec. + (WebCore::TextCodecICU::registerEncodingNames): Renamed to remove + the word "extended" since all codecs from ICU are now extended. + (WebCore::TextCodecICU::registerCodecs): Ditto. + * platform/text/TextCodecICU.h: Ditto. + + * platform/text/TextCodecUTF16.cpp: + (WebCore::TextCodecUTF16::decode): Added a FIXME about missing + error handling. + + * platform/text/TextCodecUTF8.cpp: Added. + * platform/text/TextCodecUTF8.h: Added. + + * platform/text/TextEncodingRegistry.cpp: + (WebCore::buildBaseTextCodecMaps): Added TextCodecUTF8, and + removed TextCodecICU, TextCodecBrew, and TextCodecWinCE. + (WebCore::extendTextCodecMaps): Updated names for + TextCodecICU and TextCodecWinCE. + + * platform/text/brew/TextCodecBrew.cpp: + (WebCore::TextCodecBrew::registerEncodingNames): Renamed to remove + the word "extended" since all codecs from Brew are now extended. + (WebCore::TextCodecBrew::registerCodecs): Ditto. + * platform/text/brew/TextCodecBrew.h: Ditto. + + * platform/text/gtk/TextCodecGtk.cpp: + (WebCore::TextCodecGtk::registerBaseEncodingNames): Removed + registration of UTF-8. It's questionable whether the other codecs + here are really basic. If we think they qualify, then we should + register them on other platforms, not just GTK. + (WebCore::TextCodecGtk::registerBaseCodecs): Ditto. + + * platform/text/wince/TextCodecWinCE.cpp: + (WebCore::getCodePage): Removed special case for UTF-8 since we + no longer use this codec for UTF-8. + (WebCore::TextCodecWinCE::registerEncodingNames): Renamed to remove + the word "extended" since all codecs from WinCE are now extended. + (WebCore::TextCodecWinCE::registerCodecs): Ditto. + * platform/text/wince/TextCodecWinCE.h: Ditto. + +2011-02-07 Mario Sanchez Prada <msanchez@igalia.com> + + Reviewed by Xan Lopez. + + [Gtk] atk_text_get_caret_offset fails for list items + https://bugs.webkit.org/show_bug.cgi?id=53436 + + Consider list item markers when calculating the offset. + + * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: + (webkit_accessible_text_get_caret_offset): Adjust the offset + with the item marker's length for list items. + (webkit_accessible_text_set_caret_offset): Replace usage of + g_utf8_strlen() by calling to markerText.length(). + +2011-02-07 Yi Shen <yi.4.shen@nokia.com> + + Reviewed by Tor Arne Vestbø. + + [Qt] Fix LayoutTests/media/restore-from-page-cache.html + https://bugs.webkit.org/show_bug.cgi?id=53621 + + Changed the networkState to MediaPlayer::Loaded when + MediaPlayerPrivateQt has enough data. + + Test: media/restore-from-page-cache.html + + * platform/graphics/qt/MediaPlayerPrivateQt.cpp: + (WebCore::MediaPlayerPrivateQt::updateStates): + +2011-01-31 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: implement beautification of scripts inlined in html documents. + https://bugs.webkit.org/show_bug.cgi?id=52706 + + To beautify scripts inlined in html, we need to cut individual scripts, beautify them using UglifyJS library, and + finally paste them back to html. + + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * inspector/front-end/ScriptFormatter.js: + (WebInspector.ScriptFormatter): Implement formatting of scripts inlined in html. + (WebInspector.ScriptFormatter.prototype.formatContent.didFormatChunks): + (WebInspector.ScriptFormatter.prototype.formatContent): + (WebInspector.ScriptFormatter.prototype._splitContentIntoChunks): + (WebInspector.ScriptFormatter.prototype._formatChunks.didFormat): + (WebInspector.ScriptFormatter.prototype._formatChunks): + (WebInspector.ScriptFormatter.prototype._buildContentFromChunks): + (WebInspector.ScriptFormatter.prototype._formatScript.messageHandler): + (WebInspector.ScriptFormatter.prototype._formatScript): + * inspector/front-end/ScriptFormatterWorker.js: + (onmessage): + (buildMapping): + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrameContent): Use SourceFrameContent and FormattedSourceFrameContent to perform operations with line numbers. + * inspector/front-end/SourceFrameContent.js: Added. + (WebInspector.SourceFrameContent): Helper class, holds resource text and scripts layout + (WebInspector.SourceFrameContent.prototype.get scriptRanges): + (WebInspector.SourceFrameContent.prototype.locationToPosition): + (WebInspector.SourceFrameContent.prototype.positionToLocation): + (WebInspector.SourceFrameContent.prototype.scriptLocationForLineNumber): + (WebInspector.SourceFrameContent.prototype.scriptLocationForRange): + (WebInspector.SourceFrameContent.prototype.lineNumberToRange): + (WebInspector.SourceFrameContent.prototype._intersectingScriptRange): + (WebInspector): + (WebInspector.FormattedSourceFrameContent): Helper class, holds original and formatted versions of resource and mapping between them. + (WebInspector.FormattedSourceFrameContent.prototype.get text): + (WebInspector.FormattedSourceFrameContent.prototype.originalLocationToFormattedLocation): + (WebInspector.FormattedSourceFrameContent.prototype.scriptLocationForFormattedLineNumber): + (WebInspector.FormattedSourceFrameContent.prototype._convertPosition): + * inspector/front-end/WebKit.qrc: + * inspector/front-end/inspector.html: + +2011-02-07 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: "Reveal in elements panel" does not always work. + https://bugs.webkit.org/show_bug.cgi?id=53775 + + * inspector/front-end/ConsoleView.js: + (WebInspector.ConsoleView): + * inspector/front-end/ContextMenu.js: + (WebInspector.ContextMenu.prototype.show): + * inspector/front-end/ElementsPanel.js: + (WebInspector.ElementsPanel.prototype.switchToAndFocus): + * inspector/front-end/ElementsTreeOutline.js: + (WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired.focusElement): + (WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired): + * inspector/front-end/ObjectPropertiesSection.js: + (WebInspector.ObjectPropertyTreeElement.prototype.update): + (WebInspector.ObjectPropertyTreeElement.prototype._contextMenuEventFired): + * inspector/front-end/inspector.js: + (WebInspector.cancelSearch): + +2011-02-07 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Relative .. in URL paths shouldn't skip adjacent / characters + https://bugs.webkit.org/show_bug.cgi?id=53907 + + Our new behavior matches Firefox, Chrome, and IE. + + * platform/KURL.cpp: + (WebCore::copyPathRemovingDots): + +2011-02-07 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Antti Koivisto. + + WebKitTestRunner does not block remote resources or complain about them + https://bugs.webkit.org/show_bug.cgi?id=42139 + <rdar://problem/8183942> + + * Configurations/WebCore.xcconfig: Allow WebKitTestRunner to link + WebCore. + * WebCore.exp.in: Export a handful of KURL symbols. + +2011-02-06 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Darin Adler. + + OwnArraryPtr.h uses deleteOwnedPtr but doesn’t include OwnPtrCommon.h + https://bugs.webkit.org/show_bug.cgi?id=52867 + + * ForwardingHeaders/wtf/OwnArrayPtrCommon.h: Removed. + * bindings/v8/NPV8Object.cpp: + (WebCore::createValueListFromVariantArgs): Returns PassOwnArrayPtr<v8::Handle<v8::Value>> instead of + v8::Handle<v8::Value>*. + (_NPN_Invoke): Calls createValueListFromVariantArgs. + (_NPN_InvokeDefault): createValueListFromVariantArgs. + (_NPN_Construct): createValueListFromVariantArgs. + * bindings/v8/ScriptFunctionCall.cpp: + (WebCore::ScriptFunctionCall::call): Calls adoptArrayPtr. + (WebCore::ScriptFunctionCall::construct): Ditto. + (WebCore::ScriptCallback::call): + * bindings/v8/V8DOMWindowShell.cpp: + (WebCore::V8DOMWindowShell::createNewContext): Ditto. + * bindings/v8/V8NPObject.cpp: + (WebCore::npObjectInvokeImpl): Ditto + * bindings/v8/V8NodeFilterCondition.cpp: + (WebCore::V8NodeFilterCondition::acceptNode): Ditto, + * html/HTMLAreaElement.cpp: + (WebCore::HTMLAreaElement::parseMappedAttribute): Calls newCoordsArray. + * html/HTMLFrameSetElement.cpp: + (WebCore::HTMLFrameSetElement::parseMappedAttribute): Calls newLengthArray. + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::getAttachedShaders): Calls adoptArraYptr. + (WebCore::WebGLRenderingContext::simulateVertexAttrib0): Ditto. + (WebCore::WebGLRenderingContext::LRUImageBufferCache::LRUImageBufferCache): Dito. + * platform/Length.cpp: + (WebCore::newCoordsArray): Returns PassOwnArrayPtr<Length> instead of Length*. + (WebCore::newLengthArray): Returns PassOwnArrayPtr<Length> instead of Length*. + * platform/Length.h: Prototype changes. + * platform/graphics/ANGLEWebKitBridge.cpp: + (WebCore::ANGLEWebKitBridge::validateShaderSource): Calls adoptArrayPtr. + * platform/graphics/ca/win/CACFLayerTreeHost.cpp: + (WebCore::getDirtyRects): Ditto. + * platform/graphics/chromium/ComplexTextControllerLinux.cpp: + (WebCore::ComplexTextController::getNormalizedTextRun): Ditto. + * platform/graphics/chromium/HarfbuzzSkia.cpp: + (WebCore::glyphsToAdvances): Ditto. + (WebCore::canRender): Ditto. + * platform/graphics/gpu/Texture.cpp: + (WebCore::Texture::updateSubRect): Ditto. + * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: + (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas): Ditto. + * platform/graphics/skia/PlatformContextSkia.cpp: + (WebCore::PlatformContextSkia::readbackHardwareToSoftware): Ditto. + * platform/graphics/wince/SharedBitmap.cpp: + (WebCore::SharedBitmap::to16bit): Ditto. + * platform/win/ContextMenuWin.cpp: + (WebCore::ContextMenu::getContextMenuItems): Ditto. + * platform/win/LoggingWin.cpp: + (WebCore::initializeWithUserDefault): Ditto. + * plugins/win/PluginPackageWin.cpp: + (WebCore::PluginPackage::fetchInfo): Ditto. + +2011-02-06 Kent Tamura <tkent@chromium.org> + + Unreviewed. + + * WebCore.xcodeproj/project.pbxproj: Run sort-xcode-project-file. + +2011-02-03 Dominic Cooney <dominicc@google.com> + + Reviewed by Dimitri Glazkov. + + Convert <keygen> option elements to a shadow DOM + https://bugs.webkit.org/show_bug.cgi?id=51379 + + Covered by existing tests e.g. fast/html/keygen.html, + html5lib/runner.html, etc. + + * css/html.css: + (form): Cleanup. + (keygen, select): Border radii should match so focus ring looks good. + (keygen::-webkit-keygen-select): No margin on the shadow element. + (select): Hoisting border radius to keygen, select rule. + * dom/SelectElement.cpp: + (WebCore::toSelectElement): keygen is no longer a select element. + * html/HTMLKeygenElement.cpp: Implements keygen shadow. + (WebCore::KeygenSelectElement::create): + (WebCore::KeygenSelectElement::shadowPseudoId): + (WebCore::KeygenSelectElement::KeygenSelectElement): + (WebCore::HTMLKeygenElement::HTMLKeygenElement): + (WebCore::HTMLKeygenElement::parseMappedAttribute): + (WebCore::HTMLKeygenElement::appendFormData): + (WebCore::HTMLKeygenElement::formControlType): + (WebCore::HTMLKeygenElement::reset): + (WebCore::HTMLKeygenElement::selectShadow): + * html/HTMLKeygenElement.h: keygen is no longer a select on C++ side. + (WebCore::HTMLKeygenElement::canStartSelection): + (WebCore::HTMLKeygenElement::isEnumeratable): + (WebCore::HTMLKeygenElement::isResettable): + * html/HTMLOptionElement.cpp: + (WebCore::HTMLOptionElement::ownerSelectElement): Only owned by selects. + * html/HTMLSelectElement.cpp: + (WebCore::HTMLSelectElement::HTMLSelectElement): Only 'select' tag name. + +2011-02-06 Benjamin Poulain <ikipou@gmail.com> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Fix coding style errors in ClipboardQt.h + https://bugs.webkit.org/show_bug.cgi?id=43520 + + Fix coding style: order of header and indentation. + + * platform/qt/ClipboardQt.h: + (WebCore::ClipboardQt::create): + (WebCore::ClipboardQt::clipboardData): + (WebCore::ClipboardQt::invalidateWritableData): + +2011-02-06 Antti Koivisto <antti@apple.com> + + Reviewed by Maciej Stachowiak. + + Use bloom filter for descendant selector filtering + https://bugs.webkit.org/show_bug.cgi?id=53880 + + Bloom filter is faster than a hash set in this kind of use. + + Shark thinks this speeds up style matching by ~30% on sites + with lots of descendant selectors. + + * ForwardingHeaders/wtf/BloomFilter.h: Added. + * css/CSSStyleSelector.cpp: + (WebCore::collectElementIdentifierHashes): + (WebCore::CSSStyleSelector::pushParent): + (WebCore::CSSStyleSelector::popParent): + (WebCore::CSSStyleSelector::fastRejectSelector): + (WebCore::RuleData::collectDescendantSelectorIdentifierHashes): + * css/CSSStyleSelector.h: + +2011-02-06 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Antti Koivisto. + + media/video-document-types.html sometimes crashes the WebProcess + https://bugs.webkit.org/show_bug.cgi?id=53884 + + No new tests. Already covered by media/video-document-types.html + + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::userCancelledLoad): Stop the load timer + when cancelling the load. + +2011-02-06 Patrick Gansterer <paroga@webkit.org> + + Reviewed by Adam Roben. + + [WIN] Use WCHAR instead of TCHAR + https://bugs.webkit.org/show_bug.cgi?id=53863 + + We always use the UNICODE versions of windows functions, so + the usage of TCHAR makes no sense and mixing them is bad style. + + * platform/graphics/win/IconWin.cpp: + (WebCore::Icon::createIconForFiles): + * platform/graphics/win/QTMovie.cpp: + * platform/graphics/win/QTMovieGWorld.cpp: + (QTMovieGWorld::fullscreenWndProc): + (QTMovieGWorld::enterFullscreen): + * platform/graphics/win/SimpleFontDataCGWin.cpp: + (WebCore::SimpleFontData::platformInit): + * platform/graphics/win/SimpleFontDataCairoWin.cpp: + * platform/graphics/win/SimpleFontDataWin.cpp: + * platform/graphics/wince/SimpleFontDataWinCE.cpp: + * platform/win/BString.cpp: + * platform/win/ClipboardWin.cpp: + (WebCore::filesystemPathFromUrlOrTitle): + (WebCore::createGlobalHDropContent): + (WebCore::createGlobalImageFileDescriptor): + * platform/win/ContextMenuWin.cpp: + * platform/win/CursorWin.cpp: + (WebCore::loadSharedCursor): + * platform/win/FileChooserWin.cpp: + (WebCore::FileChooser::basenameForWidth): + * platform/win/PopupMenuWin.cpp: + (WebCore::PopupMenuWin::popupClassName): + (WebCore::PopupMenuWin::show): + * platform/win/PopupMenuWin.h: + +2011-02-06 Patrick Gansterer <paroga@webkit.org> + + Reviewed by Andreas Kling. + + Replace FLT_MAX with std::numeric_limits + https://bugs.webkit.org/show_bug.cgi?id=53861 + + Also move EFL's userIdleTime from TemporaryLinkStubs into SystemTimeEfl. + + * html/NumberInputType.cpp: + * html/parser/HTMLParserIdioms.cpp: + (WebCore::parseToDoubleForNumberType): + * platform/brew/SystemTimeBrew.cpp: + (WebCore::userIdleTime): + * platform/efl/SystemTimeEfl.cpp: + (WebCore::userIdleTime): + * platform/efl/TemporaryLinkStubs.cpp: + * platform/graphics/ca/GraphicsLayerCA.cpp: + (WebCore::GraphicsLayerCA::setupAnimation): + * platform/win/SystemTimeWin.cpp: + (WebCore::userIdleTime): + * platform/wx/SystemTimeWx.cpp: + (WebCore::userIdleTime): + +2011-02-06 Patrick Gansterer <paroga@webkit.org> + + Reviewed by Andreas Kling. + + [CMake] Add dependencies for Visual Studio projects + https://bugs.webkit.org/show_bug.cgi?id=53773 + + Add a JavaScriptCore dependecy to WebCore, so CMake can + generate the correct build order for the solution. + + * CMakeLists.txt: + +2011-02-06 Patrick Gansterer <paroga@webkit.org> + + Reviewed by Andreas Kling. + + [CMake] Unify ENABLE_SVG sections + https://bugs.webkit.org/show_bug.cgi?id=53778 + + * CMakeLists.txt: + +2011-02-06 Andreas Kling <kling@webkit.org> + + Reviewed by Dirk Schulze. + + Refactor Font::normalizeSpaces() to avoid an extra String copy. + https://bugs.webkit.org/show_bug.cgi?id=53871 + + Have normalizeSpaces() take UChar*,length arguments instead of a + String, since all call sites were creating temporaries from these + components anyway. + + Font::normalizeSpaces() now always makes 1 String copy, + instead of 1 in the best case and 2 in the worst case. + + * platform/graphics/Font.cpp: + (WebCore::Font::normalizeSpaces): + * platform/graphics/Font.h: + * platform/graphics/qt/FontQt.cpp: + (WebCore::drawTextCommon): + (WebCore::Font::floatWidthForSimpleText): + (WebCore::Font::floatWidthForComplexText): + (WebCore::Font::offsetForPositionForSimpleText): + (WebCore::Font::offsetForPositionForComplexText): + (WebCore::Font::selectionRectForSimpleText): + (WebCore::Font::selectionRectForComplexText): + * svg/SVGFont.cpp: + (WebCore::SVGTextRunWalker::walk): + +2011-02-06 Andreas Kling <kling@webkit.org> + + Reviewed by Dirk Schulze. + + Fix potential buffer overrun in SVGTextRunWalker::walk() + https://bugs.webkit.org/show_bug.cgi?id=53870 + + A new String was created from a UChar* with a 'length' argument + that could be greater than the number of UChars available. + + * svg/SVGFont.cpp: + (WebCore::SVGTextRunWalker::walk): + +2011-02-05 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Remove unused parameter related to XSSAuditor + https://bugs.webkit.org/show_bug.cgi?id=53862 + + * WebCore.exp.in: + * bindings/ScriptControllerBase.cpp: + (WebCore::ScriptController::executeScript): + (WebCore::ScriptController::executeIfJavaScriptURL): + * bindings/ScriptControllerBase.h: + * bindings/js/ScriptController.cpp: + (WebCore::ScriptController::evaluateInWorld): + (WebCore::ScriptController::evaluate): + (WebCore::ScriptController::executeScriptInWorld): + * bindings/js/ScriptController.h: + * bindings/v8/ScriptController.cpp: + (WebCore::ScriptController::evaluate): + * bindings/v8/ScriptController.h: + +2011-02-05 Adam Barth <abarth@webkit.org> + + Fix Qt build. + + * WebCore.pro: + +2011-02-05 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Delete XSSAuditor + https://bugs.webkit.org/show_bug.cgi?id=53859 + + The job of the XSSAuditor is now done by the XSSFilter. In the future, + we might rename XSSFilter to XSSAuditor. + + * Android.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bindings/ScriptControllerBase.cpp: + (WebCore::ScriptController::executeIfJavaScriptURL): + * bindings/ScriptControllerBase.h: + * bindings/js/ScriptController.cpp: + (WebCore::ScriptController::ScriptController): + (WebCore::ScriptController::evaluateInWorld): + * bindings/js/ScriptController.h: + * bindings/js/ScriptEventListener.cpp: + (WebCore::createAttributeEventListener): + * bindings/v8/ScriptController.cpp: + (WebCore::ScriptController::ScriptController): + (WebCore::ScriptController::evaluate): + * bindings/v8/ScriptController.h: + * bindings/v8/ScriptEventListener.cpp: + (WebCore::createAttributeEventListener): + * dom/Document.cpp: + (WebCore::Document::implicitOpen): + (WebCore::Document::processBaseElement): + * dom/ScriptableDocumentParser.cpp: + (WebCore::ScriptableDocumentParser::ScriptableDocumentParser): + * dom/ScriptableDocumentParser.h: + * html/parser/HTMLDocumentParser.cpp: + (WebCore::HTMLDocumentParser::shouldLoadExternalScriptFromSrc): + * loader/SubframeLoader.cpp: + (WebCore::SubframeLoader::requestObject): + (WebCore::SubframeLoader::loadMediaPlayerProxyPlugin): + * page/XSSAuditor.cpp: Removed. + * page/XSSAuditor.h: Removed. + +2011-02-05 Anders Carlsson <andersca@apple.com> + + Reviewed by Darin Adler. + + Need a way to resize and scroll the page at the same time + https://bugs.webkit.org/show_bug.cgi?id=53814 + <rdar://problem/8498008> + + Export a function needed by WebKit2. + + * WebCore.exp.in: + +2011-02-05 Patrick Gansterer <paroga@webkit.org> + + Reviewed by Alexey Proskuryakov. + + Use Document::encoding() instead of DocumentWriter::encoding() + https://bugs.webkit.org/show_bug.cgi?id=53398 + + This change makes the code more readable, when a subresource + inherits the character encoding of the document. + + * dom/ProcessingInstruction.cpp: + (WebCore::ProcessingInstruction::checkStyleSheet): + * dom/ScriptElement.cpp: + (WebCore::ScriptElement::scriptCharset): + * html/HTMLLinkElement.cpp: + (WebCore::HTMLLinkElement::process): + * loader/cache/CachedResourceLoader.cpp: + (WebCore::CachedResourceLoader::requestPreload): + * platform/network/FormDataBuilder.cpp: + (WebCore::FormDataBuilder::encodingFromAcceptCharset): + +2011-02-05 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Introduce URLString to represent a canonicalized URL represented by a string + https://bugs.webkit.org/show_bug.cgi?id=53847 + + Instead of using String all over the codebase to represent a URL, + instead we should have a type to represent a canonicalized URL in the + form of a string. This patch introduces that type. + + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.xcodeproj/project.pbxproj: + * platform/KURL.cpp: + (WebCore::KURL::KURL): + * platform/KURL.h: + (WebCore::KURL::urlString): + +2011-02-05 Robert Hogan <robert@webkit.org> + + Reviewed by Antonio Gomes. + + [Qt] Style widgets not rendering + https://bugs.webkit.org/show_bug.cgi?id=53849 + + * html/HTMLObjectElement.cpp: + (WebCore::HTMLObjectElement::hasValidClassId): x-qt-styled-widget is a valid class id too + +2011-02-05 Jochen Eisinger <jochen@chromium.org> + + Reviewed by Adam Barth. + + Add ContentSecurityPolicy object to Document and pass the X-WebKit-CSP header from the MainResourceLoader. + https://bugs.webkit.org/show_bug.cgi?id=53685 + + * WebCore.xcodeproj/project.pbxproj: + * dom/Document.h: + (WebCore::Document::contentSecurityPolicy): + * loader/MainResourceLoader.cpp: + (WebCore::MainResourceLoader::didReceiveResponse): + * page/ContentSecurityPolicy.cpp: + (WebCore::ContentSecurityPolicy::didReceiveHeader): + * page/ContentSecurityPolicy.h: + +2011-02-05 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Safari should lowercase schemes in cannonicalized urls to match every other browser + https://bugs.webkit.org/show_bug.cgi?id=53848 + + We're clearly the odd man out here. See results from every browser at: + https://github.com/abarth/url-spec/blob/master/tests/gurl-results/by-browser.txt + + * platform/KURL.cpp: + (WebCore::KURL::parse): + - Just lowercase the scheme when copying. + +2011-02-05 Antti Koivisto <antti@apple.com> + + Reviewed by Dave Hyatt. + + Optimize matching of descendant selectors + https://bugs.webkit.org/show_bug.cgi?id=49876 + <rdar://problem/8772822> + + During style recalculation, maintain a filter of tags, ids and classes seen in ancestor elements. + Use the filter to quickly reject descendant and child selectors when doing style matching. + + This speeds up style recalculations 3-6x on many major web sites. + + * css/CSSStyleSelector.cpp: + (WebCore::RuleData::RuleData): + (WebCore::RuleData::descendantSelectorIdentifierHashes): + (WebCore::collectElementIdentifiers): + (WebCore::CSSStyleSelector::pushParent): + (WebCore::CSSStyleSelector::popParent): + (WebCore::CSSStyleSelector::fastRejectSelector): + (WebCore::CSSStyleSelector::matchRulesForList): + (WebCore::RuleData::collectDescendantSelectorIdentifierHashes): + * css/CSSStyleSelector.h: + (WebCore::CSSStyleSelector::ParentStackFrame::ParentStackFrame): + * dom/Element.cpp: + (WebCore::StyleSelectorParentPusher::StyleSelectorParentPusher): + (WebCore::StyleSelectorParentPusher::push): + (WebCore::StyleSelectorParentPusher::~StyleSelectorParentPusher): + (WebCore::Element::attach): + (WebCore::Element::recalcStyle): + +2011-02-05 Nate Chapin <japhet@chromium.org> + + Reviewed by Adam Barth. + + Refactor: NotificationCenter shouldn't hold its own copy of the ScriptExecutionContext* + when it inherits one from ActiveDOMObject. + https://bugs.webkit.org/show_bug.cgi?id=53815 + + * bindings/js/JSDesktopNotificationsCustom.cpp: + (WebCore::JSNotificationCenter::requestPermission): + * bindings/v8/custom/V8NotificationCenterCustom.cpp: + (WebCore::V8NotificationCenter::requestPermissionCallback): + * notifications/NotificationCenter.cpp: + (WebCore::NotificationCenter::NotificationCenter): + (WebCore::NotificationCenter::checkPermission): + (WebCore::NotificationCenter::requestPermission): + (WebCore::NotificationCenter::disconnectFrame): + * notifications/NotificationCenter.h: + (WebCore::NotificationCenter::createHTMLNotification): + (WebCore::NotificationCenter::createNotification): + +2011-02-04 Adam Barth <abarth@webkit.org> + + Reviewed by Maciej Stachowiak. + + Crash in WebCore::TextEncoding::decode below XSSFilter::init + https://bugs.webkit.org/show_bug.cgi?id=53837 + + Add missing null check. + + Test: http/tests/security/xssAuditor/non-block-javascript-url-frame.html + + * html/parser/XSSFilter.cpp: + (WebCore::XSSFilter::init): + +2011-02-04 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dan Bernstein. + + Crashes in ShadowBlur via WebKit2 FindController + https://bugs.webkit.org/show_bug.cgi?id=53830 + + Fix a crash cause by re-entering ShadowBlur, and add assertions to + detect when it happens. + + The re-entrancy occurred when drawRectShadowWithTiling() filled + the interior of the shadow with fillRect() on the context + which still had the shadow state set. This would make another ShadowBlur + on the stack and call into the code again, potentially blowing away + the image buffer. + + Fix by turning off shadows in the destination context while we're + drawing the tiled shadow. The non-tiled code path already did this. + + Not testable because CSS shadows clip out the inside of the rect + being shadowed, and SVG uses fillPath, even for rects. + + * platform/graphics/ShadowBlur.cpp: + (WebCore::ScratchBuffer::ScratchBuffer): + (WebCore::ScratchBuffer::getScratchBuffer): + (WebCore::ScratchBuffer::scheduleScratchBufferPurge): + (WebCore::ShadowBlur::ShadowBlur): + (WebCore::ShadowBlur::drawRectShadowWithTiling): + +2011-02-04 Carlos Garcia Campos <cgarcia@igalia.com> + + Reviewed by Martin Robinson. + + [GTK] Don't use a fixed size for search field icons + https://bugs.webkit.org/show_bug.cgi?id=50624 + + Use the parent input content box to make sure the icon fits in the + search field, scaling it down when needed. + + * platform/gtk/RenderThemeGtk.cpp: + (WebCore::paintGdkPixbuf): + (WebCore::getIconSizeForPixelSize): + (WebCore::adjustSearchFieldIconStyle): + (WebCore::RenderThemeGtk::adjustSearchFieldResultsDecorationStyle): + (WebCore::centerRectVerticallyInParentInputElement): + (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration): + (WebCore::RenderThemeGtk::adjustSearchFieldCancelButtonStyle): + (WebCore::RenderThemeGtk::paintSearchFieldCancelButton): + (WebCore::RenderThemeGtk::paintCapsLockIndicator): + (WebCore::RenderThemeGtk::paintMediaButton): + +2011-02-04 Hironori Bono <hbono@chromium.org> + + Reviewed by Adam Barth. + + [chromium] JPEG corruption + https://bugs.webkit.org/show_bug.cgi?id=53250 + + Same as gray-scale JPEGs, we convert the colors of CMYK JPEGs with color + profiles from CMYK to RGB twice and it causes color corruption. This + change suppresses the color profiles for CMYK JPEGs same as gray-scale + ones. + + Test: fast/images/cmyk-jpeg-with-color-profile.html + + * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: + (WebCore::JPEGImageReader::decode): + +2011-02-04 Xiyuan Xia <xiyuan@chromium.org> + + Reviewed by Tony Chang. + + [Chromium] Option text in select popup does not align with menulist button text + https://bugs.webkit.org/show_bug.cgi?id=53632 + + This makes clientPaddingLeft and clientPaddingRight return + the additional m_innerBlock's padding so that the popup item text + aligns with the menulist button text. + + * rendering/RenderMenuList.cpp: + (WebCore::RenderMenuList::clientPaddingLeft): + (WebCore::RenderMenuList::clientPaddingRight): + +2011-02-04 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig and Beth Dakin. + + REGRESSION: Horizontal scrollbar thumbs leave artifacts over page content when scrolling vertically + <rdar://problem/8962457> + + * platform/ScrollView.cpp: + (WebCore::ScrollView::scrollContents): + Subtract scrollbars from the scroll view rect if overlay scrollers are enabled. + + * platform/ScrollableArea.cpp: + (WebCore::ScrollableArea::setScrollOffsetFromAnimation): + Make sure to invalidate both scrollbars if overlay scrollers are enabled. + +2011-02-04 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + PluginDocuments don't create widgets for plugins on back/forward + https://bugs.webkit.org/show_bug.cgi?id=53474 + + Long ago, PluginDocument always caused the HTMLEmbedElement to create + its widget synchronously during a post-layout task. Recently, however, + some changes to the HistroyController caused layout on back/forward to + become slightly more complicated (and added an extra level of recursion + to layout). This extra level of recursion triggered the "I've recursed + too many times" condition in the post-layout task queue, causing the + FrameView to run the remainder of the tasks asynchronously. + Unfortunately, that broke PluginDocument because it needs its the + HTMLEmbedElement's updateWidget task to run synchronously. + + This patch adds a mechanism for "kicking off" the pending post-layout + tasks synchronously (instead of waiting for the timer to fire). + PluginDocument then uses that facility to ensure that the + HTMLEmbedElement's updateWidget task happens. + + Test: plugins/plugin-document-back-forward.html + + * html/PluginDocument.cpp: + (WebCore::PluginDocumentParser::appendBytes): + * page/FrameView.cpp: + (WebCore::FrameView::flushAnyPendingPostLayoutTasks): + * page/FrameView.h: + +2011-02-04 Charlie Reis <creis@chromium.org> + + Reviewed by Mihai Parparita. + + Crash in WebCore::HistoryController::itemsAreClones + https://bugs.webkit.org/show_bug.cgi?id=52819 + + Avoids deleting the current HistoryItem while it is still in use. + Ensures that provisional items are committed for same document navigations. + Ensures that error pages are committed on back/forward navigations. + Also removes unneeded sanity checks used for diagnosing the problem. + + * loader/HistoryController.cpp: + * loader/HistoryController.h: + +2011-02-04 Carol Szabo <carol.szabo@nokia.com> + + Reviewed by David Hyatt. + + Code Changes. + + CSS 2.1 failure: content-* + https://bugs.webkit.org/show_bug.cgi?id=52126 + + Test: fast/css/counters/content-021.html + + * rendering/CounterNode.cpp: + (showCounterTree): + Made parameter const because it is supposed to be so. + * rendering/RenderCounter.cpp: + (WebCore::previousInPreOrder): + (WebCore::previousSiblingOrParent): + (WebCore::parentElement): + (WebCore::areRenderersElementsSiblings): + (WebCore::nextInPreOrder): + Added these local helper functions to help navigate the DOM tree + enriched with :before and :after pseudo elements. + (WebCore::planCounter): + Fixed bug that would create a repeat counter for second and + subsequent renderers associated with the same DOM element. + (WebCore::findPlaceForCounter): + (WebCore::makeCounterNode): + Changed to use the new tree navigation functions described above + instead of the Renderer Tree navigation functions. + (WebCore::RenderCounter::rendererSubtreeAttached): + (WebCore::RenderCounter::rendererStyleChanged): + Optimized to not bother about counters until the renderers are + finally attached. + (showRendererTree): + (showNodeTree): + Debug helper functions used to debug Counter bugs. + +2011-02-04 Dan Bernstein <mitz@apple.com> + + Typo fix. + + * html/parser/XSSFilter.cpp: + (WebCore::HTMLNames::containsJavaScriptURL): + +2011-02-04 Dan Bernstein <mitz@apple.com> + + Reviewed by Anders Carlsson. + + Make an infinite loop introduced in r77454 finite. + + * html/parser/XSSFilter.cpp: + (WebCore::HTMLNames::containsJavaScriptURL): + +2011-02-04 Jer Noble <jer.noble@apple.com> + + Reviewed by Eric Carlson. + + Frame accurate seeking isn't always accurate + https://bugs.webkit.org/show_bug.cgi?id=52697 + + Test: media/video-frame-accurate-seek.html + + Make seeking slightly more accurate by rounding instead of truncating + when converting from seconds-in-float to time/timeScale. + + * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: + (WebCore::MediaPlayerPrivateQTKit::createQTTime): + * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: + (WebCore::MediaPlayerPrivateQuickTimeVisualContext::mediaTimeForTimeValue): + * platform/graphics/win/QTMovie.cpp: + (QTMovie::setCurrentTime): + +2011-02-04 Jeremy Orlow <jorlow@chromium.org> + + Reviewed by Nate Chapin. + + Second IndexedDB events overhaul patch + https://bugs.webkit.org/show_bug.cgi?id=53813 + + If an IDBRequest has a IDBTransaction, it should propogate + events through it. In order to do this, IDBRequest needs to + hold a transaction frontend object rather than a backend one. + + Test: storage/indexeddb/request-event-propagation.html + + * storage/IDBCursor.cpp: + (WebCore::IDBCursor::IDBCursor): + * storage/IDBCursor.h: + (WebCore::IDBCursor::create): + * storage/IDBDatabase.cpp: + (WebCore::IDBDatabase::setSetVersionTransaction): + (WebCore::IDBDatabase::createObjectStore): + (WebCore::IDBDatabase::deleteObjectStore): + * storage/IDBDatabase.h: + * storage/IDBIndex.cpp: + (WebCore::IDBIndex::IDBIndex): + (WebCore::IDBIndex::openCursor): + (WebCore::IDBIndex::openKeyCursor): + (WebCore::IDBIndex::get): + (WebCore::IDBIndex::getKey): + * storage/IDBIndex.h: + (WebCore::IDBIndex::create): + * storage/IDBObjectStore.cpp: + (WebCore::IDBObjectStore::IDBObjectStore): + (WebCore::IDBObjectStore::get): + (WebCore::IDBObjectStore::add): + (WebCore::IDBObjectStore::put): + (WebCore::IDBObjectStore::deleteFunction): + (WebCore::IDBObjectStore::createIndex): + (WebCore::IDBObjectStore::deleteIndex): + (WebCore::IDBObjectStore::openCursor): + * storage/IDBObjectStore.h: + (WebCore::IDBObjectStore::create): + * storage/IDBRequest.cpp: + (WebCore::IDBRequest::create): + (WebCore::IDBRequest::IDBRequest): + (WebCore::IDBRequest::resetReadyState): + (WebCore::IDBRequest::onSuccess): + (WebCore::IDBRequest::dispatchEvent): + * storage/IDBRequest.h: + * storage/IDBTransaction.cpp: + (WebCore::IDBTransaction::IDBTransaction): + (WebCore::IDBTransaction::objectStore): + (WebCore::IDBTransaction::contextDestroyed): + (WebCore::IDBTransaction::enqueueEvent): + * storage/IDBTransaction.h: + * storage/IDBTransaction.idl: + +2011-02-04 Jeremy Orlow <jorlow@chromium.org> + + Reviewed by Nate Chapin. + + First step towards event propogation within IndexedDB + https://bugs.webkit.org/show_bug.cgi?id=53795 + + This is the first step towards implementing + http://www.w3.org/Bugs/Public/show_bug.cgi?id=11348 + within IndexedDB. I've created a method that knows how + to capture and bubble (based on Node's dispatchGenericEvent). + I've then changed IDBRequest to use it. + + The only functional change is that preventDefault now must + be called in error events to prevent the transaction from + being aborted. The tests reflect this change and there's one + specific test to look at this behavior. + + Test: storage/indexeddb/error-causes-abort-by-default.html + + * storage/IDBAbortEvent.cpp: + (WebCore::IDBAbortEvent::create): + (WebCore::IDBAbortEvent::IDBAbortEvent): + * storage/IDBAbortEvent.h: + * storage/IDBCompleteEvent.cpp: + (WebCore::IDBCompleteEvent::create): + (WebCore::IDBCompleteEvent::IDBCompleteEvent): + * storage/IDBCompleteEvent.h: + * storage/IDBErrorEvent.cpp: + (WebCore::IDBErrorEvent::IDBErrorEvent): + * storage/IDBEvent.cpp: + (WebCore::IDBEvent::IDBEvent): + (WebCore::IDBEvent::dispatch): + * storage/IDBEvent.h: + * storage/IDBRequest.cpp: + (WebCore::IDBRequest::dispatchEvent): + * storage/IDBRequest.h: + * storage/IDBSuccessEvent.cpp: + (WebCore::IDBSuccessEvent::IDBSuccessEvent): + * storage/IDBTransaction.cpp: + (WebCore::IDBTransaction::onAbort): + (WebCore::IDBTransaction::onComplete): + * storage/IDBTransaction.h: + (WebCore::IDBTransaction::backend): + * storage/IDBTransactionBackendImpl.cpp: + (WebCore::IDBTransactionBackendImpl::taskTimerFired): + +2011-02-04 Daniel Cheng <dcheng@chromium.org> + + Reviewed by Dmitry Titov. + + Clone WebClipboard to be frame-specific. + https://bugs.webkit.org/show_bug.cgi?id=53727 + + For drop operations, Chrome currently snapshots the data and copies it + into the renderer process. As we add more supported drag data types, the + copy will become increasingly expensive. Instead, we'd like to snapshot + data in the browser to reduce the amount of data copied and to support + Blob in DataTransferItem. In order to allow this, we associated + WebClipboard with a frame so it can correctly route its IPCs to the + corresponding Chromium host. + + No new tests because no new functionality. + + * platform/chromium/ChromiumDataObject.cpp: + (WebCore::ChromiumDataObject::createReadable): + * platform/chromium/ChromiumDataObject.h: + * platform/chromium/ClipboardChromium.cpp: + (WebCore::ClipboardChromium::create): + * platform/chromium/PlatformBridge.h: + * platform/chromium/ReadableDataObject.cpp: + (WebCore::ReadableDataObject::create): + (WebCore::ReadableDataObject::ReadableDataObject): + (WebCore::ReadableDataObject::getData): + (WebCore::ReadableDataObject::urlTitle): + (WebCore::ReadableDataObject::htmlBaseUrl): + (WebCore::ReadableDataObject::filenames): + (WebCore::ReadableDataObject::ensureTypeCacheInitialized): + * platform/chromium/ReadableDataObject.h: + +2011-02-04 Jeremy Orlow <jorlow@chromium.org> + + Revert https://bugs.webkit.org/show_bug.cgi?id=53795 + + * storage/IDBAbortEvent.cpp: + (WebCore::IDBAbortEvent::create): + (WebCore::IDBAbortEvent::IDBAbortEvent): + * storage/IDBAbortEvent.h: + * storage/IDBCompleteEvent.cpp: + (WebCore::IDBCompleteEvent::create): + (WebCore::IDBCompleteEvent::IDBCompleteEvent): + * storage/IDBCompleteEvent.h: + * storage/IDBErrorEvent.cpp: + (WebCore::IDBErrorEvent::IDBErrorEvent): + * storage/IDBEvent.cpp: + (WebCore::IDBEvent::IDBEvent): + * storage/IDBEvent.h: + * storage/IDBRequest.cpp: + (WebCore::IDBRequest::dispatchEvent): + * storage/IDBRequest.h: + * storage/IDBSuccessEvent.cpp: + (WebCore::IDBSuccessEvent::IDBSuccessEvent): + * storage/IDBTransaction.cpp: + (WebCore::IDBTransaction::onAbort): + (WebCore::IDBTransaction::onComplete): + * storage/IDBTransaction.h: + * storage/IDBTransactionBackendImpl.cpp: + (WebCore::IDBTransactionBackendImpl::taskTimerFired): + +2011-02-04 Martin Galpin <martin@66laps.com> + + Reviewed by David Levin. + + CORS origin header not set on GET when a preflight request is required. + https://bugs.webkit.org/show_bug.cgi?id=50773 + + Test: http/tests/xmlhttprequest/cross-origin-preflight-get.html + + * loader/DocumentThreadableLoader.cpp: + (WebCore::DocumentThreadableLoader::preflightSuccess): + Explicitly set the request origin after a preflight request succeeds. + +2011-02-04 Jeremy Orlow <jorlow@chromium.org> + + Reviewed by Nate Chapin. + + First step towards event propogation within IndexedDB + https://bugs.webkit.org/show_bug.cgi?id=53795 + + This is the first step towards implementing + http://www.w3.org/Bugs/Public/show_bug.cgi?id=11348 + within IndexedDB. I've created a method that knows how + to capture and bubble (based on Node's dispatchGenericEvent). + I've then changed IDBRequest to use it. + + The only functional change is that preventDefault now must + be called in error events to prevent the transaction from + being aborted. The tests reflect this change and there's one + specific test to look at this behavior. + + Test: storage/indexeddb/error-causes-abort-by-default.html + + * storage/IDBAbortEvent.cpp: + (WebCore::IDBAbortEvent::create): + (WebCore::IDBAbortEvent::IDBAbortEvent): + * storage/IDBAbortEvent.h: + * storage/IDBCompleteEvent.cpp: + (WebCore::IDBCompleteEvent::create): + (WebCore::IDBCompleteEvent::IDBCompleteEvent): + * storage/IDBCompleteEvent.h: + * storage/IDBErrorEvent.cpp: + (WebCore::IDBErrorEvent::IDBErrorEvent): + * storage/IDBEvent.cpp: + (WebCore::IDBEvent::IDBEvent): + (WebCore::IDBEvent::dispatch): + * storage/IDBEvent.h: + * storage/IDBRequest.cpp: + (WebCore::IDBRequest::dispatchEvent): + * storage/IDBRequest.h: + * storage/IDBSuccessEvent.cpp: + (WebCore::IDBSuccessEvent::IDBSuccessEvent): + * storage/IDBTransaction.cpp: + (WebCore::IDBTransaction::onAbort): + (WebCore::IDBTransaction::onComplete): + * storage/IDBTransaction.h: + (WebCore::IDBTransaction::backend): + * storage/IDBTransactionBackendImpl.cpp: + (WebCore::IDBTransactionBackendImpl::taskTimerFired): + +2011-02-04 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Csaba Osztrogonác. + + [Qt]REGRESSION(r76951): media/controls-without-preload.html fails + https://bugs.webkit.org/show_bug.cgi?id=53674 + + * css/mediaControlsQt.css: + +2011-02-04 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler and Dave Hyatt. + + <rdar://problem/8902704> Make ruby text size 50% by default + https://bugs.webkit.org/show_bug.cgi?id=53723 + + * css/html.css: + (ruby > rt): Changed the font-size from 60% to 50%. + +2011-02-04 Antti Koivisto <antti@apple.com> + + Reviewed by Dimitri Glazkov. + + https://bugs.webkit.org/show_bug.cgi?id=53610 + Regression: adjacent sibling selector not working as expected + <rdar://problem/8960033> + + https://bugs.webkit.org/show_bug.cgi?id=53574 + REGRESSION (r76012): :last-child:after not working as expected + <rdar://problem/8948643> + + Test for additional conditions in parent style that prevent sharing. + + Tests: fast/selectors/style-sharing-adjacent-selector.html + fast/selectors/style-sharing-last-child.html + + * css/CSSStyleSelector.cpp: + (WebCore::parentStylePreventsSharing): + (WebCore::CSSStyleSelector::locateSharedStyle): + +2011-02-04 Mark Mentovai <mark@chromium.org> + + Reviewed by Dimitri Glazkov. + + Chromium GYP build fix. + + When various settings were moved to webcore_prerequisites in r66364, + things that should have been direct_dependent_settings were not marked + as such. GYP 'defines', for example, make no sense on a 'none'-type + target such as webcore_prerequisites. It appears that it was intended + for these settings to be pushed to direct dependents, which would make + direct_dependent_settings correct. + + Losing the ChromiumWebCoreObjC defines on the Mac, for example, caused + http://crbug.com/71537, which at best causes Mac console log spew, and + at worst may result in Chromium's copy of WebCore using system + definitions of certain Objective-C classes at runtime, or vice-versa. + + The build now includes a postbuild step to prevent + http://crbug.com/71537 from regressing again. The build will fail upon + regression. + + https://bugs.webkit.org/show_bug.cgi?id=53630 + + * WebCore.gyp/WebCore.gyp: Move things in webcore_prerequisites into + direct_dependent_settings as needed, add the check_objc_rename + postbuild step. + * WebCore.gyp/mac/check_objc_rename.sh: Added. + +2011-02-04 Robert Hogan <robert@webkit.org> + + Reviewed by Darin Fisher. + + Move chromium iframe shim code to cross-platform file + https://bugs.webkit.org/show_bug.cgi?id=52594 + + Move Chromium code for identifying and cutting out + iframe shims from plugins to cross-platform utility file + IFrameShimSupport.cpp. + Amend PluginViewQt to use this code to handle shims correctly. + + * WebCore.gypi: Add Chromium support for IFrameShimSupport.cpp + * WebCore.pro: Add Qt support for IFrameShimSupport.cpp + * plugins/IFrameShimSupport.cpp: Added. + (WebCore::getObjectStack): + (WebCore::iframeIsAbovePlugin): + (WebCore::getPluginOcclusions): + * plugins/IFframeShimSupport.h: Added. + * plugins/qt/PluginViewQt.cpp: + (WebCore::PluginView::setNPWindowIfNeeded): + +2011-02-04 Xiaomei Ji <xji@chromium.org> + + Reviewed by David Levin. + + Implement "<option> should implement the dir attribute" for chromium port after r76983. + https://bugs.webkit.org/show_bug.cgi?id=50969 + + Use manual test Source/WebCore/manual-tests/pop-up-alignment-and-direction.html + added in r76983. + + * platform/chromium/PopupMenuChromium.cpp: Remove directionality hint from + <select> drop-down setting. + (WebCore::PopupListBox::paintRow): Use <option>'s directionality to paint + items in drop-down and pass-in bidi override flag when creating text run. + * platform/chromium/PopupMenuChromium.h: Remove directionalityHint from + PopupContainerSettings. + +2011-02-04 Jeremy Orlow <jorlow@chromium.org> + + Build fix from merge mistake. + + * storage/IDBTransaction.cpp: + (WebCore::IDBTransaction::ensureEventTargetData): + +2011-02-04 Levi Weintraub <leviw@chromium.org> + + Reviewed by Darin Adler. + + Remove unneeded function declarations in comments in EditorClient.h + https://bugs.webkit.org/show_bug.cgi?id=53745 + + Removing unused commented out function declarations. No tests since this is just cleanup. + + * page/EditorClient.h: + +2011-02-03 Jeremy Orlow <jorlow@chromium.org> + + Reviewed by Nate Chapin. + + Refactor IDBRequest and IDBTransaction a bit + https://bugs.webkit.org/show_bug.cgi?id=53565 + + There were a lot of subtle issues with the way IDBTransaction + and IDBRequest used to be written. This cleans a lot of them up + and largely simplifies the logic. Using EventQueue rather than + timers is one example of the simplification. + + * bindings/scripts/CodeGeneratorV8.pm: + * dom/EventQueue.cpp: + (WebCore::EventQueue::enqueueEvent): + (WebCore::EventQueue::dispatchEvent): + * storage/IDBCursor.cpp: + (WebCore::IDBCursor::continueFunction): + * storage/IDBRequest.cpp: + (WebCore::IDBRequest::create): + (WebCore::IDBRequest::IDBRequest): + (WebCore::IDBRequest::resetReadyState): + (WebCore::IDBRequest::onError): + (WebCore::IDBRequest::onSuccess): + (WebCore::IDBRequest::dispatchEvent): + (WebCore::IDBRequest::enqueueEvent): + (WebCore::IDBRequest::eventTargetData): + (WebCore::IDBRequest::ensureEventTargetData): + * storage/IDBRequest.h: + (WebCore::IDBRequest::dispatchEvent): + * storage/IDBTransaction.cpp: + (WebCore::IDBTransaction::create): + (WebCore::IDBTransaction::IDBTransaction): + (WebCore::IDBTransaction::objectStore): + (WebCore::IDBTransaction::abort): + (WebCore::IDBTransaction::onAbort): + (WebCore::IDBTransaction::onComplete): + (WebCore::IDBTransaction::onTimeout): + (WebCore::IDBTransaction::canSuspend): + (WebCore::IDBTransaction::stop): + (WebCore::IDBTransaction::enqueueEvent): + (WebCore::IDBTransaction::eventTargetData): + (WebCore::IDBTransaction::ensureEventTargetData): + * storage/IDBTransaction.h: + +2011-02-01 Jeremy Orlow <jorlow@chromium.org> + + Reviewed by Nate Chapin. + + Remove the timeout event from IndexedDB + https://bugs.webkit.org/show_bug.cgi?id=53521 + + Remove timeout and ontimeout from IDBTransaction per the spec. + + * WebCore.gypi: + * storage/IDBDatabase.cpp: + (WebCore::IDBDatabase::transaction): + * storage/IDBDatabase.h: + (WebCore::IDBDatabase::transaction): + * storage/IDBDatabase.idl: + * storage/IDBDatabaseBackendImpl.cpp: + (WebCore::IDBDatabaseBackendImpl::setVersion): + (WebCore::IDBDatabaseBackendImpl::transaction): + * storage/IDBDatabaseBackendImpl.h: + * storage/IDBDatabaseBackendInterface.h: + * storage/IDBTimeoutEvent.cpp: Removed. + * storage/IDBTimeoutEvent.h: Removed. + * storage/IDBTransaction.cpp: + (WebCore::IDBTransaction::IDBTransaction): + (WebCore::IDBTransaction::onAbort): + (WebCore::IDBTransaction::onComplete): + * storage/IDBTransaction.h: + * storage/IDBTransaction.idl: + * storage/IDBTransactionBackendImpl.cpp: + (WebCore::IDBTransactionBackendImpl::create): + (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl): + * storage/IDBTransactionBackendImpl.h: + * storage/IDBTransactionCallbacks.h: + +2011-02-04 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Darin Adler. + + AX: Can't set accessibility overridden attributes on web objects + https://bugs.webkit.org/show_bug.cgi?id=53725 + + accessibilitySetOverriddenValue does not work on AX objects from WebCore because + the right method needed to be overridden (accessibilitySupportsOverriddenAttributes). + Unfortunately, there's no way to test this from DRT, since AppKit returns the overridden + attribute only when an AX client asks for it through the AX frameworks. + + * accessibility/mac/AccessibilityObjectWrapper.mm: + (-[AccessibilityObjectWrapper accessibilitySupportsOverriddenAttributes]): + +2011-02-03 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Kent Tamura. + + REGRESSION(r76147): Slider thumb is not repainted when let go outside of the slider track. + https://bugs.webkit.org/show_bug.cgi?id=53691 + + Test: fast/repaint/slider-thumb-drag-release.html + + * html/shadow/SliderThumbElement.cpp: + (WebCore::SliderThumbElement::stopDragging): Added dirtying the layout bit to ensure + that the thumb is repainted. + +2011-02-04 Mikhail Naganov <mnaganov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: Add "show more" data grid node and waiting message UI components. + https://bugs.webkit.org/show_bug.cgi?id=53763 + + - "show more" data grid node is used for on-demand population of + data grid contents (similar to DOM tree capability for limiting + displayed nodes count); + + - waiting message is used for informing user about long lasting + operations (with a possibility to cancel them). + + * English.lproj/localizedStrings.js: + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * inspector/front-end/PleaseWaitMessage.js: Added. + (WebInspector.PleaseWaitMessage): + * inspector/front-end/ShowMoreDataGridNode.js: Added. + (WebInspector.ShowMoreDataGridNode): + * inspector/front-end/WebKit.qrc: + * inspector/front-end/inspector.css: + (.data-grid button): + (.please-wait-msg): + * inspector/front-end/inspector.html: + +2011-02-04 Adele Peterson <adele@apple.com> + + Reviewed by Dan Bernstein. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=53740 + <rdar://problem/8503629> Allow platforms to specify if the placeholder should be visible when text controls are focused + + Tests: + fast/forms/textarea-placeholder-visibility-1.html + fast/forms/textarea-placeholder-visibility-2.html + fast/forms/input-placeholder-visibility-1.html + fast/forms/input-placeholder-visibility-2.html + fast/forms/input-placeholder-visibility-3.html + + * html/HTMLFormControlElement.cpp: (WebCore::HTMLTextFormControlElement::placeholderShouldBeVisible): + Add a check for shouldShowPlaceholderWhenFocused. + * html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::updateValue): + Whenever the value is updated, we should also update placeholder visibility. + * rendering/RenderTheme.h: (WebCore::RenderTheme::shouldShowPlaceholderWhenFocused): + Make the default the same as the existing behavior. + * rendering/RenderThemeMac.h: + * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::shouldShowPlaceholderWhenFocused): + Show placeholder when appropriate. + +2011-02-04 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: evaluate on hover does not work on a breakpoint. + https://bugs.webkit.org/show_bug.cgi?id=53768 + + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrame.prototype._mouseHover): + +2011-02-04 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r77625 and r77626. + http://trac.webkit.org/changeset/77625 + http://trac.webkit.org/changeset/77626 + https://bugs.webkit.org/show_bug.cgi?id=53765 + + It broke Windows builds (Requested by Ossy_ on #webkit). + + * Android.jscbindings.mk: + * CMakeLists.txt: + * ForwardingHeaders/pcre/pcre.h: Added. + * ForwardingHeaders/yarr/Yarr.h: Removed. + * ForwardingHeaders/yarr/YarrInterpreter.h: Removed. + * ForwardingHeaders/yarr/YarrPattern.h: Removed. + * WebCore.gyp/WebCore.gyp: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.vcproj/copyForwardingHeaders.cmd: + * platform/text/RegularExpression.cpp: + (WebCore::RegularExpression::Private::regexp): + (WebCore::RegularExpression::Private::compile): + (WebCore::RegularExpression::Private::Private): + (WebCore::RegularExpression::Private::create): + (WebCore::RegularExpression::Private::~Private): + (WebCore::RegularExpression::match): + +2011-02-04 Peter Varga <pvarga@webkit.org> + + Rubber-stamped by Csaba Osztrogonác. + + Replace PCRE with Yarr in WebCore + https://bugs.webkit.org/show_bug.cgi?id=53496 + + Speculative windows build fix. + + No new tests needed. + + * platform/text/RegularExpression.cpp: + +2011-02-04 Peter Varga <pvarga@webkit.org> + + + Reviewed by Gavin Barraclough. + + Replace PCRE with Yarr in WebCore + https://bugs.webkit.org/show_bug.cgi?id=53496 + + No new tests needed. + + * Android.jscbindings.mk: + * CMakeLists.txt: + * ForwardingHeaders/pcre/pcre.h: Removed. + * ForwardingHeaders/yarr/Yarr.h: Added. + * ForwardingHeaders/yarr/YarrInterpreter.h: Added. + * ForwardingHeaders/yarr/YarrPattern.h: Added. + * WebCore.gyp/WebCore.gyp: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.vcproj/copyForwardingHeaders.cmd: + * platform/text/RegularExpression.cpp: + (WebCore::RegularExpression::Private::create): + (WebCore::RegularExpression::Private::Private): + (WebCore::RegularExpression::Private::compile): + (WebCore::RegularExpression::match): + +2011-02-04 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: Network panel filtering is broken. + https://bugs.webkit.org/show_bug.cgi?id=53764 + + * inspector/front-end/NetworkPanel.js: + (WebInspector.NetworkPanel.prototype._sortItems): + (WebInspector.NetworkPanel.prototype._sortByTimeline): + (WebInspector.NetworkPanel.prototype._filter): + (WebInspector.NetworkPanel.prototype._updateOffscreenRows): + (WebInspector.NetworkDataGridNode.prototype.isFilteredOut): + (WebInspector.NetworkDataGridNode.prototype.get selectable): + (WebInspector.NetworkTotalGridNode.prototype.isFilteredOut): + (WebInspector.NetworkTotalGridNode.prototype.get selectable): + +2011-02-04 Andrey Kosyakov <caseq@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: support overriding user agent strings + https://bugs.webkit.org/show_bug.cgi?id=51485 + + Test: http/tests/inspector/extensions-useragent.html + + * inspector/Inspector.idl: + * inspector/InspectorController.cpp: + (WebCore::InspectorController::disconnectFrontend): + (WebCore::InspectorController::setUserAgentOverride): + (WebCore::InspectorController::userAgentOverride): + * inspector/InspectorController.h: + * inspector/front-end/ExtensionAPI.js: + (WebInspector.injectedExtensionAPI.InspectedWindow.prototype.reload): + * inspector/front-end/ExtensionServer.js: + (WebInspector.ExtensionServer.prototype._onReload): + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::userAgent): + (WebCore::FrameLoader::applyUserAgent): + +2011-02-04 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: scripts panel displays wrong file name after reload. + https://bugs.webkit.org/show_bug.cgi?id=53761 + + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished): + +2011-02-03 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: remove settings related methods from InspectorClient + https://bugs.webkit.org/show_bug.cgi?id=53686 + + * WebCore.exp.in: + * inspector/CodeGeneratorInspector.pm: + * inspector/InspectorClient.h: + * inspector/InspectorFrontendClientLocal.cpp: + (WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal): + (WebCore::InspectorFrontendClientLocal::changeAttachedWindowHeight): + (WebCore::InspectorFrontendClientLocal::restoreAttachedWindowHeight): + * inspector/InspectorFrontendClientLocal.h: ports that provide in-process implementation of the inspector front-end can + provide platform-specific settings accessor. + (WebCore::InspectorFrontendClientLocal::Settings::Settings): + (WebCore::InspectorFrontendClientLocal::Settings::~Settings): + (WebCore::InspectorFrontendClientLocal::Settings::inspectorAttachedHeight): + (WebCore::InspectorFrontendClientLocal::Settings::storeInspectorAttachedHeight): + * loader/EmptyClients.h: + +2011-02-03 Anton Muhin <antonm@chromium.org> + + Reviewed by Adam Barth. + + [v8] frame several more JS code invocations into v8::TryCatch + https://bugs.webkit.org/show_bug.cgi?id=53594 + + This patch is preemptive and adjusts v8 bindings code to forthcoming small change + in v8::ThrowException---currently sometimes exceptions thrown by this method + do not reach surrounding v8::TryCatch handler (see + http://code.google.com/p/v8/issues/detail?id=1072 and + http://codereview.chromium.org/6397011/). Therefore the goal of this patch + is to make forthcoming v8 roll as smooth as possible (alas, we'll still need + one rebaseline as of now.) + + * bindings/v8/V8Proxy.cpp: + (WebCore::V8Proxy::runScript): Do not rely on empty handle as a signal of exception, wrap into v8::TryCatch instead + * bindings/v8/V8WindowErrorHandler.cpp: + (WebCore::V8WindowErrorHandler::callListenerFunction): Ditto + +2011-02-03 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Dan Bernstein. + + WebKit2: Need WebKit2 equivalent of WebResourceLoadDelegate::willSendRequest in the Bundle + https://bugs.webkit.org/show_bug.cgi?id=52897 + <rdar://problem/8898294> + + * WebCore.exp.in: Add export now needed by WebKit2 + +2011-02-03 Victoria Kirst <vrk@google.com> + + Reviewed by James Robinson. + + Replaces float literals with uniform values in shader code + so that buggy drivers unable to parse float values in different + locales will not produce a pink video. + + [chromium] Fix pink video bug with gpu-acceleration enabled + https://bugs.webkit.org/show_bug.cgi?id=53568 + + * platform/graphics/chromium/VideoLayerChromium.cpp: + (WebCore::VideoLayerChromium::SharedValues::SharedValues): + (WebCore::VideoLayerChromium::drawYUV): + * platform/graphics/chromium/VideoLayerChromium.h: + (WebCore::VideoLayerChromium::SharedValues::signAdjLocation): + +2011-02-03 James Kozianski <koz@chromium.org> + + Reviewed by Dimitri Glazkov. + + Add navigator.registerProtocolHandler behind a flag. + https://bugs.webkit.org/show_bug.cgi?id=52609 + + This method is described in the HTML5 specification here, + http://dev.w3.org/html5/spec/Overview.html#dom-navigator-registerprotocolhandler + + This change is largely cribbed from B. Green's 29651 patches. It is + behind a flag so as not to break JS feature detection. + + New layout test fast/dom/registerProtocolHandler.html. + + * Configurations/FeatureDefines.xcconfig: + * loader/EmptyClients.h: + (WebCore::EmptyChromeClient::registerProtocolHandler): + * page/Chrome.cpp: + (WebCore::Chrome::registerProtocolHandler): + * page/Chrome.h: + * page/ChromeClient.h: + * page/Navigator.cpp: + (WebCore::verifyCustomHandlerURL): + (WebCore::verifyProtocolHandlerScheme): + (WebCore::Navigator::registerProtocolHandler): + * page/Navigator.h: + * page/Navigator.idl: + +2011-02-03 Brian Ryner <bryner@chromium.org> + + Reviewed by Darin Fisher. + + Add a field to the ResourceResponse for tracking the socket address + of the host that the resource was fetched from. Patch was originally + by Paul Marks. + https://bugs.webkit.org/show_bug.cgi?id=53699 + + * platform/network/chromium/ResourceResponse.cpp: + (WebCore::ResourceResponse::doPlatformCopyData): + (WebCore::ResourceResponse::doPlatformAdopt): + * platform/network/chromium/ResourceResponse.h: + (WebCore::ResourceResponse::socketAddress): + (WebCore::ResourceResponse::setSocketAddress): + +2011-02-03 Adam Langley <agl@chromium.org> + + Reviewed by Adam Barth. + + Plumb mixed script URL to FrameLoaderClient + https://bugs.webkit.org/show_bug.cgi?id=52384 + + Regressions covered by http/tests/security/mixedContent/* + + * loader/EmptyClients.h: + (WebCore::EmptyFrameLoaderClient::didRunInsecureContent): + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::checkIfRunInsecureContent): + * loader/FrameLoaderClient.h: + +2011-02-03 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dan Bernstein. + + REGRESSION: Artifacts on box-shadow corners in some cases + https://bugs.webkit.org/show_bug.cgi?id=53731 + + Fix overdrawing artifacts in ShadowBlur's tiling code path, + which show up in shadows using a color with alpha. + + Test: fast/box-shadow/shadow-tiling-artifact.html + + * platform/graphics/ShadowBlur.cpp: + (WebCore::ShadowBlur::drawRectShadowWithTiling): Ensure + that the inner rect that gets filled does not overlap with any + of the eight tiled areas by having the corner and side dimensions + be the same for contiguous areas. + +2011-02-03 Adam Barth <abarth@webkit.org> + + Reviewed by Alexey Proskuryakov. + + XSS Auditor is spinning inside decodeURLEscapeSequences() if there are + percent signs in large posted data + https://bugs.webkit.org/show_bug.cgi?id=53405 + + If the input string contains many non-% characters followed by a % + character that is not a valid URL escape sequence, then the old + algorithm would only advance the initial search by one character + (instead of jumping to just after the % character). That would cause + the algorithm to take N^2 time (in the number of characters before the + first % character). This patch just advances the search past the first + % character so we can start looking for next % character sooner. + + * platform/KURL.cpp: + (WebCore::decodeURLEscapeSequences): + +2011-02-03 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: click on a breakpoint highlights wrong line in source frame. + https://bugs.webkit.org/show_bug.cgi?id=53692 + + * inspector/front-end/BreakpointsSidebarPane.js: + (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._setupBreakpointElement): + +2011-02-03 Anton Muhin <antonm@chromium.org> + + Reviewed by Adam Barth. + + [v8] Bail out if to string conversion returned empty handle + https://bugs.webkit.org/show_bug.cgi?id=53687 + + This a temporary measure: actually one probably should never get empty handle + if there was no exception. The root cause is under investigation. + The bailout though allows Chromium not to crash---attempt to convert an empty + v8 hande into WebCore string crashes with invalid memory access. + + See http://code.google.com/p/chromium/issues/detail?id=71544 + + There is no known reduction expressible as a layout test so far. The crash found with automated testing tools. + + * bindings/v8/V8Binding.cpp: + (WebCore::v8NonStringValueToWebCoreString): Bail out on empty handle + * bindings/v8/V8Binding.h: + (WebCore::V8ParameterBase::prepareBase): Ditto + +2011-02-03 Adam Barth <abarth@webkit.org> + + Attempt to fix Chromium build. + + * html/parser/XSSFilter.cpp: + +2011-02-03 Dirk Pranke <dpranke@chromium.org> + + Unreviewed, rolling out r77562. + http://trac.webkit.org/changeset/77562 + https://bugs.webkit.org/show_bug.cgi?id=53630 + + broke chromium mac build + + * WebCore.gyp/WebCore.gyp: + * WebCore.gyp/mac/check_objc_rename.sh: Removed. + +2011-02-03 Adam Barth <abarth@webkit.org> + + Reviewed by Daniel Bates. + + XSS Auditor severely affects loading performance after submitting a large form + https://bugs.webkit.org/show_bug.cgi?id=49845 + + Switch over from the XSSAuditor to the XSSFilter, improving performance + on this example. + + * html/parser/XSSFilter.cpp: + (WebCore::XSSFilter::filterToken): + * page/XSSAuditor.cpp: + (WebCore::XSSAuditor::isEnabled): + +2011-02-03 Dirk Pranke <dpranke@chromium.org> + + Unreviewed, rolling out r77567. + http://trac.webkit.org/changeset/77567 + https://bugs.webkit.org/show_bug.cgi?id=53468 + + broke chromium linux svg, canvas tests, possibly win also? + + * platform/graphics/skia/ImageBufferSkia.cpp: + (WebCore::getImageData): + (WebCore::ImageBuffer::getUnmultipliedImageData): + (WebCore::ImageBuffer::getPremultipliedImageData): + (WebCore::putImageData): + (WebCore::ImageBuffer::putUnmultipliedImageData): + (WebCore::ImageBuffer::putPremultipliedImageData): + +2011-02-02 MORITA Hajime <morrita@google.com> + + Reviewed by Dimitri Glazkov. + + Refactoring: <progress> should not use ShadowElement + https://bugs.webkit.org/show_bug.cgi?id=53583 + + - Introduced RenderIndicatorPart and RenderProgressBarValuePart + to be responsible for bar-part layout, + which adopted layout logic from ShadowBlockElement. + - ProgressBarValueElement is no longer a subclass of ShadowBlockElement. + - Remove dependency from RenderProgress to HTMLProgressElement and + ShadowBlockElement. + - The shadow tree is no longer removed on detach(). It becomes persistent. + This is now possible because the ShadowBlockElement dependency is gone. + - ::-webkit-appearance for -webkit-progress-bar-value is no longer referred. + That didn't make sense. + + * html/HTMLProgressElement.cpp: + (WebCore::HTMLProgressElement::createShadowSubtreeIfNeeded): + * html/HTMLProgressElement.h: + * html/shadow/ProgressBarValueElement.h: Added. + (WebCore::ProgressBarValueElement::ProgressBarValueElement): + (WebCore::ProgressBarValueElement::shadowPseudoId): + (WebCore::ProgressBarValueElement::createRenderer): + (WebCore::ProgressBarValueElement::create): + * rendering/RenderIndicator.cpp: + (WebCore::RenderIndicatorPart::RenderIndicatorPart): + (WebCore::RenderIndicatorPart::~RenderIndicatorPart): + (WebCore::RenderIndicatorPart::layout): + (WebCore::RenderIndicatorPart::styleDidChange): + * rendering/RenderIndicator.h: Added RenderIndicatorPart class + (WebCore::RenderIndicatorPart::originalVisibility): + (WebCore::RenderIndicatorPart::requiresForcedStyleRecalcPropagation): + (WebCore::RenderIndicatorPart::canHaveChildren): + * rendering/RenderProgress.cpp: + (WebCore::RenderProgressBarValuePart::preferredFrameRect): + (WebCore::RenderProgressBarValuePart::shouldBeHidden): + (WebCore::RenderProgress::updateFromElement): + (WebCore::RenderProgress::layoutParts): + (WebCore::RenderProgress::shouldHaveParts): + * rendering/RenderProgress.h: + (WebCore::RenderProgressBarValuePart::RenderProgressBarValuePart): + +2011-02-03 Jia Pu <jpu@apple.com> + + Reversion should not be marked as misspelled. + https://bugs.webkit.org/show_bug.cgi?id=53255 + + This patch includes fix for reported bug, and also some housekeeping changes. + + To implement desired behavior, we need: + 1. Add a new marker type, SpellCheckingExemption, since now we distingusish between text + that shouldn't be spellchecked and text shouldn't be autocorrected. + 2. Make sure that there is no pending correction panel when we enter markAllMisspellingsAndBadGrammarInRanges(). + Otherwise the spell checking code in that function may interfere with autocorrection. This + is achieved by explicitly applying pending correction when user types space, line break or + paragraph break. + + Housekeeping code changes include: + 1. Change manual-tests that were broken by relocated WebCore directory. + 2. Use TextIterator in various DocumentMarkerController functions instead of using + Node::traverseNextNode() directly. + 3. Allow passing multiple marker types into DocumentMarkerController::removeMarkers() and + DocumentMarkerController::hasMarkers() to improve clarity and efficiency. + 4. Fixes of minor bugs that were exposed previously. + + * WebCore.exp.in: Change signature of DocumentMarkerController::removeMarkers(). + + * dom/DocumentMarker.h: Added new marker type SpellCheckingExemption. + + * dom/DocumentMarkerController.cpp: + (WebCore::DocumentMarkerController::removeMarkers): Use TextIterator to scan the range to be + consistent with addMarker() function. Allow passing in multiple marker types in one call. + Added a boolean argument to specify the behavior when removing markers that partially + overlap the specified range. + (WebCore::DocumentMarkerController::removeMarkersFromMarkerMapVectorPair): Allow passing in + multiple marker types in one call. + (WebCore::DocumentMarkerController::hasMarkers): Use TextIterator to scan the range to be + consistent with addMarker() function. Allow passing in multiple marker types in one call. + + * dom/DocumentMarkerController.h: Allow passing in multiple marker types to removeMarkers() + and hasMarkers(). Added a boolean argument to removeMarkers() to specify the behavior when + removing markers that partially overlap the specified range. + + * editing/Editor.cpp: + (WebCore::markerTypesForAutocorrection): Add SpellCheckingExemption marker when apply correction. + (WebCore::markerTypesForReplacement): Ditto. + (WebCore::Editor::respondToChangedSelection): Reordered call to dismissCorrectionPanel() and + setSelection() to make sure there is no pending correction when entering + markAllMisspellingsAndBadGrammarInRanges(). + (WebCore::Editor::appliedEditing): Only remove CorrectionIndicator markers when the command + is a top level command to improve efficiency. + (WebCore::Editor::insertTextWithoutSendingTextEvent): Added code to applying pending correction. + (WebCore::Editor::insertLineBreak): Ditto. + (WebCore::Editor::insertParagraphSeparator): Ditto. + (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Don't mark mispelling if the + text carries SpellCheckingExemption marker. + (WebCore::Editor::correctionPanelTimerFired): Reset correction panel if the returned suggestion + from spellchecker is an empty string. + (WebCore::Editor::removeSpellAndCorrectionMarkersFromWordsToBeEdited): + Use new DocumentMarkerController::removeMarkers() to replace custom implemenation to improve + efficiency and readability. + (WebCore::Editor::applyCorrectionPanelInfo): Remove the code that set caret position after + applying correction, since it's unnecessary. Also, store pre-correction string together with + the marker for reversion panel to use. + (WebCore::Editor::applyAutocorrectionBeforeTypingIfAppropriate): Apply pending correction. + (WebCore::Editor::changeSelectionAfterCommand): Moved marker removal code to Editor::appliedEditing() + where we have access to EditCommand object. + + * editing/Editor.h: Added new function applyAutocorrectionAfterTypingIfAppropriate(). + + * manual-tests/autocorrection/autocorrection-cancelled-by-ESC.html: Change manual-tests that + were broken by relocated WebCore directory. + + * manual-tests/autocorrection/autocorrection-cancelled-by-typing-1.html: Ditto. + + * manual-tests/autocorrection/autocorrection-contraction.html: Ditto. + + * manual-tests/autocorrection/continue-typing-to-dismiss-reversion.html: Ditto. + + * manual-tests/autocorrection/delete-to-dismiss-reversion.html: Ditto. + + * manual-tests/autocorrection/delete-to-end-of-word-to-show-reversion.html: Ditto. + + * manual-tests/autocorrection/dismiss-multiple-guesses.html: Ditto. + + * manual-tests/autocorrection/move-to-end-of-word-to-show-reversion.html: Ditto. + + * manual-tests/autocorrection/select-from-multiple-guesses.html: Ditto. + + * manual-tests/autocorrection/spell-checking-after-reversion.html: Added. + + * manual-tests/autocorrection/type-whitespace-to-dismiss-reversion.html: Change manual-tests that + were broken by relocated WebCore directory. + + * rendering/InlineTextBox.cpp: + (WebCore::InlineTextBox::paintDocumentMarkers): Code clean-up to be more concise. + +2011-02-03 Abhishek Arya <inferno@chromium.org> + + Unreviewed, qt build fix. + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::removeFloatingObject): + +2011-02-03 Brian Salomon <bsalomon@google.com> + + Reviewed by James Robinson. + + Handle non-raster backed images in getUnmultipliedImageData() + https://bugs.webkit.org/show_bug.cgi?id=53468 + + No new tests. Existing canvas tests sufficient + LayoutTests/canvas/philip/... + + * platform/graphics/skia/ImageBufferSkia.cpp: + (WebCore::getImageData): + (WebCore::ImageBuffer::getUnmultipliedImageData): + (WebCore::ImageBuffer::getPremultipliedImageData): + (WebCore::putImageData): + (WebCore::ImageBuffer::putUnmultipliedImageData): + (WebCore::ImageBuffer::putPremultipliedImageData): + +2011-02-03 Abhishek Arya <inferno@chromium.org> + + Reviewed by James Robinson. + + Enforce more limits on root inline boxes height calculations. + https://bugs.webkit.org/show_bug.cgi?id=53729 + + Test: fast/overflow/overflow-height-float-not-removed-crash.html + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::removeFloatingObject): prevent logicalBottom to + become negative when logicalTop is INT_MAX. + (WebCore::RenderBlock::markLinesDirtyInBlockRange): when logicalBottom + is INT_MAX, we should dirty everything. So, we bail out to make + afterLowest equal to the lastRootBox() or lowestDirstLine. + +2011-02-03 David Levin <levin@chromium.org> + + Reviewed by Adam Barth and Oliver Hunt. + + Worker.importScript() should clean errors for cross origin imports. + https://bugs.webkit.org/show_bug.cgi?id=52871 + + Test: http/tests/workers/worker-importScriptsOnError.html + + * bindings/js/WorkerScriptController.cpp: + (WebCore::WorkerScriptController::evaluate): Use sanitizeScriptError + to determine when to create a clean exception. + * bindings/v8/WorkerContextExecutionProxy.cpp: + (WebCore::WorkerContextExecutionProxy::evaluate): Ditto. + * dom/ScriptExecutionContext.cpp: + (WebCore::ScriptExecutionContext::sanitizeScriptError): Figure out + if the error needs to be cleaned up. + (WebCore::ScriptExecutionContext::dispatchErrorEvent): Extracted + sanitizeScriptError for use by other places. + * dom/ScriptExecutionContext.h: + * workers/WorkerContext.cpp: + (WebCore::WorkerContext::importScripts): Use the reponse url when + telling the evaluate where the script came fro. + * workers/WorkerScriptLoader.cpp: + (WebCore::WorkerScriptLoader::responseURL): Expose the url that + the script was loaded from (which may be different from url() due + to redirects). + (WebCore::WorkerScriptLoader::didReceiveResponse): Capture the reponse url. + * workers/WorkerScriptLoader.h: + +2011-02-03 Mark Mentovai <mark@chromium.org> + + Reviewed by Dimitri Glazkov. + + Chromium GYP build fix. + + When various settings were moved to webcore_prerequisites in r66364, + things that should have been direct_dependent_settings were not marked + as such. GYP 'defines', for example, make no sense on a 'none'-type + target such as webcore_prerequisites. It appears that it was intended + for these settings to be pushed to direct dependents, which would make + direct_dependent_settings correct. + + Losing the ChromiumWebCoreObjC defines on the Mac, for example, caused + http://crbug.com/71537, which at best causes Mac console log spew, and + at worst may result in Chromium's copy of WebCore using system + definitions of certain Objective-C classes at runtime, or vice-versa. + + The build now includes a postbuild step to prevent + http://crbug.com/71537 from regressing again. The build will fail upon + regression. + + https://bugs.webkit.org/show_bug.cgi?id=53630 + + * WebCore.gyp/WebCore.gyp: Move things in webcore_prerequisites into + direct_dependent_settings as needed, add the check_objc_rename + postbuild step. + * WebCore.gyp/mac/check_objc_rename.sh: Added. + +2011-02-03 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Make XSSFilter go fast by adding a SuffixTree + https://bugs.webkit.org/show_bug.cgi?id=53665 + + The SuffixTree lets us quickly reject snippets if the POST data is + large (because we can avoid a linear scan over the POST data). + + * html/parser/XSSFilter.cpp: + (WebCore::XSSFilter::init): + (WebCore::XSSFilter::isContainedInRequest): + * html/parser/XSSFilter.h: + +2011-02-03 Mihai Parparita <mihaip@chromium.org> + + Reviewed by Alexey Proskuryakov. + + REGRESSION (r77355): Page cache layout tests crash + https://bugs.webkit.org/show_bug.cgi?id=53648 + + Test: fast/events/pagehide-timeout.html + + Suspend active DOM objects after all pagehide event handlers have run, + otherwise it's possible for them to create more objects that weren't + getting suspended. + + * history/CachedFrame.cpp: + (WebCore::CachedFrame::CachedFrame): + +2011-02-03 Jeremy Orlow <jorlow@chromium.org> + + Reviewed by Nate Chapin. + + SerializedScriptValue should not require v8 to create undefined and null values + https://bugs.webkit.org/show_bug.cgi?id=53730 + + Instead of creating a v8 type and passing that into the constructor, just use + the writer class directly. While I was at it, I cleaned up the code a bit too + by getting rid of the WireData/StringValue enum as I found that personally + confusing. + + This is necessary because these methods are called by IndexedDB in the browser + process where v8 is not spun up. + + No functionality changed and not possible to test. + + * bindings/v8/SerializedScriptValue.cpp: + (WebCore::SerializedScriptValue::createFromWire): + (WebCore::SerializedScriptValue::create): + (WebCore::SerializedScriptValue::nullValue): + (WebCore::SerializedScriptValue::undefinedValue): + (WebCore::SerializedScriptValue::release): + (WebCore::SerializedScriptValue::SerializedScriptValue): + * bindings/v8/SerializedScriptValue.h: + +2011-02-03 Beth Dakin <bdakin@apple.com> + + Reviewed by Sam Weinig. + + Fix for <rdar://problem/8944544> Ability to animate track + for WKPainter scrollers + + Two new WebKitSystemInterface functions. + * WebCore.exp.in: + * platform/mac/WebCoreSystemInterface.h: + * platform/mac/WebCoreSystemInterface.mm: + + Use Scrollbar::convertFromContainingView() to return the right point. + * platform/mac/ScrollAnimatorMac.mm: + (-[ScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]): + + ScrollKnobAnimation is now ScrollbarPartAnimation. It can + now be used to animate the knob or the track. + (-[ScrollbarPartAnimation initWithScrollbarPainter:part:WebCore::scrollAnimator:WebCore::animateAlphaTo:duration:]): + (-[ScrollbarPartAnimation setCurrentProgress:]): + (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]): + (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]): + (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]): + + Scrollbars need invalodating after the overlay state changes. + (-[ScrollbarPainterDelegate scrollerImp:overlayScrollerStateChangedTo:]): + +2011-02-03 Sam Weinig <sam@webkit.org> + + Reviewed by Beth Dakin. + + Scroll thumb jumps to top when resizing horizontally. + + * platform/ScrollView.cpp: + (WebCore::ScrollView::updateScrollbars): Add call to update + the scrollbar's offset in the case where we may have created + a new scrollbar but have not changed the current position. + +2011-02-03 Justin Schuh <jschuh@chromium.org> + + Reviewed by Dirk Schulze. + + startAnimations should use a local, RefCounted Vector. + https://bugs.webkit.org/show_bug.cgi?id=53458 + + Test: svg/custom/use-animation-in-fill.html + + * svg/SVGDocumentExtensions.cpp: + (WebCore::SVGDocumentExtensions::startAnimations): + +2011-02-03 Adam Barth <abarth@webkit.org> + + Reviewed by Daniel Bates. + + XSSFilter shouldn't bother to analyze pages without "injection" + characters in the request + https://bugs.webkit.org/show_bug.cgi?id=53664 + + If the request lacks these "injection" characters, then it's unlikely + that there's a reflective XSS attack happening. This hueristic lets us + avoid analyzing the vast majority of responses for XSS. Of course, the + hueristic isn't perfect. Because of this huerstic, we miss out on + injections into unquoted attributes. However, it's a trade-off that's + worked well in the XSSAuditor. + + * html/parser/XSSFilter.cpp: + (WebCore::HTMLNames::isRequiredForInjection): + (WebCore::XSSFilter::XSSFilter): + (WebCore::XSSFilter::init): + (WebCore::XSSFilter::filterToken): + (WebCore::XSSFilter::isContainedInRequest): + * html/parser/XSSFilter.h: + +2011-02-03 Vangelis Kokkevis <vangelis@chromium.org> + + Reviewed by Kenneth Russell. + + [chromium] Fixing a compositor crash occurring on layers + without an associated RenderSurface. + https://bugs.webkit.org/show_bug.cgi?id=53679 + Regression was introduced by in r77425 + + Test: http://webkit.org/blog/386/3d-transforms/ doesn't crash + anymore. + + * platform/graphics/chromium/LayerRendererChromium.cpp: + (WebCore::LayerRendererChromium::drawLayer): + +2011-02-03 Dan Bernstein <mitz@apple.com> + + Reviewed by Anders Carlsson. + + <rdar://problem/8948788> Text emphasis marks have wrong orientation for vertical text + https://bugs.webkit.org/show_bug.cgi?id=53709 + + Covered by rendering of fast/text/emphasis-vertical.html + + * platform/graphics/mac/SimpleFontDataMac.mm: + (WebCore::SimpleFontData::scaledFontData): Give the scaled font the same orientation this font + has. + +2011-02-02 Levi Weintraub <leviw@chromium.org> + + Reviewed by Ryosuke Niwa. + + Moving cursor down in table cycles at the end of a row + https://bugs.webkit.org/show_bug.cgi?id=50012 + + Avoids a caret cycling issue with certain content (e.g. tables) found at the very + end of a document due to a bug in nextLeafWithSameEditability. + + Test: editing/selection/move-by-line-cycles-in-table.html + + * editing/visible_units.cpp: + (WebCore::nextLeafWithSameEditability): Properly avoid descending back into the + original leaf node. + +2011-02-03 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: remove dead code related to changes panel. + https://bugs.webkit.org/show_bug.cgi?id=53688 + + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * inspector/front-end/ChangesView.js: Removed. + * inspector/front-end/WebKit.qrc: + * inspector/front-end/inspector.css: + (#error-warning-count): + (#error-warning-count:hover): + (#error-count + #warning-count): + * inspector/front-end/inspector.html: + * inspector/front-end/inspector.js: + +2011-02-02 Sam Weinig <sam@webkit.org> + + Reviewed by Anders Carlsson. + + Add notification of the end of a rubber band. + <rdar://problem/8940648> + + * WebCore.exp.in: + Add additional exprots. + + * page/ChromeClient.h: + (WebCore::ChromeClient::didCompleteRubberBandForMainFrame): + * page/FrameView.cpp: + (WebCore::FrameView::didCompleteRubberBand): + * page/FrameView.h: + * platform/ScrollView.cpp: + (WebCore::ScrollView::didCompleteRubberBand): + * platform/ScrollView.h: + Add hook. + + * platform/ScrollableArea.h: + (WebCore::ScrollableArea::inLiveResize): + (WebCore::ScrollableArea::maximumScrollPosition): + (WebCore::ScrollableArea::visibleWidth): + (WebCore::ScrollableArea::overhangAmount): + (WebCore::ScrollableArea::didCompleteRubberBand): + Reorganize and de-virtualize live resize notifications. + + * platform/mac/ScrollAnimatorMac.mm: + (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired): + Call the new hook when the rubberband ends. + +2011-02-02 Evan Martin <evan@chromium.org> + + Reviewed by Tony Chang. + + [chromium] complex joining characters positioned in wrong place + https://bugs.webkit.org/show_bug.cgi?id=53637 + + Provide the correct font metrics to Harfbuzz related to the font design space. + There are used in some fonts for GPOS positioning. + + Test: platform/chromium-linux/fast/text/international/complex-joining-using-gpos.html + + * platform/graphics/chromium/ComplexTextControllerLinux.cpp: + (WebCore::ComplexTextController::setupFontForScriptRun): + (WebCore::ComplexTextController::allocHarfbuzzFont): + * platform/graphics/chromium/FontPlatformDataLinux.cpp: + (WebCore::FontPlatformData::FontPlatformData): + (WebCore::FontPlatformData::emSizeInFontUnits): + (WebCore::FontPlatformData::operator=): + * platform/graphics/chromium/FontPlatformDataLinux.h: + (WebCore::FontPlatformData::FontPlatformData): + +2011-02-02 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Kent Tamura. + + REGRESSION(r76147): Slider thumb position is not updated when value attribute is changed. + https://bugs.webkit.org/show_bug.cgi?id=53634 + + Test: fast/dom/HTMLInputElement/input-slider-update.html + + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::setValue): Added a call to InputType::valueChanged. + * html/InputType.cpp: + (WebCore::InputType::valueChanged): Added empty implementation. + * html/InputType.h: Added def. + * html/RangeInputType.cpp: + (WebCore::RangeInputType::valueChanged): Added implementation that dirties layout + bit on the thumb. + * html/RangeInputType.h: Added def. + +2011-02-02 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: do not share source frames between resources panel and scripts panel. + https://bugs.webkit.org/show_bug.cgi?id=53584 + + Currently, we show error messages only for resources. This change will allow showing error + messages in source frame even when resource is not available (eval scripts, inlined scripts). + + * inspector/front-end/ConsoleView.js: + (WebInspector.ConsoleView.prototype.addMessage): + (WebInspector.ConsoleView.prototype.clearMessages): + * inspector/front-end/ResourceView.js: + (WebInspector.ResourceView.recreateResourceView): + * inspector/front-end/ResourcesPanel.js: + (WebInspector.FrameResourceTreeElement.prototype._setBubbleText): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel.prototype._scriptSourceChanged): + (WebInspector.ScriptsPanel.prototype.addConsoleMessage): + (WebInspector.ScriptsPanel.prototype.clearConsoleMessages): + (WebInspector.ScriptsPanel.prototype.reset): + (WebInspector.ScriptsPanel.prototype._sourceFrameForScriptOrResource): + (WebInspector.ScriptsPanel.prototype._sourceFrameForResource): + (WebInspector.ScriptsPanel.prototype._sourceFrameForScript): + +2011-02-03 Simon Fraser <simon.fraser@apple.com> + + Fix 32-bit builds. + + * platform/graphics/ShadowBlur.cpp: + (WebCore::ShadowBlur::blurLayerImage): + +2011-02-03 Mikhail Naganov <mnaganov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: Add reporting of JS heap size limit to 'console.memory'. + https://bugs.webkit.org/show_bug.cgi?id=53592 + + In JSC there is no limit, thus 'undefined' value is returned. + For V8, the limit reported by the VM is returned. + + * Android.jscbindings.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSBindingsAllInOne.cpp: + * bindings/js/JSMemoryInfoCustom.cpp: Added. + * bindings/js/ScriptGCEvent.cpp: + (WebCore::ScriptGCEvent::getHeapSize): + * bindings/js/ScriptGCEvent.h: + * bindings/v8/ScriptGCEvent.cpp: + (WebCore::ScriptGCEvent::getHeapSize): + * bindings/v8/ScriptGCEvent.h: + * inspector/InspectorTimelineAgent.cpp: + (WebCore::InspectorTimelineAgent::setHeapSizeStatistic): + * page/MemoryInfo.cpp: + (WebCore::MemoryInfo::MemoryInfo): + * page/MemoryInfo.h: + (WebCore::MemoryInfo::jsHeapSizeLimit): + * page/MemoryInfo.idl: + +2011-01-27 Philippe Normand <pnormand@igalia.com> + + Reviewed by Martin Robinson. + + [GTK] LayoutTests/media/audio-mpeg4-supported.html fails + https://bugs.webkit.org/show_bug.cgi?id=53125 + + * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: + (WebCore::mimeTypeCache): Add audio/x-m4a mimetype in the cache. + +2011-02-03 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Sam Weinig. + + ShadowBlur radius for CSS shadows is slightly too big + https://bugs.webkit.org/show_bug.cgi?id=53660 + + If we follow SVG gaussian blur for CSS shadows, we can end up rendering + shadows that extend further than the CSS "blur radius", which results + in the shadows being truncated. + + Fix with a small fudge factor to reduce the kernel diameter slightly + for CSS shadows. + + Also more closely follow the algorithm described in the SVG spec + for computing the kernel size for different diameters, and clean up + some variable naming relating to the shadow bounds. + + * platform/graphics/ShadowBlur.cpp: + (WebCore::ShadowBlur::blurLayerImage): + (WebCore::ShadowBlur::drawRectShadowWithTiling): + +2011-02-01 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: introduce new api for managing JavaScript breakpoints. + https://bugs.webkit.org/show_bug.cgi?id=53235 + + Single protocol breakpoint (e.g. set by url) is mapped on zero or more VM breakpoints (set by sourceID). + removeJavaScriptBreakpoint(breakpointId) removes breakpoint and all linked VM breakpoints. + Since UI uses VM breakpoint location rather then protocol breakpoint location, all resolved breakpoints locations are passed to frontend. + + SourceFrame is now aware of whether breakpoint is resolved or not and may display it accordingly. + JavaScriptBreakpointsSidebarPane filters out breakpoints set on nonexistent scripts to avoid UI cluttering. + + * bindings/js/ScriptDebugServer.cpp: + (WebCore::ScriptDebugServer::setBreakpoint): + (WebCore::ScriptDebugServer::removeBreakpoint): + * bindings/js/ScriptDebugServer.h: + * bindings/v8/DebuggerScript.js: + (): + * bindings/v8/ScriptDebugServer.cpp: + (WebCore::ScriptDebugServer::setBreakpoint): + * bindings/v8/ScriptDebugServer.h: + * inspector/Inspector.idl: + * inspector/InspectorAgent.cpp: clear breakpoints from inspector state when new frontend is created + (WebCore::InspectorAgent::restoreInspectorStateFromCookie): + (WebCore::InspectorAgent::populateScriptObjects): + (WebCore::InspectorAgent::restoreDebugger): + (WebCore::InspectorAgent::showAndEnableDebugger): + (WebCore::InspectorAgent::enableDebugger): + * inspector/InspectorAgent.h: + * inspector/InspectorDebuggerAgent.cpp: manage relations between protocol breakpoints and VM breakpoints + (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent): + (WebCore::InspectorDebuggerAgent::inspectedURLChanged): + (WebCore::InspectorDebuggerAgent::setJavaScriptBreakpoint): + (WebCore::InspectorDebuggerAgent::setJavaScriptBreakpointBySourceId): + (WebCore::InspectorDebuggerAgent::removeJavaScriptBreakpoint): + (WebCore::InspectorDebuggerAgent::continueToLocation): + (WebCore::InspectorDebuggerAgent::resolveBreakpoint): + (WebCore::InspectorDebuggerAgent::getScriptSource): + (WebCore::InspectorDebuggerAgent::didParseSource): + (WebCore::InspectorDebuggerAgent::didPause): + * inspector/InspectorDebuggerAgent.h: + (WebCore::InspectorDebuggerAgent::Script::Script): + * inspector/InspectorValues.cpp: + (WebCore::InspectorValue::asNumber): + (WebCore::InspectorBasicValue::asNumber): + (WebCore::InspectorObject::remove): + * inspector/InspectorValues.h: + (WebCore::InspectorObject::getNumber): + (WebCore::InspectorObject::find): + * inspector/ScriptBreakpoint.h: + (WebCore::ScriptBreakpoint::ScriptBreakpoint): + * inspector/front-end/Breakpoint.js: + (WebInspector.Breakpoint): + (WebInspector.Breakpoint.prototype.addLocation): + * inspector/front-end/BreakpointManager.js: remove all stuff related to JavaScript breakpoints from here + (WebInspector.BreakpointManager): + (WebInspector.BreakpointManager.prototype._projectChanged): + (WebInspector.BreakpointManager.prototype._saveBreakpoints): + (WebInspector.BreakpointManager.prototype._validateBreakpoints): + * inspector/front-end/BreakpointsSidebarPane.js: + (WebInspector.JavaScriptBreakpointsSidebarPane): filter breakpoints set on nonexistent scripts to avoid ui cluttering + * inspector/front-end/DebuggerModel.js: + (WebInspector.DebuggerModel): pull all JavaScript from localStorage and push them to fronted when debugger is enabled, save resolved breakpoints data + * inspector/front-end/Script.js: + (WebInspector.Script.prototype.sourceLine): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel.prototype._toggleDebugging): + * inspector/front-end/Settings.js: + (WebInspector.Settings): + * inspector/front-end/SourceFrame.js: handle resolved and unresolved breakpoints differently + * inspector/front-end/inspector.js: + +2011-02-03 Nikolas Zimmermann <nzimmermann@rim.com> + + Reviewed by Dirk Schulze. + + small text which is scaled to be large renders pixelated + https://bugs.webkit.org/show_bug.cgi?id=12448 + + SVG <text> with font-size smaller or equal to 1 does not paint correctly + https://bugs.webkit.org/show_bug.cgi?id=14242 + + misplaced text in SVG + https://bugs.webkit.org/show_bug.cgi?id=17053 + + Don't render very small (but zoomed) text inside SVG + https://bugs.webkit.org/show_bug.cgi?id=19393 + + Tiny fonts scaled up end up too large in Safari + https://bugs.webkit.org/show_bug.cgi?id=20192 + + Stretched SVG Text has awful glyph spacing + https://bugs.webkit.org/show_bug.cgi?id=21774 + + REGRESSION (r72141?): svg/batik/text/smallFonts.svg failing on Leopard + https://bugs.webkit.org/show_bug.cgi?id=49846 + + [Gtk] Text height in zoomed SVG is 1px too high + https://bugs.webkit.org/show_bug.cgi?id=50313 + + SVG text smaller than 0.5px not displayed properly + https://bugs.webkit.org/show_bug.cgi?id=50528 + + When rendering text, we're selecting a font with a size, as specified in the markup. + This can lead to problems, if the context, where the text is rendered upon, is scaled. If a parent + element of the <text> defines a transform=".." or the outermost <svg> containing a viewBox the + problem becomes apparent. + + Consider following two snippets, which should render exactly the same: + <svg viewBox="0 0 100 100"><text x="25" y="50" font-size="25">test</text></svg> + <svg viewBox="0 0 1 1"><text x="0.25" y="0.5" font-size="0.25">test</text></svg> + + When selecting a font size below 0.5, FontCacheMac would request a font with size 0, + which AppKit turns into 12. This lead to huge text rendering, instead of small text on Mac. + Other platforms have different problems (Qt simply scales the font, leading to pixelation etc.) + + To fix this in a cross-platform fashion, we now always compute the final font size on screen, + remove any scaling from the context, draw the text using the scaled font size, then reapply + the context scale. This makes the example snippets above render exactly the same and fixes + numerous of bugs, present since years. As we're now heavily using floating-point font sizes + internally, depending on the scale of the document, it's very important to use the new + floating-point text metrics information (floatAscent/floatDescent/floatHeight) everywhere in SVG. + + Fixes existing tests: css3/zoom-coords.xhtml (cross-platform inconsistencies should be gone, mac now reports floatHeight values for SVG text height) + svg/hixie/text/003.html (no more pixelation) + svg/batik/text/smallFonts.svg (small fonts aren't rendered huge anymore on mac) + svg/hixie/viewbox/preserveAspectRatio/001.xml (bug 21774, no more awful spacing) + svg/zoom/page/zoom-zoom-coords.xhtml (cross-platform inconsistencies should be gone, inspired by bug 50313) + + Tests: svg/text/font-size-below-point-five-2.svg (reduction from bug 50528) + svg/text/font-size-below-point-five.svg (reduction from bug 50528) + svg/text/scaled-font.svg (reduction from bug 12448) + svg/text/small-fonts-2.svg (reduction from bug 14242) + svg/text/small-fonts-3.svg (reduction from bug 17053) + svg/text/small-fonts-in-html5.html (reduction from bug 19393) + svg/text/small-fonts.svg (reduction from bug 20192)) + + * rendering/svg/RenderSVGInlineText.cpp: Cache 'float scalingFactor' & 'Font scaledFont', whenever the on-screen representation changes. + * rendering/svg/RenderSVGInlineText.h: + * rendering/svg/RenderSVGText.cpp: Update scalingFactor/scaledFont, if necessary. + * rendering/svg/SVGInlineTextBox.cpp: Switch to new font rendering strategy. Always use scaledFont, and remove any context scale before drawing. + * rendering/svg/SVGInlineTextBox.h: + * rendering/svg/SVGTextLayoutEngineBaseline.cpp: Use floating-point metrics everywhere. + * rendering/svg/SVGTextMetrics.cpp: Ditto. + * rendering/svg/SVGTextMetrics.h: Ditto. + * rendering/svg/SVGTextQuery.cpp: Ditto. + * svg/SVGFont.cpp: Adjust stroke thickness, when drawing SVGFonts into a normalized context (no more scale). + * svg/SVGTextContentElement.cpp: Make <text> elements always dependant on window size changes in combination with viewBox set. + * svg/SVGTextPositioningElement.cpp: Remove now unnecessary code to determine wheter relative lengths are used as text attributes. + * svg/SVGTextPositioningElement.h: + +2011-02-03 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: resources panel doesn't show frames after reload. + https://bugs.webkit.org/show_bug.cgi?id=53430 + + * inspector/front-end/ResourcesPanel.js: + (WebInspector.ResourcesPanel.prototype.show): + (WebInspector.ResourcesPanel.prototype.loadEventFired): + (WebInspector.ResourcesPanel.prototype._initDefaultSelection): + (WebInspector.ResourcesPanel.prototype.reset): + (WebInspector.ResourcesPanel.prototype.clear): + * inspector/front-end/inspector.js: + (WebInspector.loadEventFired): + +2011-02-01 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: Remove the *2 suffix from the CSS style-related protocol methods + https://bugs.webkit.org/show_bug.cgi?id=53492 + + * inspector/Inspector.idl: + * inspector/InspectorCSSAgent.cpp: + (WebCore::InspectorCSSAgent::getStylesForNode): + (WebCore::InspectorCSSAgent::getInlineStyleForNode): + (WebCore::InspectorCSSAgent::getComputedStyleForNode): + (WebCore::InspectorCSSAgent::getAllStyles): + (WebCore::InspectorCSSAgent::getStyleSheet): + (WebCore::InspectorCSSAgent::getStyleSheetText): + (WebCore::InspectorCSSAgent::setStyleSheetText): + (WebCore::InspectorCSSAgent::setPropertyText): + (WebCore::InspectorCSSAgent::toggleProperty): + (WebCore::InspectorCSSAgent::setRuleSelector): + (WebCore::InspectorCSSAgent::addRule): + * inspector/InspectorCSSAgent.h: + * inspector/front-end/AuditRules.js: + (WebInspector.AuditRules.UnusedCssRule.prototype.doRun): + * inspector/front-end/CSSStyleModel.js: + (WebInspector.CSSStyleModel.prototype.getStylesAsync): + (WebInspector.CSSStyleModel.prototype.getComputedStyleAsync): + (WebInspector.CSSStyleModel.prototype.getInlineStyleAsync): + (WebInspector.CSSStyleModel.prototype.setRuleSelector): + (WebInspector.CSSStyleModel.prototype.addRule): + (WebInspector.CSSStyleModel.prototype._styleSheetChanged): + (WebInspector.CSSStyleModel.prototype._onRevert): + (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt): + (WebInspector.CSSProperty.prototype.setText): + (WebInspector.CSSProperty.prototype.setDisabled): + (WebInspector.CSSStyleSheet.createForId): + (WebInspector.CSSStyleSheet.prototype.setText): + +2011-02-03 Adam Barth <abarth@webkit.org> + + Reviewed by Daniel Bates. + + Teach XSSFilter about data URLs + https://bugs.webkit.org/show_bug.cgi?id=53662 + + The XSS filter doesn't really make sense for data URLs because + everything in a "response" from a data URL was part of the request. + + Test: http/tests/security/xssAuditor/data-urls-work.html + + * html/parser/XSSFilter.cpp: + (WebCore::XSSFilter::init): + (WebCore::XSSFilter::filterToken): + +2011-02-02 Chris Evans <cevans@chromium.org> + + Reviewed by Darin Fisher. + + window.find() can fail when switching case sensitivity + https://bugs.webkit.org/show_bug.cgi?id=53654 + + Reset the pattern to a safe one when done, to avoid usearch_reset() + indirectly touching the old, stale text pointer. + + Test: fast/text/find-window.html + + * editing/TextIterator.cpp: + (WebCore::SearchBuffer::~SearchBuffer): leave a safe pattern buffer when done. + +2011-02-02 Adam Barth <abarth@webkit.org> + + Reviewed by Daniel Bates. + + Teach XSSFilter that <param> elements can contain URLs + https://bugs.webkit.org/show_bug.cgi?id=53652 + + When loading plugins for the <object> tag, we're "smart" enough to + reach into the <param> elements and pull out the URL in some cases. + This patch teaches the XSSFilter how to block injections into those + sorts of param elements. + + Fixes: + http/tests/security/xssAuditor/object-* + + * html/HTMLParamElement.cpp: + (WebCore::HTMLParamElement::isURLParameter): + (WebCore::HTMLParamElement::isURLAttribute): + (WebCore::HTMLParamElement::addSubresourceAttributeURLs): + * html/HTMLParamElement.h: + - Add a helper function so that HTMLParamElement can share the + ground truth for these names with the XSSFilter. + * html/parser/XSSFilter.cpp: + (WebCore::XSSFilter::filterTokenInitial): + (WebCore::XSSFilter::filterParamToken): + * html/parser/XSSFilter.h: + +2011-02-02 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by David Levin. + + GCC compiler on ARM issues bogus warnings and fails to compile. + https://bugs.webkit.org/show_bug.cgi?id=53620 + + Despite warnings explicitly being disallowed (-Wno-uninitialized), + gcc (Ubuntu 4.4.3-4ubuntu5) 4.4.3 throws up the warnings like: + + "error: 'colorTransparent.unstatic.4909' may be used uninitialized in this function" + + The fix is to add an extra condition, which somehow pacifies the compiler. + + * css/CSSPrimitiveValue.cpp: + (WebCore::CSSPrimitiveValue::createColor): Added workaround conditions. + +2011-02-02 Adam Barth <abarth@webkit.org> + + Reviewed by Daniel Bates. + + Teach XSSFilter about X-XSS-Protection + https://bugs.webkit.org/show_bug.cgi?id=53640 + + This patch causes us to pass: + http/tests/security/xssAuditor/full-block-* + http/tests/security/xssAuditor/no-protection-script-tag.html + + * html/parser/XSSFilter.cpp: + (WebCore::XSSFilter::XSSFilter): + (WebCore::XSSFilter::init): + (WebCore::XSSFilter::filterToken): + * html/parser/XSSFilter.h: + +2011-02-02 Adam Barth <abarth@webkit.org> + + Reviewed by Daniel Bates. + + When XSSFilter blocks JavaScript URLs, use a safe JavaScript URL + instead of the empty string + https://bugs.webkit.org/show_bug.cgi?id=53643 + + In a URL context, the empty string completes to the URL of the current + page, which causes these tests to go into an infinite loop. Instead, + we should use a "safe" JavaScript URL that does nothing. + + Fixes: + http/tests/security/xssAuditor/javascript-link* + + * html/parser/XSSFilter.cpp: + (WebCore::XSSFilter::eraseDangerousAttributesIfInjected): + +2011-02-02 Dan Bernstein <mitz@apple.com> + + Reviewed by Sam Weinig. + + <rdar://problem/8380506> REGRESSION (r61921): RTL text in <b> tag doesn't display in WebKit under certain conditions + https://bugs.webkit.org/show_bug.cgi?id=44942 + + Test: fast/text/bidi-embedding-pop-and-push-same-2.html + + * platform/text/BidiResolver.h: + (WebCore::::commitExplicitEmbedding): Changed to return a boolean indicating whether there was + a change to embedding levels. + (WebCore::::createBidiRunsForLine): If embedding levels did not change as a result of committing + the explicit embedding sequence, then runs were not added, and we should continue normally. + +2011-02-02 Sam Weinig <sam@webkit.org> + + Reviewed by Dan Bernstein. + + Fix miscalculation of the overhang area used for painting. We were + not correctly accounting for scrollbars resulting in an non-negative + overhang even when we weren't over the edge. + + * platform/ScrollView.cpp: + (WebCore::ScrollView::calculateOverhangAreasForPainting): + +2011-02-02 Jeremy Orlow <jorlow@chromium.org> + + Reviewed by Nate Chapin. + + IDBTransaction and IDBRequest can be deleted while ScriptExecutionContext is iterating....which is bad + https://bugs.webkit.org/show_bug.cgi?id=52722 + + The solution is to change ScriptExecutionContext's destructor to iterate over + the list in a way that handles the mutations. This new method is destructive, + but that's OK since the object is going away. I've also added a several asserts. + + There should be no behavior change. + + * dom/ScriptExecutionContext.cpp: + (WebCore::ScriptExecutionContext::ScriptExecutionContext): + (WebCore::ScriptExecutionContext::~ScriptExecutionContext): + (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects): + (WebCore::ScriptExecutionContext::suspendActiveDOMObjects): + (WebCore::ScriptExecutionContext::resumeActiveDOMObjects): + (WebCore::ScriptExecutionContext::stopActiveDOMObjects): + (WebCore::ScriptExecutionContext::createdActiveDOMObject): + (WebCore::ScriptExecutionContext::destroyedActiveDOMObject): + * dom/ScriptExecutionContext.h: + * storage/IDBTransaction.cpp: + (WebCore::IDBTransaction::contextDestroyed): + * storage/IDBTransaction.h: + +2011-02-02 Mark Rowe <mrowe@apple.com> + + Build fix. + + * WebCore.exp.in: Remove some bogus symbols from the .exp.in file. + * platform/mac/ScrollbarThemeMac.mm: + (WebCore::ScrollbarThemeMac::unregisterScrollbar): Look the object + up in the HashMap rather than relying on a local variable that doesn't + exist. + +2011-02-02 Adam Barth <abarth@webkit.org> + + Reviewed by Daniel Bates. + + Teach XSSFilter about JavaScript URLs + https://bugs.webkit.org/show_bug.cgi?id=53635 + + This patch teaches the XSSFilter to check for JavaScript URLs in + attribute values. If this approach has too many false positives, we + can restrict which attribute names we examine. + + Fixes these tests: + http/tests/security/xssAuditor/anchor-url-dom-write-location-javascript-URL.html + http/tests/security/xssAuditor/dom-write-location-javascript-URL.html + http/tests/security/xssAuditor/iframe-javascript-url* + + * html/parser/XSSFilter.cpp: + (WebCore::HTMLNames::containsJavaScriptURL): + (WebCore::XSSFilter::filterTokenInitial): + (WebCore::XSSFilter::eraseDangerousAttributesIfInjected): + * html/parser/XSSFilter.h: + +2011-02-02 Dan Bernstein <mitz@apple.com> + + Reviewed by Sam Weinig, even though this is just a... + + ...build fix. + + * platform/mac/ScrollAnimatorMac.mm: + (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac): + +2011-02-02 Mark Rowe <mrowe@apple.com> + + Reviewed by Beth Dakin. + + <rdar://problem/8952012> Crash on launch inside scrollbar code. + + We need to ensure that we remove ourselves as the delegates of objects when we're going + away as failing to do this can lead to crashes if the lifetime of the other objects + is longer than ours. + + * platform/mac/ScrollAnimatorMac.mm: + (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac): + * platform/mac/ScrollbarThemeMac.mm: + (WebCore::ScrollbarThemeMac::unregisterScrollbar): + +2011-02-02 Beth Dakin <bdakin@apple.com> + + Build fix. + + * WebCore.exp.in: + +2011-02-02 Patrick Gansterer <paroga@webkit.org> + + Unreviewed WinCE build fix for r77397. + + * page/wince/FrameWinCE.cpp: + (WebCore::computePageRectsForFrame): + +2011-02-02 Patrick Gansterer <paroga@webkit.org> + + Unreviewed WinCE build fix for r77398. + + * platform/graphics/wince/PlatformPathWinCE.cpp: + (WebCore::containsPoint): + (WebCore::inflateRectToContainPoint): + (WebCore::PlatformPath::addRect): + * platform/graphics/wince/SharedBitmap.cpp: + (WebCore::SharedBitmap::drawPattern): + * rendering/RenderThemeWinCE.cpp: + (WebCore::RenderThemeWinCE::paintMenuListButton): + (WebCore::RenderThemeWinCE::paintSearchFieldCancelButton): + (WebCore::RenderThemeWinCE::paintSliderTrack): + (WebCore::RenderThemeWinCE::paintMediaMuteButton): + (WebCore::RenderThemeWinCE::paintMediaPlayButton): + (WebCore::RenderThemeWinCE::paintMediaSeekBackButton): + (WebCore::RenderThemeWinCE::paintMediaSeekForwardButton): + +2011-02-02 Jian Li <jianli@chromium.org> + + Reviewed by Kenneth Russell. + + [V8] Accessing DataView with index of -1 returns 0, doesn't throw + https://bugs.webkit.org/show_bug.cgi?id=53559 + + Added test cases to cover this in fast/canvas/webgl/data-view-test.html. + + * html/canvas/DataView.h: + (WebCore::DataView::beyondRange): + +2011-02-02 Sam Weinig <sam@webkit.org> + + Reviewed by Beth Dakin. + + Add ChromeClient function to paint custom overhang areas. + https://bugs.webkit.org/show_bug.cgi?id=53639 + + * page/Chrome.cpp: + (WebCore::ChromeClient::paintCustomOverhangArea): + * page/ChromeClient.h: + Add ChromeClient function. + + * page/FrameView.cpp: + (WebCore::FrameView::paintOverhangAreas): + * page/FrameView.h: + Call out the the ChromeClient, call ScrollView base implementation + if the ChromeClient returns false. + + * platform/ScrollView.cpp: + (WebCore::ScrollView::paintOverhangAreas): + * platform/ScrollView.h: + Add dirty rect for use when painting overhang areas. + +2011-02-02 Peter Kasting <pkasting@google.com> + + Not reviewed, build fix. + + Fix compile after r77427. + https://bugs.webkit.org/show_bug.cgi?id=53455 + + * platform/graphics/qt/ImageDecoderQt.cpp: + (WebCore::ImageDecoderQt::internalHandleCurrentImage): + * platform/image-decoders/ImageDecoder.cpp: + (WebCore::ImageFrame::operator=): + * platform/image-decoders/bmp/BMPImageReader.cpp: + (WebCore::BMPImageReader::decodeBMP): + * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: + (WebCore::JPEGImageDecoder::outputScanlines): + * platform/image-decoders/png/PNGImageDecoder.cpp: + (WebCore::PNGImageDecoder::rowAvailable): + * platform/image-decoders/webp/WEBPImageDecoder.cpp: + (WebCore::WEBPImageDecoder::decode): + +2011-02-02 Peter Kasting <pkasting@google.com> + + Reviewed by David Levin. + + Clean up ImageDecoder's comments (remove/trim/clarify). + https://bugs.webkit.org/show_bug.cgi?id=53455 + + This also renames or eliminates a couple of functions for clarity, and + switches a couple erroneous strncmp() calls to memcmp(). + + * platform/image-decoders/ImageDecoder.cpp: + (WebCore::ImageDecoder::create): + (WebCore::ImageFrame::clearPixelData): + (WebCore::ImageFrame::zeroFillPixelData): + (WebCore::ImageFrame::setSize): + * platform/image-decoders/ImageDecoder.h: + (WebCore::ImageFrame::originalFrameRect): + (WebCore::ImageFrame::setOriginalFrameRect): + (WebCore::ImageDecoder::ImageDecoder): + (WebCore::ImageDecoder::~ImageDecoder): + (WebCore::ImageDecoder::isSizeAvailable): + (WebCore::ImageDecoder::size): + (WebCore::ImageDecoder::setIgnoreGammaAndColorProfile): + (WebCore::ImageDecoder::clearFrameBufferCache): + (WebCore::ImageDecoder::isOverSize): + * platform/image-decoders/bmp/BMPImageReader.cpp: + (WebCore::BMPImageReader::processNonRLEData): + * platform/image-decoders/cg/ImageDecoderCG.cpp: + (WebCore::ImageFrame::setSize): + * platform/image-decoders/gif/GIFImageDecoder.cpp: + (WebCore::GIFImageDecoder::clearFrameBufferCache): + (WebCore::GIFImageDecoder::frameComplete): + (WebCore::GIFImageDecoder::initFrameBuffer): + * platform/image-decoders/jpeg/JPEGImageDecoder.h: + * platform/image-decoders/qt/ImageFrameQt.cpp: + (WebCore::ImageFrame::operator=): + (WebCore::ImageFrame::clearPixelData): + (WebCore::ImageFrame::zeroFillPixelData): + (WebCore::ImageFrame::setSize): + * platform/image-decoders/skia/ImageDecoderSkia.cpp: + (WebCore::ImageFrame::operator=): + (WebCore::ImageFrame::clearPixelData): + (WebCore::ImageFrame::zeroFillPixelData): + (WebCore::ImageFrame::setSize): + * platform/image-decoders/webp/WEBPImageDecoder.h: + +2011-02-02 Vangelis Kokkevis <vangelis@chromium.org> + + [chromium] Adding support for reflections to the accelerated + compositing path. + https://bugs.webkit.org/show_bug.cgi?id=53179 + + All layout tests in compositing/reflections generate correct + results with the exception of: + 1. nested-reflection-anchor-point.html : There appears to be + some issue with the layer transform math that I haven't been + able to track down yet. + 2. reflection-opacity.html : The current implementation applies + opacity before doing the reflection which makes this test + produce incorrect results. This will affect reflected layers + with opacity that overlap their original layer. FIXME comment + added in the code. + + Tests: Covered by existing layout tests in compositing/reflections. + Please see above for exceptions. + + * platform/graphics/chromium/GraphicsLayerChromium.cpp: + (WebCore::GraphicsLayerChromium::setReplicatedByLayer): + (WebCore::GraphicsLayerChromium::updateAnchorPoint): + * platform/graphics/chromium/GraphicsLayerChromium.h: + * platform/graphics/chromium/LayerChromium.cpp: + (WebCore::LayerChromium::LayerChromium): + * platform/graphics/chromium/LayerChromium.h: + (WebCore::LayerChromium::setReplicaLayer): + (WebCore::LayerChromium::replicaLayer): + * platform/graphics/chromium/LayerRendererChromium.cpp: + (WebCore::LayerRendererChromium::updateLayersRecursive): + (WebCore::LayerRendererChromium::drawLayer): + * platform/graphics/chromium/RenderSurfaceChromium.cpp: + (WebCore::RenderSurfaceChromium::drawableContentRect): + (WebCore::RenderSurfaceChromium::drawSurface): + (WebCore::RenderSurfaceChromium::draw): + * platform/graphics/chromium/RenderSurfaceChromium.h: + (WebCore::RenderSurfaceChromium::drawTransform): + +2011-02-02 Xiyuan Xia <xiyuan@chromium.org> + + Reviewed by Tony Chang. + + [Chromium] Select popup with padding has white strip on right + https://bugs.webkit.org/show_bug.cgi?id=53602 + + No new tests as this change restores old behavior. + + * platform/chromium/PopupMenuChromium.cpp: + (WebCore::PopupListBox::layout): + +2011-02-02 Beth Dakin <bdakin@apple.com> + + Reviewed by Mark Rowe. + + Fix for <rdar://problem/8950343> CrashTracer: [USER] + 1 crash in WebProcess at com.apple.WebCore: + WebCore::ScrollbarThemeMac::unregisterScrollbar + 22 + + It is possible for a Scrollbar's ScrollableArea to be null, + so we must null check. + * platform/mac/ScrollbarThemeMac.mm: + (WebCore::ScrollbarThemeMac::registerScrollbar): + (WebCore::ScrollbarThemeMac::unregisterScrollbar): + +2011-02-02 Zhenyao Mo <zmo@google.com> + + Reviewed by Kenneth Russell. + + bufferData and bufferSubData should generate INVALID_VALUE with negative input + https://bugs.webkit.org/show_bug.cgi?id=53626 + + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::bufferData): + (WebCore::WebGLRenderingContext::bufferSubData): + +2011-02-02 Jeff Miller <jeffm@apple.com> + + Reviewed by Darin Adler and Steve Falkenburg. + + Add DerivedSources.make to some Visual Studio projects + https://bugs.webkit.org/show_bug.cgi?id=53607 + + * WebCore.vcproj/WebCoreGenerated.vcproj: Add DerivedSources.make. + +2011-02-02 Cris Neckar <cdn@chromium.org> + + Reviewed by James Robinson. + + Refcount domwindows when dispatching device orientation events. + https://bugs.webkit.org/show_bug.cgi?id=53623 + + Test: fast/events/device-orientation-crash.html + + * dom/DeviceMotionController.cpp: + (WebCore::DeviceMotionController::timerFired): + (WebCore::DeviceMotionController::didChangeDeviceMotion): + * dom/DeviceMotionController.h: + * dom/DeviceOrientationController.cpp: + (WebCore::DeviceOrientationController::timerFired): + (WebCore::DeviceOrientationController::didChangeDeviceOrientation): + * dom/DeviceOrientationController.h: + +2011-02-02 Zhenyao Mo <zmo@google.com> + + Reviewed by Kenneth Russell. + + A deleted object should never been bound again + https://bugs.webkit.org/show_bug.cgi?id=53604 + + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::checkObjectToBeBound): Helper function to bind* and useProgram. + (WebCore::WebGLRenderingContext::bindBuffer): Use checkObjectToBeBound. + (WebCore::WebGLRenderingContext::bindFramebuffer): Ditto. + (WebCore::WebGLRenderingContext::bindRenderbuffer): Ditto. + (WebCore::WebGLRenderingContext::bindTexture): Ditto, also check the target matching. + (WebCore::WebGLRenderingContext::deleteObject): Helper funtion to delete*. + (WebCore::WebGLRenderingContext::deleteBuffer): Use deleteObject. + (WebCore::WebGLRenderingContext::deleteFramebuffer): Ditto. + (WebCore::WebGLRenderingContext::deleteProgram): Ditto. + (WebCore::WebGLRenderingContext::deleteRenderbuffer): Ditto. + (WebCore::WebGLRenderingContext::deleteShader): Ditto. + (WebCore::WebGLRenderingContext::deleteTexture): Ditto. + (WebCore::WebGLRenderingContext::useProgram): Use checkObjectToBeBound. + * html/canvas/WebGLRenderingContext.h: + * html/canvas/WebGLTexture.h: + (WebCore::WebGLTexture::getTarget): Accessor to cached target. + +2011-02-02 Alejandro G. Castro <alex@igalia.com> + + Unreviewed Efl buildfix after r77399. + + * CMakeListsEfl.txt: + +2011-02-02 Kenneth Russell <kbr@google.com> + + Reviewed by James Robinson. + + Rename Typed Array subset to subarray + https://bugs.webkit.org/show_bug.cgi?id=53618 + + * html/canvas/Float32Array.cpp: + (WebCore::Float32Array::subarray): + * html/canvas/Float32Array.h: + * html/canvas/Float32Array.idl: + * html/canvas/Int16Array.cpp: + (WebCore::Int16Array::subarray): + * html/canvas/Int16Array.h: + * html/canvas/Int16Array.idl: + * html/canvas/Int32Array.cpp: + (WebCore::Int32Array::subarray): + * html/canvas/Int32Array.h: + * html/canvas/Int32Array.idl: + * html/canvas/Int8Array.cpp: + (WebCore::Int8Array::subarray): + * html/canvas/Int8Array.h: + * html/canvas/Int8Array.idl: + * html/canvas/TypedArrayBase.h: + (WebCore::TypedArrayBase::subarrayImpl): + * html/canvas/Uint16Array.cpp: + (WebCore::Uint16Array::subarray): + * html/canvas/Uint16Array.h: + * html/canvas/Uint16Array.idl: + * html/canvas/Uint32Array.cpp: + (WebCore::Uint32Array::subarray): + * html/canvas/Uint32Array.h: + * html/canvas/Uint32Array.idl: + * html/canvas/Uint8Array.cpp: + (WebCore::Uint8Array::subarray): + * html/canvas/Uint8Array.h: + * html/canvas/Uint8Array.idl: + +2011-02-02 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Add an empty file for Content Security Policy + https://bugs.webkit.org/show_bug.cgi?id=53573 + + Posting this as a separate patch because editing the build files is so + painful. + + * Android.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + +2011-02-02 Dan Winship <danw@gnome.org> + + Reviewed by Martin Robinson. + + [GTK] remove old data: URI handler, fix the SoupRequest-based one + to pass tests + https://bugs.webkit.org/show_bug.cgi?id=50885 + + * platform/network/soup/ResourceHandleSoup.cpp: + (WebCore::sendRequestCallback): Do content-type sniffing here for + non-HTTP requests. + (WebCore::startHTTPRequest): Rename to match WebKit style. + (WebCore::ResourceHandle::start): Pass everything except HTTP to + startNonHTTPRequest, letting the SoupRequester decide whether it's + supported or not. + (WebCore::startNonHTTPRequest): Remove some old pre-SoupRequester + code that was a no-op for file: URIs, but would break some data: + URIs. + +2011-02-02 Dimitri Glazkov <dglazkov@chromium.org> + + Update even more references to right() and bottom() in Chromium. Sheesh. + + * platform/graphics/chromium/LayerRendererChromium.cpp: + (WebCore::LayerRendererChromium::getFramebufferPixels): Replaced bottom/right with maxY/maxX. + +2011-02-02 Alejandro G. Castro <alex@igalia.com> + + Unreviewed Gtk3 buildfix after r77286. + + https://bugs.webkit.org/show_bug.cgi?id=53520 + Remove the physical terminology from IntRect and FloatRect. + + * platform/gtk/RenderThemeGtk3.cpp: + (WebCore::RenderThemeGtk::paintMenuList): + +2011-02-02 Anders Carlsson <andersca@apple.com> + + Fix build. + + * platform/mac/ScrollAnimatorMac.mm: + (WebCore::ScrollAnimatorMac::pinnedInDirection): + +2011-02-02 David Hyatt <hyatt@apple.com> + + Reviewed by Dan Bernstein. + + https://bugs.webkit.org/show_bug.cgi?id=53619 + + Floats should not use physical terminology for their rects. Replace left/top with x/y and right/bottom + with maxX/maxY. This matches IntRect. + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::addOverflowFromFloats): + (WebCore::RenderBlock::flipFloatForWritingMode): + (WebCore::RenderBlock::paintFloats): + (WebCore::RenderBlock::selectionGaps): + (WebCore::RenderBlock::addOverhangingFloats): + (WebCore::RenderBlock::addIntrudingFloats): + (WebCore::RenderBlock::hitTestFloats): + (WebCore::RenderBlock::adjustForBorderFit): + * rendering/RenderBlock.h: + (WebCore::RenderBlock::FloatingObject::x): + (WebCore::RenderBlock::FloatingObject::maxX): + (WebCore::RenderBlock::FloatingObject::y): + (WebCore::RenderBlock::FloatingObject::maxY): + (WebCore::RenderBlock::FloatingObject::setX): + (WebCore::RenderBlock::FloatingObject::setY): + (WebCore::RenderBlock::logicalTopForFloat): + (WebCore::RenderBlock::logicalBottomForFloat): + (WebCore::RenderBlock::logicalLeftForFloat): + (WebCore::RenderBlock::logicalRightForFloat): + (WebCore::RenderBlock::setLogicalTopForFloat): + (WebCore::RenderBlock::setLogicalLeftForFloat): + (WebCore::RenderBlock::xPositionForFloatIncludingMargin): + (WebCore::RenderBlock::yPositionForFloatIncludingMargin): + +2011-02-02 Dimitri Glazkov <dglazkov@chromium.org> + + Update more references to right() and bottom() in Chromium Win. + + * platform/graphics/chromium/TransparencyWin.cpp: + (WebCore::TransparencyWin::compositeOpaqueComposite): Replaced bottom/right with maxY/maxX. + (WebCore::TransparencyWin::compositeTextComposite): Ditto. + * rendering/RenderThemeChromiumWin.cpp: + (WebCore::RenderThemeChromiumWin::paintMenuList): Ditto. + +2011-02-02 Adam Roben <aroben@apple.com> + + Encode/decode FormData and FormDataElement objects consistently + + Fixes <http://webkit.org/b/53615> <rdar://problem/8943346> WebKit2: Restoring session state + that contains form data fails (asserts in Debug build) + + To prevent this from interfering with WebKit2 testing, it's useful to get this into a build + now, even though we don't have an automated test for it yet. Writing a test is covered by + <http://webkit.org/b/53616>. + + Reviewed by Darin Adler. + + * history/HistoryItem.cpp: Bump the encoding version, since this patch changes how we encode + FormData objects. + + * platform/network/FormData.cpp: + (WebCore::decode): Decode the type from the Decoder, rather than getting it from the + default-constructed FormDataElement. Failing to do this meant that all future uses of the + Decoder would be reading from an unexpected part of the buffer (i.e., the next decode would + start by reading the uint32_t that we forgot to decode here, and so on). We already had code + to correctly set the FormDataElement's type based on this decoded type later in the + function. + (WebCore::FormData::encodeForBackForward): Encode m_identifier as an int64_t, since that + matches its type and how we decode it. + +2011-02-02 Dan Winship <danw@gnome.org> + + Reviewed by Martin Robinson. + + [GTK] drop soup cache stuff, which has been moved to libsoup + https://bugs.webkit.org/show_bug.cgi?id=50747 + + Use libsoup-based cache/requester API and remove the WebCore version + of this functionality. This has been pushed upstream fully. + + No new tests because this should not change functionality. + + * GNUmakefile.am: Update for removed files. + * platform/network/ResourceHandleInternal.h: + (WebCore::ResourceHandleInternal::ResourceHandleInternal): Update + type names, drop m_requester. + * platform/network/soup/ResourceHandleSoup.cpp: + (WebCore::ensureSessionIsInitialized): Add a SoupRequester to the + session. + (WebCore::parseDataUrl): + (WebCore::startHttp): Get the requester from the session rather + than using m_requester. + (WebCore::sendRequestCallback): + (WebCore::ResourceHandle::platformSetDefersLoading): + (WebCore::readCallback): + (WebCore::startGio): Update type names. + * platform/network/soup/cache/soup-directory-input-stream.c: Removed. + * platform/network/soup/cache/soup-directory-input-stream.h: Removed. + * platform/network/soup/cache/soup-http-input-stream.c: Removed. + * platform/network/soup/cache/soup-http-input-stream.h: Removed. + * platform/network/soup/cache/soup-request-data.c: Removed. + * platform/network/soup/cache/soup-request-data.h: Removed. + * platform/network/soup/cache/soup-request-file.c: Removed. + * platform/network/soup/cache/soup-request-file.h: Removed. + * platform/network/soup/cache/soup-request-http.c: Removed. + * platform/network/soup/cache/soup-request-http.h: Removed. + * platform/network/soup/cache/soup-request.c: Removed. + * platform/network/soup/cache/soup-request.h: Removed. + * platform/network/soup/cache/soup-requester.c: Removed. + * platform/network/soup/cache/soup-requester.h: Removed. + * platform/network/soup/cache/webkit/soup-cache-private.h: Removed. + * platform/network/soup/cache/webkit/soup-cache.c: Removed. + * platform/network/soup/cache/webkit/soup-cache.h: Removed. + +2011-02-02 David Hyatt <hyatt@apple.com> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=53520 + + Remove physical accessors from IntRect and FloatRect. + + * page/FrameView.cpp: + (WebCore::FrameView::adjustPageHeightDeprecated): + * platform/graphics/FloatRect.h: + * platform/graphics/IntRect.h: + +2011-02-02 David Hyatt <hyatt@apple.com> + + Reviewed by Dan Bernstein. + + https://bugs.webkit.org/show_bug.cgi?id=53614 + + Remove physical terminology from overflow. Replace with minX/maxX/minY/maxY. + + * rendering/InlineFlowBox.cpp: + (WebCore::InlineFlowBox::addBoxShadowVisualOverflow): + (WebCore::InlineFlowBox::addTextBoxVisualOverflow): + * rendering/InlineFlowBox.h: + (WebCore::InlineFlowBox::minYLayoutOverflow): + (WebCore::InlineFlowBox::maxYLayoutOverflow): + (WebCore::InlineFlowBox::minXLayoutOverflow): + (WebCore::InlineFlowBox::maxXLayoutOverflow): + (WebCore::InlineFlowBox::logicalLeftLayoutOverflow): + (WebCore::InlineFlowBox::logicalRightLayoutOverflow): + (WebCore::InlineFlowBox::logicalTopLayoutOverflow): + (WebCore::InlineFlowBox::logicalBottomLayoutOverflow): + (WebCore::InlineFlowBox::minYVisualOverflow): + (WebCore::InlineFlowBox::maxYVisualOverflow): + (WebCore::InlineFlowBox::minXVisualOverflow): + (WebCore::InlineFlowBox::maxXVisualOverflow): + (WebCore::InlineFlowBox::logicalLeftVisualOverflow): + (WebCore::InlineFlowBox::logicalRightVisualOverflow): + (WebCore::InlineFlowBox::logicalminYVisualOverflow): + (WebCore::InlineFlowBox::logicalmaxYVisualOverflow): + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::adjustLinePositionForPagination): + * rendering/RenderBlockLineLayout.cpp: + (WebCore::RenderBlock::beforeSideVisualOverflowForLine): + (WebCore::RenderBlock::afterSideVisualOverflowForLine): + (WebCore::RenderBlock::beforeSideLayoutOverflowForLine): + (WebCore::RenderBlock::afterSideLayoutOverflowForLine): + * rendering/RenderBox.cpp: + (WebCore::RenderBox::scrollWidth): + (WebCore::RenderBox::scrollHeight): + * rendering/RenderBox.h: + (WebCore::RenderBox::minYLayoutOverflow): + (WebCore::RenderBox::maxYLayoutOverflow): + (WebCore::RenderBox::minXLayoutOverflow): + (WebCore::RenderBox::maxXLayoutOverflow): + (WebCore::RenderBox::logicalLeftLayoutOverflow): + (WebCore::RenderBox::logicalRightLayoutOverflow): + (WebCore::RenderBox::minYVisualOverflow): + (WebCore::RenderBox::maxYVisualOverflow): + (WebCore::RenderBox::minXVisualOverflow): + (WebCore::RenderBox::maxXVisualOverflow): + (WebCore::RenderBox::logicalLeftVisualOverflow): + (WebCore::RenderBox::logicalRightVisualOverflow): + * rendering/RenderInline.cpp: + (WebCore::RenderInline::linesVisualOverflowBoundingBox): + * rendering/RenderLayerCompositor.cpp: + (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): + * rendering/RenderLineBoxList.cpp: + (WebCore::RenderLineBoxList::anyLineIntersectsRect): + (WebCore::RenderLineBoxList::lineIntersectsDirtyRect): + (WebCore::RenderLineBoxList::paint): + (WebCore::RenderLineBoxList::hitTest): + * rendering/RenderMarquee.cpp: + (WebCore::RenderMarquee::computePosition): + * rendering/RenderOverflow.h: + (WebCore::RenderOverflow::RenderOverflow): + (WebCore::RenderOverflow::minYLayoutOverflow): + (WebCore::RenderOverflow::maxYLayoutOverflow): + (WebCore::RenderOverflow::minXLayoutOverflow): + (WebCore::RenderOverflow::maxXLayoutOverflow): + (WebCore::RenderOverflow::minYVisualOverflow): + (WebCore::RenderOverflow::maxYVisualOverflow): + (WebCore::RenderOverflow::minXVisualOverflow): + (WebCore::RenderOverflow::maxXVisualOverflow): + (WebCore::RenderOverflow::setminYVisualOverflow): + (WebCore::RenderOverflow::visualOverflowRect): + (WebCore::RenderOverflow::move): + (WebCore::RenderOverflow::addVisualOverflow): + (WebCore::RenderOverflow::setVisualOverflow): + * rendering/RenderReplaced.cpp: + (WebCore::RenderReplaced::shouldPaint): + * rendering/RenderTable.cpp: + (WebCore::RenderTable::layout): + (WebCore::RenderTable::paint): + * rendering/RenderTableCell.cpp: + (WebCore::RenderTableCell::clippedOverflowRectForRepaint): + * rendering/RenderTreeAsText.cpp: + (WebCore::writeLayers): + * rendering/RenderView.cpp: + (WebCore::RenderView::docTop): + +2011-02-02 Steve Lacey <sjl@chromium.org> + + Reviewed by Eric Carlson. + + Implement basic media statistics on media elements. + https://bugs.webkit.org/show_bug.cgi?id=53322 + + * Configurations/FeatureDefines.xcconfig: + * GNUmakefile.am: + * features.pri: + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::webkitAudioBytesDecoded): + (WebCore::HTMLMediaElement::webkitVideoBytesDecoded): + * html/HTMLMediaElement.h: + * html/HTMLMediaElement.idl: + * html/HTMLVideoElement.cpp: + (WebCore::HTMLVideoElement::webkitDecodedFrames): + (WebCore::HTMLVideoElement::webkitDroppedFrames): + * html/HTMLVideoElement.h: + * html/HTMLVideoElement.idl: + * platform/graphics/MediaPlayer.cpp: + (WebCore::MediaPlayer::decodedFrames): + (WebCore::MediaPlayer::droppedFrames): + (WebCore::MediaPlayer::audioBytesDecoded): + (WebCore::MediaPlayer::videoBytesDecoded): + * platform/graphics/MediaPlayer.h: + * platform/graphics/MediaPlayerPrivate.h: + (WebCore::MediaPlayerPrivateInterface::decodedFrames): + (WebCore::MediaPlayerPrivateInterface::droppedFrames): + (WebCore::MediaPlayerPrivateInterface::audioBytesDecoded): + (WebCore::MediaPlayerPrivateInterface::videoBytesDecoded): + +2011-02-02 Luiz Agostini <luiz.agostini@openbossa.org> + + Reviewed by David Hyatt. + + More conversion from right()/bottom() to maxX()/maxY(). + + * page/qt/FrameQt.cpp: + (WebCore::Frame::dragImageForSelection): + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContext::roundToDevicePixels): + +2011-02-02 Kevin Ollivier <kevino@theolliviers.com> + + [wx] Build fixes for wxWebKit. + + * bindings/cpp/WebDOMHTMLDocumentCustom.cpp: + (documentWrite): + * bindings/scripts/CodeGeneratorCPP.pm: + * page/wx/DragControllerWx.cpp: + (WebCore::DragController::dragOperation): + * platform/graphics/wx/FontCustomPlatformData.h: + * platform/graphics/wx/FontPlatformData.h: + (WebCore::FontPlatformData::widthVariant): + * platform/graphics/wx/FontPlatformDataWx.cpp: + (WebCore::FontPlatformData::computeHash): + * platform/graphics/wx/FontWx.cpp: + * platform/graphics/wx/GraphicsContextWx.cpp: + (WebCore::GraphicsContext::fillPath): + (WebCore::GraphicsContext::strokePath): + * platform/wx/RenderThemeWx.cpp: + +2011-02-02 David Hyatt <hyatt@apple.com> + + Reviewed by Darin Adler. + + More right()/bottom() to maxX()/maxY() conversion. + + * page/chromium/FrameChromium.cpp: + (WebCore::Frame::nodeImage): + (WebCore::Frame::dragImageForSelection): + +2011-02-02 Sam Weinig <sam@webkit.org> + + Fix windows clean build. + + * DerivedSources.make: + +2011-02-02 Mikhail Naganov <mnaganov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: [Chromium] Landing detailed heap snapshots, part 2. + + https://bugs.webkit.org/show_bug.cgi?id=53606 + + Display progress while taking a snapshot, and hints while loading + and parsing. This is needed because taking detailed heap snapshots + takes time. + + * English.lproj/localizedStrings.js: + * inspector/front-end/DetailedHeapshotView.js: + (WebInspector.DetailedHeapshotProfileType.prototype.buttonClicked): + * inspector/front-end/ProfilesPanel.js: + (WebInspector.ProfilesPanel.prototype._reset): + (WebInspector.ProfilesPanel.prototype._addProfileHeader): + (WebInspector.ProfilesPanel.prototype.getProfiles): + (WebInspector.ProfilesPanel.prototype.loadHeapSnapshot): + (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot.doParse): + (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot): + (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot): + (WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress): + * inspector/front-end/SidebarTreeElement.js: + (WebInspector.SidebarTreeElement.prototype.refreshTitles): + +2011-02-02 David Hyatt <hyatt@apple.com> + + Reviewed by Darin Adler. + + More conversion from right()/bottom() to maxX()/maxY(). + + * platform/win/PopupMenuWin.cpp: + (WebCore::PopupMenuWin::calculatePositionAndSize): + (WebCore::PopupMenuWin::paint): + +2011-02-02 David Hyatt <hyatt@apple.com> + + Reviewed by Darin Adler. + + Removal of right()/bottom(). Replace with maxX() and maxY(). Still converting. Haven't removed yet. + + * platform/chromium/PopupMenuChromium.cpp: + (WebCore::PopupContainer::layoutAndCalculateWidgetRect): + (WebCore::PopupListBox::scrollToRevealRow): + (WebCore::PopupListBox::layout): + * platform/graphics/FloatRect.h: + * platform/graphics/IntRect.h: + * platform/graphics/cairo/ImageBufferCairo.cpp: + (WebCore::getImageData): + (WebCore::putImageData): + * platform/graphics/chromium/GLES2Canvas.cpp: + (WebCore::GLES2Canvas::drawTexturedRect): + * platform/graphics/chromium/LayerRendererChromium.cpp: + (WebCore::LayerRendererChromium::verticalScrollbarRect): + (WebCore::LayerRendererChromium::horizontalScrollbarRect): + (WebCore::LayerRendererChromium::setScissorToRect): + (WebCore::LayerRendererChromium::setDrawViewportRect): + * platform/graphics/chromium/LayerTilerChromium.cpp: + (WebCore::LayerTilerChromium::contentRectToTileIndices): + (WebCore::LayerTilerChromium::growLayerToContain): + * platform/graphics/gpu/TilingData.cpp: + (WebCore::TilingData::tileBoundsWithBorder): + (WebCore::TilingData::overlappedTileIndices): + * platform/graphics/qt/ImageBufferQt.cpp: + (WebCore::getImageData): + (WebCore::putImageData): + * platform/graphics/skia/FloatRectSkia.cpp: + (WebCore::FloatRect::operator SkRect): + * platform/graphics/skia/ImageBufferSkia.cpp: + (WebCore::getImageData): + (WebCore::putImageData): + * platform/graphics/skia/IntRectSkia.cpp: + (WebCore::IntRect::operator SkIRect): + (WebCore::IntRect::operator SkRect): + * platform/graphics/skia/PlatformContextSkia.cpp: + (WebCore::PlatformContextSkia::beginLayerClippedToImage): + * platform/graphics/win/GraphicsContextWin.cpp: + (WebCore::GraphicsContextPlatformPrivate::clip): + * platform/graphics/win/IntRectWin.cpp: + (WebCore::IntRect::operator RECT): + * platform/graphics/win/UniscribeController.cpp: + (WebCore::UniscribeController::shapeAndPlaceItem): + * platform/graphics/wince/GraphicsContextWinCE.cpp: + (WebCore::roundRect): + (WebCore::mapRect): + (WebCore::TransparentLayerDC::TransparentLayerDC): + (WebCore::GraphicsContext::drawRect): + (WebCore::GraphicsContext::drawEllipse): + (WebCore::GraphicsContext::strokeArc): + (WebCore::GraphicsContext::clip): + (WebCore::GraphicsContext::clipOut): + (WebCore::GraphicsContext::strokeRect): + * platform/image-decoders/gif/GIFImageDecoder.cpp: + (WebCore::GIFImageDecoder::initFrameBuffer): + * platform/win/PopupMenuWin.cpp: + (WebCore::PopupMenuWin::calculatePositionAndSize): + (WebCore::PopupMenuWin::paint): + * plugins/win/PluginViewWin.cpp: + (WebCore::PluginView::updatePluginWidget): + (WebCore::PluginView::invalidateRect): + * rendering/RenderThemeSafari.cpp: + (WebCore::RenderThemeSafari::paintMenuListButtonGradients): + (WebCore::RenderThemeSafari::paintMenuListButton): + (WebCore::RenderThemeSafari::paintSliderTrack): + * rendering/RenderThemeWin.cpp: + (WebCore::RenderThemeWin::paintInnerSpinButton): + (WebCore::RenderThemeWin::paintMenuListButton): + +2011-02-02 Antti Koivisto <antti@apple.com> + + Reviewed by Maciej Stachowiak. + + Use Vector instead of a linked list for rules in CSSStyleSelector + https://bugs.webkit.org/show_bug.cgi?id=53581 + + - eliminate CSSRuleDataList, replace with Vector<RuleData> + - rename CSSRuleData -> RuleData and CSSRuleSet -> RuleSet + (these are selector internal classes, CSS prefix is better reserved for public ones). + - constify a bit + - shrink the vectors to fit after collecting the rules + + * css/CSSStyleSelector.cpp: + (WebCore::RuleData::RuleData): + (WebCore::RuleData::position): + (WebCore::RuleData::rule): + (WebCore::RuleData::selector): + (WebCore::RuleSet::disableAutoShrinkToFit): + (WebCore::RuleSet::getIDRules): + (WebCore::RuleSet::getClassRules): + (WebCore::RuleSet::getTagRules): + (WebCore::RuleSet::getPseudoRules): + (WebCore::RuleSet::getUniversalRules): + (WebCore::RuleSet::getPageRules): + (WebCore::collectSiblingRulesInDefaultStyle): + (WebCore::CSSStyleSelector::CSSStyleSelector): + (WebCore::loadFullDefaultStyle): + (WebCore::loadSimpleDefaultStyle): + (WebCore::loadViewSourceStyle): + (WebCore::CSSStyleSelector::matchRules): + (WebCore::CSSStyleSelector::matchRulesForList): + (WebCore::operator >): + (WebCore::operator <=): + (WebCore::CSSStyleSelector::sortMatchedRules): + (WebCore::CSSStyleSelector::matchUARules): + (WebCore::RuleSet::RuleSet): + (WebCore::RuleSet::~RuleSet): + (WebCore::RuleSet::addToRuleSet): + (WebCore::RuleSet::addRule): + (WebCore::RuleSet::addPageRule): + (WebCore::RuleSet::addRulesFromSheet): + (WebCore::RuleSet::addStyleRule): + (WebCore::collectIdsAndSiblingRulesFromList): + (WebCore::RuleSet::collectIdsAndSiblingRules): + (WebCore::shrinkMapVectorsToFit): + (WebCore::RuleSet::shrinkToFit): + (WebCore::CSSStyleSelector::matchPageRules): + (WebCore::CSSStyleSelector::matchPageRulesForList): + * css/CSSStyleSelector.h: + (WebCore::CSSStyleSelector::addMatchedRule): + +2011-02-02 Andrey Adaikin <aandrey@google.com> + + Reviewed by Pavel Feldman. + + Web Inspector: Use DIVs instead of TABLE in TextViewer + https://bugs.webkit.org/show_bug.cgi?id=53299 + + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrame.prototype._createTextViewer): + (WebInspector.SourceFrame.prototype._mouseDown): + * inspector/front-end/TextViewer.js: + (WebInspector.TextViewer): + (WebInspector.TextViewer.prototype.set mimeType): + (WebInspector.TextViewer.prototype.revealLine): + (WebInspector.TextViewer.prototype.addDecoration): + (WebInspector.TextViewer.prototype.removeDecoration): + (WebInspector.TextViewer.prototype.markAndRevealRange): + (WebInspector.TextViewer.prototype.highlightLine): + (WebInspector.TextViewer.prototype.clearLineHighlight): + (WebInspector.TextViewer.prototype.freeCachedElements): + (WebInspector.TextViewer.prototype._handleKeyDown): + (WebInspector.TextViewer.prototype.editLine.finishEditing): + (WebInspector.TextViewer.prototype.editLine): + (WebInspector.TextViewer.prototype.beginUpdates): + (WebInspector.TextViewer.prototype.endUpdates): + (WebInspector.TextViewer.prototype.resize): + (WebInspector.TextViewer.prototype._textChanged): + (WebInspector.TextViewer.prototype._updatePanelOffsets): + (WebInspector.TextViewer.prototype._syncScroll): + (WebInspector.TextViewer.prototype._syncDecorationsForLine): + (WebInspector.TextEditorChunkedPanel): + (WebInspector.TextEditorChunkedPanel.prototype.set syncScrollListener): + (WebInspector.TextEditorChunkedPanel.prototype.get textModel): + (WebInspector.TextEditorChunkedPanel.prototype.addDecoration): + (WebInspector.TextEditorChunkedPanel.prototype.removeDecoration): + (WebInspector.TextEditorChunkedPanel.prototype.revealLine): + (WebInspector.TextEditorChunkedPanel.prototype.makeLineAChunk): + (WebInspector.TextEditorChunkedPanel.prototype.textChanged): + (WebInspector.TextEditorChunkedPanel.prototype.beginUpdates): + (WebInspector.TextEditorChunkedPanel.prototype.endUpdates): + (WebInspector.TextEditorChunkedPanel.prototype.resize): + (WebInspector.TextEditorChunkedPanel.prototype._scroll): + (WebInspector.TextEditorChunkedPanel.prototype._scheduleRepaintAll): + (WebInspector.TextEditorChunkedPanel.prototype._buildChunks): + (WebInspector.TextEditorChunkedPanel.prototype._repaintAll): + (WebInspector.TextEditorChunkedPanel.prototype._chunkNumberForLine): + (WebInspector.TextEditorChunkedPanel.prototype._chunkForLine): + (WebInspector.TextEditorGutterPanel): + (WebInspector.TextEditorGutterPanel.prototype.freeCachedElements): + (WebInspector.TextEditorGutterPanel.prototype._createNewChunk): + (WebInspector.TextEditorGutterPanel.prototype._expandChunks): + (WebInspector.TextEditorGutterChunk): + (WebInspector.TextEditorGutterChunk.prototype.get expanded): + (WebInspector.TextEditorGutterChunk.prototype.set expanded): + (WebInspector.TextEditorGutterChunk.prototype.get height): + (WebInspector.TextEditorGutterChunk.prototype._createRow): + (WebInspector.TextEditorMainPanel): + (WebInspector.TextEditorMainPanel.prototype.set syncDecorationsForLine): + (WebInspector.TextEditorMainPanel.prototype.set mimeType): + (WebInspector.TextEditorMainPanel.prototype.markAndRevealRange): + (WebInspector.TextEditorMainPanel.prototype.highlightLine): + (WebInspector.TextEditorMainPanel.prototype.clearLineHighlight): + (WebInspector.TextEditorMainPanel.prototype.freeCachedElements): + (WebInspector.TextEditorMainPanel.prototype._buildChunks): + (WebInspector.TextEditorMainPanel.prototype._createNewChunk): + (WebInspector.TextEditorMainPanel.prototype._expandChunks): + (WebInspector.TextEditorMainPanel.prototype._highlightDataReady): + (WebInspector.TextEditorMainPanel.prototype._paintLines): + (WebInspector.TextEditorMainPanel.prototype._paintLine): + (WebInspector.TextEditorMainPanel.prototype._releaseLinesHighlight): + (WebInspector.TextEditorMainPanel.prototype._getSelection): + (WebInspector.TextEditorMainPanel.prototype._restoreSelection): + (WebInspector.TextEditorMainPanel.prototype._selectionToPosition): + (WebInspector.TextEditorMainPanel.prototype._positionToSelection): + (WebInspector.TextEditorMainPanel.prototype._appendTextNode): + (WebInspector.TextEditorMainPanel.prototype._handleDomUpdates): + (WebInspector.TextEditorMainChunk): + (WebInspector.TextEditorMainChunk.prototype.addDecoration): + (WebInspector.TextEditorMainChunk.prototype.set expanded): + (WebInspector.TextEditorMainChunk.prototype.get height): + (WebInspector.TextEditorMainChunk.prototype.getExpandedLineRow): + (WebInspector.TextEditorMainChunk.prototype._createRow): + (WebInspector): + * inspector/front-end/textViewer.css: + (.text-editor-lines): + (.text-editor-contents): + (.text-editor-editable): + (.webkit-line-decorations): + (.webkit-line-number): + (.webkit-execution-line.webkit-line-content): + (.diff-container .webkit-added-line.webkit-line-content): + (.diff-container .webkit-removed-line.webkit-line-content): + (.diff-container .webkit-changed-line.webkit-line-content): + (.webkit-highlighted-line.webkit-line-content): + +2011-02-02 Hans Wennborg <hans@chromium.org> + + Reviewed by Jeremy Orlow. + + IndexedDB: Implement support for cursor updates + https://bugs.webkit.org/show_bug.cgi?id=53421 + + Implement support for cursor updates using the same pattern as cursor + deletes: forward the calls to the IDBObjectStoreBackend::put(). + The put() function's signature needs to be changed to allow for a + "cursor update mode". This makes the signature more clear anyway, + since it replaces the boolean parameter. + + Test: storage/indexeddb/cursor-update.html + + * storage/IDBCursor.idl: + * storage/IDBCursorBackendImpl.cpp: + (WebCore::IDBCursorBackendImpl::key): + (WebCore::IDBCursorBackendImpl::update): + * storage/IDBCursorBackendImpl.h: + * storage/IDBObjectStore.cpp: + (WebCore::IDBObjectStore::add): + (WebCore::IDBObjectStore::put): + * storage/IDBObjectStoreBackendImpl.cpp: + (WebCore::IDBObjectStoreBackendImpl::put): + (WebCore::IDBObjectStoreBackendImpl::putInternal): + * storage/IDBObjectStoreBackendImpl.h: + * storage/IDBObjectStoreBackendInterface.h: + +2011-02-02 Naoki Takano <takano.naoki@gmail.com> + + Reviewed by Kent Tamura. + + Fix popup menu RTL bug introduced by Changeset 75982. + https://bugs.webkit.org/show_bug.cgi?id=53567 + + PopupMenuChromium::layout() calculates X position according to RTL or not. So Change the X position calculation in layoutAndCalculateWidgetRect(). + + No new tests. However we can check manually with select_dropdown_box_alignment.html, autofill_alignment.html, select_alignment.html, select_dropdown_box_alignment.html, autofill-popup-width-and-item-direction.html + + * platform/chromium/PopupMenuChromium.cpp: + (WebCore::PopupContainer::layoutAndCalculateWidgetRect): Fix calculation of x position, because layout() considers RTL. And change the parameter from both X and Y positions to only Y position. + (WebCore::PopupContainer::showPopup): Change the passing parameter. + (WebCore::PopupContainer::refresh): Change the passing parameter. + * platform/chromium/PopupMenuChromium.h: Change the parameter declaration. + +2011-02-02 Alejandro G. Castro <alex@igalia.com> + + Reviewed by Martin Robinson. + + [GTK] Fix dist compilation + https://bugs.webkit.org/show_bug.cgi?id=53579 + + * GNUmakefile.am: Added FontWidthVariant.h to the sources, it was + added in r77153. + +2011-02-02 Dai Mikurube <dmikurube@google.com> + + Reviewed by David Levin. + + Make mime type lookup in File::create(path) thread-safe + https://bugs.webkit.org/show_bug.cgi?id=47700 + + This patch introduces a new function MIMETypeRegistry::getMIMETypeForExtensionThreadSafe(). + The function is to be called as a thread-safe version of getMIMETypeForExtension() when + both FILE_SYSTEM and WORKERS are enabled. + + No tests for this patch. This patch itself doesn't change the behaviors. + For Chromium, it runs in the same way with getMIMETypeForExtensionThreadSafe(). + For the other platforms, it causes compilation error in case of enabled FILE_SYSTEM and WORKERS. + The compilation error would be a signal to implement getMIMETypeForExtensionThreadSafe() in these + platforms. Currently it doesn't happen since FILE_SYSTEM is not available in the other platforms. + + * platform/MIMETypeRegistry.cpp: Defined generic getMIMETypeForExtension() calling getMIMETypeForExtensionThreadSafe() for enabled FILE_SYSTEM and WORKERS. + (WebCore::MIMETypeRegistry::getMIMETypeForExtension): + * platform/MIMETypeRegistry.h: Declared getMIMETypeForExtensionThreadSafe() which should be implemented for each platform. + * platform/android/TemporaryLinkStubs.cpp: + (WebCore::MIMETypeRegistry::getMIMETypeForExtension): + * platform/brew/MIMETypeRegistryBrew.cpp: + (WebCore::MIMETypeRegistry::getMIMETypeForExtension): + * platform/chromium/MIMETypeRegistryChromium.cpp: Defined getMIMETypeForExtensionThreadSafe() for the case when FILE_SYSTEM and WORKERS are enabled. + (WebCore::MIMETypeRegistry::getMIMETypeForExtensionThreadSafe): + * platform/efl/MIMETypeRegistryEfl.cpp: + (WebCore::MIMETypeRegistry::getMIMETypeForExtension): + * platform/gtk/MIMETypeRegistryGtk.cpp: + (WebCore::MIMETypeRegistry::getMIMETypeForExtension): + * platform/haiku/MIMETypeRegistryHaiku.cpp: + (WebCore::MIMETypeRegistry::getMIMETypeForExtension): + * platform/mac/MIMETypeRegistryMac.mm: + (WebCore::MIMETypeRegistry::getMIMETypeForExtension): + * platform/qt/MIMETypeRegistryQt.cpp: + (WebCore::MIMETypeRegistry::getMIMETypeForExtension): + * platform/win/MIMETypeRegistryWin.cpp: + (WebCore::MIMETypeRegistry::getMIMETypeForExtension): + * platform/wince/MIMETypeRegistryWinCE.cpp: + (WebCore::MIMETypeRegistry::getMIMETypeForExtension): + * platform/wx/MimeTypeRegistryWx.cpp: + (WebCore::MIMETypeRegistry::getMIMETypeForExtension): + +2011-02-01 Adam Barth <abarth@webkit.org> + + Reviewed by Alexey Proskuryakov. + + Improve readability of updateWidget by converting bool parameter to an enum + https://bugs.webkit.org/show_bug.cgi?id=53576 + + As requested on webkit-dev. + + * html/HTMLEmbedElement.cpp: + (WebCore::HTMLEmbedElement::updateWidget): + * html/HTMLEmbedElement.h: + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::updateWidget): + * html/HTMLMediaElement.h: + * html/HTMLObjectElement.cpp: + (WebCore::HTMLObjectElement::updateWidget): + * html/HTMLObjectElement.h: + * html/HTMLPlugInImageElement.cpp: + (WebCore::HTMLPlugInImageElement::updateWidgetIfNecessary): + * html/HTMLPlugInImageElement.h: + * page/FrameView.cpp: + (WebCore::FrameView::updateWidget): + +2011-02-01 James Robinson <jamesr@chromium.org> + + Reviewed by Adam Barth. + + [v8] Increase V8 native->js recursion limit to match document.write() recursion limit + https://bugs.webkit.org/show_bug.cgi?id=53566 + + A recursion limit of 22 is necessary to pass fast/dom/Document/document-write-recursion.html. + Other than being large enough for this one test case, this limit is arbitrary. + + * bindings/v8/V8Proxy.h: + +2011-02-01 Adam Barth <abarth@webkit.org> + + Reviewed by Andreas Kling. + + Remove useless comment + https://bugs.webkit.org/show_bug.cgi?id=53549 + + The reason for this parameter is captured in + plugins/netscape-plugin-setwindow-size.html, which is a better place to + capture it than in this comment (which otherwise just re-iterates the + name of the parameter). + + * html/HTMLPlugInImageElement.cpp: + (WebCore::HTMLPlugInImageElement::updateWidgetIfNecessary): + +2011-02-01 James Simonsen <simonjam@chromium.org> + + Reviewed by Tony Gentilcore. + + [WebTiming] Remove asserts that verify timestamp order + https://bugs.webkit.org/show_bug.cgi?id=53548 + + Covered by existing tests. + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::stopLoading): Remove assert. + * page/DOMWindow.cpp: + (WebCore::DOMWindow::dispatchTimedEvent): Ditto. + +2011-02-01 Dimitri Glazkov <dglazkov@chromium.org> + + Add the 'default_targets' enclosure to the flags. + + * WebCore.gyp/WebCore.gyp: Did it. + +2011-02-01 Mihai Parparita <mihaip@chromium.org> + + Reviewed by James Robinson. + + Async event handlers should not fire within a modal dialog + https://bugs.webkit.org/show_bug.cgi?id=53202 + + Asychronous events that use EventQueue would currently fire while a + modal dialog (e.g. window.alert()) was up. Change EventQueue to use a + SuspendableTimer (which automatically gets suspended while dialogs are + up and in other cases where JS execution is not allowed). + + Test: fast/events/scroll-event-during-modal-dialog.html + + * dom/Document.cpp: + (WebCore::Document::Document): + * dom/EventQueue.cpp: + (WebCore::EventQueueTimer::EventQueueTimer): + (WebCore::EventQueueTimer::fired): + (WebCore::EventQueue::EventQueue): + (WebCore::EventQueue::enqueueEvent): + (WebCore::EventQueue::pendingEventTimerFired): + * dom/EventQueue.h: + (WebCore::EventQueue::create): + * page/SuspendableTimer.cpp: + (WebCore::SuspendableTimer::SuspendableTimer): + (WebCore::SuspendableTimer::suspend): + (WebCore::SuspendableTimer::resume): + * page/SuspendableTimer.h: + +2011-02-01 Patrick Gansterer <paroga@webkit.org> + + Reviewed by Andreas Kling. + + Change wrong PLATFORM(WIN) to USE(WININET) + https://bugs.webkit.org/show_bug.cgi?id=53547 + + * platform/network/ResourceHandle.h: + +2011-02-01 Beth Dakin <bdakin@apple.com> + + 32-bit build fix. + + * platform/mac/ScrollAnimatorMac.mm: + (-[ScrollbarPainterControllerDelegate contentAreaRectForScrollerImpPair:]): + +2011-01-25 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Gustavo Noronha Silva. + + [GTK] Two tests crash after r76555 + https://bugs.webkit.org/show_bug.cgi?id=53057 + + Instead of creating synchronous ResourceHandles manually, use the ::create factory. + This ensures that ::start() is not called when there is a scheduled failure and also + reduces code duplication. + + * platform/network/soup/ResourceHandleSoup.cpp: + (WebCore::ResourceHandle::loadResourceSynchronously): Use the ::create factory method. + +2011-02-01 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Eric Seidel. + + [GTK] GObject DOM bindings do no support the CallWith attribute + https://bugs.webkit.org/show_bug.cgi?id=53331 + + Disable building GObject DOM bindings for IndexedDB because we do not support + the CallWith attribute at this time. + + * bindings/gobject/GNUmakefile.am: Disable building bindings for the IndexedDB API. + +2011-02-01 Darin Adler <darin@apple.com> + + Reviewed by Brady Eidson. + + Fix a couple loose ends from the back/forward tree encode/decode work + https://bugs.webkit.org/show_bug.cgi?id=53537 + + * history/HistoryItem.cpp: + (WebCore::HistoryItem::encodeBackForwardTreeNode): Remove extra copy of + original URL string; no need to encode it twice. + (WebCore::HistoryItem::decodeBackForwardTree): Ditto. + * history/HistoryItem.h: Removed declaration for function that is no + longer defined nor used. + +2011-02-01 Tony Chang <tony@chromium.org> + + Reviewed by Kent Tamura. + + [chromium] disable arm uninitialized variable warnings + https://bugs.webkit.org/show_bug.cgi?id=53553 + + We just got another error: + third_party/WebKit/Source/WebCore/css/CSSPrimitiveValue.cpp:123:error: + 'colorTransparent.unstatic.4879' may be used uninitialized in this + function + + * WebCore.gyp/WebCore.gyp: + +2011-02-01 chris reiss <christopher.reiss@nokia.com> + + Reviewed by Adam Barth. + + Self-replicating code makes Safari hang and eventually crash + https://bugs.webkit.org/show_bug.cgi?id=15123 + + + Here we are replicating the Firefox safeguard against + recursive document.write( ) 's. + + See https://bug197052.bugzilla.mozilla.org/attachment.cgi?id=293907 in bug + https://bugzilla.mozilla.org/show_bug.cgi?id=197052 . Firefox does two things - + a) imposes a recursion limit of 20 on document.write( ) and + b) once that limit is passed, panics all the way the call stack (rather than just returning one level.) + To see why this is necessary, consider the script : + + <script> + var t = document.body.innerHTML; + document.write(t); + </script> + + This will create a tree both broad and deep as the script keeps appending itself to the text. If + we just return one level after the recursion limit is reached, we still allow millions of copies to + duplicate (and execute). + + The recursion is fortunately depth-first, so as soon as we cross this limit, we panic up the callstack + to prevent this situation. (IE apparently does the same thing, with a lower recursion limit.) + + Test: fast/dom/Document/document-write-recursion.html + Test: fast/dom/Document/document-close-iframe-load.html + Test: fast/dom/Document/document-close-nested-iframe-load.html + + + * dom/Document.cpp: + (WebCore::Document::Document): + (WebCore::Document::write): + * dom/Document.h: + +2011-02-01 Johnny Ding <jnd@chromium.org> + + Reviewed by Darin Adler. + + Don't set user gesture in HTMLAnchorElement's click handler because the click handler can be triggered by untrusted event. + https://bugs.webkit.org/show_bug.cgi?id=53424 + + Test: fast/events/popup-blocked-from-untrusted-click-event-on-anchor.html + + * html/HTMLAnchorElement.cpp: + (WebCore::handleLinkClick): + +2011-02-01 Csaba Osztrogonác <ossy@webkit.org> + + Unreviewed Qt buildfix after r77286. + + https://bugs.webkit.org/show_bug.cgi?id=53520 + Remove the physical terminology from IntRect and FloatRect. + + * platform/graphics/TiledBackingStore.cpp: + (WebCore::TiledBackingStore::createTiles): + +2011-02-01 Sam Weinig <sam@webkit.org> + + Fix Mac production builds. + + * DerivedSources.make: + * WebCore.xcodeproj/project.pbxproj: + * platform/mac/ScrollAnimatorMac.h: + * platform/mac/ScrollbarThemeMac.h: + +2011-02-01 Darin Adler <darin@apple.com> + + Reviewed by Chris Fleizach. + + REGRESSION: Removing focus from area element causes unwanted scrolling + https://bugs.webkit.org/show_bug.cgi?id=50169 + + Test: fast/images/imagemap-scroll.html + + * html/HTMLAreaElement.cpp: + (WebCore::HTMLAreaElement::setFocus): Added override. Calls the new + RenderImage::areaElementFocusChanged function. + (WebCore::HTMLAreaElement::updateFocusAppearance): Removed the code + here that calls setNeedsLayout on the image's renderer. This was an + attempt to cause repaint of the renderer, but this function does not + need to do that. Also changed this to use the imageElement function + to avoid repeating code. + + * html/HTMLAreaElement.h: Updated for above changes. + + * rendering/RenderImage.cpp: + (WebCore::RenderImage::paint): Updated for name change. + (WebCore::RenderImage::paintAreaElementFocusRing): Renamed this from + paintFocusRing, because it only paints area focus rings, and should + not be confused with paintFocusRing functions in other classes. Also + removed the unused style argument. Removed the code that used an + HTMLCollection to see if the focused area element is for this image + and instead just call imageElement on the area element. + (WebCore::RenderImage::areaElementFocusChanged): Added. Calls repaint. + + * rendering/RenderImage.h: Added a public areaElementFocusChanged + function for HTMLAreaElement to call. Made the paintFocusRing function + private, renamed it to paintAreaElementFocusRing, and removed its + unused style argument. + +2011-02-01 Patrick Gansterer <paroga@webkit.org> + + Unreviewed WinCE build fix for r77286. + + * platform/graphics/wince/GraphicsContextWinCE.cpp: + (WebCore::TransparentLayerDC::TransparentLayerDC): + +2011-02-01 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Darin Adler. + + AX: AXPosition of AXScrollArea is wrong + https://bugs.webkit.org/show_bug.cgi?id=53511 + + AccessibilityScrollView needed to return a valid documentFrameView() object. + At the same time, the code from document() should be consolidated in + AccessibilityObject, so all objects can use it. + + Test: platform/mac/accessibility/webkit-scrollarea-position.html + + * accessibility/AccessibilityObject.cpp: + (WebCore::AccessibilityObject::document): + * accessibility/AccessibilityObject.h: + * accessibility/AccessibilityScrollView.cpp: + (WebCore::AccessibilityScrollView::accessibilityHitTest): + (WebCore::AccessibilityScrollView::documentFrameView): + * accessibility/AccessibilityScrollView.h: + +2011-02-01 Zhenyao Mo <zmo@google.com> + + Reviewed by Kenneth Russell. + + getUniform should support SAMPLER_2D or SAMPLER_CUBE + https://bugs.webkit.org/show_bug.cgi?id=52190 + + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::getUniform): + +2011-02-01 Zhenyao Mo <zmo@google.com> + + Reviewed by Darin Adler. + + Fix the incorrect usage of RetainPtr cases in GraphicsContext3DCG.cpp + https://bugs.webkit.org/show_bug.cgi?id=53531 + + With this fix, running WebGL conformance tests should no longer crash randomly. + + * platform/graphics/cg/GraphicsContext3DCG.cpp: + (WebCore::GraphicsContext3D::getImageData): + +2011-02-01 Dimitri Glazkov <dglazkov@chromium.org> + + One more Chromium build fix after r77286. + + * platform/chromium/ScrollbarThemeChromiumMac.mm: + (WebCore::ScrollbarThemeChromiumMac::paint): Changed to not use topLeft(). + +2011-02-01 Sam Weinig <sam@webkit.org> + + Fix the build for Beth. + + * platform/mac/ScrollAnimatorMac.mm: + (-[ScrollbarPainterControllerDelegate inLiveResizeForScrollerImpPair:]): + +2011-02-01 Sam Weinig <sam@webkit.org> + + Reviewed by Beth Dakin. + + Part 2 for <rdar://problem/8492788> + Adopt WKScrollbarPainterController + + Use header detection to define scrollbar painting controller #define. + + * WebCore.exp.in: + * platform/mac/ScrollAnimatorMac.h: + * platform/mac/ScrollbarThemeMac.h: + * platform/mac/WebCoreSystemInterface.h: + * platform/mac/WebCoreSystemInterface.mm: + +2011-02-01 David Hyatt <hyatt@apple.com> + + Reviewed by Oliver Hunt. + + https://bugs.webkit.org/show_bug.cgi?id=53520 + + Remove the physical terminology from IntRect and FloatRect. + + Now that we have flipped RenderBlocks for vertical-rl and horizontal-bt writing modes, + we need to update our terminology to be more accurate. + + I'm borrowing a page from AppKit here (which also supports flipped NSViews) and + renaming right() and bottom() to maxX() and maxY(). These terms remain accurate + even for flipped rectangles. + + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange): + * accessibility/mac/AccessibilityObjectWrapper.mm: + (-[AccessibilityObjectWrapper position]): + * dom/ClientRect.h: + (WebCore::ClientRect::right): + (WebCore::ClientRect::bottom): + * html/HTMLCanvasElement.cpp: + (WebCore::HTMLCanvasElement::convertLogicalToDevice): + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::normalizeRect): + * inspector/InspectorAgent.cpp: + (WebCore::InspectorAgent::drawElementTitle): + * page/DOMWindow.cpp: + (WebCore::DOMWindow::adjustWindowRect): + * page/DragController.cpp: + (WebCore::dragLocForSelectionDrag): + * page/EventHandler.cpp: + (WebCore::EventHandler::sendContextMenuEventForKey): + * page/PrintContext.cpp: + (WebCore::PrintContext::computePageRectsWithPageSizeInternal): + (WebCore::PrintContext::pageNumberForElement): + * page/SpatialNavigation.cpp: + (WebCore::end): + (WebCore::areRectsFullyAligned): + (WebCore::areRectsMoreThanFullScreenApart): + (WebCore::below): + (WebCore::rightOf): + (WebCore::isRectInDirection): + (WebCore::entryAndExitPointsForDirection): + (WebCore::virtualRectForDirection): + * page/WindowFeatures.cpp: + (WebCore::WindowFeatures::WindowFeatures): + * platform/ScrollView.cpp: + (WebCore::ScrollView::wheelEvent): + * platform/Scrollbar.cpp: + (WebCore::Scrollbar::setFrameRect): + * platform/ScrollbarThemeComposite.cpp: + (WebCore::ScrollbarThemeComposite::splitTrack): + * platform/chromium/ScrollbarThemeChromium.cpp: + (WebCore::ScrollbarThemeChromium::paintTickmarks): + * platform/graphics/FloatQuad.h: + (WebCore::FloatQuad::FloatQuad): + * platform/graphics/FloatRect.cpp: + (WebCore::FloatRect::intersects): + (WebCore::FloatRect::contains): + (WebCore::FloatRect::intersect): + (WebCore::FloatRect::unite): + (WebCore::enclosingIntRect): + * platform/graphics/FloatRect.h: + (WebCore::FloatRect::maxX): + (WebCore::FloatRect::maxY): + (WebCore::FloatRect::contains): + * platform/graphics/IntRect.cpp: + (WebCore::IntRect::intersects): + (WebCore::IntRect::contains): + (WebCore::IntRect::intersect): + (WebCore::IntRect::unite): + * platform/graphics/IntRect.h: + (WebCore::IntRect::maxX): + (WebCore::IntRect::maxY): + (WebCore::IntRect::shiftXEdgeTo): + (WebCore::IntRect::shiftMaxXEdgeTo): + (WebCore::IntRect::shiftYEdgeTo): + (WebCore::IntRect::shiftMaxYEdgeTo): + (WebCore::IntRect::contains): + * platform/graphics/WidthIterator.cpp: + (WebCore::WidthIterator::advance): + * platform/graphics/cg/GraphicsContextCG.cpp: + (WebCore::GraphicsContext::drawRect): + (WebCore::GraphicsContext::fillPath): + (WebCore::GraphicsContext::fillRect): + * platform/graphics/cg/ImageBufferCG.cpp: + (WebCore::getImageData): + (WebCore::putImageData): + * platform/graphics/cg/ImageCG.cpp: + (WebCore::BitmapImage::draw): + * platform/graphics/filters/FilterEffect.cpp: + (WebCore::FilterEffect::copyImageBytes): + * platform/graphics/mac/ComplexTextController.cpp: + (WebCore::ComplexTextController::adjustGlyphsAndAdvances): + * platform/graphics/mac/SimpleFontDataMac.mm: + (WebCore::SimpleFontData::platformBoundsForGlyph): + * platform/graphics/transforms/AffineTransform.cpp: + (WebCore::AffineTransform::mapRect): + * platform/graphics/win/FontCGWin.cpp: + (WebCore::drawGDIGlyphs): + * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: + (WebCore::MediaPlayerPrivate::paint): + * platform/gtk/RenderThemeGtk.cpp: + (WebCore::centerRectVerticallyInParentInputElement): + * platform/mac/WidgetMac.mm: + (WebCore::Widget::paint): + * rendering/InlineFlowBox.cpp: + (WebCore::InlineFlowBox::addBoxShadowVisualOverflow): + (WebCore::InlineFlowBox::addTextBoxVisualOverflow): + * rendering/InlineTextBox.cpp: + (WebCore::InlineTextBox::selectionRect): + (WebCore::InlineTextBox::paint): + (WebCore::InlineTextBox::positionForOffset): + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::addOverflowFromChildren): + (WebCore::RenderBlock::paintChildren): + (WebCore::RenderBlock::paintEllipsisBoxes): + (WebCore::RenderBlock::inlineSelectionGaps): + (WebCore::RenderBlock::adjustPointToColumnContents): + (WebCore::RenderBlock::flipForWritingModeIncludingColumns): + (WebCore::RenderBlock::adjustForColumns): + * rendering/RenderBlock.h: + (WebCore::RenderBlock::FloatingObject::right): + (WebCore::RenderBlock::FloatingObject::bottom): + * rendering/RenderBox.cpp: + (WebCore::RenderBox::reflectedRect): + (WebCore::RenderBox::localCaretRect): + (WebCore::RenderBox::addShadowOverflow): + (WebCore::RenderBox::addLayoutOverflow): + (WebCore::RenderBox::visualOverflowRectForPropagation): + (WebCore::RenderBox::layoutOverflowRectForPropagation): + (WebCore::RenderBox::flipForWritingMode): + * rendering/RenderFrameSet.cpp: + (WebCore::RenderFrameSet::paintColumnBorder): + (WebCore::RenderFrameSet::paintRowBorder): + * rendering/RenderInline.cpp: + (WebCore::RenderInline::paintOutlineForLine): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::getRectToExpose): + (WebCore::cornerRect): + (WebCore::RenderLayer::positionOverflowControls): + (WebCore::RenderLayer::overflowBottom): + (WebCore::RenderLayer::overflowRight): + (WebCore::RenderLayer::paintResizer): + * rendering/RenderLineBoxList.cpp: + (WebCore::RenderLineBoxList::rangeIntersectsRect): + (WebCore::RenderLineBoxList::paint): + * rendering/RenderListItem.cpp: + (WebCore::RenderListItem::positionListMarker): + * rendering/RenderListMarker.cpp: + (WebCore::RenderListMarker::paint): + * rendering/RenderObject.cpp: + (WebCore::RenderObject::repaintAfterLayoutIfNeeded): + * rendering/RenderOverflow.h: + (WebCore::RenderOverflow::RenderOverflow): + (WebCore::RenderOverflow::addLayoutOverflow): + (WebCore::RenderOverflow::addVisualOverflow): + (WebCore::RenderOverflow::setLayoutOverflow): + (WebCore::RenderOverflow::setVisualOverflow): + (WebCore::RenderOverflow::resetLayoutOverflow): + * rendering/RenderReplaced.cpp: + (WebCore::RenderReplaced::shouldPaint): + * rendering/RenderScrollbarTheme.cpp: + (WebCore::RenderScrollbarTheme::constrainTrackRectToTrackPieces): + * rendering/RenderTable.cpp: + (WebCore::RenderTable::paint): + * rendering/RenderTableCell.cpp: + (WebCore::RenderTableCell::paint): + * rendering/RenderTableSection.cpp: + (WebCore::RenderTableSection::paintObject): + * rendering/RenderText.cpp: + (WebCore::RenderText::absoluteQuads): + * rendering/RenderTextControlSingleLine.cpp: + (WebCore::RenderTextControlSingleLine::forwardEvent): + * rendering/RenderThemeMac.mm: + (WebCore::RenderThemeMac::paintMenuListButtonGradients): + (WebCore::RenderThemeMac::paintMenuListButton): + (WebCore::RenderThemeMac::paintSliderTrack): + * rendering/RenderView.cpp: + (WebCore::RenderView::computeRectForRepaint): + (WebCore::RenderView::docBottom): + (WebCore::RenderView::docRight): + * rendering/RootInlineBox.cpp: + (WebCore::RootInlineBox::paddedLayoutOverflowRect): + * rendering/svg/RenderSVGInlineText.cpp: + (WebCore::RenderSVGInlineText::localCaretRect): + +2011-02-01 Beth Dakin <bdakin@apple.com> + + Reviewed by Sam Weinig. + + Fix for <rdar://problem/8492788> Adopt WKScrollbarPainterController + + Lots of new WebCoreSystemInterface functions to export. + * WebCore.exp.in: + * platform/mac/WebCoreSystemInterface.h: + * platform/mac/WebCoreSystemInterface.mm: + + Let the scrollAnimator know when the mouse has + moved anywhere inside the page, and when the mouse + has moved in or out of the window. + * page/EventHandler.cpp: + (WebCore::EventHandler::mouseMoved): + (WebCore::EventHandler::updateMouseEventTargetNode): + + Let the scrollAnimator know when the window has become + active or inactive. + * page/FocusController.cpp: + (WebCore::FocusController::setActive): + + Let the scrollAnimator know when all of these things + are happening. + * page/FrameView.cpp: + (WebCore::FrameView::setContentsSize): + (WebCore::FrameView::didMoveOnscreen): + (WebCore::FrameView::willMoveOffscreen): + (WebCore::FrameView::currentMousePosition): + (WebCore::FrameView::contentsResized): + + New functions called through WebKit2 that allow the + scrollAnimator to know when a live resize starts and ends. + (WebCore::FrameView::willStartLiveResize): + (WebCore::FrameView::willEndLiveResize): + * page/FrameView.h: + + New functions on ScrollAnimator that pass information + to the WKPainterController when we're using one. + * platform/ScrollAnimator.h: + (WebCore::ScrollAnimator::scrollableArea): + (WebCore::ScrollAnimator::contentAreaWillPaint): + (WebCore::ScrollAnimator::mouseEnteredContentArea): + (WebCore::ScrollAnimator::mouseExitedContentArea): + (WebCore::ScrollAnimator::mouseMovedInContentArea): + (WebCore::ScrollAnimator::willStartLiveResize): + (WebCore::ScrollAnimator::contentsResized): + (WebCore::ScrollAnimator::willEndLiveResize): + (WebCore::ScrollAnimator::contentAreaDidShow): + (WebCore::ScrollAnimator::contentAreaDidHide): + (WebCore::ScrollAnimatorMac::ScrollAnimatorMac): + (WebCore::ScrollAnimatorMac::scrollbarPainterDelegate): + (WebCore::ScrollAnimatorMac::setPainterForPainterController): + (WebCore::ScrollAnimatorMac::removePainterFromPainterController): + (WebCore::ScrollAnimatorMac::notityPositionChanged): + (WebCore::ScrollAnimatorMac::contentAreaWillPaint): + (WebCore::ScrollAnimatorMac::mouseEnteredContentArea): + (WebCore::ScrollAnimatorMac::mouseExitedContentArea): + (WebCore::ScrollAnimatorMac::mouseMovedInContentArea): + (WebCore::ScrollAnimatorMac::willStartLiveResize): + (WebCore::ScrollAnimatorMac::contentsResized): + (WebCore::ScrollAnimatorMac::willEndLiveResize): + (WebCore::ScrollAnimatorMac::contentAreaDidShow): + (WebCore::ScrollAnimatorMac::contentAreaDidHide): + + Let the scrollAnimator know when this is happening. + * platform/ScrollView.cpp: + (WebCore::ScrollView::paint): + + New function lets the scrollAnimator get the current + mouse position. + * platform/ScrollView.h: + (WebCore::ScrollView::currentMousePosition): + + New function that returns the scrollAnimator when needed. + * platform/ScrollableArea.h: + (WebCore::ScrollableArea::scrollAnimator): + + Keep track of if we're in a live resize using a new memeber + variable. + * platform/mac/ScrollAnimatorMac.h: + (WebCore::ScrollAnimatorMac::inLiveResize): + * platform/mac/ScrollAnimatorMac.mm: + (WebCore::view): + + New delegates for the WKPainter and WKPainterController + (-[ScrollbarPainterControllerDelegate initWithScrollAnimator:WebCore::]): + (-[ScrollbarPainterControllerDelegate contentAreaRectForScrollerImpPair:]): + (-[ScrollbarPainterControllerDelegate inLiveResizeForScrollerImpPair:]): + (-[ScrollbarPainterControllerDelegate mouseLocationInContentAreaForScrollerImpPair:]): + (-[ScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]): + (-[ScrollbarPainterControllerDelegate scrollerImpPair:setContentAreaNeedsDisplayInRect:]): + (-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]): + (-[ScrollKnobAnimation initWithScrollbarPainter:forScrollAnimator:WebCore::animateKnobAlphaTo:duration:]): + (-[ScrollKnobAnimation setCurrentProgress:]): + (-[ScrollbarPainterDelegate initWithScrollAnimator:WebCore::]): + (-[ScrollbarPainterDelegate convertRectToBacking:]): + (-[ScrollbarPainterDelegate convertRectFromBacking:]): + (-[ScrollbarPainterDelegate layer]): + (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:animateKnobAlphaTo:duration:]): + (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]): + (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]): + (-[ScrollbarPainterDelegate scrollerImp:overlayScrollerStateChangedTo:]): + + Get the WKScrollbarPainterRefs to synch up with the + WKScrollbarPainterControllerRefs when appropriate + * platform/mac/ScrollbarThemeMac.h: + * platform/mac/ScrollbarThemeMac.mm: + (WebCore::ScrollbarThemeMac::registerScrollbar): + (WebCore::ScrollbarThemeMac::unregisterScrollbar): + (WebCore::ScrollbarThemeMac::setNewPainterForScrollbar): + (WebCore::ScrollbarThemeMac::usesOverlayScrollbars): + + Implement ScrollableArea's virtual function contentsSize() for access + through the scrollAnimator. + * rendering/RenderLayer.h: + (WebCore::RenderLayer::contentsSize): + +2011-02-01 Carol Szabo <carol.szabo@nokia.com> + + Reviewed by David Hyatt. + + layoutTestController.counterValueForElementById does not return the correct value + https://bugs.webkit.org/show_bug.cgi?id=53037 + + Test: fast/css/counters/deep-before.html + + * rendering/RenderTreeAsText.cpp: + (WebCore::counterValueForElement): + Modified to use the newly available RenderObject::beforePseudoElement() + and RenderObject::afterPseudoElement() instead of the old imperfect + algorithm to find the before and after pseudo elements. + +2011-02-01 Anton Muhin <antonm@chromium.org> + + Reviewed by Adam Barth. + + Allow access for security origin same as this. + https://bugs.webkit.org/show_bug.cgi?id=53440 + + Hard to test as newly added path currently is never hit. + + * page/SecurityOrigin.cpp: + (WebCore::SecurityOrigin::canAccess): allow access if this == other + +2011-01-31 Oliver Hunt <oliver@apple.com> + + Reviewed by Geoffrey Garen. + + Update JSObject storage for new marking API + https://bugs.webkit.org/show_bug.cgi?id=53467 + + Update WebCore to handle new anonymous slot behaviour. + + * bindings/js/JSDOMWindowShell.cpp: + (WebCore::JSDOMWindowShell::setWindow): + * bindings/js/WorkerScriptController.cpp: + (WebCore::WorkerScriptController::initScript): + * bindings/scripts/CodeGeneratorJS.pm: + +2011-02-01 Xiaomei Ji <xji@chromium.org> + + Reviewed by David Hyatt. + + Fix a text rendering problem when enclosing block is RTL and text runs + are in different directionality. + https://bugs.webkit.org/show_bug.cgi?id=34176 + + The problem happens in the following example scenario (ABC represents + Hebrew characters): + <div dir=rtl>this is a <span><span>test <span>ABC</span></span></span></div> + + The line consists of 3 text runs -- TextRun1 TextRun2 TextRun3. In which + TextRun1 and TextRun2's bidi level are 2, and TextRun3's bidi level is 1. + TextRun2 and TextRun3's least common ancestor is not a sibling of TextRun1. + + The visual bidi run order of the text runs is TextRun3 TextRun1 TextRun2. + + Inside RenderBlock::constructLine(), when RenderBlock::createLineBoxes() + creates InlineFlowBox for TextRun2, it should check an InlineFlowBox for + the run's render object's ancestor (not only its parent) has already + been constructed or has something following it on the line, in which + case, create a new box for TextRun2 instead of sharing the same box with + TextRun3. + + In other words, the following 2 div should render the same results + (ABC represents Hebrew characters). + <div dir=rtl>this is a <span><span>test <span>ABC</span></span></span></div> + <div dir=rtl>this is a <span>Test <span>ABC</span></span></div> + + Test: fast/dom/34176.html + + * rendering/RenderBlockLineLayout.cpp: + (WebCore::parentIsConstructedOrHaveNext): + (WebCore::RenderBlock::createLineBoxes): + +2011-02-01 Abhishek Arya <inferno@chromium.org> + + Reviewed by Dan Bernstein. + + Do not add a node in the document's stylesheet candidate node list if the + node is already removed from document. + https://bugs.webkit.org/show_bug.cgi?id=53441 + + Test: fast/css/stylesheet-candidate-nodes-crash.xhtml + + * dom/Document.cpp: + (WebCore::Document::addStyleSheetCandidateNode): + +2011-02-01 Dave Hyatt <hyatt@apple.com> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=46422, make printing and pagination work + with vertical text. + + Change printing functions to check writing-mode and properly swap width and height + as needed. + + Fix the setScrollOrigin function so that the origin doesn't cause + scroll spasming during printing (this is only partially successful, but it's better + than it was). + + Rewrite computePageRects to handle both RTL documents properly as well as vertical + text documents properly. + + * WebCore.exp.in: + * page/FrameView.cpp: + (WebCore::FrameView::adjustViewSize): + (WebCore::FrameView::forceLayoutForPagination): + * page/PrintContext.cpp: + (WebCore::PrintContext::computePageRects): + (WebCore::PrintContext::computePageRectsWithPageSizeInternal): + (WebCore::PrintContext::computeAutomaticScaleFactor): + (WebCore::PrintContext::spoolPage): + (WebCore::PrintContext::spoolRect): + * page/PrintContext.h: + * page/mac/WebCoreFrameView.h: + * platform/ScrollView.cpp: + (WebCore::ScrollView::wheelEvent): + * platform/ScrollView.h: + * platform/mac/ScrollViewMac.mm: + (WebCore::ScrollView::platformSetScrollOrigin): + * rendering/RenderView.cpp: + (WebCore::RenderView::layout): + +2011-02-01 Mikhail Naganov <mnaganov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: Fix profiles reset to avoid clearing heap profiles in Chromium. + + https://bugs.webkit.org/show_bug.cgi?id=53500 + + * inspector/InspectorProfilerAgent.cpp: + (WebCore::InspectorProfilerAgent::resetFrontendProfiles): + +2011-02-01 Mikhail Naganov <mnaganov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: [Chromium] Landing detailed heap snapshots, part 1. + + https://bugs.webkit.org/show_bug.cgi?id=53173 + + Adding code for accessing heap snapshot data and + performing graph calculations. + + * English.lproj/localizedStrings.js: + * inspector/front-end/HeapSnapshot.js: + (WebInspector.HeapSnapshotArraySlice): Helper class to avoid array contents copying. + (WebInspector.HeapSnapshotEdge): Wrapper for accessing graph edge properties. + (WebInspector.HeapSnapshotEdgeIterator): + (WebInspector.HeapSnapshotNode): Wrapper for accessing graph node properties. + (WebInspector.HeapSnapshotNodeIterator): + (WebInspector.HeapSnapshot): Wrapper for the heap snapshot. + (WebInspector.HeapSnapshotFilteredOrderedIterator): + (WebInspector.HeapSnapshotEdgesProvider): + (WebInspector.HeapSnapshotNodesProvider): + (WebInspector.HeapSnapshotPathFinder): + * inspector/front-end/HeapSnapshotView.js: + (WebInspector.HeapSnapshotView.prototype._convertSnapshot): + +2011-02-01 Adam Roben <aroben@apple.com> + + Fix linker warnings in Release_LTCG builds + + * WebCore.vcproj/WebCore.vcproj: Exclude EventNames.cpp and EventTarget.cpp from all + configurations, since they get pulled in via DOMAllInOne.cpp. + +2011-02-01 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: [Chromium] Wrongly labelled context-menu item for links in Web Inspector's side-pane + https://bugs.webkit.org/show_bug.cgi?id=53482 + + * English.lproj/localizedStrings.js: + * inspector/front-end/ElementsPanel.js: + (WebInspector.ElementsPanel.prototype.populateHrefContextMenu): + * inspector/front-end/inspector.js: + (WebInspector.resourceForURL): + (WebInspector.openLinkExternallyLabel): + +2011-02-01 Anton Muhin <antonm@chromium.org> + + Reviewed by Adam Barth. + + Propagate parent document security origin to newly create Document XML response + https://bugs.webkit.org/show_bug.cgi?id=53444 + + Covered by the existing tests. + + * xml/XMLHttpRequest.cpp: + (WebCore::XMLHttpRequest::responseXML): + +2011-02-01 Yury Semikhatsky <yurys@chromium.org> + + Unreviewed. Rollout r77230 which caused many layout tests + crashes on Chromium Debug bots. + + Async event handlers should not fire within a modal dialog + https://bugs.webkit.org/show_bug.cgi?id=53202 + + * dom/Document.cpp: + (WebCore::Document::Document): + * dom/EventQueue.cpp: + (WebCore::EventQueue::EventQueue): + (WebCore::EventQueue::enqueueEvent): + (WebCore::EventQueue::pendingEventTimerFired): + * dom/EventQueue.h: + +2011-02-01 Zoltan Herczeg <zherczeg@webkit.org> + + Reviewed by Dirk Schulze. + + LightElement changes does not require relayout. + https://bugs.webkit.org/show_bug.cgi?id=53232 + + When an attribute of a LightElement changes, it + send an update message to the lighting filters + to update its corresponding LightSource objects, + and repaint the filters. + + Duplicated 'id' attributes removed from svg-filter-animation.svg. + + Existing dynamic-update tests covers this feature. + + 5x speedup on manual-tests/svg-filter-animation.svg + + * manual-tests/svg-filter-animation.svg: + * platform/graphics/filters/DistantLightSource.h: + * platform/graphics/filters/FEDiffuseLighting.cpp: + (WebCore::FEDiffuseLighting::setLightingColor): + (WebCore::FEDiffuseLighting::setSurfaceScale): + (WebCore::FEDiffuseLighting::setDiffuseConstant): + (WebCore::FEDiffuseLighting::setKernelUnitLengthX): + (WebCore::FEDiffuseLighting::setKernelUnitLengthY): + * platform/graphics/filters/FEDiffuseLighting.h: + * platform/graphics/filters/LightSource.cpp: + (WebCore::PointLightSource::setX): + (WebCore::PointLightSource::setY): + (WebCore::PointLightSource::setZ): + (WebCore::SpotLightSource::setX): + (WebCore::SpotLightSource::setY): + (WebCore::SpotLightSource::setZ): + (WebCore::SpotLightSource::setPointsAtX): + (WebCore::SpotLightSource::setPointsAtY): + (WebCore::SpotLightSource::setPointsAtZ): + (WebCore::SpotLightSource::setSpecularExponent): + (WebCore::SpotLightSource::setLimitingConeAngle): + (WebCore::DistantLightSource::setAzimuth): + (WebCore::DistantLightSource::setElevation): + (WebCore::LightSource::setAzimuth): + (WebCore::LightSource::setElevation): + (WebCore::LightSource::setX): + (WebCore::LightSource::setY): + (WebCore::LightSource::setZ): + (WebCore::LightSource::setPointsAtX): + (WebCore::LightSource::setPointsAtY): + (WebCore::LightSource::setPointsAtZ): + (WebCore::LightSource::setSpecularExponent): + (WebCore::LightSource::setLimitingConeAngle): + * platform/graphics/filters/LightSource.h: + * platform/graphics/filters/PointLightSource.h: + * platform/graphics/filters/SpotLightSource.h: + * rendering/svg/RenderSVGResourceFilter.cpp: + (WebCore::RenderSVGResourceFilter::primitiveAttributeChanged): + * svg/SVGFEDiffuseLightingElement.cpp: + (WebCore::SVGFEDiffuseLightingElement::setFilterEffectAttribute): + (WebCore::SVGFEDiffuseLightingElement::lightElementAttributeChanged): + (WebCore::SVGFEDiffuseLightingElement::build): + (WebCore::SVGFEDiffuseLightingElement::findLightElement): + (WebCore::SVGFEDiffuseLightingElement::findLight): + * svg/SVGFEDiffuseLightingElement.h: + * svg/SVGFELightElement.cpp: + (WebCore::SVGFELightElement::svgAttributeChanged): + * svg/SVGFilterPrimitiveStandardAttributes.cpp: + (WebCore::SVGFilterPrimitiveStandardAttributes::setFilterEffectAttribute): + * svg/SVGFilterPrimitiveStandardAttributes.h: + +2011-02-01 Roland Steiner <rolandsteiner@chromium.org> + + Reviewed by Dimitri Glazkov. + + Bug 53289 - DOM: Move DocumentOrderedMap from Document into separate files + https://bugs.webkit.org/show_bug.cgi?id=53289 + + Moving the nested class DocumentOrderedMap from Document into separate files, + updating code where necessary. + + No new tests. (refactoring) + + * Android.mk: + * CMakeLists.txt: + * GNUMakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * dom/Document.cpp: + (WebCore::Document::getElementById): + (WebCore::Document::getImageMap): + * dom/Document.h: + * dom/DocumentOrderedMap.cpp: Added. + (WebCore::keyMatchesId): + (WebCore::keyMatchesMapName): + (WebCore::keyMatchesLowercasedMapName): + (WebCore::DocumentOrderedMap::clear): + (WebCore::DocumentOrderedMap::add): + (WebCore::DocumentOrderedMap::remove): + (WebCore::DocumentOrderedMap::get): + (WebCore::DocumentOrderedMap::getElementById): + (WebCore::DocumentOrderedMap::getElementByMapName): + (WebCore::DocumentOrderedMap::getElementByLowercasedMapName): + * dom/DocumentOrderedMap.h: Added. + (WebCore::DocumentOrderedMap::contains): + (WebCore::DocumentOrderedMap::containsMultiple): + * dom/DOMAllInOne.cpp: + +2011-02-01 Mario Sanchez Prada <msanchez@igalia.com> + + Reviewed by Martin Robinson. + + [Gtk] atk_text_set_caret_offset fails for list items + https://bugs.webkit.org/show_bug.cgi?id=53388 + + Allow using text ranges across list items. + + * accessibility/gtk/AccessibilityObjectAtk.cpp: + (WebCore::AccessibilityObject::allowsTextRanges): Add list items + to the list of accessibility objects supporting text ranges. + +2011-02-01 Mario Sanchez Prada <msanchez@igalia.com> + + Reviewed by Martin Robinson. + + [GTK] character range extents is off when the end of a wrapped line is included + https://bugs.webkit.org/show_bug.cgi?id=53323 + + Fixed wrong calculation getting the range extents. + + * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: + (webkit_accessible_text_get_range_extents): Removed '+1' since the + requested interval shouldn't include the last character. + +2011-02-01 Mario Sanchez Prada <msanchez@igalia.com> + + Reviewed by Martin Robinson. + + [GTK] Caret Offset is one off at the end of wrapped lines + https://bugs.webkit.org/show_bug.cgi?id=53300 + + Consider linebreaks as special cases. + + * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: + (objectAndOffsetUnignored): In order to avoid getting wrong values + when around linebreaks, we need to workaround this by explicitly + avoiding those '\n' text nodes from affecting the result of + calling to TextIterator:rangeLength(). + +2011-02-01 Roland Steiner <rolandsteiner@chromium.org> + + Unreviewed, rolling out r77229. + http://trac.webkit.org/changeset/77229 + https://bugs.webkit.org/show_bug.cgi?id=53289 + + revert mysterious build breakage + + * Android.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * dom/DOMAllInOne.cpp: + * dom/Document.cpp: + (WebCore::Document::DocumentOrderedMap::clear): + (WebCore::Document::DocumentOrderedMap::add): + (WebCore::Document::DocumentOrderedMap::remove): + (WebCore::Document::DocumentOrderedMap::get): + (WebCore::keyMatchesId): + (WebCore::Document::getElementById): + (WebCore::keyMatchesMapName): + (WebCore::keyMatchesLowercasedMapName): + (WebCore::Document::getImageMap): + * dom/Document.h: + (WebCore::Document::DocumentOrderedMap::contains): + (WebCore::Document::DocumentOrderedMap::containsMultiple): + * dom/DocumentOrderedMap.cpp: Removed. + * dom/DocumentOrderedMap.h: Removed. + +2011-02-01 Mihai Parparita <mihaip@chromium.org> + + Reviewed by James Robinson. + + Async event handlers should not fire within a modal dialog + https://bugs.webkit.org/show_bug.cgi?id=53202 + + Asychronous events that use EventQueue would currently fire while a + modal dialog (e.g. window.alert()) was up. Change EventQueue to use a + SuspendableTimer (which automatically gets suspended while dialogs are + up and in other cases where JS execution is not allowed). + + Test: fast/events/scroll-event-during-modal-dialog.html + + * dom/Document.cpp: + (WebCore::Document::Document): + * dom/EventQueue.cpp: + (WebCore::EventQueueTimer::EventQueueTimer): + (WebCore::EventQueueTimer::fired): + (WebCore::EventQueue::EventQueue): + (WebCore::EventQueue::enqueueEvent): + (WebCore::EventQueue::pendingEventTimerFired): + * dom/EventQueue.h: + (WebCore::EventQueue::create): + +2011-02-01 Roland Steiner <rolandsteiner@chromium.org> + + Reviewed by Dimitri Glazkov. + + Bug 53289 - DOM: Move DocumentOrderedMap from Document into separate files + https://bugs.webkit.org/show_bug.cgi?id=53289 + + Moving the nested class DocumentOrderedMap from Document into separate files, + updating code where necessary. + + No new tests. (refactoring) + + * Android.mk: + * CMakeLists.txt: + * GNUMakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * dom/Document.cpp: + (WebCore::Document::getElementById): + (WebCore::Document::getImageMap): + * dom/Document.h: + * dom/DocumentOrderedMap.cpp: Added. + (WebCore::keyMatchesId): + (WebCore::keyMatchesMapName): + (WebCore::keyMatchesLowercasedMapName): + (WebCore::DocumentOrderedMap::clear): + (WebCore::DocumentOrderedMap::add): + (WebCore::DocumentOrderedMap::remove): + (WebCore::DocumentOrderedMap::get): + (WebCore::DocumentOrderedMap::getElementById): + (WebCore::DocumentOrderedMap::getElementByMapName): + (WebCore::DocumentOrderedMap::getElementByLowercasedMapName): + * dom/DocumentOrderedMap.h: Added. + (WebCore::DocumentOrderedMap::contains): + (WebCore::DocumentOrderedMap::containsMultiple): + * dom/DOMAllInOne.cpp: + +2011-02-01 Naoki Takano <takano.naoki@gmail.com> + + Reviewed by Darin Fisher. + + [Chromium] Autofill should work with HTML5 form elements + https://bugs.webkit.org/show_bug.cgi?id=51809 + http://crbug.com/65654 + + No new tests, because this fix is for Chromium project and hard to test only in WebKit project. + + * html/InputType.h: Insert comment for canSetSuggestedValue(). + * html/TextFieldInputType.cpp: + (WebCore::TextFieldInputType::canSetSuggestedValue): Implemented to return always true for that all text filed inputs can be completed. + * html/TextFieldInputType.h: Declare canSetSuggestedValue(). + * html/TextInputType.cpp: Delete canSetSuggestedValue() not to return true anymore. + * html/TextInputType.h: Delete canSetSuggestedValue() not to return true anymore. + +2011-02-01 Kent Tamura <tkent@chromium.org> + + Reviewed by Dan Bernstein. + + REGRESSION (r65062): Safari loops forever under WebCore::plainTextToMallocAllocatedBuffer() + https://bugs.webkit.org/show_bug.cgi?id=53272 + + * editing/TextIterator.cpp: + (WebCore::TextIterator::handleTextBox): Pass the appropriate renderer to emitText(). + +2011-01-31 Alexey Proskuryakov <ap@apple.com> + + Reviewed by Maciej Stachowiak. + + https://bugs.webkit.org/show_bug.cgi?id=53466 + Move WebKit2 to printing via API methods + + * WebCore.exp.in: Export IntRect::scale(). + +2011-01-31 Patrick Gansterer <paroga@webkit.org> + + Reviewed by Adam Barth. + + Remove obsolete comment after r41871 + https://bugs.webkit.org/show_bug.cgi?id=53406 + + * dom/Document.h: + +2011-01-31 Simon Fraser <simon.fraser@apple.com> + + Fix according to reviewer comments: can just use Color::black now. + + * platform/graphics/ShadowBlur.cpp: + (WebCore::ShadowBlur::drawInsetShadow): + (WebCore::ShadowBlur::drawRectShadowWithoutTiling): + +2011-01-31 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Sam Weinig. + + Clean up ShadowBlur + https://bugs.webkit.org/show_bug.cgi?id=53472 + + Some minor ShadowBlur cleanup. + + * platform/graphics/ShadowBlur.h: + * platform/graphics/ShadowBlur.cpp: + (WebCore::ShadowBlur::ShadowBlur): Use m_blurRadius rather than the radius + paramter. + (WebCore::ShadowBlur::adjustBlurRadius): Renamed from adjustBlurDistance. + (WebCore::ShadowBlur::calculateLayerBoundingRect): Rename layerFloatRect to + layerRect. Make frameSize a float. + (WebCore::ShadowBlur::beginShadowLayer): This now takes a precomputed + layerRect rather than calling calculateLayerBoundingRect() to compute + it itself, since we were calling calculateLayerBoundingRect() twice. + (WebCore::ShadowBlur::drawRectShadow): Optimize to call calculateLayerBoundingRect() + only once. The shadowRect variable was unused, so two return paths could be + collapsed into one. + (WebCore::ShadowBlur::drawInsetShadow): Call calculateLayerBoundingRect() before + beginShadowLayer() now. + (WebCore::ShadowBlur::drawRectShadowWithoutTiling): The layerRect gets passed in. + We always used alpha=1, so no need to pass that in. + (WebCore::ShadowBlur::drawRectShadowWithTiling): We always used alpha=1, so no need to + pass that in. Move shadowRect down to first use. + ShadowBlur::clipBounds() was unused. + +2011-01-31 No'am Rosenthal <noam.rosenthal@nokia.com> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] QWebElements example from QtWebKit Bridge documentation does not work at all + https://bugs.webkit.org/show_bug.cgi?id=46748 + + This problem disappears when we register QWebElement using qRegisterMetaType, which we now do in QtInstance. + Added a regression test to tst_QWebFrame. + + * bridge/qt/qt_instance.cpp: + (JSC::Bindings::QtInstance::QtInstance): + +2011-01-27 MORITA Hajime <morrita@google.com> + + Reviewed by Dimitri Glazkov. + + Convert <progress> shadow DOM to a DOM-based shadow. + https://bugs.webkit.org/show_bug.cgi?id=50660 + + * Removed RenderProgress::m_valuePart, moved the shadow node + to the shadow root of HTMLProgressElement. + * Removed hard-coded pseudo ID for -webkit-progress-bar-value. + ProgressBarValueElement is defined only for overriding + shadowPseudoId(). + + No new tests. No behavioral change. + + * css/CSSSelector.cpp: + (WebCore::CSSSelector::pseudoId): + (WebCore::nameToPseudoTypeMap): + (WebCore::CSSSelector::extractPseudoType): + * css/CSSSelector.h: + * html/HTMLProgressElement.cpp: + (WebCore::ProgressBarValueElement::ProgressBarValueElement): + (WebCore::ProgressBarValueElement::shadowPseudoId): + (WebCore::ProgressBarValueElement::create): + (WebCore::ProgressBarValueElement::detach): + (WebCore::HTMLProgressElement::parseMappedAttribute): + (WebCore::HTMLProgressElement::attach): + (WebCore::HTMLProgressElement::valuePart): + (WebCore::HTMLProgressElement::didElementStateChange): + (WebCore::HTMLProgressElement::createShadowSubtreeIfNeeded): + * html/HTMLProgressElement.h: + * rendering/RenderProgress.cpp: + (WebCore::RenderProgress::~RenderProgress): + (WebCore::RenderProgress::updateFromElement): + (WebCore::RenderProgress::layoutParts): + (WebCore::RenderProgress::shouldHaveParts): + (WebCore::RenderProgress::valuePart): + * rendering/RenderProgress.h: + * rendering/style/RenderStyleConstants.h: + +2011-01-31 Charlie Reis <creis@chromium.org> + + Reviewed by Mihai Parparita. + + Add sanity check to help diagnose bug 52819 + https://bugs.webkit.org/show_bug.cgi?id=53402 + + Crash early if the children of fromItem look invalid. + + * loader/HistoryController.cpp: + +2011-01-31 Kalle Vahlman <kalle.vahlman@movial.com> + + Reviewed by Andreas Kling. + + [Qt] canvas.drawImage(HTMLVideoElement) doesn't work with Qt Multimedia backend + https://bugs.webkit.org/show_bug.cgi?id=53325 + + Reimplement paintCurrentFrameInContext() rather than delegate the + rendering to paint() to make sure we really do get the video frame + content into the GraphicsContext, regardless of accelerated + compositing and the video scene state. + + * platform/graphics/qt/MediaPlayerPrivateQt.cpp: + (WebCore::MediaPlayerPrivateQt::paintCurrentFrameInContext): + * platform/graphics/qt/MediaPlayerPrivateQt.h: + +2011-01-31 Emil A Eklund <eae@chromium.org> + + Reviewed by Darin Adler. + + Setting "selected" attribute to false should have no effect in single line <select> + https://bugs.webkit.org/show_bug.cgi?id=52436 + + Change SelectElement::setSelectedIndex to select the first selectable + option when the select state of all options is set to false as required + by the HTML5 specification. + + Test: fast/dom/HTMLSelectElement/selected-false.html + + * dom/SelectElement.cpp: + (WebCore::SelectElement::setSelectedIndex): + +2011-01-31 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: Console source references need a left-margin + https://bugs.webkit.org/show_bug.cgi?id=53308 + + * inspector/front-end/inspector.css: + (.console-message-url): Added a 4px margin on the left. + +2011-01-31 Carol Szabo <carol.szabo@nokia.com> + + Reviewed by David Hyatt. + + Code Changes only. + + It is needlessly expensive to find the generating node from an anonymous renderer of a pseudoelement. + https://bugs.webkit.org/show_bug.cgi?id=53024 + + No new tests. No change in functionality + + * rendering/RenderObject.h: + (WebCore::RenderObject::before): + (WebCore::RenderObject::after): + (WebCore::RenderObject::generatingNode): + Added new accessors for the use of the CSS 2.1 counters code + (mainlyly) + * rendering/RenderObjectChildList.cpp: + (WebCore::beforeAfterContainer): + (WebCore::RenderObjectChildList::invalidateCounters): + (WebCore::RenderObjectChildList::before): + (WebCore::RenderObjectChildList::after): + Refactored the code to take advantage of the new accessors. + (WebCore::RenderObjectChildList::updateBeforeAfterContent): + Changed to store the generating node in the :before and :after + renderers. + * rendering/RenderObjectChildList.h: + +2011-01-31 Krithigassree Sambamurthy <krithigassree.sambamurthy@nokia.com> + + Reviewed by David Hyatt. + + Add background-clip to background shorthand + https://bugs.webkit.org/show_bug.cgi?id=52080 + + Added background-clip to background-shorthand. Also made changes to + include webkitMaskClip to the mask shorthand to keep both in sync. + + * css/CSSParser.cpp: + (WebCore::CSSParser::parseValue): + (WebCore::CSSParser::parseFillShorthand): + +2011-01-31 Darin Adler <darin@apple.com> + + Reviewed by Adele Peterson. + + WKView should support scrollPageDown:, scrollPageUp:, scrollToBeg and other similar selectors + https://bugs.webkit.org/show_bug.cgi?id=53460 + + * editing/EditorCommand.cpp: + (WebCore::executeScrollPageBackward): Added. + (WebCore::executeScrollPageForward): Added. + (WebCore::executeScrollToBeginningOfDocument): Added. + (WebCore::executeScrollToEndOfDocument): Added. + (WebCore::createCommandMap): Added the four commands above to the map. + +2011-01-31 Dan Bernstein <mitz@apple.com> + + Reviewed by Adele Peterson. + + Inter-ideograph justification should apply to hiragana and katakana as well + https://bugs.webkit.org/show_bug.cgi?id=53464 + + Changed the test for expansion opportunities from isCJKIdeograph() to isCJKIdeographOrSymbol(). + + * platform/graphics/Font.cpp: + (WebCore::Font::expansionOpportunityCount): + * platform/graphics/WidthIterator.cpp: + (WebCore::WidthIterator::advance): + * platform/graphics/mac/ComplexTextController.cpp: + (WebCore::ComplexTextController::adjustGlyphsAndAdvances): + +2011-01-31 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by James Robinson. + + REGRESSION(r76951): Appearance of media controls changed slightly on Qt/Chromium ports + https://bugs.webkit.org/show_bug.cgi?id=53314 + + Fixes media/controls-strict.html on Chromium. + + * css/mediaControlsChromium.css: + (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline): + Added proper box-sizing to avoid differences between strict/quirks mode. + +2011-01-31 Kent Tamura <tkent@chromium.org> + + Reviewed by Dimitri Glazkov. + + Validation message bubble shouldn't inherit text-security style + https://bugs.webkit.org/show_bug.cgi?id=53457 + + No new tests because the validation message feature depends on timers + and is enabled only in Chromium port. + + * css/html.css: + (::-webkit-validation-bubble): Reset -webkit-text-security. + +2011-01-31 Michael Saboff <msaboff@apple.com> + + Reviewed by Geoffrey Garen. + + Potentially Unsafe HashSet of RuntimeObject* in RootObject definition + https://bugs.webkit.org/show_bug.cgi?id=53271 + + Reapplying this patch again. + The removal of this patch in <http://trac.webkit.org/changeset/77125> + as part of https://bugs.webkit.org/show_bug.cgi?id=53418, + removed the both the first (failing) patch (r76893) and this fixed + patch (r76969). This patch includes slight changes necessitated by + r77151. + + Reapplying this patch with the change that the second ASSERT in + RootObject::removeRuntimeObject was changed to use + .uncheckedGet() instead of the failing .get(). The object in question + could be in the process of being GC'ed. The get() call will not return + such an object while the uncheckedGet() call will return the (unsafe) + object. This is the behavior we want. + + Precautionary change. + Changed RootObject to use WeakGCMap instead of HashSet. + Found will looking for another issue, but can't produce a test case + that is problematic. THerefore there aren't any new tests. + + * bridge/runtime_root.cpp: + (JSC::Bindings::RootObject::invalidate): + (JSC::Bindings::RootObject::addRuntimeObject): + (JSC::Bindings::RootObject::removeRuntimeObject): + * bridge/runtime_root.h: + +2011-01-31 Andreas Kling <kling@webkit.org> + + Unbreak Qt build after r77151. + + * bridge/qt/qt_instance.cpp: + (JSC::Bindings::QtInstance::removeCachedMethod): + (JSC::Bindings::QtInstance::markAggregate): + +2011-01-31 takano takumi <takano@apple.com> + + Reviewed by Dave Hyatt. + + Implement text-combine rendering code + https://bugs.webkit.org/show_bug.cgi?id=50621 + + Test: fast/text/international/text-combine-image-test.html + + * Android.mk: Added RenderCombineText.cpp/h + * CMakeLists.txt: Added RenderCombineText.cpp/h + * GNUmakefile.am: Added RenderCombineText.cpp/h + * WebCore.exp.in: + * WebCore.gypi: Added RenderCombineText.cpp/h + * WebCore.pro: Added RenderCombineText.cpp/h + * WebCore.vcproj/WebCore.vcproj: Added RenderCombineText.cpp/h + * WebCore.xcodeproj/project.pbxproj: Added RenderCombineText.cpp/h + * css/CSSFontFaceSource.cpp: + (WebCore::CSSFontFaceSource::getFontData): + - Added fontDescription.widthVariant to SimpleFontData creation. + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::applyProperty): + - Changed to set "Unique" flag to RenderStyle in case of TextCombine. + * dom/Text.cpp: + (WebCore::Text::createRenderer): + - Changed to create RenderCombineText in case of TextCombine. + * loader/cache/CachedFont.cpp: + (WebCore::CachedFont::platformDataFromCustomData): + - Added FontWidthVariant as an argument for FontPlatformData creation. + * loader/cache/CachedFont.h: + - Ditto. + * platform/graphics/Font.h: + (WebCore::Font::widthVariant): + - The accessor to FontWidthVariant member variable. + * platform/graphics/FontCache.cpp: + - Made cache to incorporate FontWidthVariant value. + (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey): + (WebCore::FontPlatformDataCacheKey::operator==): + (WebCore::computeHash): + (WebCore::FontCache::getCachedFontPlatformData): + * platform/graphics/FontDescription.h: + - Add a member variable that holds a width variant - none, half-width, third-width, and quarter-width. + (WebCore::FontDescription::FontDescription): + (WebCore::FontDescription::widthVariant): + (WebCore::FontDescription::setWidthVariant): + (WebCore::FontDescription::operator==): + * platform/graphics/FontWidthVariant.h: Added. + * platform/graphics/cairo/FontCustomPlatformData.h: + - Changed to carry FontWidthVariant value. + * platform/graphics/cocoa/FontPlatformData.h: + - Changed to carry FontWidthVariant value. + (WebCore::FontPlatformData::FontPlatformData): + (WebCore::FontPlatformData::widthVariant): + (WebCore::FontPlatformData::hash): + (WebCore::FontPlatformData::operator==): + * platform/graphics/cocoa/FontPlatformDataCocoa.mm: + (WebCore::FontPlatformData::FontPlatformData): + - Changed to carry FontWidthVariant value. + (WebCore::FontPlatformData::operator=): + - Ditto. + (WebCore::mapFontWidthVariantToCTFeatureSelector): + - A function to map a FontWidthVariant value to a CoreText's text spacing feature selector. + (WebCore::FontPlatformData::ctFont): + - Changed to create CTFont with text spacing variant based on FontWidthVariant. + * platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp: + (WebCore::FontCustomPlatformData::fontPlatformData): + - Changed to carry FontWidthVariant value. + * platform/graphics/haiku/FontCustomPlatformData.cpp: + (WebCore::FontCustomPlatformData::fontPlatformData): + - Changed to carry FontWidthVariant value. + * platform/graphics/haiku/FontCustomPlatformData.h: + * platform/graphics/mac/FontCacheMac.mm: + (WebCore::FontCache::createFontPlatformData): + - Changed to carry FontWidthVariant value. + * platform/graphics/mac/FontCustomPlatformData.cpp: + (WebCore::FontCustomPlatformData::fontPlatformData): + - Changed to carry FontWidthVariant value. + * platform/graphics/mac/FontCustomPlatformData.h: + - Ditto. + * platform/graphics/mac/GlyphPageTreeNodeMac.cpp: + (WebCore::shouldUseCoreText): + - Changed to skip CT path when width variant is specified. + * platform/graphics/pango/FontCustomPlatformDataPango.cpp: + (WebCore::FontCustomPlatformData::fontPlatformData): + - Ditto. + * platform/graphics/qt/FontCustomPlatformData.h: + - Ditto. + * platform/graphics/qt/FontCustomPlatformDataQt.cpp: + (WebCore::FontCustomPlatformData::fontPlatformData): + - Ditto. + * platform/graphics/skia/FontCustomPlatformData.cpp: + (WebCore::FontCustomPlatformData::fontPlatformData): + - Ditto. + * platform/graphics/skia/FontCustomPlatformData.h: + - Ditto. + * platform/graphics/win/FontCustomPlatformData.cpp: + (WebCore::FontCustomPlatformData::fontPlatformData): + - Ditto. + * platform/graphics/win/FontCustomPlatformData.h: + - Ditto. + * platform/graphics/win/FontCustomPlatformDataCairo.cpp: + - Ditto. + (WebCore::FontCustomPlatformData::fontPlatformData): + - Ditto. + * platform/graphics/win/FontCustomPlatformDataCairo.h: + - Ditto. + * platform/graphics/wince/FontCustomPlatformData.cpp: + (WebCore::FontCustomPlatformData::fontPlatformData): + - Ditto. + * platform/graphics/wince/FontCustomPlatformData.h: + - Ditto. + * platform/graphics/wx/FontCustomPlatformData.cpp: + (WebCore::FontCustomPlatformData::fontPlatformData): + - Ditto. + * platform/graphics/wx/FontCustomPlatformData.h: + - Ditto. + * rendering/InlineTextBox.cpp: + (WebCore::InlineTextBox::paint): + - In case of RenderCombineText, we don't rotate text even in vertical writing. Also, we render original text + instead of text returned from text(). + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::computeInlinePreferredLogicalWidths): + - Made to call RenderCombinedText's prepareTextCombine() here. + * rendering/RenderBlockLineLayout.cpp: + (WebCore::textWidth): + - Made to always use the render object's width() in case of TextCombine. + (WebCore::RenderBlock::findNextLineBreak): + - Made to call RenderCombinedText's prepareTextCombine() here. + * rendering/RenderCombineText.cpp: Added. A subclass of RenderText. + (WebCore::RenderCombineText::RenderCombineText): + (WebCore::RenderCombineText::styleDidChange): + - Clear the flag that indicated the font has been prepared for combining. The font will be reinitialized in + the next call of RenderBlock::findNextLineBreak(). + (WebCore::RenderCombineText::setTextInternal): + - Ditto. + (WebCore::RenderCombineText::width): + - Returns 1-em width in case of font combine. + (WebCore::RenderCombineText::adjustTextOrigin): + - Adjust drawing origin point in case of font combine. + (WebCore::RenderCombineText::charactersToRender): + - Return original text instead of current text in case of font combine. + (WebCore::RenderCombineText::combineText): + - This function tries to pack passed text with; 1) the current font as is, 2) the font created + from the descriptor with half-width variant specified, 3) the font with third-width variant, 4) the font + with quarter-width variant. + - If a suitable font successfully found, replace the current font with the new font. If no appropriate font found, + we give up text-combine as the CSS spec describes. + - If a new font found, we replace the text with 0xFFFC. This is needed for a combined text block to be able to + behave like a single character against text decorations. + * rendering/RenderCombineText.h: Added. + (WebCore::RenderCombineText::isCombined): + (WebCore::RenderCombineText::combinedTextWidth): + - Returns 1-em width in case of font combine. + (WebCore::RenderCombineText::renderName): + (WebCore::toRenderCombineText): + * rendering/RenderText.cpp: + (WebCore::RenderText::widthFromCache): + - Made to call RenderCombineText's combinedTextWidth when the text is combined. + * rendering/RenderingAllInOne.cpp: Added RenderCombineText.cpp + * rendering/style/RenderStyle.h: + (WebCore::InheritedFlags::hasTextCombine): + - Added for a quick test of TextCombine. + +2011-01-31 Oliver Hunt <oliver@apple.com> + + Convert markstack to a slot visitor API + https://bugs.webkit.org/show_bug.cgi?id=53219 + + rolling r77098, r77099, r77100, r77109, and + r77111 back in, along with a few more Qt fix attempts. + + * ForwardingHeaders/runtime/WriteBarrier.h: Added. + * WebCore.exp.in: + * bindings/js/DOMWrapperWorld.h: + (WebCore::DOMWrapperWorld::globalData): + * bindings/js/JSAudioConstructor.cpp: + (WebCore::JSAudioConstructor::JSAudioConstructor): + * bindings/js/JSDOMBinding.cpp: + (WebCore::markDOMNodesForDocument): + (WebCore::markDOMObjectWrapper): + (WebCore::markDOMNodeWrapper): + * bindings/js/JSDOMGlobalObject.cpp: + (WebCore::JSDOMGlobalObject::markChildren): + (WebCore::JSDOMGlobalObject::setInjectedScript): + (WebCore::JSDOMGlobalObject::injectedScript): + * bindings/js/JSDOMGlobalObject.h: + (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData): + (WebCore::getDOMConstructor): + * bindings/js/JSDOMWindowCustom.cpp: + (WebCore::JSDOMWindow::setLocation): + (WebCore::DialogHandler::dialogCreated): + * bindings/js/JSDOMWindowShell.cpp: + (WebCore::JSDOMWindowShell::JSDOMWindowShell): + (WebCore::JSDOMWindowShell::setWindow): + (WebCore::JSDOMWindowShell::markChildren): + (WebCore::JSDOMWindowShell::unwrappedObject): + * bindings/js/JSDOMWindowShell.h: + (WebCore::JSDOMWindowShell::window): + (WebCore::JSDOMWindowShell::setWindow): + * bindings/js/JSDeviceMotionEventCustom.cpp: + (WebCore::createAccelerationObject): + (WebCore::createRotationRateObject): + * bindings/js/JSEventListener.cpp: + (WebCore::JSEventListener::JSEventListener): + (WebCore::JSEventListener::markJSFunction): + * bindings/js/JSEventListener.h: + (WebCore::JSEventListener::jsFunction): + * bindings/js/JSHTMLDocumentCustom.cpp: + (WebCore::JSHTMLDocument::setAll): + * bindings/js/JSImageConstructor.cpp: + (WebCore::JSImageConstructor::JSImageConstructor): + * bindings/js/JSImageDataCustom.cpp: + (WebCore::toJS): + * bindings/js/JSJavaScriptCallFrameCustom.cpp: + (WebCore::JSJavaScriptCallFrame::scopeChain): + (WebCore::JSJavaScriptCallFrame::scopeType): + * bindings/js/JSNodeFilterCondition.cpp: + (WebCore::JSNodeFilterCondition::markAggregate): + (WebCore::JSNodeFilterCondition::acceptNode): + * bindings/js/JSNodeFilterCondition.h: + * bindings/js/JSNodeFilterCustom.cpp: + * bindings/js/JSOptionConstructor.cpp: + (WebCore::JSOptionConstructor::JSOptionConstructor): + * bindings/js/JSSQLResultSetRowListCustom.cpp: + (WebCore::JSSQLResultSetRowList::item): + * bindings/js/ScriptCachedFrameData.cpp: + (WebCore::ScriptCachedFrameData::restore): + * bindings/js/ScriptObject.cpp: + (WebCore::ScriptGlobalObject::set): + * bindings/js/SerializedScriptValue.cpp: + (WebCore::CloneDeserializer::putProperty): + * bindings/scripts/CodeGeneratorJS.pm: + * bridge/qt/qt_class.cpp: + (JSC::Bindings::QtClass::fallbackObject): + * bridge/qt/qt_instance.cpp: + (JSC::Bindings::QtInstance::QtInstance): + (JSC::Bindings::QtInstance::removeCachedMethod): + (JSC::Bindings::QtInstance::markAggregate): + * bridge/qt/qt_instance.h: + * bridge/qt/qt_runtime.cpp: + (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod): + (JSC::Bindings::QtRuntimeMetaMethod::markChildren): + (JSC::Bindings::QtRuntimeMetaMethod::connectGetter): + (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter): + * bridge/qt/qt_runtime.h: + * dom/Document.h: + +2011-01-31 Dan Winship <danw@gnome.org> + + Reviewed by Gustavo Noronha Silva. + + wss (websockets ssl) support for gtk via new gio TLS support + https://bugs.webkit.org/show_bug.cgi?id=50344 + + Update to use GPollableOutputStream and GTlsConnection to + implement wss URLs + + * platform/network/soup/SocketStreamHandle.h: + * platform/network/soup/SocketStreamHandleSoup.cpp: + (WebCore::SocketStreamHandle::SocketStreamHandle): + (WebCore::SocketStreamHandle::connected): + (WebCore::SocketStreamHandle::platformSend): + (WebCore::SocketStreamHandle::beginWaitingForSocketWritability): + (WebCore::writeReadyCallback): + +2011-01-31 Abhishek Arya <inferno@chromium.org> + + Reviewed by Dimitri Glazkov. + + Check the textarea node still exists in document before casting + it to HTMLTextAreaElement. + https://bugs.webkit.org/show_bug.cgi?id=53429 + + Test: fast/forms/textarea-node-removed-from-document-crash.html + + * rendering/RenderTextControlMultiLine.cpp: + (WebCore::RenderTextControlMultiLine::~RenderTextControlMultiLine): + +2011-01-27 Abhishek Arya <inferno@chromium.org> + + Reviewed by Dave Hyatt. + + If beforeChild is wrapped in an anonymous table section, we need to + go the parent to find it and use it before adding childs to table. + https://bugs.webkit.org/show_bug.cgi?id=53276 + + We need to make sure that beforeChild's parent is "this" before calling + RenderBox::addChild. The previous condition in while is too restrictive + and fails to calculate the right beforeChild value when its display + style is table caption. + Test: fast/table/before-child-non-table-section-add-table-crash.html + + * rendering/RenderTable.cpp: + (WebCore::RenderTable::addChild): + +2011-01-31 Shane Stephens <shanestephens@google.com> + + Reviewed by Simon Fraser. + + AffineTransform::translateRight incorrectly computes a translateLeft. + https://bugs.webkit.org/show_bug.cgi?id=52551 + + Removed translateRight and converted all uses to perform standard + matrix multiplication. + + No new tests because patch doesn't modify functionality. + + * platform/graphics/transforms/AffineTransform.cpp: + * platform/graphics/transforms/AffineTransform.h: + (WebCore::AffineTransform::translation): + * rendering/svg/RenderSVGResourceMarker.cpp: + (WebCore::RenderSVGResourceMarker::localToParentTransform): + * rendering/svg/RenderSVGRoot.cpp: + (WebCore::RenderSVGRoot::localToRepaintContainerTransform): + (WebCore::RenderSVGRoot::localToParentTransform): + * rendering/svg/RenderSVGViewportContainer.cpp: + (WebCore::RenderSVGViewportContainer::localToParentTransform): + * rendering/svg/SVGTextLayoutEngine.cpp: + (WebCore::SVGTextLayoutEngine::finalizeTransformMatrices): + +2011-01-31 Mario Sanchez Prada <msanchez@igalia.com> + + Reviewed by Martin Robinson. + + [Gtk] atk_text_set_caret_offset returns True even when it is unsuccessful + https://bugs.webkit.org/show_bug.cgi?id=53389 + + Return FALSE when not able to set the caret at the specified offset. + + * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: + (webkit_accessible_text_set_caret_offset): Return FALSE when the + range created is NULL and adjust offset to account for list markers. + +2011-01-28 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: copy HAR to clipboard instead of saving blob on export. + https://bugs.webkit.org/show_bug.cgi?id=53328 + + * inspector/front-end/NetworkPanel.js: + (WebInspector.NetworkPanel.prototype._exportAll): + (WebInspector.NetworkPanel.prototype._exportResource): + +2011-01-30 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Timothy Hatcher. + + Web Inspector: speed up network panel rendering. + https://bugs.webkit.org/show_bug.cgi?id=53397 + + * inspector/front-end/DataGrid.js: + (WebInspector.DataGrid.prototype.get scrollContainer): + * inspector/front-end/NetworkPanel.js: + (WebInspector.NetworkPanel.prototype.elementsToRestoreScrollPositionsFor): + (WebInspector.NetworkPanel.prototype._positionSummaryBar): + (WebInspector.NetworkPanel.prototype._createTable): + (WebInspector.NetworkPanel.prototype._exportResource): + (WebInspector.NetworkPanel.prototype._onScroll): + * inspector/front-end/networkPanel.css: + (.network-sidebar .data-grid.small tr.offscreen): + (.network-sidebar .data-grid tr.offscreen): + (.network-sidebar .data-grid tr.offscreen td): + +2011-01-31 Peter Varga <pvarga@webkit.org> + + Reviewed by Andreas Kling. + + Remove wrec from WebCore + https://bugs.webkit.org/show_bug.cgi?id=53298 + + No new tests needed. + + * Android.jscbindings.mk: + * ForwardingHeaders/wrec/WREC.h: Removed. + * WebCore.vcproj/WebCore.vcproj: + * WebCore.vcproj/copyForwardingHeaders.cmd: + +2011-01-31 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r76969. + http://trac.webkit.org/changeset/76969 + https://bugs.webkit.org/show_bug.cgi?id=53418 + + "It is causing crashes in GTK+ and Leopard bots" (Requested by + alexg__ on #webkit). + + * bridge/runtime_root.cpp: + (JSC::Bindings::RootObject::invalidate): + (JSC::Bindings::RootObject::addRuntimeObject): + (JSC::Bindings::RootObject::removeRuntimeObject): + * bridge/runtime_root.h: + +2011-01-31 Antti Koivisto <antti@apple.com> + + Not reviewed. + + Spelling. + + * css/CSSSelectorList.h: + (WebCore::CSSSelectorList::next): + +2011-01-31 Yury Semikhatsky <yurys@chromium.org> + + Unreviewed. Fix Chromium compilation on Linux. + + * platform/graphics/ShadowBlur.cpp: added PLATFORM(CHROMIUM) guard + * platform/graphics/ShadowBlur.h: added missing ColorSpace.h header include + +2011-01-31 Yury Semikhatsky <yurys@chromium.org> + + Unreviewed. Fix Chromium compilation on Mac broken by r77101. + + * WebCore.gypi: add ShadowBlur.{h,cpp} to the gypi file. + +2011-01-31 Mikhail Naganov <mnaganov@chromium.org> + + Reviewed by Yury Semikhatsky. + + WebInspector: Change button title from "Clear CPU profiles" to "Clear all profiles". + + https://bugs.webkit.org/show_bug.cgi?id=53309 + + * English.lproj/localizedStrings.js: + * inspector/front-end/ProfilesPanel.js: + (WebInspector.ProfilesPanel): + +2011-01-31 Carlos Garcia Campos <cgarcia@igalia.com> + + Unreviewed, fix the build with current GTK+ 3.x. + + * plugins/gtk/gtk2xtbin.c: + * plugins/gtk/gtk2xtbin.h: + +2011-01-30 Kenichi Ishibashi <bashi@google.com> + + Reviewed by Kent Tamura. + + Dangling form associated elements should not be registered on the document + https://bugs.webkit.org/show_bug.cgi?id=53223 + + Adds insertedIntoDocument() and remvoedFromDocument() to + FormAssociatedElement class to register the element on the document + if and only if it actually inserted into (removed from) the document. + + Test: fast/forms/dangling-form-element-crash.html + + * html/FormAssociatedElement.cpp: + (WebCore::FormAssociatedElement::insertedIntoDocument): Added. + (WebCore::FormAssociatedElement::removedFromDocument): Ditto. + (WebCore::FormAssociatedElement::insertedIntoTree): Don't register + the element to a document. + (WebCore::FormAssociatedElement::removedFromTree): Don't unregister + the element from a document. + * html/FormAssociatedElement.h: + * html/HTMLFormControlElement.cpp: + (WebCore::HTMLFormControlElement::insertedIntoDocument): Added. + (WebCore::HTMLFormControlElement::removedFromDocument): Ditto. + * html/HTMLFormControlElement.h: + * html/HTMLObjectElement.cpp: + (WebCore::HTMLObjectElement::insertedIntoDocument): Calls + FormAssociatedElement::insertedIntoDocument(). + (WebCore::HTMLObjectElement::removedFromDocument): Calls + FormAssociatedElement::removedFromDocument(). + +2011-01-30 Csaba Osztrogonác <ossy@webkit.org> + + Unreviewed, rolling out r77098, r77099, r77100, r77109, and + r77111. + http://trac.webkit.org/changeset/77098 + http://trac.webkit.org/changeset/77099 + http://trac.webkit.org/changeset/77100 + http://trac.webkit.org/changeset/77109 + http://trac.webkit.org/changeset/77111 + https://bugs.webkit.org/show_bug.cgi?id=53219 + + Qt build is broken + + * ForwardingHeaders/runtime/WriteBarrier.h: Removed. + * WebCore.exp.in: + * bindings/js/DOMWrapperWorld.h: + * bindings/js/JSAudioConstructor.cpp: + (WebCore::JSAudioConstructor::JSAudioConstructor): + * bindings/js/JSDOMBinding.cpp: + (WebCore::markDOMNodesForDocument): + (WebCore::markDOMObjectWrapper): + (WebCore::markDOMNodeWrapper): + * bindings/js/JSDOMGlobalObject.cpp: + (WebCore::JSDOMGlobalObject::markChildren): + (WebCore::JSDOMGlobalObject::setInjectedScript): + (WebCore::JSDOMGlobalObject::injectedScript): + * bindings/js/JSDOMGlobalObject.h: + (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData): + (WebCore::getDOMConstructor): + * bindings/js/JSDOMWindowCustom.cpp: + (WebCore::JSDOMWindow::setLocation): + (WebCore::DialogHandler::dialogCreated): + * bindings/js/JSDOMWindowShell.cpp: + (WebCore::JSDOMWindowShell::JSDOMWindowShell): + (WebCore::JSDOMWindowShell::setWindow): + (WebCore::JSDOMWindowShell::markChildren): + (WebCore::JSDOMWindowShell::unwrappedObject): + * bindings/js/JSDOMWindowShell.h: + (WebCore::JSDOMWindowShell::window): + (WebCore::JSDOMWindowShell::setWindow): + * bindings/js/JSDeviceMotionEventCustom.cpp: + (WebCore::createAccelerationObject): + (WebCore::createRotationRateObject): + * bindings/js/JSEventListener.cpp: + (WebCore::JSEventListener::JSEventListener): + (WebCore::JSEventListener::markJSFunction): + * bindings/js/JSEventListener.h: + (WebCore::JSEventListener::jsFunction): + * bindings/js/JSHTMLDocumentCustom.cpp: + (WebCore::JSHTMLDocument::setAll): + * bindings/js/JSImageConstructor.cpp: + (WebCore::JSImageConstructor::JSImageConstructor): + * bindings/js/JSImageDataCustom.cpp: + (WebCore::toJS): + * bindings/js/JSJavaScriptCallFrameCustom.cpp: + (WebCore::JSJavaScriptCallFrame::scopeChain): + (WebCore::JSJavaScriptCallFrame::scopeType): + * bindings/js/JSNodeFilterCondition.cpp: + (WebCore::JSNodeFilterCondition::markAggregate): + (WebCore::JSNodeFilterCondition::acceptNode): + * bindings/js/JSNodeFilterCondition.h: + * bindings/js/JSNodeFilterCustom.cpp: + * bindings/js/JSOptionConstructor.cpp: + (WebCore::JSOptionConstructor::JSOptionConstructor): + * bindings/js/JSSQLResultSetRowListCustom.cpp: + (WebCore::JSSQLResultSetRowList::item): + * bindings/js/ScriptCachedFrameData.cpp: + (WebCore::ScriptCachedFrameData::restore): + * bindings/js/ScriptObject.cpp: + (WebCore::ScriptGlobalObject::set): + * bindings/js/SerializedScriptValue.cpp: + (WebCore::CloneDeserializer::putProperty): + * bindings/scripts/CodeGeneratorJS.pm: + * bridge/qt/qt_instance.cpp: + (JSC::Bindings::QtInstance::QtInstance): + (JSC::Bindings::QtInstance::removeCachedMethod): + (JSC::Bindings::QtInstance::markAggregate): + * bridge/qt/qt_instance.h: + * bridge/qt/qt_runtime.cpp: + (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod): + (JSC::Bindings::QtRuntimeMetaMethod::markChildren): + (JSC::Bindings::QtRuntimeMetaMethod::connectGetter): + (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter): + * bridge/qt/qt_runtime.h: + * bridge/runtime_root.cpp: + (JSC::Bindings::RootObject::invalidate): + * bridge/runtime_root.h: + * dom/Document.h: + +2011-01-30 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r77107. + http://trac.webkit.org/changeset/77107 + https://bugs.webkit.org/show_bug.cgi?id=53412 + + Caused 5 new form-related test crashes (Requested by smfr on + #webkit). + + * css/CSSSelector.cpp: + (WebCore::CSSSelector::pseudoId): + (WebCore::nameToPseudoTypeMap): + (WebCore::CSSSelector::extractPseudoType): + * css/CSSSelector.h: + * html/HTMLProgressElement.cpp: + (WebCore::HTMLProgressElement::parseMappedAttribute): + (WebCore::HTMLProgressElement::attach): + * html/HTMLProgressElement.h: + * rendering/RenderProgress.cpp: + (WebCore::RenderProgress::~RenderProgress): + (WebCore::RenderProgress::updateFromElement): + (WebCore::RenderProgress::layoutParts): + (WebCore::RenderProgress::shouldHaveParts): + * rendering/RenderProgress.h: + * rendering/style/RenderStyleConstants.h: + +2011-01-30 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Sam Weinig. + + Enhance ShadowBlur to render inset box shadows + https://bugs.webkit.org/show_bug.cgi?id=51567 + + Use ShadowBlur for inset box-shadows with CG. It + currently lacks a tiled version, but is still much + faster than CG shadows. + + Test: fast/box-shadow/inset-box-shadow-radius.html + + * platform/graphics/ShadowBlur.cpp: + * platform/graphics/ShadowBlur.h: New method for inset + shadows. + (WebCore::ShadowBlur::drawInsetShadow): + + * platform/graphics/GraphicsContext.cpp: #ifdef out + fillRectWithRoundedHole() for CG. + + * platform/graphics/cg/GraphicsContextCG.cpp: + (WebCore::GraphicsContext::fillRectWithRoundedHole): If there's + a shadow with a radius > 0, use ShadowBlur. + +2011-01-28 Kenneth Russell <kbr@google.com> + + Reviewed by Chris Marrin. + + WebGL shows PNG Textures with indexed colors too dark + https://bugs.webkit.org/show_bug.cgi?id=47477 + + Properly handle indexed PNG images by re-rendering them as RGBA + images before upload. Verified with this layout test and the test + cases from bugs 47477 and 53269. + + * platform/graphics/cg/GraphicsContext3DCG.cpp: + (WebCore::GraphicsContext3D::getImageData): + +2011-01-27 MORITA Hajime <morrita@google.com> + + Reviewed by Dimitri Glazkov. + + Convert <progress> shadow DOM to a DOM-based shadow. + https://bugs.webkit.org/show_bug.cgi?id=50660 + + * Removed RenderProgress::m_valuePart, moved the shadow node + to the shadow root of HTMLProgressElement. + * Removed hard-coded pseudo ID for -webkit-progress-bar-value. + ProgressBarValueElement is defined only for overriding + shadowPseudoId(). + + No new tests. No behavioral change. + + * css/CSSSelector.cpp: + (WebCore::CSSSelector::pseudoId): + (WebCore::nameToPseudoTypeMap): + (WebCore::CSSSelector::extractPseudoType): + * css/CSSSelector.h: + * html/HTMLProgressElement.cpp: + (WebCore::ProgressBarValueElement::ProgressBarValueElement): + (WebCore::ProgressBarValueElement::shadowPseudoId): + (WebCore::ProgressBarValueElement::create): + (WebCore::HTMLProgressElement::parseMappedAttribute): + (WebCore::HTMLProgressElement::attach): + (WebCore::HTMLProgressElement::valuePart): + (WebCore::HTMLProgressElement::didElementStateChange): + (WebCore::HTMLProgressElement::createShadowSubtreeIfNeeded): + * html/HTMLProgressElement.h: + * rendering/RenderProgress.cpp: + (WebCore::RenderProgress::~RenderProgress): + (WebCore::RenderProgress::updateFromElement): + (WebCore::RenderProgress::layoutParts): + (WebCore::RenderProgress::shouldHaveParts): + (WebCore::RenderProgress::valuePart): + * rendering/RenderProgress.h: + * rendering/style/RenderStyleConstants.h: + +2011-01-30 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Ariya Hidayat. + + Enhance ShadowBlur to render inset box shadows; Part 1. + https://bugs.webkit.org/show_bug.cgi?id=51567 + + Add a new method to GraphicsContext to render a rect with a rounded hole, + for use by inset box-shadow code. Knowledge that we're rendering a rounded + hole will enable ShadowBlur to be used here in future. + + * platform/graphics/GraphicsContext.cpp: + (WebCore::GraphicsContext::fillRectWithRoundedHole): + * platform/graphics/GraphicsContext.h: + * rendering/RenderBoxModelObject.cpp: + (WebCore::RenderBoxModelObject::paintBoxShadow): + +2011-01-23 MORITA Hajime <morrita@google.com> + + Reviewed by Eric Seidel. + + REGRESSION: Inset shadow with too large border radius misses rounded corner. + https://bugs.webkit.org/show_bug.cgi?id=52800 + + The refactoring on r76083 broke the invariant between border + IntRect and its radii because RoundedIntRect::setRect() is called + after getRoundedInnerBorderWithBorderWidths(), which enforces the + invariant. Th rounded-rect clipping code verifies the invariant, + and discard the invalid radii, that results broken paintings. + + This change moved setRect() before + getRoundedInnerBorderWithBorderWidths() not to modify the valid + RoundedIntRect value. + + Test: fast/box-shadow/inset-with-extraordinary-radii-and-border.html + + * rendering/RenderBoxModelObject.cpp: + (WebCore::RenderBoxModelObject::paintBoxShadow): + +2011-01-30 Simon Fraser <simon.fraser@apple.com> + + Attempt to fix Windows build by adding ShadowBlur.cpp/h to the + vcproj. + + * WebCore.vcproj/WebCore.vcproj: + +2011-01-30 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dan Bernstein. + + -webkit-box-shadow causes awful scroll/resize/redraw performance + https://bugs.webkit.org/show_bug.cgi?id=22102 + + Use ShadowBlur for CG, whe rendering shadows on rects and + rounded rects outside of canvas. + + CG shadows with a radius of more than 8px do not render + correctly. We preserve this incorrect rendering by compensating + for it when rending -webkit-box-shadow. Calls that should use + this deprecated radius behavior now use setLegacyShadow(). + + Test: fast/box-shadow/box-shadow-transformed.html + + * html/canvas/CanvasRenderingContext2D.cpp: Use setLegacyShadow() + for canvas, to indicate that it should use the deprecated radius + behavior. + (WebCore::CanvasRenderingContext2D::setAllAttributesToDefault): Ditto. + (WebCore::CanvasRenderingContext2D::setShadow): Ditto. + (WebCore::CanvasRenderingContext2D::applyShadow): Ditto. + + * platform/graphics/GraphicsContext.cpp: + (WebCore::GraphicsContext::setLegacyShadow): Set the m_state.shadowsUseLegacyRadius bit. + + * platform/graphics/GraphicsContext.h: + (WebCore::GraphicsContextState::GraphicsContextState): Add a + shadowsUseLegacyRadius bit to the state. + + * platform/graphics/cg/GraphicsContextCG.cpp: + (WebCore::radiusToLegacyRadius): Map from the actual radius to one + that approximates CG behavior. + (WebCore::hasBlurredShadow): Helper that returns true if we have a shadow + with a non-zero blur radius. + (WebCore::GraphicsContext::fillRect): Use ShadowBlur if not canvas. + (WebCore::GraphicsContext::fillRoundedRect): Ditto. + (WebCore::GraphicsContext::setPlatformShadow): Comment. + + * rendering/RenderBoxModelObject.cpp: + (WebCore::RenderBoxModelObject::paintBoxShadow): Call setLegacyShadow() + for -webkit-box-shadow. + + * platform/graphics/ShadowBlur.cpp: + (WebCore::ShadowBlur::calculateLayerBoundingRect): Fix some pixel crack issues + by rounding up the blur radius. + (WebCore::ShadowBlur::drawRectShadow): Ditto + (WebCore::ShadowBlur::drawRectShadowWithTiling): Ditto. + +2011-01-30 Oliver Hunt <oliver@apple.com> + + Try to fix Qt build (again). + + * bridge/qt/qt_runtime.cpp: + (JSC::Bindings::QtRuntimeMetaMethod::connectGetter): + (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter): + +2011-01-30 Oliver Hunt <oliver@apple.com> + + Try to fix Qt build. + + * bridge/qt/qt_instance.cpp: + (JSC::Bindings::QtInstance::QtInstance): + (JSC::Bindings::QtInstance::removeCachedMethod): + (JSC::Bindings::QtInstance::markAggregate): + * bridge/qt/qt_instance.h: + +2011-01-30 Oliver Hunt <oliver@apple.com> + + Convert markstack to a slot visitor API + https://bugs.webkit.org/show_bug.cgi?id=53219 + + rolling r77006 and r77020 back in. + + * ForwardingHeaders/runtime/WriteBarrier.h: Added. + * WebCore.exp.in: + * bindings/js/DOMWrapperWorld.h: + (WebCore::DOMWrapperWorld::globalData): + * bindings/js/JSAudioConstructor.cpp: + (WebCore::JSAudioConstructor::JSAudioConstructor): + * bindings/js/JSDOMBinding.cpp: + (WebCore::markDOMNodesForDocument): + (WebCore::markDOMObjectWrapper): + (WebCore::markDOMNodeWrapper): + * bindings/js/JSDOMGlobalObject.cpp: + (WebCore::JSDOMGlobalObject::markChildren): + (WebCore::JSDOMGlobalObject::setInjectedScript): + (WebCore::JSDOMGlobalObject::injectedScript): + * bindings/js/JSDOMGlobalObject.h: + (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData): + (WebCore::getDOMConstructor): + * bindings/js/JSDOMWindowCustom.cpp: + (WebCore::JSDOMWindow::setLocation): + (WebCore::DialogHandler::dialogCreated): + * bindings/js/JSDOMWindowShell.cpp: + (WebCore::JSDOMWindowShell::JSDOMWindowShell): + (WebCore::JSDOMWindowShell::setWindow): + (WebCore::JSDOMWindowShell::markChildren): + (WebCore::JSDOMWindowShell::unwrappedObject): + * bindings/js/JSDOMWindowShell.h: + (WebCore::JSDOMWindowShell::window): + (WebCore::JSDOMWindowShell::setWindow): + * bindings/js/JSDeviceMotionEventCustom.cpp: + (WebCore::createAccelerationObject): + (WebCore::createRotationRateObject): + * bindings/js/JSEventListener.cpp: + (WebCore::JSEventListener::JSEventListener): + (WebCore::JSEventListener::markJSFunction): + * bindings/js/JSEventListener.h: + (WebCore::JSEventListener::jsFunction): + * bindings/js/JSHTMLDocumentCustom.cpp: + (WebCore::JSHTMLDocument::setAll): + * bindings/js/JSImageConstructor.cpp: + (WebCore::JSImageConstructor::JSImageConstructor): + * bindings/js/JSImageDataCustom.cpp: + (WebCore::toJS): + * bindings/js/JSJavaScriptCallFrameCustom.cpp: + (WebCore::JSJavaScriptCallFrame::scopeChain): + (WebCore::JSJavaScriptCallFrame::scopeType): + * bindings/js/JSNodeFilterCondition.cpp: + (WebCore::JSNodeFilterCondition::markAggregate): + (WebCore::JSNodeFilterCondition::acceptNode): + * bindings/js/JSNodeFilterCondition.h: + * bindings/js/JSNodeFilterCustom.cpp: + * bindings/js/JSOptionConstructor.cpp: + (WebCore::JSOptionConstructor::JSOptionConstructor): + * bindings/js/JSSQLResultSetRowListCustom.cpp: + (WebCore::JSSQLResultSetRowList::item): + * bindings/js/ScriptCachedFrameData.cpp: + (WebCore::ScriptCachedFrameData::restore): + * bindings/js/ScriptObject.cpp: + (WebCore::ScriptGlobalObject::set): + * bindings/js/SerializedScriptValue.cpp: + (WebCore::CloneDeserializer::putProperty): + * bindings/scripts/CodeGeneratorJS.pm: + * bridge/qt/qt_runtime.cpp: + (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod): + (JSC::Bindings::QtRuntimeMetaMethod::markChildren): + (JSC::Bindings::QtRuntimeMetaMethod::connectGetter): + (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter): + * bridge/qt/qt_runtime.h: + * bridge/runtime_root.cpp: + (JSC::Bindings::RootObject::invalidate): + * bridge/runtime_root.h: + * dom/Document.h: + +2011-01-30 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Sam Weinig. + + Make ContextShadow code cross-platform + https://bugs.webkit.org/show_bug.cgi?id=51312 + + Add a new class, ShadowBlur, that contains most of the + code from ContextShadow, but is fully cross-platform. + It depends on one new method, GraphicsContext::clipBounds(), + which platforms will have to implement. + + Add ShadowBlur to the Mac Xcode project, but don't use it + anywhere yet. + + * WebCore.xcodeproj/project.pbxproj: + * platform/graphics/GraphicsContext.cpp: + (WebCore::GraphicsContext::clipBounds): + * platform/graphics/GraphicsContext.h: + * platform/graphics/ShadowBlur.cpp: Added. + (WebCore::roundUpToMultipleOf32): + (WebCore::ScratchBuffer::ScratchBuffer): + (WebCore::ScratchBuffer::getScratchBuffer): + (WebCore::ScratchBuffer::scheduleScratchBufferPurge): + (WebCore::ScratchBuffer::timerFired): + (WebCore::ScratchBuffer::clearScratchBuffer): + (WebCore::ScratchBuffer::shared): + (WebCore::ShadowBlur::ShadowBlur): + (WebCore::ShadowBlur::blurLayerImage): + (WebCore::ShadowBlur::adjustBlurDistance): + (WebCore::ShadowBlur::calculateLayerBoundingRect): + (WebCore::ShadowBlur::beginShadowLayer): + (WebCore::ShadowBlur::endShadowLayer): + (WebCore::ShadowBlur::drawRectShadow): + (WebCore::ShadowBlur::drawRectShadowWithoutTiling): + (WebCore::ShadowBlur::drawRectShadowWithTiling): + (WebCore::ShadowBlur::clipBounds): + * platform/graphics/ShadowBlur.h: Added. + (WebCore::ShadowBlur::setShadowsIgnoreTransforms): + (WebCore::ShadowBlur::shadowsIgnoreTransforms): + * platform/graphics/cg/GraphicsContextCG.cpp: + (WebCore::GraphicsContext::clipBounds): + +2011-01-29 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dan Bernstein. + + CSS3 gradients with em-based stops fail to repaint when font size changes + https://bugs.webkit.org/show_bug.cgi?id=51845 + + Mark as uncacheable gradidients whose color stops depend on font size, + and don't attempt to put these into CSSImageGeneratorValue's image cache. + This means we return a new gradient each time, which is fairly cheap, and + fixes repaint issues under changing font size. + + Test: fast/repaint/gradients-em-stops-repaint.html + + * css/CSSGradientValue.cpp: + (WebCore::CSSGradientValue::image): + (WebCore::CSSGradientValue::isCacheable): + * css/CSSGradientValue.h: + +2011-01-29 Geoffrey Garen <ggaren@apple.com> + + Undo try to fix the Qt build. + + My guess didn't work. + + * WebCore.pro: + +2011-01-29 Geoffrey Garen <ggaren@apple.com> + + Try to fix the Qt build. + + * WebCore.pro: Added platform/text/CharacterNames.h. + +2011-01-28 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Maciej Stachowiak. + + Some more Heap cleanup. + https://bugs.webkit.org/show_bug.cgi?id=53357 + + Updated for JavaScriptCore changes. + + * bindings/js/ScriptGCEvent.cpp: + (WebCore::ScriptGCEvent::getHeapSize): + +2011-01-29 Adam Barth <abarth@webkit.org> + + Reviewed by Daniel Bates. + + Fix XSSFilter crash when extracting the source for a token twice + https://bugs.webkit.org/show_bug.cgi?id=53368 + + Previously, it was unsafe to extract the source for the same token + twice because the HTMLSourceTracker would advance its internal + representation of the SegmentedString. This patch introduces a cache + to make calling HTMLSourceTracker::sourceForToken multiple times safe. + + * html/parser/HTMLSourceTracker.cpp: + (WebCore::HTMLSourceTracker::end): + (WebCore::HTMLSourceTracker::sourceForToken): + * html/parser/HTMLSourceTracker.h: + +2011-01-29 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Dan Bernstein. + + Fix fat build for both 32-bit and 64-bit under llvm-gcc 4.2 + https://bugs.webkit.org/show_bug.cgi?id=53386 + + * platform/mac/ScrollAnimatorMac.mm: + (WebCore::elasticDeltaForReboundDelta): + (WebCore::scrollWheelMultiplier): + (WebCore::ScrollAnimatorMac::smoothScrollWithEvent): + (WebCore::ScrollAnimatorMac::beginScrollGesture): + (WebCore::roundTowardZero): + (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired): + +2011-01-29 Daniel Bates <dbates@rim.com> + + Reviewed by Maciej Stachowiak. + + Remove reference to ${CMAKE_SOURCE_DIR}/Source in CMake files + https://bugs.webkit.org/show_bug.cgi?id=53382 + + Our file system hierarchy ensures that CMAKE_SOURCE_DIR is defined to be /Source. + So, ${CMAKE_SOURCE_DIR}/Source evaluates to the non-existent directory /Source/Source. + Therefore, we should remove such references. + + * CMakeLists.txt: + +2011-01-29 Sam Weinig <sam@webkit.org> + + Reviewed by Jon Honeycutt. + + Fix 32-bit build on the Mac. + + * platform/mac/ScrollAnimatorMac.mm: + (WebCore::roundTowardZero): + (WebCore::roundToDevicePixelTowardZero): + Use floats instead of doubles to avoid double-to-float conversion + issues. + +2011-01-29 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Adam Barth. + + Use clampToInteger() functions in a few places + https://bugs.webkit.org/show_bug.cgi?id=53363 + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::applyProperty): Use clampToInteger() for z-index. + (WebCore::CSSStyleSelector::createTransformOperations): Use clampToPositiveInteger(). + * platform/graphics/transforms/PerspectiveTransformOperation.cpp: Ditto. + (WebCore::PerspectiveTransformOperation::blend): Ditto. + +2011-01-29 Patrick Gansterer <paroga@webkit.org> + + Reviewed by David Kilzer. + + Move CharacterNames.h into WTF directory + https://bugs.webkit.org/show_bug.cgi?id=49618 + + * ForwardingHeaders/wtf/unicode/CharacterNames.h: Added. + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * accessibility/AccessibilityObject.cpp: + * accessibility/AccessibilityRenderObject.cpp: + * bindings/cpp/WebDOMHTMLDocumentCustom.cpp: + * bindings/js/JSHTMLDocumentCustom.cpp: + * dom/Position.cpp: + * dom/SelectElement.cpp: + * editing/CompositeEditCommand.cpp: + * editing/Editor.cpp: + * editing/HTMLInterchange.cpp: + * editing/InsertTextCommand.cpp: + * editing/MarkupAccumulator.cpp: + * editing/TextIterator.cpp: + * editing/VisibleSelection.cpp: + * editing/htmlediting.cpp: + * editing/htmlediting.h: + * editing/markup.cpp: + * html/FTPDirectoryDocument.cpp: + * html/HTMLFormControlElement.cpp: + * html/parser/HTMLTreeBuilder.cpp: + * loader/appcache/ManifestParser.cpp: + * platform/chromium/PopupMenuChromium.cpp: + * platform/graphics/Font.h: + * platform/graphics/FontFastPath.cpp: + * platform/graphics/GlyphPageTreeNode.cpp: + * platform/graphics/StringTruncator.cpp: + * platform/graphics/mac/ComplexTextController.cpp: + * platform/graphics/mac/ComplexTextControllerATSUI.cpp: + * platform/graphics/wince/GraphicsContextWinCE.cpp: + * platform/mac/PasteboardMac.mm: + * platform/text/TextCodecICU.cpp: + * platform/text/mac/TextCodecMac.cpp: + * platform/text/transcoder/FontTranscoder.cpp: + * rendering/RenderBlockLineLayout.cpp: + * rendering/RenderFlexibleBox.cpp: + * rendering/RenderListMarker.cpp: + * rendering/RenderText.cpp: + * rendering/RenderTextControl.cpp: + * rendering/RenderTreeAsText.cpp: + * rendering/break_lines.cpp: + * rendering/mathml/RenderMathMLOperator.h: + * websockets/WebSocketHandshake.cpp: + * wml/WMLTableElement.cpp: + +2011-01-29 Dan Winship <danw@gnome.org> + + Reviewed by Xan Lopez. + + [GTK] Remove HAVE_LIBSOUP_2_29_90 conditionals; we depend on + libsoup 2.33.1 now. + https://bugs.webkit.org/show_bug.cgi?id=50675 + + * platform/network/soup/CookieJarSoup.cpp: + (WebCore::defaultCookieJar): + (WebCore::setCookies): + * platform/network/soup/ResourceHandleSoup.cpp: + (WebCore::ResourceHandle::prepareForURL): + (WebCore::restartedCallback): + (WebCore::startHttp): + * platform/network/soup/ResourceRequestSoup.cpp: + (WebCore::ResourceRequest::updateSoupMessage): + (WebCore::ResourceRequest::toSoupMessage): + (WebCore::ResourceRequest::updateFromSoupMessage): + +2011-01-29 Adam Barth <abarth@webkit.org> + + Reviewed by Daniel Bates. + + XSSFilter should replace URLs with about:blank instead of the empty string + https://bugs.webkit.org/show_bug.cgi?id=53370 + + Using the empty string will make the URL complete to the current + document's URL, which isn't really what we want. Instead, we want to + use about:blank, which is safe. + + * html/parser/XSSFilter.cpp: + (WebCore::XSSFilter::filterObjectToken): + (WebCore::XSSFilter::filterEmbedToken): + +2011-01-29 Adam Barth <abarth@webkit.org> + + Reviewed by Daniel Bates. + + XSSFilter should pass xssAuditor/script-tag-addslashes* + https://bugs.webkit.org/show_bug.cgi?id=53365 + + We need to canonicalize strings to avoid being tricked by addslashes. + + * html/parser/XSSFilter.cpp: + (WebCore::HTMLNames::isNonCanonicalCharacter): + - This function is copied from the XSSAuditor (with some tweaks). + We'll eventually remove the XSSAuditor once we've got XSSFilter + working properly. + (WebCore::HTMLNames::canonicalize): + (WebCore::HTMLNames::decodeURL): + (WebCore::XSSFilter::isContainedInRequest): + +2011-01-29 Adam Barth <abarth@webkit.org> + + Reviewed by Daniel Bates. + + XSSFilter should pass xssAuditor/script-tag-with-source-same-host.html + and xssAuditor/script-tag-post-* + https://bugs.webkit.org/show_bug.cgi?id=53364 + + We're supposed to allow loading same-origin resources even if they + appear as part of the request. + + Also, we're supposed to look at the POST data too. :) + + * html/parser/XSSFilter.cpp: + (WebCore::XSSFilter::eraseAttributeIfInjected): + (WebCore::XSSFilter::isSameOriginResource): + - Copy/paste from XSSAuditor::isSameOriginResource. We'll + eventually remove the XSSAuditor version when XSSFilter is done. + * html/parser/XSSFilter.h: + +2011-01-29 Adam Barth <abarth@webkit.org> + + Reviewed by Daniel Bates. + + XSSFilter should pass 16 of the xssAuditor/script-tag* tests + https://bugs.webkit.org/show_bug.cgi?id=53362 + + Turns out we need to replace the src attribute of script tags with + about:blank to avoid loading the main document URL as a script. Also, + move misplaced return statement that was triggering the console message + too often. + + * html/parser/HTMLToken.h: + (WebCore::HTMLToken::appendToAttributeValue): + * html/parser/XSSFilter.cpp: + (WebCore::XSSFilter::filterScriptToken): + (WebCore::XSSFilter::eraseAttributeIfInjected): + * html/parser/XSSFilter.h: + +2011-01-28 Jon Honeycutt <jhoneycutt@apple.com> + + Downloads in WK2 on Windows should write resume data to bundle + https://bugs.webkit.org/show_bug.cgi?id=53282 + <rdar://problem/8753077> + + Reviewed by Alice Liu. + + * WebCore.vcproj/WebCore.vcproj: + Added new files to project. + + * platform/network/cf/DownloadBundle.h: Added. + * platform/network/win/DownloadBundleWin.cpp: Added. + (WebCore::DownloadBundle::magicNumber): + Moved from WebKit's WebDownload so that WebKit and WebKit2 can share + it. + (WebCore::DownloadBundle::fileExtension): + Ditto. + (WebCore::DownloadBundle::appendResumeData): + Ditto - but modified to return bool rather than HRESULT and to clean up + whitespace. + (WebCore::DownloadBundle::extractResumeData): + Ditto - modified to clean up whitespace. + +2011-01-29 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r77050. + http://trac.webkit.org/changeset/77050 + https://bugs.webkit.org/show_bug.cgi?id=53371 + + Caused a crash in Chromium's test_shell_tests (Requested by + rniwa on #webkit). + + * html/parser/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext): + (WebCore::HTMLTreeBuilder::FragmentParsingContext::document): + (WebCore::HTMLTreeBuilder::FragmentParsingContext::finished): + * html/parser/HTMLTreeBuilder.h: + +2011-01-28 Eric Seidel <eric@webkit.org> + + Reviewed by Darin Adler. + + HTML5 TreeBuilder regressed a Peacekeeper DOM test by 40% + https://bugs.webkit.org/show_bug.cgi?id=48719 + + It's unclear exactly what the Peacekeeper benchmark is testing, + because I haven't found a way to run it myself. + + However, I constructed a benchmark which shows at least one possible slow point. + The HTML5 spec talks about creating a new document for every time we use + the fragment parsing algorithm. Document() it turns out, it a huge bloated + mess, and the constructor and destructor do a huge amount of work. + To avoid constructing (or destructing) documents for each innerHTML call, + this patch adds a shared dummy document used by all innerHTML calls. + + This patch brings us from 7x slower than Safari 5 on tiny-innerHTML + to only 1.5x slower than Safari 5. I'm sure there is more work to do here. + + Saving a shared Document like this is error prone. Currently + DummyDocumentFactory::releaseDocument() calls removeAllChildren() + in an attempt to clear the Document's state. However it's possible + that that call is not sufficient and we'll have future bugs here. + + * html/parser/HTMLTreeBuilder.cpp: + (WebCore::DummyDocumentFactory::createDummyDocument): + (WebCore::DummyDocumentFactory::releaseDocument): + (WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext): + (WebCore::HTMLTreeBuilder::FragmentParsingContext::document): + (WebCore::HTMLTreeBuilder::FragmentParsingContext::finished): + * html/parser/HTMLTreeBuilder.h: + +2011-01-28 Johnny Ding <jnd@chromium.org> + + Reviewed by Adam Barth. + + Gesture API: Don't use current gesture status to set "forceUserGesture" parameter when calling ScriptController::executeScript. + The "forceUserGesture" parameter should be only set when you are definitely sure that the running script is from a hyper-link. + https://bugs.webkit.org/show_bug.cgi?id=53244 + + Test: fast/events/popup-blocked-from-iframe-src.html + + * bindings/ScriptControllerBase.cpp: + (WebCore::ScriptController::executeIfJavaScriptURL): + +2011-01-28 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Gavin Barraclough. + + Add various clampToInt() methods to MathExtras.h + https://bugs.webkit.org/show_bug.cgi?id=52910 + + Use clampToInteger() from MathExtras.h + + * css/CSSParser.cpp: + (WebCore::CSSParser::parseCounter): + +2011-01-28 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r77006 and r77020. + http://trac.webkit.org/changeset/77006 + http://trac.webkit.org/changeset/77020 + https://bugs.webkit.org/show_bug.cgi?id=53360 + + "Broke Windows tests" (Requested by rniwa on #webkit). + + * ForwardingHeaders/runtime/WriteBarrier.h: Removed. + * WebCore.exp.in: + * bindings/js/DOMWrapperWorld.h: + * bindings/js/JSAudioConstructor.cpp: + (WebCore::JSAudioConstructor::JSAudioConstructor): + * bindings/js/JSDOMBinding.cpp: + (WebCore::markDOMNodesForDocument): + (WebCore::markDOMObjectWrapper): + (WebCore::markDOMNodeWrapper): + * bindings/js/JSDOMGlobalObject.cpp: + (WebCore::JSDOMGlobalObject::markChildren): + (WebCore::JSDOMGlobalObject::setInjectedScript): + (WebCore::JSDOMGlobalObject::injectedScript): + * bindings/js/JSDOMGlobalObject.h: + (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData): + (WebCore::getDOMConstructor): + * bindings/js/JSDOMWindowCustom.cpp: + (WebCore::JSDOMWindow::setLocation): + (WebCore::DialogHandler::dialogCreated): + * bindings/js/JSDOMWindowShell.cpp: + (WebCore::JSDOMWindowShell::JSDOMWindowShell): + (WebCore::JSDOMWindowShell::setWindow): + (WebCore::JSDOMWindowShell::markChildren): + (WebCore::JSDOMWindowShell::unwrappedObject): + * bindings/js/JSDOMWindowShell.h: + (WebCore::JSDOMWindowShell::window): + (WebCore::JSDOMWindowShell::setWindow): + * bindings/js/JSDeviceMotionEventCustom.cpp: + (WebCore::createAccelerationObject): + (WebCore::createRotationRateObject): + * bindings/js/JSEventListener.cpp: + (WebCore::JSEventListener::JSEventListener): + (WebCore::JSEventListener::markJSFunction): + * bindings/js/JSEventListener.h: + (WebCore::JSEventListener::jsFunction): + * bindings/js/JSHTMLDocumentCustom.cpp: + (WebCore::JSHTMLDocument::setAll): + * bindings/js/JSImageConstructor.cpp: + (WebCore::JSImageConstructor::JSImageConstructor): + * bindings/js/JSImageDataCustom.cpp: + (WebCore::toJS): + * bindings/js/JSJavaScriptCallFrameCustom.cpp: + (WebCore::JSJavaScriptCallFrame::scopeChain): + (WebCore::JSJavaScriptCallFrame::scopeType): + * bindings/js/JSNodeFilterCondition.cpp: + (WebCore::JSNodeFilterCondition::markAggregate): + (WebCore::JSNodeFilterCondition::acceptNode): + * bindings/js/JSNodeFilterCondition.h: + * bindings/js/JSNodeFilterCustom.cpp: + * bindings/js/JSOptionConstructor.cpp: + (WebCore::JSOptionConstructor::JSOptionConstructor): + * bindings/js/JSSQLResultSetRowListCustom.cpp: + (WebCore::JSSQLResultSetRowList::item): + * bindings/js/ScriptCachedFrameData.cpp: + (WebCore::ScriptCachedFrameData::restore): + * bindings/js/ScriptObject.cpp: + (WebCore::ScriptGlobalObject::set): + * bindings/js/SerializedScriptValue.cpp: + (WebCore::CloneDeserializer::putProperty): + * bindings/scripts/CodeGeneratorJS.pm: + * bridge/qt/qt_runtime.cpp: + (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod): + (JSC::Bindings::QtRuntimeMetaMethod::markChildren): + (JSC::Bindings::QtRuntimeMetaMethod::connectGetter): + (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter): + * bridge/qt/qt_runtime.h: + * bridge/runtime_root.cpp: + (JSC::Bindings::RootObject::invalidate): + * bridge/runtime_root.h: + * dom/Document.h: + +2011-01-28 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + XSSFilter should log to the console when it blocks something + https://bugs.webkit.org/show_bug.cgi?id=53354 + + This patch refactors a bunch of methods in XSSFilter to return a bool + indicating whether they blocked anything. Using this bool, we decide + whether to log to the console. We're using the same log message as the + XSSAuditor, but it seems likely we can improve this message in the + future (especially by piping in the correct line number, which is now + accessible via the parser). + + * html/parser/XSSFilter.cpp: + (WebCore::HTMLNames::isNameOfInlineEventHandler): + (WebCore::XSSFilter::filterToken): + (WebCore::XSSFilter::filterTokenInitial): + (WebCore::XSSFilter::filterTokenAfterScriptStartTag): + (WebCore::XSSFilter::filterScriptToken): + (WebCore::XSSFilter::filterObjectToken): + (WebCore::XSSFilter::filterEmbedToken): + (WebCore::XSSFilter::filterAppletToken): + (WebCore::XSSFilter::filterMetaToken): + (WebCore::XSSFilter::filterBaseToken): + (WebCore::XSSFilter::eraseInlineEventHandlersIfInjected): + * html/parser/XSSFilter.h: + +2011-01-28 Adam Barth <abarth@webkit.org> + + Reviewed by Daniel Bates. + + Wire up settings->xssAuditorEnabled to XSSFilter + https://bugs.webkit.org/show_bug.cgi?id=53345 + + * html/parser/XSSFilter.cpp: + (WebCore::XSSFilter::XSSFilter): + (WebCore::XSSFilter::filterToken): + * html/parser/XSSFilter.h: + +2011-01-28 Adam Barth <abarth@webkit.org> + + Reviewed by Daniel Bates. + + Teach XSSFilter about <meta> and <base> tags + https://bugs.webkit.org/show_bug.cgi?id=53339 + + I'm not 100% sure we need to block <meta http-equiv>, but it seems + prudent given how powerful that attribute is. We definitely need to + block injection of <base href> because that can redirect script tags + that use relative URLs. + + * html/parser/XSSFilter.cpp: + (WebCore::XSSFilter::filterToken): + (WebCore::XSSFilter::filterMetaToken): + (WebCore::XSSFilter::filterBaseToken): + * html/parser/XSSFilter.h: + +2011-01-28 Adam Barth <abarth@webkit.org> + + Reviewed by Daniel Bates. + + Teach XSSFilter about <applet> + https://bugs.webkit.org/show_bug.cgi?id=53338 + + HTML5 is pretty light on information about how the <applet> tag works. + According to this site: + + http://download.oracle.com/javase/1.4.2/docs/guide/misc/applet.html + + The "code" and "object" attributes are the essential attributes for + determining which piece of Java to run. We might need to expand to the + codebase and archive attributes at some point, but hopefully code and + object will be sufficient. + + * html/parser/XSSFilter.cpp: + (WebCore::XSSFilter::filterToken): + (WebCore::XSSFilter::filterAppletToken): + * html/parser/XSSFilter.h: + +2011-01-28 Adam Barth <abarth@webkit.org> + + Reviewed by Daniel Bates. + + Teach the XSSFilter about object and embed tags + https://bugs.webkit.org/show_bug.cgi?id=53336 + + For <object> and <embed>, we filter out attribute values that either + indicate which piece of media to load or which plugin to load. In a + perfect world, we'd only need to filter out the URLs of the media, but + some plug-ins (like Flash) have lots of fun places you can hide the + URL (e.g., the "movie" <param>). + + * html/parser/XSSFilter.cpp: + (WebCore::XSSFilter::filterToken): + (WebCore::XSSFilter::filterScriptToken): + (WebCore::XSSFilter::filterObjectToken): + (WebCore::XSSFilter::filterEmbedToken): + (WebCore::XSSFilter::eraseAttributeIfInjected): + * html/parser/XSSFilter.h: + +2011-01-28 Oliver Hunt <oliver@apple.com> + + Fix Qt build. + + * bridge/qt/qt_runtime.cpp: + (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod): + (JSC::Bindings::QtRuntimeMetaMethod::markChildren): + (JSC::Bindings::QtRuntimeMetaMethod::connectGetter): + (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter): + * bridge/qt/qt_runtime.h: + +2011-01-28 Antti Koivisto <antti@apple.com> + + Reviewed by Simon Fraser. + + CSS styles are shared based on uninitialized property values + https://bugs.webkit.org/show_bug.cgi?id=53285 + + Null test. + + * dom/NamedNodeMap.cpp: + (WebCore::NamedNodeMap::mappedMapsEquivalent): + +2011-01-27 Oliver Hunt <oliver@apple.com> + + Reviewed by Geoffrey Garen. + + Convert markstack to a slot visitor API + https://bugs.webkit.org/show_bug.cgi?id=53219 + + Update WebCore to the new marking apis, correct bindings + codegen. + + * ForwardingHeaders/runtime/WriteBarrier.h: Added. + * WebCore.exp.in: + * bindings/js/DOMWrapperWorld.h: + (WebCore::DOMWrapperWorld::globalData): + * bindings/js/JSAudioConstructor.cpp: + (WebCore::JSAudioConstructor::JSAudioConstructor): + * bindings/js/JSDOMBinding.cpp: + (WebCore::markDOMNodesForDocument): + (WebCore::markDOMObjectWrapper): + (WebCore::markDOMNodeWrapper): + * bindings/js/JSDOMGlobalObject.cpp: + (WebCore::JSDOMGlobalObject::markChildren): + (WebCore::JSDOMGlobalObject::setInjectedScript): + (WebCore::JSDOMGlobalObject::injectedScript): + * bindings/js/JSDOMGlobalObject.h: + (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData): + (WebCore::getDOMConstructor): + * bindings/js/JSDOMWindowCustom.cpp: + (WebCore::JSDOMWindow::setLocation): + (WebCore::DialogHandler::dialogCreated): + * bindings/js/JSDOMWindowShell.cpp: + (WebCore::JSDOMWindowShell::JSDOMWindowShell): + (WebCore::JSDOMWindowShell::setWindow): + (WebCore::JSDOMWindowShell::markChildren): + (WebCore::JSDOMWindowShell::unwrappedObject): + * bindings/js/JSDOMWindowShell.h: + (WebCore::JSDOMWindowShell::window): + (WebCore::JSDOMWindowShell::setWindow): + * bindings/js/JSEventListener.cpp: + (WebCore::JSEventListener::JSEventListener): + (WebCore::JSEventListener::markJSFunction): + * bindings/js/JSEventListener.h: + (WebCore::JSEventListener::jsFunction): + * bindings/js/JSHTMLDocumentCustom.cpp: + (WebCore::JSHTMLDocument::setAll): + * bindings/js/JSImageConstructor.cpp: + (WebCore::JSImageConstructor::JSImageConstructor): + * bindings/js/JSImageDataCustom.cpp: + (WebCore::toJS): + * bindings/js/JSJavaScriptCallFrameCustom.cpp: + (WebCore::JSJavaScriptCallFrame::scopeChain): + (WebCore::JSJavaScriptCallFrame::scopeType): + * bindings/js/JSNodeFilterCondition.cpp: + (WebCore::JSNodeFilterCondition::markAggregate): + (WebCore::JSNodeFilterCondition::acceptNode): + * bindings/js/JSNodeFilterCondition.h: + * bindings/js/JSNodeFilterCustom.cpp: + * bindings/js/JSOptionConstructor.cpp: + (WebCore::JSOptionConstructor::JSOptionConstructor): + * bindings/js/JSSQLResultSetRowListCustom.cpp: + (WebCore::JSSQLResultSetRowList::item): + * bindings/js/ScriptCachedFrameData.cpp: + (WebCore::ScriptCachedFrameData::restore): + * bindings/js/ScriptObject.cpp: + (WebCore::ScriptGlobalObject::set): + * bindings/js/SerializedScriptValue.cpp: + (WebCore::CloneDeserializer::putProperty): + * bindings/scripts/CodeGeneratorJS.pm: + * dom/Document.h: + +2011-01-28 Sam Weinig <sam@webkit.org> + + Reviewed by Anders Carlsson. + + Keyboard scrolling doesn’t work in WebKit2 + <rdar://problem/8909672> + + * platform/mac/ScrollAnimatorMac.mm: + (-[ScrollAnimationHelperDelegate convertSizeToBacking:]): + (-[ScrollAnimationHelperDelegate convertSizeFromBacking:]): + Add additional necessary delegate methods. + +2011-01-29 Darin Adler <darin@apple.com> + + Reviewed by Dan Bernstein. + + Re-land this patch with the missing null check that caused crashes in layout tests. + + Changing cursor style has no effect until the mouse moves + https://bugs.webkit.org/show_bug.cgi?id=14344 + rdar://problem/7563712 + + No tests added because we don't have infrastructure for testing actual cursor + changes (as opposed to cursor style computation) at this time. We might add it later. + + * page/EventHandler.cpp: + (WebCore::EventHandler::dispatchFakeMouseMoveEventSoon): Added. + * page/EventHandler.h: Ditto. + + * rendering/RenderObject.cpp: + (WebCore::areNonIdenticalCursorListsEqual): Added. + (WebCore::areCursorsEqual): Added. + (WebCore::RenderObject::styleDidChange): Call dispatchFakeMouseMoveEventSoon if + cursor styles changed. + +2011-01-28 Justin Schuh <jschuh@chromium.org> + + Reviewed by Eric Seidel. + + We should hold RefPtrs to SVG font faces + https://bugs.webkit.org/show_bug.cgi?id=53270 + + Test: svg/custom/use-multiple-on-nested-disallowed-font.html + + * css/CSSFontFaceSource.cpp: + (WebCore::CSSFontFaceSource::getFontData): + * css/CSSFontFaceSource.h: + * svg/SVGFontFaceElement.cpp: + (WebCore::SVGFontFaceElement::associatedFontElement): + * svg/SVGFontFaceElement.h: + +2011-01-28 Zhenyao Mo <zmo@google.com> + + Reviewed by Kenneth Russell. + + uniformN*v should generate INVALID_VALUE of the array size is not a multiple of N + https://bugs.webkit.org/show_bug.cgi?id=53306 + + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::validateUniformMatrixParameters): + +2011-01-28 Tom Sepez <tsepez@chromium.org> + + Reviewed by Eric Seidel. + + NULL pointer crash in TextIterator::handleTextBox() + https://bugs.webkit.org/show_bug.cgi?id=53267 + + Test: fast/css/rtl-nth-child-first-letter-crash.html + + * editing/TextIterator.cpp: + (WebCore::TextIterator::handleTextBox): + +2011-01-28 Adrienne Walker <enne@google.com> + + Reviewed by Kenneth Russell. + + [chromium] Remove a spurious diagnostic CRASH check. + https://bugs.webkit.org/show_bug.cgi?id=52379 + + * platform/graphics/chromium/LayerTilerChromium.cpp: + (WebCore::LayerTilerChromium::invalidateRect): + +2011-01-28 Dan Bernstein <mitz@apple.com> + + Reviewed by Sam Weinig. + + <rdar://problem/4761512> <select> can't display right-to-left (rtl) languages + https://bugs.webkit.org/show_bug.cgi?id=19785 + + Changed <select> pop-up menus on Mac OS X Snow Leopard and later to have their items aligned in the + direction corresponding to the writing direction of the <select> element, with the checkmarks + on the "start" side, and use the <option>'s writing direction rather than "natural". Made the + pop-up button match the menu by adding a Chrome boolean function, selectItemAlignmentFollowsMenuWritingDirection(), + which returns true for this pop-up behavior. + + * loader/EmptyClients.h: + (WebCore::EmptyChromeClient::selectItemAlignmentFollowsMenuWritingDirection): Added. + * manual-tests/pop-up-alignment-and-direction.html: Added. + * page/Chrome.cpp: + (WebCore::Chrome::selectItemAlignmentFollowsMenuWritingDirection): Added. Calls through to the + client. + * page/Chrome.h: + * page/ChromeClient.h: + * platform/PopupMenuStyle.h: + (WebCore::PopupMenuStyle::PopupMenuStyle): Added hasTextDirectionOverride parameter and member + variable initialization. + (WebCore::PopupMenuStyle::hasTextDirectionOverride): Added this accessor. + * platform/mac/PopupMenuMac.mm: + (WebCore::PopupMenuMac::populate): Set the pop-up's layout direction and items' text alignment + to match the menu's writing direction. Set items' writing direction and direction override + according to their styles. + * rendering/RenderMenuList.cpp: + (WebCore::RenderMenuList::RenderMenuList): Removed unncesaary initialization of a smart pointer. + (WebCore::RenderMenuList::adjustInnerStyle): If the alignment of items in the menu follows the + menu's writing direction, use that alignment for the button as well. Also in this mode, use the + item's writing direction and override setting. + (WebCore::RenderMenuList::setTextFromOption): Store the option element's style. + (WebCore::RenderMenuList::itemStyle): Pass the text direction override value. + (WebCore::RenderMenuList::menuStyle): Ditto. Also use the button's direction, not the inner text's. + * rendering/RenderMenuList.h: + * rendering/RenderTextControlSingleLine.cpp: + (WebCore::RenderTextControlSingleLine::menuStyle): Pass the text direction override value. + +2011-01-28 Adam Barth <abarth@webkit.org> + + Reviewed by Daniel Bates. + + Teach XSSFilter how to filter <script> elements + https://bugs.webkit.org/show_bug.cgi?id=53279 + + This patch adds the ability for the XSSFilter to block injected + <script> elements. Handling script elements is slightly subtle because + these elements act very differently depending on whether they have a + src attribute. + + In the "src case", which check whether the src attribute was present in + the request. In the "non-src case", we check whether the start tag and + the body of the script element was included in the request. Checking + for the whole start tag means we miss out on some attribute splitting + attacks inside of script tags, but that doesn't seem like that big a + deal. + + This patch also introduces some amount of state into the XSSFilter + because inline script elements span multiple tokens. There's a lot of + tuning and optimization left in these cases, some of which I've noted + with FIXMEs. + + To test this patch, I played around with some of the existing + XSSAuditor tests. Hopefully I'll be able to run the test suite more + systematically in the future. + + * html/parser/HTMLToken.h: + (WebCore::HTMLToken::eraseCharacters): + (WebCore::HTMLToken::eraseValueOfAttribute): + * html/parser/XSSFilter.cpp: + (WebCore::HTMLNames::hasName): + (WebCore::HTMLNames::findAttributeWithName): + (WebCore::HTMLNames::isNameOfScriptCarryingAttribute): + (WebCore::XSSFilter::XSSFilter): + (WebCore::XSSFilter::filterToken): + (WebCore::XSSFilter::filterTokenAfterScriptStartTag): + (WebCore::XSSFilter::filterScriptToken): + (WebCore::XSSFilter::snippetForRange): + (WebCore::XSSFilter::snippetForAttribute): + * html/parser/XSSFilter.h: + +2011-01-28 Adam Barth <abarth@webkit.org> + + Reviewed by Daniel Bates. + + Sketch out new XSS filter design (disabled by default) + https://bugs.webkit.org/show_bug.cgi?id=53205 + + This patch adds a basic sketch of the new XSS filter design. Rather + than watching scripts as they execute, in this design, we watch tokens + emitted by the tokenizer. We then map the tokens directly back into + input characters, which lets us skip all the complicated logic related + to HTML entities and double-decoding of JavaScript URLs. + + This patch contains only the bare essentially machinery. I'll add more + in future patches and eventually remove the previous code once this + code is up and running correctly. + + * Android.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * html/parser/HTMLDocumentParser.cpp: + (WebCore::HTMLDocumentParser::HTMLDocumentParser): + (WebCore::HTMLDocumentParser::pumpTokenizer): + (WebCore::HTMLDocumentParser::sourceForToken): + * html/parser/HTMLDocumentParser.h: + * html/parser/XSSFilter.cpp: Added. + * html/parser/XSSFilter.h: Added. + +2011-01-28 Michael Saboff <msaboff@apple.com> + + Reviewed by Geoffrey Garen. + + Potentially Unsafe HashSet of RuntimeObject* in RootObject definition + https://bugs.webkit.org/show_bug.cgi?id=53271 + + Reapplying this patch with the change that the second ASSERT in + RootObject::removeRuntimeObject was changed to use + .uncheckedGet() instead of the failing .get(). The object in question + could be in the process of being GC'ed. The get() call will not return + such an object while the uncheckedGet() call will return the (unsafe) + object. This is the behavior we want. + + Precautionary change. + Changed RootObject to use WeakGCMap instead of HashSet. + Found will looking for another issue, but can't produce a test case + that is problematic. THerefore there aren't any new tests. + + * bridge/runtime_root.cpp: + (JSC::Bindings::RootObject::invalidate): + (JSC::Bindings::RootObject::addRuntimeObject): + (JSC::Bindings::RootObject::removeRuntimeObject): + * bridge/runtime_root.h: + +2011-01-28 Adam Roben <aroben@apple.com> + + Notify CACFLayerTreeHost when the context is flushed + + LegacyCACFLayerTreeHost was keeping this a secret, which meant that WebCore's animation + timers were never starting. + + Fixes <http://webkit.org/b/53302> [Windows 7 Release Tests] changesets 76853, 76856, and + 76858 broke ~36 animations, compositing, and transitions tests + + Reviewed by Sam Weinig. + + * platform/graphics/ca/win/LegacyCACFLayerTreeHost.cpp: + (WebCore::LegacyCACFLayerTreeHost::contextDidChange): Call up to the base class after we + start our render timer. + +2011-01-28 Antti Koivisto <antti@apple.com> + + Reviewed by Dan Bernstein. + + Remove dead code that tried to map from CSS values to parser values + https://bugs.webkit.org/show_bug.cgi?id=53318 + + * css/CSSFunctionValue.cpp: + * css/CSSFunctionValue.h: + * css/CSSPrimitiveValue.cpp: + * css/CSSPrimitiveValue.h: + * css/CSSValue.h: + * css/CSSValueList.cpp: + * css/CSSValueList.h: + +2011-01-28 Enrica Casucci <enrica@apple.com> + + Reviewed by Adam Roben. + + Some drag and drop tests fail since r76824 + https://bugs.webkit.org/show_bug.cgi?id=53304 + + There were '||' instead of '&&' in the checks for valid + clipboard content. + + * platform/win/ClipboardWin.cpp: + (WebCore::ClipboardWin::getData): + (WebCore::ClipboardWin::types): + (WebCore::ClipboardWin::files): + +2011-01-28 Martin Robinson <mrobinson@igalia.com> + + [GTK] AudioProcessingEvent.h and JSJavaScriptAudioNode.h: No such file or directory + https://bugs.webkit.org/show_bug.cgi?id=52889 + + Build fix for WebAudio. Include WebAudio source files on the source + list when WebAudio is enabled. + + * GNUmakefile.am: Include missing source files. + +2011-01-28 Sam Weinig <sam@webkit.org> + + Reviewed by Maciej Stachowiak. + + Add basic rubber banding support + <rdar://problem/8219429> + https://bugs.webkit.org/show_bug.cgi?id=53277 + + * page/EventHandler.cpp: + (WebCore::EventHandler::handleGestureEvent): + Pass gesture events to the FrameView. + + * platform/ScrollAnimator.cpp: + (WebCore::ScrollAnimator::handleGestureEvent): + * platform/ScrollAnimator.h: + Add stubbed out implementation. + + * platform/ScrollView.cpp: + (WebCore::ScrollView::ScrollView): + (WebCore::ScrollView::overhangAmount): + (WebCore::ScrollView::wheelEvent): + * platform/ScrollView.h: + * platform/ScrollableArea.cpp: + (WebCore::ScrollableArea::ScrollableArea): + (WebCore::ScrollableArea::handleGestureEvent): + * platform/ScrollableArea.h: + (WebCore::ScrollableArea::constrainsScrollingToContentEdge): + (WebCore::ScrollableArea::setConstrainsScrollingToContentEdge): + Move constrains scrolling bit to ScrollableArea from ScrollView. + + (WebCore::ScrollableArea::contentsSize): + (WebCore::ScrollableArea::overhangAmount): + Add additional virtual functions for information needed by the animator. + + * platform/mac/ScrollAnimatorMac.h: + * platform/mac/ScrollAnimatorMac.mm: + (WebCore::ScrollAnimatorMac::ScrollAnimatorMac): + (WebCore::ScrollAnimatorMac::immediateScrollByDeltaX): + (WebCore::ScrollAnimatorMac::immediateScrollByDeltaY): + (WebCore::elasticDeltaForTimeDelta): + (WebCore::elasticDeltaForReboundDelta): + (WebCore::reboundDeltaForElasticDelta): + (WebCore::scrollWheelMultiplier): + (WebCore::ScrollAnimatorMac::handleWheelEvent): + (WebCore::ScrollAnimatorMac::handleGestureEvent): + (WebCore::ScrollAnimatorMac::pinnedInDirection): + (WebCore::ScrollAnimatorMac::allowsVerticalStretching): + (WebCore::ScrollAnimatorMac::allowsHorizontalStretching): + (WebCore::ScrollAnimatorMac::smoothScrollWithEvent): + (WebCore::ScrollAnimatorMac::beginScrollGesture): + (WebCore::ScrollAnimatorMac::endScrollGesture): + (WebCore::ScrollAnimatorMac::snapRubberBand): + (WebCore::roundTowardZero): + (WebCore::roundToDevicePixelTowardZero): + (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired): + Implement basic rubber banding. + +2011-01-28 Dan Bernstein <mitz@apple.com> + + Reviewed by Anders Carlsson. + + Changing unicode-bidi doesn’t force layout + https://bugs.webkit.org/show_bug.cgi?id=53311 + + Test: fast/dynamic/unicode-bidi.html + + * rendering/style/RenderStyle.cpp: + (WebCore::RenderStyle::diff): Return a layout difference if unicode-bidi values differ. + +2011-01-27 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Kent Tamura. + + Change HTMLInputElement-derived parts of media element shadow DOM to use shadowPseudoId. + https://bugs.webkit.org/show_bug.cgi?id=53122 + + This is the first step in converting HTMLMediaElement to the new shadow DOM. + + Should not regress any existing tests. No observable change in behavior. + + * css/CSSSelector.cpp: + (WebCore::CSSSelector::pseudoId): Removed now-unnecessary hard-coded pseudo-element selectors. + (WebCore::nameToPseudoTypeMap): Ditto. + (WebCore::CSSSelector::extractPseudoType): Ditto. + * css/CSSSelector.h: Ditto. + * css/mediaControls.css: Added proper initial values, now that elements use the proper selector pipeline. + * rendering/MediaControlElements.cpp: + (WebCore::MediaControlInputElement::MediaControlInputElement): Removed the switch statement, + which is now replaced with virtual shadowPseudoId on each corresponding class. + (WebCore::MediaControlInputElement::styleForElement): Changed to use element pipeline. + (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement): Changed to set + display type in constructor. + (WebCore::MediaControlMuteButtonElement::create): Changed to not take PseudoId as + constructor argument. + (WebCore::MediaControlMuteButtonElement::shadowPseudoId): Added. + (WebCore::MediaControlVolumeSliderMuteButtonElement::MediaControlVolumeSliderMuteButtonElement): Added + to disambiguate from the MediaControlMuteButtonElement. + (WebCore::MediaControlVolumeSliderMuteButtonElement::create): Added. + (WebCore::MediaControlVolumeSliderMuteButtonElement::shadowPseudoId): Added. + (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement): Changed to not take PseudoId as + constructor argument. + (WebCore::MediaControlPlayButtonElement::shadowPseudoId): Added. + (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement): Changed to not take PseudoId as + constructor argument. + (WebCore::MediaControlSeekForwardButtonElement::MediaControlSeekForwardButtonElement): Added. + (WebCore::MediaControlSeekForwardButtonElement::create): Added. + (WebCore::MediaControlSeekForwardButtonElement::shadowPseudoId): Added. + (WebCore::MediaControlSeekBackButtonElement::MediaControlSeekBackButtonElement): Added. + (WebCore::MediaControlSeekBackButtonElement::create): Added. + (WebCore::MediaControlSeekBackButtonElement::shadowPseudoId): Added. + (WebCore::MediaControlRewindButtonElement::MediaControlRewindButtonElement): Added. + (WebCore::MediaControlRewindButtonElement::shadowPseudoId): Added. + (WebCore::MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement): Changed to not take PseudoId as + constructor argument. + (WebCore::MediaControlReturnToRealtimeButtonElement::shadowPseudoId): Added. + (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement): Changed to not take PseudoId as + constructor argument. + (WebCore::MediaControlToggleClosedCaptionsButtonElement::shadowPseudoId): Added. + (WebCore::MediaControlTimelineElement::MediaControlTimelineElement): Changed to not take PseudoId as + constructor argument. + (WebCore::MediaControlTimelineElement::shadowPseudoId): Added. + (WebCore::MediaControlVolumeSliderElement::MediaControlVolumeSliderElement): Changed to not take PseudoId as + constructor argument. + (WebCore::MediaControlVolumeSliderElement::shadowPseudoId): Added. + (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement): Changed to not take PseudoId as + constructor argument. + (WebCore::MediaControlFullscreenButtonElement::shadowPseudoId): Added. + * rendering/MediaControlElements.h: + (WebCore::MediaControlSeekForwardButtonElement::isForwardButton): Added. + (WebCore::MediaControlSeekBackButtonElement::isForwardButton): Added. + * rendering/RenderMedia.cpp: + (WebCore::RenderMedia::createMuteButton): Changed to use new constructor. + (WebCore::RenderMedia::createSeekBackButton): Ditto. + (WebCore::RenderMedia::createSeekForwardButton): Ditto. + (WebCore::RenderMedia::createVolumeSliderMuteButton): Ditto. + * rendering/style/RenderStyleConstants.h: Removed constants that are no longer used. + +2011-01-27 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Eric Carlson. + + Split MediaControls out of RenderMedia. + https://bugs.webkit.org/show_bug.cgi?id=53252 + + Near-mechanical moving of stuff, no change in behavior, thus no new tests. + + * Android.mk: Added MediaControls to build system. + * CMakeLists.txt: Ditto. + * GNUmakefile.am: Ditto. + * WebCore.gypi: Ditto. + * WebCore.pro: Ditto. + * WebCore.vcproj/WebCore.vcproj: Ditto. + * WebCore.xcodeproj/project.pbxproj: Ditto. + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::defaultEventHandler): Changed to forward events to MediaControls. + * html/shadow/MediaControls.cpp: Copied all controls-related methods from + Source/WebCore/rendering/RenderMedia.cpp, pulled them into their own class called MediaControls. + * html/shadow/MediaControls.h: Ditto from Source/WebCore/rendering/RenderMedia.h. + * rendering/MediaControlElements.cpp: + (WebCore::MediaControlTimelineElement::defaultEventHandler): Changed to use MediaControls. + * rendering/RenderMedia.cpp: + (WebCore::RenderMedia::RenderMedia): Moved relevant constructor initializers out to MediaControls. + (WebCore::RenderMedia::destroy): Changed to use MediaControls. + (WebCore::RenderMedia::styleDidChange): Ditto. + (WebCore::RenderMedia::layout): Ditto. + (WebCore::RenderMedia::updateFromElement): Ditto. + * rendering/RenderMedia.h: Updated defs accordingly and removed player() accessor, which + is only used by sub-class RenderVideo. + (WebCore::RenderMedia::controls): Added. + * rendering/RenderVideo.cpp: + (WebCore::RenderVideo::~RenderVideo): Changed to access MediaPlayer* directly from mediaElement(). + (WebCore::RenderVideo::calculateIntrinsicSize): Ditto. + (WebCore::RenderVideo::paintReplaced): Ditto. + (WebCore::RenderVideo::updatePlayer): Ditto. + (WebCore::RenderVideo::supportsAcceleratedRendering): Ditto. + (WebCore::RenderVideo::acceleratedRenderingStateChanged): Ditto. + +2011-01-28 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: allow remote debugging with front-end + served from the cloud. + https://bugs.webkit.org/show_bug.cgi?id=53303 + + * inspector/front-end/inspector.js: + +2011-01-28 Aparna Nandyal <aparna.nand@wipro.com> + + Reviewed by Andreas Kling. + + Setting value of m_PressedPos to make scrolling smooth + + Page scroll popup menu "Scroll here" option not working when cliking above scroll slider/handler. + https://bugs.webkit.org/show_bug.cgi?id=51349 + + The value of m_PressedPos was getting set before moveThumb() call + in all other scenarios except when "Scroll Here" option is used. + Hence scrolling with this option was not as expected even in cases + where scrolling was happening. The thumb would move in unexpected + direction. m_PressedPos is now set to pressed position so delta is + calculated. + Unable to write a test case as the test needs to click on "Scroll + Here" option of context sensitive menu and QTest is unable to do it. + Besides no new functionality introduced. + + * platform/qt/ScrollbarQt.cpp: + (WebCore::Scrollbar::contextMenu): + +2011-01-28 Andrey Kosyakov <caseq@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: [Extensions API] add JSON schema for extensions API + https://bugs.webkit.org/show_bug.cgi?id=53236 + + * inspector/front-end/ExtensionAPISchema.json: Added. + +2011-01-27 Zhenyao Mo <zmo@google.com> + + Reviewed by Kenneth Russell. + + Remove _LENGTH enumerants + https://bugs.webkit.org/show_bug.cgi?id=53259 + + * html/canvas/WebGLRenderingContext.cpp: Remove queries for *LENGTH. + (WebCore::WebGLRenderingContext::getProgramParameter): + (WebCore::WebGLRenderingContext::getShaderParameter): + * html/canvas/WebGLRenderingContext.idl: Remove *LENGTH. + +2011-01-28 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: syntax highlight inline JS and CSS in HTML resources + https://bugs.webkit.org/show_bug.cgi?id=30831 + + * inspector/front-end/SourceHTMLTokenizer.js: + (WebInspector.SourceHTMLTokenizer): + (WebInspector.SourceHTMLTokenizer.prototype.set line): + (WebInspector.SourceHTMLTokenizer.prototype.nextToken): + * inspector/front-end/SourceHTMLTokenizer.re2js: + +2011-01-28 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: [STYLES] Up/Down-suggestion breaks an existing keyword + https://bugs.webkit.org/show_bug.cgi?id=53295 + + Select the current word suffix before switching to the next suggestion. + + * inspector/front-end/StylesSidebarPane.js: + (): + +2011-01-28 Alejandro G. Castro <alex@igalia.com> + + Reviewed by Xan Lopez. + + [GTK] Fix dist compilation for the release + https://bugs.webkit.org/show_bug.cgi?id=53290 + + * GNUmakefile.am: Added inspector files to the extra dist. + +2011-01-28 Ilya Sherman <isherman@chromium.org> + + Reviewed by Andreas Kling. + + Const-correct HTMLSelectElement and WebSelectElement + https://bugs.webkit.org/show_bug.cgi?id=53293 + + * html/HTMLSelectElement.cpp: + (WebCore::HTMLSelectElement::value): const. + * html/HTMLSelectElement.h: + +2011-01-28 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r76893. + http://trac.webkit.org/changeset/76893 + https://bugs.webkit.org/show_bug.cgi?id=53287 + + It made some tests crash on GTK and Qt debug bots (Requested + by Ossy on #webkit). + + * bridge/runtime_root.cpp: + (JSC::Bindings::RootObject::invalidate): + (JSC::Bindings::RootObject::addRuntimeObject): + (JSC::Bindings::RootObject::removeRuntimeObject): + * bridge/runtime_root.h: + +2011-01-27 Greg Coletta <greg.coletta@nokia.com> + + Reviewed by Laszlo Gombos. + + Get rid of prefix header dependency for WebKit2 build system + https://bugs.webkit.org/show_bug.cgi?id=50174 + + Guard EmptyProtocalDefinitions.h to make sure it's not included twice. + + * platform/mac/EmptyProtocolDefinitions.h: + +2011-01-27 Abhishek Arya <inferno@chromium.org> + + Reviewed by Dan Bernstein. + + Recalc table sections if needed before calculating the first line + box baseline. + https://bugs.webkit.org/show_bug.cgi?id=53265 + + When we try to calculate the baseline position of a table cell, + we recurse through all the child sibling boxes (when children are + non inline) and add their first linebox baseline values. If one of + the children is a table with pending section recalc, we will access + wrong table section values. We recalc table sections if it is needed. + + Test: fast/table/recalc-section-first-body-crash-main.html + + * rendering/RenderTable.cpp: + (WebCore::RenderTable::firstLineBoxBaseline): + +2011-01-27 Adrienne Walker <enne@google.com> + + Reviewed by Kenneth Russell. + + [chromium] Add CRASH calls to further debug tiled compositor memcpy crash. + https://bugs.webkit.org/show_bug.cgi?id=52379 + + Test: LayoutTests/compositing (to verify these weren't triggered) + + * platform/graphics/chromium/LayerTilerChromium.cpp: + (WebCore::LayerTilerChromium::invalidateRect): + (WebCore::LayerTilerChromium::update): + +2011-01-27 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: [STYLES] Cancelled suggestion of a property name results in a visual artifact + https://bugs.webkit.org/show_bug.cgi?id=53242 + + * inspector/front-end/StylesSidebarPane.js: + (WebInspector.StylePropertyTreeElement.prototype): + +2011-01-27 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r76891. + http://trac.webkit.org/changeset/76891 + https://bugs.webkit.org/show_bug.cgi?id=53280 + + Makes every layout test crash (Requested by othermaciej on + #webkit). + + * page/EventHandler.cpp: + * page/EventHandler.h: + * rendering/RenderObject.cpp: + (WebCore::RenderObject::styleDidChange): + +2011-01-27 Ryosuke Niwa <rniwa@webkit.org> + + Unreviewed, rolling out r76839. + http://trac.webkit.org/changeset/76839 + https://bugs.webkit.org/show_bug.cgi?id=49744 + + broke pixel tests + + * rendering/RenderBox.cpp: + (WebCore::RenderBox::localCaretRect): + +2011-01-27 Emil A Eklund <eae@chromium.org> + + Reviewed by Darin Adler. + + contentEditable formatBlock crashes on divs with contenteditable="false" + https://bugs.webkit.org/show_bug.cgi?id=53263 + + Check if editableRootForPosition returns null for position. + + Test: editing/execCommand/format-block-contenteditable-false.html + + * editing/FormatBlockCommand.cpp: + (WebCore::FormatBlockCommand::formatRange): + +2011-01-27 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Darin Adler. + + Remove RenderMedia members that aren't used. + https://bugs.webkit.org/show_bug.cgi?id=53245 + + Refactoring, no change in behavior, so no new tests. + + * rendering/RenderMedia.h: Removed unused member variables. + +2011-01-27 Michael Saboff <msaboff@apple.com> + + Reviewed by Darin Adler. + + Potentially Unsafe HashSet of RuntimeObject* in RootObject definition + https://bugs.webkit.org/show_bug.cgi?id=53271 + + Precautionary change. + Changed RootObject to use WeakGCMap instead of HashSet. + Found will looking for another issue, but can't produce a test case + that is problematic. THerefore there aren't any new tests. + + * bridge/runtime_root.cpp: + (JSC::Bindings::RootObject::invalidate): + (JSC::Bindings::RootObject::addRuntimeObject): + (JSC::Bindings::RootObject::removeRuntimeObject): + * bridge/runtime_root.h: + +2011-01-27 Kenneth Russell <kbr@google.com> + + Reviewed by James Robinson. + + Rename Typed Array slice() to subset() + https://bugs.webkit.org/show_bug.cgi?id=53273 + + * bindings/js/JSArrayBufferViewHelper.h: + (WebCore::constructArrayBufferView): + * bindings/v8/custom/V8ArrayBufferViewCustom.h: + (WebCore::constructWebGLArray): + * html/canvas/Float32Array.cpp: + (WebCore::Float32Array::subset): + * html/canvas/Float32Array.h: + * html/canvas/Float32Array.idl: + * html/canvas/Int16Array.cpp: + (WebCore::Int16Array::subset): + * html/canvas/Int16Array.h: + * html/canvas/Int16Array.idl: + * html/canvas/Int32Array.cpp: + (WebCore::Int32Array::subset): + * html/canvas/Int32Array.h: + * html/canvas/Int32Array.idl: + * html/canvas/Int8Array.cpp: + (WebCore::Int8Array::subset): + * html/canvas/Int8Array.h: + * html/canvas/Int8Array.idl: + * html/canvas/TypedArrayBase.h: + (WebCore::TypedArrayBase::subsetImpl): + * html/canvas/Uint16Array.cpp: + (WebCore::Uint16Array::subset): + * html/canvas/Uint16Array.h: + * html/canvas/Uint16Array.idl: + * html/canvas/Uint32Array.cpp: + (WebCore::Uint32Array::subset): + * html/canvas/Uint32Array.h: + * html/canvas/Uint32Array.idl: + * html/canvas/Uint8Array.cpp: + (WebCore::Uint8Array::subset): + * html/canvas/Uint8Array.h: + * html/canvas/Uint8Array.idl: + +2011-01-27 Darin Adler <darin@apple.com> + + Reviewed by Dan Bernstein. + + Changing cursor style has no effect until the mouse moves + https://bugs.webkit.org/show_bug.cgi?id=14344 + rdar://problem/7563712 + + No tests added because we don't have infrastructure for testing actual cursor + changes (as opposed to cursor style computation) at this time. We might add it later. + + * page/EventHandler.cpp: + (WebCore::EventHandler::dispatchFakeMouseMoveEventSoon): Added. + * page/EventHandler.h: Ditto. + + * rendering/RenderObject.cpp: + (WebCore::areNonIdenticalCursorListsEqual): Added. + (WebCore::areCursorsEqual): Added. + (WebCore::RenderObject::styleDidChange): Call dispatchFakeMouseMoveEventSoon if + cursor styles changed. + +2011-01-27 Leo Yang <leo.yang@torchmobile.com.cn> + + Reviewed by Dirk Schulze. + + SVG Use Cycle is not detected + https://bugs.webkit.org/show_bug.cgi?id=52544 + + We should check if SVGUseElement::buildInstanceTree finds problem + for every child node. If it finds problem for any children we must + return immediately because otherwise the foundProblem variable may + be rewritten to false. + + Test: svg/custom/recursive-use2.svg + + * svg/SVGUseElement.cpp: + (WebCore::SVGUseElement::buildInstanceTree): + +2011-01-27 Zhenyao Mo <zmo@google.com> + + Reviewed by Kenneth Russell. + + texSubImage2D's format/type needs to match the internalformat/type from the previous texImage2D call + https://bugs.webkit.org/show_bug.cgi?id=53054 + + Test: fast/canvas/webgl/tex-sub-image-2d-bad-args.html + + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::texSubImage2DBase): Check format/type match. + +2011-01-27 Yi Shen <yi.4.shen@nokia.com>, Tor Arne Vestbø <tor.arne.vestbo@nokia.com> + + Reviewed by Andreas Kling. + + [Qt] Add fullscreen media control button for html video + https://bugs.webkit.org/show_bug.cgi?id=51543 + + Implement media control fullscreen button for QtWebKit html5 video. + + * css/mediaControlsQt.css: + (video::-webkit-media-controls-fullscreen-button): + * platform/qt/RenderThemeQt.cpp: + (WebCore::RenderThemeQt::paintMediaFullscreenButton): + +2011-01-27 Nate Chapin <japhet@chromium.org> + + Reviewed by Adam Barth. + + Remove FrameLoader::url() and update callers to use + Document::url(). + https://bugs.webkit.org/show_bug.cgi?id=41165 + + Refactor, no new tests. + + * WebCore.exp.in: + * dom/Document.cpp: + (WebCore::Document::processHttpEquiv): + (WebCore::Document::removePendingSheet): + * history/CachedFrame.cpp: + (WebCore::CachedFrameBase::CachedFrameBase): + * history/PageCache.cpp: + (WebCore::logCanCacheFrameDecision): + (WebCore::PageCache::canCachePageContainingThisFrame): + * html/HTMLFrameElementBase.cpp: + (WebCore::HTMLFrameElementBase::isURLAllowed): + * html/HTMLPlugInImageElement.cpp: + (WebCore::HTMLPlugInImageElement::allowedToLoadFrameURL): + * inspector/InspectorAgent.cpp: + (WebCore::InspectorAgent::inspectedURL): + * inspector/InspectorResourceAgent.cpp: + (WebCore::buildObjectForFrame): + * loader/DocumentWriter.cpp: + (WebCore::DocumentWriter::replaceDocument): + (WebCore::DocumentWriter::deprecatedFrameEncoding): + * loader/FrameLoader.cpp: + * loader/FrameLoader.h: + * loader/HistoryController.cpp: + (WebCore::HistoryController::updateForStandardLoad): + (WebCore::HistoryController::updateForRedirectWithLockedBackForwardList): + (WebCore::HistoryController::updateForSameDocumentNavigation): + * loader/NavigationScheduler.cpp: + (WebCore::ScheduledHistoryNavigation::fire): + (WebCore::NavigationScheduler::scheduleLocationChange): + (WebCore::NavigationScheduler::scheduleRefresh): + * page/FrameView.cpp: + (WebCore::FrameView::updateControlTints): + * page/Location.cpp: + (WebCore::Location::url): + (WebCore::Location::setProtocol): + (WebCore::Location::setHost): + (WebCore::Location::setHostname): + (WebCore::Location::setPort): + (WebCore::Location::setPathname): + (WebCore::Location::setSearch): + (WebCore::Location::setHash): + (WebCore::Location::reload): + * page/Page.cpp: + (WebCore::Page::goToItem): + +2011-01-27 Stephen White <senorblanco@chromium.org> + + Reviewed by Darin Adler. + + Fix performance regression in ImageQualityController::objectDestroyed(). + https://bugs.webkit.org/show_bug.cgi?id=52645 + + In r72282, I inadvertently introduced this regression by using a + linear search through the hash map on object destruction. This was + because the hash key consisted of both object pointer and layer id, + but on object destruction we only know the object pointer, requiring + a search to find all the layers. + By replacing the hash map with two nested hash maps, where the outer key + is the object and the inner key is the layer, we can find all the + relevant data for an object in one hash lookup. + + * rendering/RenderBoxModelObject.cpp: + Replace the (object,layer)->size HashMap with object->layer and + layer->size HashMaps. + (WebCore::ImageQualityController::isEmpty): + Implement isEmpty() for the outer HashMap. + (WebCore::ImageQualityController::removeLayer): + When a layer is removed, remove it from the inner hash map. + (WebCore::ImageQualityController::set): + Implement set(): if the inner map exists, set the layer->size tuple + directly. If not, create a new inner map, set the tuple, and insert + it in the outer map. + (WebCore::ImageQualityController::objectDestroyed): + Look up the object in the outer map only. + (WebCore::ImageQualityController::highQualityRepaintTimerFired): + Cosmetic changes for the renamed now-outer hash map. + (WebCore::ImageQualityController::shouldPaintAtLowQuality): + Do both outer and inner hash map lookups. Call set() to add/update + entries to the hash maps. keyDestroyed() is now removeLayer(). + (WebCore::imageQualityController): + Make the ImageQualityController a file-static global, so it can be + created and destroyed on the fly. + (WebCore::RenderBoxModelObject::~RenderBoxModelObject): + If there is no ImageQualityController, don't call objectDestroyed(). + If it's empty, delete it. + * rendering/RenderImage.cpp: + (WebCore::RenderImage::paintIntoRect): + Also pass the Image* as the (void*) layer, since 0 is not a valid + HashMap key. + +2011-01-27 Adrienne Walker <enne@google.com> + + Reviewed by James Robinson. + + [chromium] Tiled compositor crashes if compositing turned off mid-paint + https://bugs.webkit.org/show_bug.cgi?id=53198 + + * platform/graphics/chromium/LayerRendererChromium.cpp: + (WebCore::LayerRendererChromium::drawLayers): + * platform/graphics/chromium/LayerTilerChromium.cpp: + (WebCore::LayerTilerChromium::update): + (WebCore::LayerTilerChromium::draw): + +2011-01-27 Carol Szabo <carol.szabo@nokia.com> + + Reviewed by David Hyatt. + + A corrupted counter tree is created when renderers are added to the + tree bypassing RenderObject::addChild + https://bugs.webkit.org/show_bug.cgi?id=51270 + + No new tests. This patch reimplements the fix for bugs 43812 and + 51637 and hence all tests are already there as part of the original + fixes for those bugs. + + * rendering/RenderCounter.cpp: + (WebCore::findPlaceForCounter): + Removed old workaround as this patch hopefully fixes the real + problem. + * rendering/RenderObject.cpp: + (WebCore::RenderObject::addChild): + Removed call to counter updater as it was moved to a lower level. + (WebCore::RenderObject::destroy): + Moved attached counter nodes destruction to after the node is + removed from the tree. + * rendering/RenderObjectChildList.cpp: + (WebCore::RenderObjectChildList::removeChildNode): + (WebCore::RenderObjectChildList::appendChildNode): + (WebCore::RenderObjectChildList::insertChildNode): + Added notifications to the Counter system such that the + CounterForest reflects the changes to the RendererTree. + * rendering/RenderWidget.cpp: + (WebCore::RenderWidget::destroy): + Applied the same changes as for RenderObject::destroy() + since RenderObject::destroy() is not called from here. + +2011-01-27 Adam Roben <aroben@apple.com> + + Add WKCACFViewLayerTreeHost + + This is a class that derives from CACFLayerTreeHost and uses a WKCACFView to render. + + Fixes <http://webkit.org/b/53251> <rdar://problem/8925496> CACFLayerTreeHost should use + WKCACFView for rendering + + * WebCore.vcproj/WebCore.vcproj: Added WKCACFViewLayerTreeHost.{cpp,h}. + + * platform/graphics/ca/win/CACFLayerTreeHost.cpp: + (WebCore::CACFLayerTreeHost::acceleratedCompositingAvailable): Make the test window have a + non-zero size. WKCACFView will always say it can't render if you pass it a 0-sized window, + so we need a non-empty window to perform a valid test. + (WebCore::CACFLayerTreeHost::create): First try to create a WKCACFViewLayerTreeHost, then + fall back to a LegacyCACFLayerTreeHost. + (WebCore::CACFLayerTreeHost::flushPendingLayerChangesNow): Moved code to react to the + context flush from here... + (WebCore::CACFLayerTreeHost::contextDidChange): ...to here. Derived classes are required to + call this function whenever changes are flushed to the context. + + * platform/graphics/ca/win/CACFLayerTreeHost.h: Added contextDidChange. + + * platform/graphics/ca/win/LegacyCACFLayerTreeHost.cpp: + (WebCore::LegacyCACFLayerTreeHost::createRenderer): + (WebCore::LegacyCACFLayerTreeHost::resize): + Changed to use flushContext instead of flushing the context manually so that we will always + notify the base class when the context gets flushed. + + (WebCore::LegacyCACFLayerTreeHost::flushContext): Added a call to contextDidChange so the + base class will know what happened. Moved code to schedule a render from here... + (WebCore::LegacyCACFLayerTreeHost::contextDidChange): ...to here. + + * platform/graphics/ca/win/LegacyCACFLayerTreeHost.h: Added contextDidChange. + + * platform/graphics/ca/win/WKCACFViewLayerTreeHost.cpp: Added. + (WebCore::WKCACFViewLayerTreeHost::create): If WebKitQuartzCoreAdditions, which provides + WKCACFView, isn't present, bail. Otherwise allocate and return a new host. + (WebCore::WKCACFViewLayerTreeHost::WKCACFViewLayerTreeHost): Initialize members. + (WebCore::WKCACFViewLayerTreeHost::updateViewIfNeeded): Update the view if we previously + marked that we needed to do so, and flush the context if our layer's bounds have changed. + (WebCore::WKCACFViewLayerTreeHost::contextDidChangeCallback): Call through to + contextDidChange. + (WebCore::WKCACFViewLayerTreeHost::contextDidChange): Tell the WKCACFView to start rendering + (if we didn't already), then call up to the base class. + (WebCore::WKCACFViewLayerTreeHost::initializeContext): Set the context's user data, the + view's layer, and hook up our "context did change" callback. + (WebCore::WKCACFViewLayerTreeHost::resize): Mark that the view needs to be updated the next + time we paint. + (WebCore::WKCACFViewLayerTreeHost::createRenderer): Update our view and return whether it is + able to render or not. + (WebCore::WKCACFViewLayerTreeHost::destroyRenderer): Clear out all the info we passed down + to the view. + (WebCore::WKCACFViewLayerTreeHost::lastCommitTime): Call through to the view. + (WebCore::WKCACFViewLayerTreeHost::flushContext): Ditto. + (WebCore::WKCACFViewLayerTreeHost::paint): Update the view so it will draw at the right + size, then call up to the base class. + (WebCore::WKCACFViewLayerTreeHost::render): Invalidate the view using the passed-in dirty + rects, then ask it to draw. + + * platform/graphics/ca/win/WKCACFViewLayerTreeHost.h: Copied from Source/WebCore/platform/graphics/ca/win/LegacyCACFLayerTreeHost.h. + +2011-01-27 Adam Roben <aroben@apple.com> + + Move LegacyCACFLayerTreeHost into its own files + + More preparation for <http://webkit.org/b/53251> <rdar://problem/8925496> CACFLayerTreeHost + should use WKCACFView for rendering + + Reviewed by Simon Fraser. + + * WebCore.vcproj/WebCore.vcproj: Added LegacyCACFLayerTreeHost.{cpp,h}. + + * platform/graphics/ca/win/CACFLayerTreeHost.cpp: Moved code from here to new files. + + * platform/graphics/ca/win/LegacyCACFLayerTreeHost.cpp: Added. + * platform/graphics/ca/win/LegacyCACFLayerTreeHost.h: Added. + +2011-01-27 Patrick Gansterer <paroga@webkit.org> + + Unreviewed WinCE build fix for r76824. + + * platform/wince/DragDataWinCE.cpp: + (WebCore::DragData::dragDataMap): + +2011-01-27 Adam Roben <aroben@apple.com> + + Split CACFLayerTreeHost into base and derived classes + + The derived class, LegacyCACFLayerTreeHost, contains all the D3D-related code. A later patch + will add a new derived class that replaces the D3D code with a different rendering API. + + For now, LegacyCACFLayerTreeHost lives in CACFLayerTreeHost.cpp. This keeps the diff a + little smaller. A later patch will move it to its own source files. + + Preparation for <http://webkit.org/b/53251> <rdar://problem/8925496> CACFLayerTreeHost + should use WKCACFView for rendering + + Reviewed by Simon Fraser. + + * platform/graphics/ca/win/CACFLayerTreeHost.cpp: + (WebCore::CACFLayerTreeHost::acceleratedCompositingAvailable): Clear the window before + destroying the host, as that is now the API contract that clients must fulfill. + (WebCore::LegacyCACFLayerTreeHost::create): Added. Simple creator. + (WebCore::CACFLayerTreeHost::create): Now instantiates a LegacyCACFLayerTreeHost. Calls the + new initialize function to perform initialization that has to happen after the vtable has + been set up. + + (WebCore::LegacyCACFLayerTreeHost::LegacyCACFLayerTreeHost): + (WebCore::CACFLayerTreeHost::CACFLayerTreeHost): + (WebCore::LegacyCACFLayerTreeHost::initializeContext): + (WebCore::CACFLayerTreeHost::initialize): + Moved some initialization code from the CACFLayerTreeHost constructor into these new + functions. + + (WebCore::LegacyCACFLayerTreeHost::~LegacyCACFLayerTreeHost): Added. Moved code here from + ~CACFLayerTreeHost. + (WebCore::CACFLayerTreeHost::~CACFLayerTreeHost): Rather than clearing the window at this + point (which would be too late, since we won't be able to call into the derived class's + virtual functions), just assert that it has already been cleared (or was never set in the + first place). + (WebCore::LegacyCACFLayerTreeHost::createRenderer): Renamed from + CACFLayerTreeHost::createRenderer, and changed to use getters instead of accessing + CACFLayerTreeHost's data members directly. + + (WebCore::LegacyCACFLayerTreeHost::destroyRenderer): + (WebCore::CACFLayerTreeHost::destroyRenderer): + Moved some code to the new LegacyCACFLayerTreeHost function. + + (WebCore::LegacyCACFLayerTreeHost::resize): + (WebCore::LegacyCACFLayerTreeHost::renderTimerFired): + Moved these functions to LegacyCACFLayerTreeHost. + + (WebCore::LegacyCACFLayerTreeHost::paint): + (WebCore::CACFLayerTreeHost::paint): + Moved some code to the new LegacyCACFLayerTreeHost function. + + (WebCore::LegacyCACFLayerTreeHost::render): + (WebCore::LegacyCACFLayerTreeHost::renderSoon): + Moved these functions to LegacyCACFLayerTreeHost. + + (WebCore::CACFLayerTreeHost::flushPendingLayerChangesNow): Moved code to flush the context + from here... + (WebCore::LegacyCACFLayerTreeHost::flushContext): ...to this new function. + + (WebCore::LegacyCACFLayerTreeHost::lastCommitTime): Moved code to get the last commit time + to this new function... + (WebCore::CACFLayerTreeHost::notifyAnimationsStarted): ...from here. + + (WebCore::LegacyCACFLayerTreeHost::initD3DGeometry): + (WebCore::LegacyCACFLayerTreeHost::resetDevice): + Moved these functions to LegacyCACFLayerTreeHost. + + * platform/graphics/ca/win/CACFLayerTreeHost.h: Made some functions virtual, removed some + members that have moved to LegacyCACFLayerTreeHost, grouped remaining members more + logically, and added some getters used by LegacyCACFLayerTreeHost. + +2011-01-27 Adam Roben <aroben@apple.com> + + Move CACFLayerTreeHostClient to its own header file + + Rubber-stamped by Steve Falkenburg. + + * WebCore.vcproj/WebCore.vcproj: Added CACFLayerTreeHostClient.h. Also let VS have its way + with the file. + + * platform/graphics/ca/win/CACFLayerTreeHost.cpp: Added new #include. + + * platform/graphics/ca/win/CACFLayerTreeHost.h: Removed CACFLayerTreeHostClient. + + * platform/graphics/ca/win/CACFLayerTreeHostClient.h: Added. + + * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp: Moved some #includes here + from the header file. + + * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h: Replaced broader #includes + with more specific ones, plus a forward-declaration. + +2011-01-27 James Simonsen <simonjam@chromium.org> + + Reviewed by Tony Chang. + + [Chromium] Simplify small caps logic in complex text on linux + https://bugs.webkit.org/show_bug.cgi?id=53207 + + Test: fast/text/atsui-multiple-renderers.html + fast/text/atsui-small-caps-punctuation-size.html + + * platform/graphics/chromium/ComplexTextControllerLinux.cpp: + (WebCore::ComplexTextController::nextScriptRun): Remove redundant logic. Case changes in a text run imply FontData changes. + (WebCore::ComplexTextController::setupFontForScriptRun): Update comment to reflect above. + +2011-01-27 Adam Barth <abarth@webkit.org> + + In which I attempt to fix the EFL build. + + * CMakeLists.txt: + +2011-01-25 Levi Weintraub <leviw@chromium.org> + + Reviewed by Darin Adler. + + Adding border and padding to the calculation of the local caret rect for RenderBoxes. + Corrected for mistake in r76625 + + Undo moves caret to invalid position + https://bugs.webkit.org/show_bug.cgi?id=49744 + + Tests: editing/selection/caret-painting-after-paste-undo-rtl.html + editing/selection/caret-painting-after-paste-undo.html + + * rendering/RenderBox.cpp: + (WebCore::RenderBox::localCaretRect): + +2011-01-27 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r76825. + http://trac.webkit.org/changeset/76825 + https://bugs.webkit.org/show_bug.cgi?id=53256 + + "caused crashes on GTK and chromium" (Requested by rniwa on + #webkit). + + * rendering/RenderBoxModelObject.cpp: + (WebCore::ImageQualityController::keyDestroyed): + (WebCore::ImageQualityController::objectDestroyed): + (WebCore::ImageQualityController::highQualityRepaintTimerFired): + (WebCore::ImageQualityController::shouldPaintAtLowQuality): + (WebCore::imageQualityController): + (WebCore::RenderBoxModelObject::~RenderBoxModelObject): + +2011-01-27 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Generalize the mechanism view-source uses to remember the source for an HTMLToken + https://bugs.webkit.org/show_bug.cgi?id=53200 + + Currently view-source tracks the source associated with each HTMLToken. + We want to re-use this mechanism for the new XSS auditor. This patch + moves this code into its own class so it can be shared between the + view-source parser and the general HTML parser. This patch also add + support for tracking the source of tokens that span document.write + boundaries. + + No functional change. This code change is somewhat tested by our + view-source layout tests. + + * Android.mk: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + - Fun with updating build files. + * html/parser/HTMLDocumentParser.cpp: + (WebCore::HTMLDocumentParser::pumpTokenizer): + - Teach HTMLDocumentParser to track the source for HTMLTokens. + Currently, this information isn't used, but it will be shortly. + I ran the HTML parser benchmark and this change didn't have a + measurable effect. + * html/parser/HTMLDocumentParser.h: + - Composite in the HTMLSourceTracker. + * html/parser/HTMLSourceTracker.cpp: Added. + (WebCore::HTMLSourceTracker::HTMLSourceTracker): + (WebCore::HTMLSourceTracker::start): + (WebCore::HTMLSourceTracker::end): + - This function should eventualy be folded into HTMLTokenizer. + (WebCore::HTMLSourceTracker::sourceForToken): + * html/parser/HTMLSourceTracker.h: Added. + * html/parser/HTMLToken.h: + - Now HTMLTokens always have a start index of zero. To do the job + of the old start index, this patch introduces the notion of a + baseOffset. Unlike the start index (which was used as the base + offset for all the other indicies), the baseOffset can change + over the lifetime of the token. We need the flexibility to + change the offset for tokens that span document.write boundaries. + Values are now normalized to zero-offset when stored. + (WebCore::HTMLToken::clear): + (WebCore::HTMLToken::setBaseOffset): + (WebCore::HTMLToken::end): + (WebCore::HTMLToken::beginAttributeName): + (WebCore::HTMLToken::endAttributeName): + (WebCore::HTMLToken::beginAttributeValue): + (WebCore::HTMLToken::endAttributeValue): + * html/parser/HTMLViewSourceParser.cpp: + - Updates the HTMLViewSourceParser to use the new + HTMLSourceTracker. + (WebCore::HTMLViewSourceParser::pumpTokenizer): + (WebCore::HTMLViewSourceParser::append): + (WebCore::HTMLViewSourceParser::sourceForToken): + - This function now just calls through to HTMLSourceTracker. + * html/parser/HTMLViewSourceParser.h: + * platform/text/SegmentedString.cpp: + (WebCore::SegmentedString::currentColumn): + (WebCore::SegmentedString::setCurrentPosition): + * platform/text/SegmentedString.h: + (WebCore::SegmentedString::numberOfCharactersConsumed): + - We need to handle the general case now. The "slow" version + doesn't turn out to be any slower in practice anyway. + +2011-01-27 Sam Weinig <sam@webkit.org> + + Fix all the builds. + + * platform/ScrollView.cpp: + (WebCore::ScrollView::paintOverhangAreas): Add parameters. + +2011-01-27 Sam Weinig <sam@webkit.org> + + Reviewed by Dave Hyatt. + + Add ability to do an unconstrained scroll on a ScrollView + https://bugs.webkit.org/show_bug.cgi?id=53249 + + * platform/ScrollView.cpp: + (WebCore::ScrollView::ScrollView): + Initialize m_constrainsScrollingToContentEdge to true. + + (WebCore::ScrollView::setScrollOffset): + Only constrain the offset if the m_constrainsScrollingToContentEdge is set. + + (WebCore::ScrollView::updateScrollbars): + Simplify expression converting an IntSize to an IntPoint. + + (WebCore::ScrollView::paint): + Paint the overhang if there is any. + + (WebCore::ScrollView::calculateOverhangAreasForPainting): + Calculate the overhang in viewport coordinates for painting. + + * platform/ScrollView.h: + (WebCore::ScrollView::constrainsScrollingToContentEdge): + (WebCore::ScrollView::setConstrainsScrollingToContentEdge): + Add bit to control whether the scroll position should be constrained + to the content edge when set. + + * platform/ScrollbarThemeComposite.cpp: + (WebCore::usedTotalSize): + (WebCore::ScrollbarThemeComposite::thumbPosition): + (WebCore::ScrollbarThemeComposite::thumbLength): + * platform/mac/ScrollbarThemeMac.mm: + (WebCore::ScrollbarThemeMac::paint): + Improve calculations of thumb size and position to take overhang into account. + +2011-01-27 Dirk Schulze <krit@webkit.org> + + Reviewed by Nikolas Zimmermann. + + SVG animation of Paths with segments of different coordinate modes on begin and end + https://bugs.webkit.org/show_bug.cgi?id=52984 + + At the moment we just support SVG path animations, if the number of segments on the given start path + is the same as the number of segments on the given end path. But a segment on a given position must be identical + on both paths as well. Not only the segment type, also the coordinate mode of the segments must be identical. + If MoveToRel is on the second position on the start path a MoveToRel must be on the second position + of the end path too. According to the SVG spec, at least the coordinate mode can differ. Means, if we have MoveToRel + in the start path, we can use MoveToAbs on the same position in the end path. + + This patch fixes the blending code to follow the spec here. It was necessary to track the current position of + both paths, transform coordinates to the same coordinate mode and transform the resulting animation coordinate back + to the coordinate mode of either the start or the end path. Which mode is taken depends on the progress of the + animation. + + Tests: svg/animations/animate-path-animation-Cc-Ss.html + svg/animations/animate-path-animation-Ll-Vv-Hh.html + svg/animations/animate-path-animation-Qq-Tt.html + svg/animations/animate-path-animation-cC-sS-inverse.html + svg/animations/animate-path-animation-lL-vV-hH-inverse.html + svg/animations/animate-path-animation-qQ-tT-inverse.html + + * svg/SVGPathBlender.cpp: + (WebCore::blendFloatPoint): + (WebCore::blendAnimatedFloat): + (WebCore::SVGPathBlender::blendAnimatedDimensionalFloat): + (WebCore::SVGPathBlender::blendAnimatedFloatPoint): + (WebCore::SVGPathBlender::blendMoveToSegment): + (WebCore::SVGPathBlender::blendLineToSegment): + (WebCore::SVGPathBlender::blendLineToHorizontalSegment): + (WebCore::SVGPathBlender::blendLineToVerticalSegment): + (WebCore::SVGPathBlender::blendCurveToCubicSegment): + (WebCore::SVGPathBlender::blendCurveToCubicSmoothSegment): + (WebCore::SVGPathBlender::blendCurveToQuadraticSegment): + (WebCore::SVGPathBlender::blendCurveToQuadraticSmoothSegment): + (WebCore::SVGPathBlender::blendArcToSegment): + (WebCore::coordinateModeOfCommand): + (WebCore::isSegmentEqual): + (WebCore::SVGPathBlender::blendAnimatedPath): + (WebCore::SVGPathBlender::cleanup): + * svg/SVGPathBlender.h: + +2011-01-27 Cris Neckar <cdn@chromium.org> + + Reviewed by Dimitri Glazkov. + + Clear the parent on a css keyframe's m_style when removing it from the stylesheet. + https://bugs.webkit.org/show_bug.cgi?id=52320 + + Test: fast/css/css-keyframe-style-crash.html + + * css/CSSRuleList.cpp: + (WebCore::CSSRuleList::deleteRule): + * css/WebKitCSSKeyframesRule.cpp: + (WebCore::WebKitCSSKeyframesRule::~WebKitCSSKeyframesRule): + +2011-01-27 Rob Buis <rwlbuis@gmail.com> + + Reviewed by Kent Tamura. + + Color changes to option elements in a select multiple aren't drawn immediately + https://bugs.webkit.org/show_bug.cgi?id=49790 + + Redirect style changes on <option> element to the owner <select> element. + + Test: fast/repaint/select-option-background-color.html + + * html/HTMLOptionElement.cpp: + (WebCore::HTMLOptionElement::setRenderStyle): + +2011-01-19 Stephen White <senorblanco@chromium.org> + + Reviewed by Darin Adler. + + Fix performance regression in ImageQualityController::objectDestroyed(). + https://bugs.webkit.org/show_bug.cgi?id=52645 + + In r72282, I inadvertently introduced this regression by using a + linear search through the hash map on object destruction. This was + because the hash key consisted of both object pointer and layer id, + but on object destruction we only know the object pointer, requiring + a search to find all the layers. + By replacing the hash map with two nested hash maps, where the outer key + is the object and the inner key is the layer, we can find all the + relevant data for an object in one hash lookup. + + * rendering/RenderBoxModelObject.cpp: + Replace the (object,layer)->size HashMap with object->layer and + layer->size HashMaps. + (WebCore::ImageQualityController::isEmpty): + Implement isEmpty() for the outer HashMap. + (WebCore::ImageQualityController::removeLayer): + When a layer is removed, remove it from the inner hash map. + (WebCore::ImageQualityController::set): + Implement set(): if the inner map exists, set the layer->size tuple + directly. If not, create a new inner map, set the tuple, and insert + it in the outer map. + (WebCore::ImageQualityController::objectDestroyed): + Look up the object in the outer map only. + (WebCore::ImageQualityController::highQualityRepaintTimerFired): + Cosmetic changes for the renamed now-outer hash map. + (WebCore::ImageQualityController::shouldPaintAtLowQuality): + Do both outer and inner hash map lookups. Call set() to add/update + entries to the hash maps. keyDestroyed() is now removeLayer(). + (WebCore::imageQualityController): + Make the ImageQualityController a file-static global, so it can be + created and destroyed on the fly. + (WebCore::RenderBoxModelObject::~RenderBoxModelObject): + If there is no ImageQualityController, don't call objectDestroyed(). + If it's empty, delete it. + + +2011-01-26 Enrica Casucci <enrica@apple.com> + + Reviewed by Darin Adler and Adam Roben. + + WebKit2: add support for drag and drop on Windows + https://bugs.webkit.org/show_bug.cgi?id=52775 + <rdar://problem/8514409> + + On Windows the access to the content being dragged is + provided via the IDataObject interface that is made available + to the window that registers itself as drop target. + Since this interface cannot be accessed from the WebProcess, + in every call to one of the methods of the IDropTarget interface + we serialize the content of the drag clipboard and send it over to + the WebProcess. + The bulk of this patch consists in the refactoring needed in DragData + and ClipboardWin classes to extract the data from the serialized object. + + * platform/DragData.cpp: + * platform/DragData.h: + * platform/win/ClipboardUtilitiesWin.cpp: + (WebCore::getWebLocData): + (WebCore::getURL): + (WebCore::getPlainText): + (WebCore::getTextHTML): + (WebCore::getCFHTML): + (WebCore::fragmentFromFilenames): + (WebCore::containsFilenames): + (WebCore::fragmentFromHTML): + (WebCore::containsHTML): + (WebCore::getClipboardData): + * platform/win/ClipboardUtilitiesWin.h: + * platform/win/ClipboardWin.cpp: + (WebCore::Clipboard::create): + (WebCore::ClipboardWin::ClipboardWin): + (WebCore::ClipboardWin::getData): + (WebCore::ClipboardWin::types): + (WebCore::ClipboardWin::files): + (WebCore::ClipboardWin::hasData): + * platform/win/ClipboardWin.h: + (WebCore::ClipboardWin::create): + * platform/win/DragDataWin.cpp: + (WebCore::DragData::DragData): + (WebCore::DragData::containsURL): + (WebCore::DragData::dragDataMap): + (WebCore::DragData::asURL): + (WebCore::DragData::containsFiles): + (WebCore::DragData::asFilenames): + (WebCore::DragData::containsPlainText): + (WebCore::DragData::asPlainText): + (WebCore::DragData::canSmartReplace): + (WebCore::DragData::containsCompatibleContent): + (WebCore::DragData::asFragment): + +2011-01-27 Mario Sanchez Prada <msanchez@igalia.com> + + Reviewed by Martin Robinson. + + [GTK] Space characters in source document interfere with reported caret offset + https://bugs.webkit.org/show_bug.cgi?id=53033 + + Calculate caret offset from rendered text instead of from node contents. + + * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: + (objectAndOffsetUnignored): Calculate the caret offset based only + on positions and ranges, instead of using the computed offset in + the container node. + +2011-01-26 Alexey Proskuryakov <ap@apple.com> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=53197 + <rdar://problem/8895682> Make WebKit2 printing asynchronous + + * WebCore.exp.in: Export more PrintContext methods that we didn't use on Mac before. + + * page/PrintContext.cpp: (WebCore::PrintContext::spoolRect): Changed to make the same + transformation as spoolPages does for consistency. + +2011-01-27 David Grogan <dgrogan@google.com> + + Reviewed by Jeremy Orlow. + + initial support for close() in indexeddb backend + https://bugs.webkit.org/show_bug.cgi?id=53150 + + Test: storage/indexeddb/transaction-after-close.html + + * storage/IDBDatabase.cpp: + (WebCore::IDBDatabase::IDBDatabase): + (WebCore::IDBDatabase::transaction): + (WebCore::IDBDatabase::close): + * storage/IDBDatabase.h: + * storage/IDBDatabase.idl: + * storage/IDBDatabaseBackendImpl.cpp: + (WebCore::IDBDatabaseBackendImpl::transaction): + (WebCore::IDBDatabaseBackendImpl::close): + +2011-01-27 Dirk Schulze <krit@webkit.org> + + Reviewed by Nikolas Zimmermann. + + SVG animation doesn't support calcMode discrete for number and color values. + https://bugs.webkit.org/show_bug.cgi?id=53189 + + Add support for calcMode discrete on number and color animation. + + Tests: svg/animations/animate-color-calcMode-discrete.html + svg/animations/animate-number-calcMode-discrete.html + + * svg/SVGAnimateElement.cpp: + (WebCore::SVGAnimateElement::calculateAnimatedValue): + +2011-01-26 Zhenyao Mo <zmo@google.com> + + Reviewed by Kenneth Russell. + + shaderSource needs to preserve original source + https://bugs.webkit.org/show_bug.cgi?id=52833 + + Test: fast/canvas/webgl/gl-getshadersource.html + + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::getShaderParameter): Intercept SHADER_SOURCE_LENGTH. + (WebCore::WebGLRenderingContext::getShaderSource): Intercept the call. + (WebCore::WebGLRenderingContext::shaderSource): Cache the source. + * html/canvas/WebGLShader.cpp: Cache shader source. + (WebCore::WebGLShader::WebGLShader): + * html/canvas/WebGLShader.h: Ditto. + (WebCore::WebGLShader::getSource): + (WebCore::WebGLShader::setSource): + +2011-01-27 Patrick Gansterer <paroga@webkit.org> + + Unreviewed WinCE build fix for r76743. + + * platform/graphics/wince/FontWinCE.cpp: + (WebCore::TextRunComponent::TextRunComponent): + +2011-01-27 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: Closure and Global variable details automatically collapsing on each step through JavaScript code. + https://bugs.webkit.org/show_bug.cgi?id=53234 + + * inspector/front-end/ScopeChainSidebarPane.js: + (WebInspector.ScopeChainSidebarPane): + (WebInspector.ScopeChainSidebarPane.prototype.update): + +2011-01-27 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r76789. + http://trac.webkit.org/changeset/76789 + https://bugs.webkit.org/show_bug.cgi?id=53238 + + Broke GTK layout tests (Requested by podivilov on #webkit). + + * inspector/front-end/ScopeChainSidebarPane.js: + (WebInspector.ScopeChainSidebarPane): + (WebInspector.ScopeChainSidebarPane.prototype.update): + +2011-01-27 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: store all settings related to the agents on the frontend side + https://bugs.webkit.org/show_bug.cgi?id=53174 + + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.exp.in: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/ScriptDebugServer.cpp: + * bindings/js/ScriptDebugServer.h: + * bindings/js/ScriptProfiler.cpp: + * bindings/js/ScriptProfiler.h: + * bindings/v8/ScriptDebugServer.cpp: + * bindings/v8/ScriptDebugServer.h: + * bindings/v8/ScriptProfiler.cpp: + * bindings/v8/ScriptProfiler.h: + * inspector/Inspector.idl: + * inspector/InspectorAgent.cpp: profiler and debugger enablement state is now stored + on the front-end side and will be pushed to the backend when the frontend is loaded. + (WebCore::InspectorAgent::InspectorAgent): + (WebCore::InspectorAgent::disconnectFrontend): + (WebCore::InspectorAgent::restoreDebugger): + (WebCore::InspectorAgent::restoreProfiler): + (WebCore::InspectorAgent::enableProfiler): + (WebCore::InspectorAgent::disableProfiler): + (WebCore::InspectorAgent::showAndEnableDebugger): + (WebCore::InspectorAgent::enableDebugger): + (WebCore::InspectorAgent::disableDebugger): + * inspector/InspectorAgent.h: + * inspector/InspectorConsoleAgent.cpp: XHR failures will be logged to the console only + if the front-end was opened during current browser session and XHR logging is turned on + there. + (WebCore::InspectorConsoleAgent::setMonitoringXHREnabled): + (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled): + * inspector/InspectorDebuggerAgent.cpp: + * inspector/InspectorDebuggerAgent.h: + * inspector/InspectorInstrumentation.cpp: + (WebCore::InspectorInstrumentation::identifierForInitialRequestImpl): + (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl): + * inspector/InspectorProfilerAgent.cpp: + (WebCore::InspectorProfilerAgent::InspectorProfilerAgent): + (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling): + * inspector/InspectorSettings.cpp: Removed. + * inspector/InspectorSettings.h: Removed. + * inspector/InspectorState.cpp: + (WebCore::InspectorState::InspectorState): + * inspector/InspectorState.h: + * inspector/front-end/ConsoleView.js: + (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.consoleMessagesCleared): + (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher): + (WebInspector.ConsoleView.prototype._handleContextMenuEvent.itemAction): + (WebInspector.ConsoleView.prototype._handleContextMenuEvent): + * inspector/front-end/ProfilesPanel.js: + (WebInspector.ProfilesPanel.prototype._toggleProfiling): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel.prototype._toggleDebugging): + * inspector/front-end/Settings.js: + (WebInspector.Settings): + * inspector/front-end/inspector.js: + +2011-01-27 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: Closure and Global variable details automatically collapsing on each step through JavaScript code. + https://bugs.webkit.org/show_bug.cgi?id=53234 + + * inspector/front-end/ScopeChainSidebarPane.js: + (WebInspector.ScopeChainSidebarPane): + (WebInspector.ScopeChainSidebarPane.prototype.update): + +2011-01-27 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: [Elements panel] Tooltip for relative links incorrectly identifies current URL + https://bugs.webkit.org/show_bug.cgi?id=53171 + + * inspector/front-end/inspector.js: + (WebInspector.completeURL): Taught to understand partial href's that start with "?" (contain GET parameters only) + +2011-01-27 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + [V8] Crash in WebCore::addMessageToConsole + https://bugs.webkit.org/show_bug.cgi?id=53227 + + * bindings/v8/V8Proxy.cpp: check that the Frame where the error + occured still has a page before getting a console object from it. + (WebCore::V8Proxy::reportUnsafeAccessTo): + +2011-01-27 Hans Wennborg <hans@chromium.org> + + Reviewed by Jeremy Orlow. + + IndexedDB: Remove IDBCallbacks::onSuccess() used for null values. + https://bugs.webkit.org/show_bug.cgi?id=53178 + + Remove the IDBCallbacks::onSuccess() function that was used for + null values, and replace such calls with calls to + IDBCallBacks::onSuccess(SerializedScriptValue::nullValue()) + instead. + + No new functionality, so no new tests. + + * storage/IDBCallbacks.h: + * storage/IDBCursorBackendImpl.cpp: + (WebCore::IDBCursorBackendImpl::updateInternal): + (WebCore::IDBCursorBackendImpl::continueFunctionInternal): + * storage/IDBIndexBackendImpl.cpp: + (WebCore::IDBIndexBackendImpl::openCursorInternal): + * storage/IDBObjectStoreBackendImpl.cpp: + (WebCore::IDBObjectStoreBackendImpl::deleteInternal): + (WebCore::IDBObjectStoreBackendImpl::openCursorInternal): + * storage/IDBRequest.cpp: + * storage/IDBRequest.h: + +2011-01-27 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r76773. + http://trac.webkit.org/changeset/76773 + https://bugs.webkit.org/show_bug.cgi?id=53230 + + breaks multiple GTK media tests (Requested by philn-tp on + #webkit). + + * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: + (WebCore::mimeTypeCache): + +2011-01-27 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r76770. + http://trac.webkit.org/changeset/76770 + https://bugs.webkit.org/show_bug.cgi?id=53229 + + Some inspector tests fail (Requested by yurys on #webkit). + + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.exp.in: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/ScriptDebugServer.cpp: + (WebCore::ScriptDebugServer::isDebuggerAlwaysEnabled): + * bindings/js/ScriptDebugServer.h: + * bindings/js/ScriptProfiler.cpp: + (WebCore::ScriptProfiler::isProfilerAlwaysEnabled): + * bindings/js/ScriptProfiler.h: + * bindings/v8/ScriptDebugServer.cpp: + (WebCore::ScriptDebugServer::isDebuggerAlwaysEnabled): + * bindings/v8/ScriptDebugServer.h: + * bindings/v8/ScriptProfiler.cpp: + (WebCore::ScriptProfiler::isProfilerAlwaysEnabled): + * bindings/v8/ScriptProfiler.h: + * inspector/Inspector.idl: + * inspector/InspectorAgent.cpp: + (WebCore::InspectorAgent::InspectorAgent): + (WebCore::InspectorAgent::disconnectFrontend): + (WebCore::InspectorAgent::restoreDebugger): + (WebCore::InspectorAgent::restoreProfiler): + (WebCore::InspectorAgent::ensureSettingsLoaded): + (WebCore::InspectorAgent::enableProfiler): + (WebCore::InspectorAgent::disableProfiler): + (WebCore::InspectorAgent::showAndEnableDebugger): + (WebCore::InspectorAgent::enableDebugger): + (WebCore::InspectorAgent::disableDebugger): + * inspector/InspectorAgent.h: + (WebCore::InspectorAgent::settings): + * inspector/InspectorConsoleAgent.cpp: + (WebCore::InspectorConsoleAgent::setMonitoringXHREnabled): + (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled): + * inspector/InspectorDebuggerAgent.cpp: + (WebCore::InspectorDebuggerAgent::isDebuggerAlwaysEnabled): + * inspector/InspectorDebuggerAgent.h: + * inspector/InspectorInstrumentation.cpp: + (WebCore::InspectorInstrumentation::identifierForInitialRequestImpl): + (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl): + * inspector/InspectorProfilerAgent.cpp: + (WebCore::InspectorProfilerAgent::InspectorProfilerAgent): + (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling): + * 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: Copied from Source/WebCore/bindings/v8/ScriptProfiler.h. + * inspector/InspectorState.cpp: + (WebCore::InspectorState::InspectorState): + * inspector/InspectorState.h: + * inspector/front-end/ConsoleView.js: + (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.monitoringXHRStateChanged): + (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher): + (WebInspector.ConsoleView.prototype._handleContextMenuEvent): + * inspector/front-end/ProfilesPanel.js: + (WebInspector.ProfilesPanel.prototype._toggleProfiling): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel.prototype._toggleDebugging): + * inspector/front-end/Settings.js: + (WebInspector.Settings): + * inspector/front-end/inspector.js: + +2011-01-26 Philippe Normand <pnormand@igalia.com> + + Reviewed by Martin Robinson. + + [GTK] LayoutTests/media/audio-mpeg4-supported.html fails + https://bugs.webkit.org/show_bug.cgi?id=53125 + + * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: + (WebCore::mimeTypeCache): Add audio/x-m4a mimetype in the cache. + +2011-01-26 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: store all settings related to the agents on the frontend side + https://bugs.webkit.org/show_bug.cgi?id=53174 + + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.exp.in: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * inspector/Inspector.idl: + * inspector/InspectorAgent.cpp: profiler and debugger enablement state is now stored + on the front-end side and will be pushed to the backend when the frontend is loaded. + (WebCore::InspectorAgent::InspectorAgent): + (WebCore::InspectorAgent::disconnectFrontend): + (WebCore::InspectorAgent::restoreDebugger): + (WebCore::InspectorAgent::restoreProfiler): + (WebCore::InspectorAgent::enableProfiler): + (WebCore::InspectorAgent::disableProfiler): + (WebCore::InspectorAgent::showAndEnableDebugger): + (WebCore::InspectorAgent::enableDebugger): + (WebCore::InspectorAgent::disableDebugger): + * inspector/InspectorAgent.h: + * inspector/InspectorConsoleAgent.cpp: XHR failures will be logged to the console only + if the front-end was opened during current browser session and XHR logging is turned on + there. + (WebCore::InspectorConsoleAgent::setMonitoringXHREnabled): + (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled): + * inspector/InspectorInstrumentation.cpp: + (WebCore::InspectorInstrumentation::identifierForInitialRequestImpl): + (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl): + * inspector/InspectorProfilerAgent.cpp: + (WebCore::InspectorProfilerAgent::enable): + (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling): + * inspector/InspectorProfilerAgent.h: + * inspector/InspectorSettings.cpp: Removed. + * inspector/InspectorSettings.h: Removed. + * inspector/InspectorState.cpp: + (WebCore::InspectorState::InspectorState): + * inspector/InspectorState.h: + * inspector/front-end/ConsoleView.js: + (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.consoleMessagesCleared): + (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher): + (WebInspector.ConsoleView.prototype._handleContextMenuEvent.itemAction): + (WebInspector.ConsoleView.prototype._handleContextMenuEvent): + * inspector/front-end/ProfilesPanel.js: + (WebInspector.ProfilesPanel.prototype._toggleProfiling): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel.prototype._toggleDebugging): + * inspector/front-end/Settings.js: + (WebInspector.Settings): + * inspector/front-end/inspector.js: + +2011-01-27 Dan Bernstein <mitz@apple.com> + + Reviewed by Sam Weinig. + + REGRESSION (r76743): Uneven spacing in right-to-left justified text + https://bugs.webkit.org/show_bug.cgi?id=53225 + + Fixes failure in fast/text/atsui-spacing-features.html + + There was an inconsistency between rendering code and font code in the interpretation of + 'after expansion' and 'trailing expansion'. Changed all code to interpret these in terms of + visual order rather than logical. + + * platform/graphics/Font.cpp: + (WebCore::Font::expansionOpportunityCount): Added a text direction parameter and changed to + iterate in visual order accordingly. + * platform/graphics/Font.h: + * platform/graphics/WidthIterator.cpp: + (WebCore::WidthIterator::WidthIterator): Pass the run direction to expansionOpportunityCount(). + (WebCore::WidthIterator::advance): For right-to-left runs, evaluate the trailing expansion + condition with respect to the first character, which is the trailing character in visual order. + * platform/graphics/mac/ComplexTextController.cpp: + (WebCore::ComplexTextController::ComplexTextController): Pass the run direction to + expansionOpportunityCount(). + * rendering/RenderBlockLineLayout.cpp: + (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Ditto. + +2011-01-26 Adam Roben <aroben@apple.com> + + Don't create the Direct3D device before it's first needed + + We only need the device once we decide to render. There's no point in creating it before + then. + + Reviewed by Sam Weinig. + + * platform/graphics/ca/win/CACFLayerTreeHost.cpp: + (WebCore::CACFLayerTreeHost::setWindow): Removed the call to createRenderer() from here. + We already have code to create it when we first try to draw. + (WebCore::CACFLayerTreeHost::createRenderer): Flush the context after we set our layer's + bounds so that the bounds will take effect the next time we render (which could be just + after this function returns). + +2011-01-26 Adam Roben <aroben@apple.com> + + Add assertions that CACFLayerTreeHost gains and loses an HWND only once + + CACFLayerTreeHost doesn't support any other use pattern. + + Reviewed by Sam Weinig. + + * platform/graphics/ca/win/CACFLayerTreeHost.cpp: + (WebCore::CACFLayerTreeHost::CACFLayerTreeHost): Initialize new member. + (WebCore::CACFLayerTreeHost::setWindow): Assert that we transition from not having a window, + to having a window, to not having a window just once over the lifetime of this object. + + * platform/graphics/ca/win/CACFLayerTreeHost.h: Added m_state. + +2011-01-26 Adam Roben <aroben@apple.com> + + Notify layers that their animations have started when we flush the context, not when we + render + + r76372 separated context flushing from rendering, but this bit of code got left behind. + + Reviewed by Sam Weinig. + + * platform/graphics/ca/win/CACFLayerTreeHost.cpp: + (WebCore::CACFLayerTreeHost::render): Moved code to notify the layers from here to + notifyAnimationsStarted. + (WebCore::CACFLayerTreeHost::flushPendingLayerChangesNow): Added a call to + notifyAnimationsStarted after we flush the context. + (WebCore::CACFLayerTreeHost::notifyAnimationsStarted): Added. Code came from render. Changed + to call PlatformCALayer::animationStarted rather than calling through to the client + directly. + + * platform/graphics/ca/win/CACFLayerTreeHost.h: Added notifyAniamtionsStarted. + +2011-01-26 Adam Roben <aroben@apple.com> + + Small cleanup in MediaPlayerPrivateFullscreenWindow + + Reviewed by Sam Weinig. + + * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp: + (WebCore::MediaPlayerPrivateFullscreenWindow::~MediaPlayerPrivateFullscreenWindow): Moved + code here from close(), since this was the only place that called it after the following + change to createWindow. + (WebCore::MediaPlayerPrivateFullscreenWindow::createWindow): Replaced code that handled the + case where we had already created the window with an assertion that we have not already done + so. Our single caller (FullscreenVideoController) did not require this behavior. + + * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h: Removed layerView. + +2011-01-26 Sam Weinig <sam@webkit.org> + + Reviewed by Adam Roben. + + Move ScrollView scroll wheel code to ScrollAnimator. + + * platform/ScrollAnimator.cpp: + (WebCore::ScrollAnimator::handleWheelEvent): + * platform/ScrollAnimator.h: + Moved implementation of handleWheelEvent from ScrollView::wheelEvent. + + * platform/ScrollView.cpp: + (WebCore::ScrollView::wheelEvent): + Call down to the ScrollableArea. + + * platform/ScrollableArea.cpp: + (WebCore::ScrollableArea::handleWheelEvent): + Call down to the ScrollAnimator. + + * platform/ScrollableArea.h: + (WebCore::ScrollableArea::scrollPosition): + (WebCore::ScrollableArea::minimumScrollPosition): + (WebCore::ScrollableArea::maximumScrollPosition): + (WebCore::ScrollableArea::visibleContentRect): + (WebCore::ScrollableArea::visibleHeight): + (WebCore::ScrollableArea::visibleWidth): + Add functions needed to implement wheel event in the animator. + +2011-01-26 David Kilzer <ddkilzer@apple.com> + + <http://webkit.org/b/53192> Add experimental support for HTTP pipelining in CFNetwork + <rdar://problem/8821760> + + Reviewed by Antti Koivisto. + + This adds support for HTTP pipelining in CFNetwork, but does not + enable it. To enable it post-SnowLeopard, use this command: + + defaults write BUNDLE.ID WebKitEnableHTTPPipelining -bool YES + + Once enabled, it is possible to force the same load priority + (high) to be sent to CFNetwork to allow WebCore to handle the + scheduling: + + defaults write BUNDLE.ID WebKitForceHTTPPipeliningPriorityHigh -bool YES + + * WebCore.exp.in: Export _wkGetHTTPPipeliningPriority and + _wkSetHTTPPipeliningPriority. + + * loader/DocumentThreadableLoader.cpp: + (WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequestWithPreflight): + Copy the priority to preflightRequest. + + * loader/ResourceLoadScheduler.cpp: + (WebCore::ResourceLoadScheduler::scheduleLoad): Refactored code + at the end of the method to use an early return. + + * loader/cache/CachedResourceRequest.cpp: + (WebCore::CachedResourceRequest::load): Set the priority on the + ResourceRequest object based on the priority of the + CachedResourceRequest before calling + ResourceLoadScheduler::scheduleSubresourceLoad(). + + * loader/icon/IconLoader.cpp: + (WebCore::IconLoader::startLoading): Create a ResourceRequest + object and set its priority to ResourceLoadPriorityLow before + passing it to ResourceLoadScheduler::scheduleSubresourceLoad(). + + * platform/mac/WebCoreSystemInterface.h: + (wkGetHTTPPipeliningPriority): Added. + (wkSetHTTPPipeliningPriority): Added. + * platform/mac/WebCoreSystemInterface.mm: + (wkGetHTTPPipeliningPriority): Added. + (wkSetHTTPPipeliningPriority): Added. + + * platform/network/ResourceRequestBase.cpp: + (WebCore::ResourceRequestBase::adopt): Set m_priority when + adopting a CrossThreadResourceRequestData. + (WebCore::ResourceRequestBase::copyData): Set m_priority when + creating a CrossThreadResourceRequestData. + (WebCore::ResourceRequestBase::priority): Added. + (WebCore::ResourceRequestBase::setPriority): Added. + (WebCore::equalIgnoringHeaderFields): Priorities must match when + comparing two ResourceRequest objects. + + * platform/network/ResourceRequestBase.h: + (WebCore::ResourceRequestBase::ResourceRequestBase): Set default + priority of new objects to ResourceLoadPriorityLow. + (WebCore::ResourceRequestBase::priority): Added declaration. + (WebCore::ResourceRequestBase::setPriority): Added declaration. + (WebCore::isHTTPPipeliningEnabled): Added. + (WebCore::shouldUseHTTPPipeliningPriority): Added. + + * platform/network/cf/ResourceRequestCFNet.cpp: Updated so that + Mac OS X and Windows share code. + (WebCore::initializeMaximumHTTPConnectionCountPerHost): Always + set the HTTP connection count per host, but return an + 'unlimited' value when using HTTP pipelining. This method used + to be defined in ResourceRequestMac.mm for Mac OS X. + (WebCore::readBooleanPreference): Added. Helper method for + reading boolean user defaults. + (WebCore::isHTTPPipeliningEnabled): Returns value of user + default key WebKitEnableHTTPPipelining, or false if not set. + (WebCore::shouldUseHTTPPipeliningPriority): Returns value of + user default key WebKitForceHTTPPipeliningPriorityHigh, or false + if not set. + * platform/network/cf/ResourceRequestCFNet.h: Updated so that + Mac OS X and Windows share code. Fixed indentation. + (WebCore::mapHTTPPipeliningPriorityToResourceLoadPriority): Added. + (WebCore::mapResourceLoadPriorityToHTTPPipeliningPriority): Added. + + * platform/network/mac/ResourceRequestMac.mm: + (WebCore::ResourceRequest::doUpdatePlatformRequest): Update + HTTP pipelining priority on NSMutableFURLRequest object. + (WebCore::ResourceRequest::doUpdateResourceRequest): Update + m_priority from the NSURLRequest object. + (WebCore::initializeMaximumHTTPConnectionCountPerHost): Removed. + Code is now shared with Windows in ResourceRequestCFNet.cpp. + +2011-01-26 Beth Dakin <bdakin@apple.com> + + Reviewed by Darin Adler. + + Fix for <rdar://problem/8895140> Adopt WKScrollbar metrics + when using WKScrollbars. + + New WebKitSystemInterface Functionality. + * WebCore.exp.in: + * platform/mac/WebCoreSystemInterface.h: + * platform/mac/WebCoreSystemInterface.mm: + + Some of the terrible static arrays are now only needed in the + old non-WK code, so they are if-def'd now. + * platform/mac/ScrollbarThemeMac.mm: + + Just patching this function in a better way than I did + before. + (WebCore::updateArrowPlacement): + + Call into WK for the right values. + (WebCore::ScrollbarThemeMac::scrollbarThickness): + (WebCore::ScrollbarThemeMac::hasThumb): + (WebCore::ScrollbarThemeMac::minimumThumbLength): + + Return false if there are no buttons. + (WebCore::ScrollbarThemeMac::hasButtons): + + Return an empty IntRect if there are not buttons. + (WebCore::buttonRepaintRect): + +2011-01-26 Sam Weinig <sam@webkit.org> + + Reviewed by Maciej Stachowiak. + + Add events to represent the start/end of a gesture scroll + https://bugs.webkit.org/show_bug.cgi?id=53215 + + * WebCore.exp.in: + Add new file. + + * WebCore.xcodeproj/project.pbxproj: + Add new file. + + * page/EventHandler.cpp: + (WebCore::EventHandler::handleGestureEvent): + * page/EventHandler.h: + Add entry point for handling gesture events. + + * platform/PlatformGestureEvent.h: Added. + (WebCore::PlatformGestureEvent::PlatformGestureEvent): + (WebCore::PlatformGestureEvent::type): + (WebCore::PlatformGestureEvent::position): + (WebCore::PlatformGestureEvent::globalPosition): + (WebCore::PlatformGestureEvent::timestamp): + Add platform agnostic representation of a gesture event. + +2011-01-26 Dan Bernstein <mitz@apple.com> + + Reviewed by Dave Hyatt. + + <rdar://problem/8446709> Allow inter-ideograph justification for CJK + https://bugs.webkit.org/show_bug.cgi?id=53184 + + Tests: fast/text/justify-ideograph-complex.html + fast/text/justify-ideograph-simple.html + fast/text/justify-ideograph-vertical.html + + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::drawTextInternal): Corrected the type of the third parameter + passed to the TextRun constructor and added the trailingExpansionBehavior parameter. + * platform/graphics/Font.cpp: + (WebCore::Font::expansionOpportunityCount): Added. Returns the number of expansion opportunities + for text justification. On entry, isAfterExpansion says whether an expansion opportunity exists + before the first character. On return, isAfterExpansion says whether an expansion opportunity + exists after the last character. + * platform/graphics/Font.h: + * platform/graphics/GlyphBuffer.h: + (WebCore::GlyphBuffer::expandLastAdvance): Added. + * platform/graphics/TextRun.h: + (WebCore::TextRun::TextRun): Added a TrailingExpansionBehavior parameter to the constructors. + Renamed padding to expansion. + (WebCore::TextRun::expansion): Renamed padding() to this. + (WebCore::TextRun::allowsTrailingExpansion): Added this accessor. + * platform/graphics/WidthIterator.cpp: + (WebCore::WidthIterator::WidthIterator): Initialize m_isAfterExpansion. Use Font::expansionOpportunityCount() + and adjust the count if it includes a trailing expansion opportunity but the run disallows trailing + expansion. + (WebCore::WidthIterator::advance): Apply expansion before and after CJK ideographs. + (WebCore::WidthIterator::advanceOneCharacter): Changed to not clear the GlyphBuffer so that advance() + can expand the last advance if it is followed by a CJK ideograph. + * platform/graphics/WidthIterator.h: Renamed m_padding to m_expansion and m_padPerSpace + to m_expansionPerOpportunity. + * platform/graphics/chromium/FontChromiumWin.cpp: + (WebCore::Font::canExpandAroundIdeographsInComplexText): Added. + * platform/graphics/chromium/FontLinux.cpp: + (WebCore::Font::canExpandAroundIdeographsInComplexText): Added. + * platform/graphics/efl/FontEfl.cpp: + (WebCore::Font::canExpandAroundIdeographsInComplexText): Added. + * platform/graphics/gtk/FontGtk.cpp: + (WebCore::Font::canExpandAroundIdeographsInComplexText): Added. + * platform/graphics/haiku/FontHaiku.cpp: + (WebCore::Font::canExpandAroundIdeographsInComplexText): Added. + * platform/graphics/mac/ComplexTextController.cpp: + (WebCore::ComplexTextController::ComplexTextController): Initialize m_isAfterExpansion. Use + Font::expansionOpportunityCount() and adjust the count if it includes a trailing expansion + opportunity but the run disallows trailing expansion. + (WebCore::ComplexTextController::adjustGlyphsAndAdvances): Moved the definition and initialization + of hasExtraSpacing outside the loop. Apply expansion before and after CJK ideographs. + * platform/graphics/mac/ComplexTextController.h: Renamed m_padding to m_expansion and m_padPerSpace + to m_expansionPerOpportunity. + * platform/graphics/mac/FontMac.mm: + (WebCore::Font::canExpandAroundIdeographsInComplexText): Added. + * platform/graphics/qt/FontQt.cpp: + (WebCore::Font::canExpandAroundIdeographsInComplexText): Added. + * platform/graphics/win/FontWin.cpp: + (WebCore::Font::canExpandAroundIdeographsInComplexText): Added. + * platform/graphics/win/UniscribeController.cpp: + (WebCore::UniscribeController::UniscribeController): Updated for rename. + * platform/graphics/wince/FontWinCE.cpp: + (WebCore::Font::canExpandAroundIdeographsInComplexText): Added. + * platform/graphics/wx/FontWx.cpp: + (WebCore::Font::canExpandAroundIdeographsInComplexText): Added. + * rendering/EllipsisBox.cpp: + (WebCore::EllipsisBox::paint): Pass a TrailingExpansionBehavior to the TextRun constructor. + (WebCore::EllipsisBox::selectionRect): Ditto. + (WebCore::EllipsisBox::paintSelection): Ditto. + * rendering/InlineBox.h: + (WebCore::InlineBox::InlineBox): Renamed m_toAdd to m_expansion. + (WebCore::InlineBox::expansion): Renamed toAdd() to this. + * rendering/InlineTextBox.cpp: + (WebCore::InlineTextBox::selectionRect): Pass a TrailingExpansionBehavior to the TextRun constructor. + (WebCore::InlineTextBox::paint): Ditto. + (WebCore::InlineTextBox::paintSelection): Ditto. + (WebCore::InlineTextBox::paintCompositionBackground): Ditto. + (WebCore::InlineTextBox::paintSpellingOrGrammarMarker): Ditto. + (WebCore::InlineTextBox::paintTextMatchMarker): Ditto. + (WebCore::InlineTextBox::computeRectForReplacementMarker): Ditto. + (WebCore::InlineTextBox::offsetForPosition): Ditto. + (WebCore::InlineTextBox::positionForOffset): Ditto. + * rendering/InlineTextBox.h: + (WebCore::InlineTextBox::setExpansion): Renamed setSpaceAdd() to this. + (WebCore::InlineTextBox::trailingExpansionBehavior): Added. Trailing expansion is allowed if this + is not the last leaf box on the line. + * rendering/RenderBlockLineLayout.cpp: + (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Keep expansion opportunity counts + in a vector instead of computing them twice. Discard the trailing expansion opportunity in the + last text box. + * rendering/RenderFileUploadControl.cpp: + (WebCore::RenderFileUploadControl::paintObject): Pass a TrailingExpansionBehavior to the TextRun constructor. + (WebCore::RenderFileUploadControl::computePreferredLogicalWidths): Ditto. + * rendering/RenderListBox.cpp: + (WebCore::RenderListBox::updateFromElement): Ditto. + (WebCore::RenderListBox::paintItemForeground): Ditto. Also corrected the type of the second parameter. + * rendering/RenderTextControl.cpp: + (WebCore::RenderTextControl::getAvgCharWidth): Ditto. + (WebCore::RenderTextControl::paintPlaceholder): Ditto. + * rendering/svg/SVGInlineTextBox.cpp: + (WebCore::SVGInlineTextBox::constructTextRun): Ditto. + +2011-01-26 Andy Estes <aestes@apple.com> + + Rubber-stamped by Darin Adler. + + Inline HTMLObjectElement::hasValidClassId(). + + * html/HTMLObjectElement.cpp: + (WebCore::HTMLObjectElement::hasValidClassId): + +2011-01-26 Evan Martin <evan@chromium.org> + + Reviewed by Tony Chang. + + [chromium] crash on getBoundingClientRect in complex text + https://bugs.webkit.org/show_bug.cgi?id=53199 + + Use the correct array bound; we want the number of characters processed by + the shaper, not the longest continuous script run length. + + Test: platform/chromium-linux/fast/text/international/complex-text-rectangle.html + + * platform/graphics/chromium/ComplexTextControllerLinux.cpp: + (WebCore::ComplexTextController::nextScriptRun): + * platform/graphics/chromium/ComplexTextControllerLinux.h: + (WebCore::ComplexTextController::numCodePoints): + +2011-01-26 Emil A Eklund <eae@chromium.org> + + Reviewed by Alexey Proskuryakov. + + Remove cached document reference from CSSStyleSheet and XSLStyleSheet. + https://bugs.webkit.org/show_bug.cgi?id=52084 + + Test: fast/dom/css-delete-doc.html + + * css/CSSMediaRule.cpp: + (WebCore::CSSMediaRule::insertRule): + (WebCore::CSSMediaRule::deleteRule): + * css/CSSStyleSheet.cpp: + (WebCore::CSSStyleSheet::CSSStyleSheet): + (WebCore::CSSStyleSheet::document): + * css/CSSStyleSheet.h: + * xml/XSLStyleSheet.h: + (WebCore::XSLStyleSheet::parentStyleSheet): + * xml/XSLStyleSheetLibxslt.cpp: + (WebCore::XSLStyleSheet::XSLStyleSheet): + (WebCore::XSLStyleSheet::cachedResourceLoader): + (WebCore::XSLStyleSheet::setParentStyleSheet): + (WebCore::XSLStyleSheet::ownerDocument): + * xml/XSLStyleSheetQt.cpp: + (WebCore::XSLStyleSheet::XSLStyleSheet): + (WebCore::XSLStyleSheet::cachedResourceLoader): + (WebCore::XSLStyleSheet::ownerDocument): + +2011-01-25 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Kent Tamura. + + Reduce ref-count churn in shadowPseudoId. + https://bugs.webkit.org/show_bug.cgi?id=53136 + + Refactoring, so no new tests. + + * dom/Element.h: + (WebCore::Element::shadowPseudoId): Changed signature to use const AtomicString& + * html/ValidationMessage.cpp: + (WebCore::ElementWithPseudoId::shadowPseudoId): Ditto. + * html/shadow/SliderThumbElement.cpp: + (WebCore::SliderThumbElement::shadowPseudoId): Ditto, plus moved from the header file. + * html/shadow/SliderThumbElement.h: Ditto. + * rendering/MediaControlElements.cpp: + (WebCore::MediaControlMuteButtonElement::shadowPseudoId): Ditto. + (WebCore::MediaControlVolumeSliderMuteButtonElement::shadowPseudoId): Ditto. + (WebCore::MediaControlPlayButtonElement::shadowPseudoId): Ditto. + (WebCore::MediaControlSeekForwardButtonElement::shadowPseudoId): Ditto. + (WebCore::MediaControlSeekBackButtonElement::shadowPseudoId): Ditto. + (WebCore::MediaControlRewindButtonElement::shadowPseudoId): Ditto. + (WebCore::MediaControlReturnToRealtimeButtonElement::shadowPseudoId): Ditto. + (WebCore::MediaControlToggleClosedCaptionsButtonElement::shadowPseudoId): Ditto. + (WebCore::MediaControlTimelineElement::shadowPseudoId): Ditto. + (WebCore::MediaControlVolumeSliderElement::shadowPseudoId): Ditto. + (WebCore::MediaControlFullscreenButtonElement::shadowPseudoId): Ditto. + * rendering/MediaControlElements.h: Ditto. + +2011-01-26 Dave Hyatt <hyatt@apple.com> + + Reviewed by Dan Bernstein. + + https://bugs.webkit.org/show_bug.cgi?id=46421, make multi-column layout work with vertical text. + + Added new tests in fast/multicol/vertical-lr and fast/multicol/vertical-rl. + + * css/html.css: + Update p, blockquote and h1-h6 to respect directionality so that column layout tests that use those + elements work properly. + + * rendering/InlineFlowBox.cpp: + (WebCore::InlineFlowBox::placeBoxesInBlockDirection): + Fix a flipping bug with the computation of lineTopIncludingMargins where it could be incorrectly shrunk + in some cases (causing lines to all stack on top of one another). + + * rendering/InlineTextBox.h: + (WebCore::InlineTextBox::calculateBoundaries): + Fix calculateBoundaries to be physical rather than logical. + + * rendering/LayoutState.cpp: + (WebCore::LayoutState::addForcedColumnBreak): + * rendering/LayoutState.h: + Rename childY to childLogicalOffset. + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::layoutBlock): + (WebCore::RenderBlock::addOverflowFromChildren): + (WebCore::RenderBlock::addOverflowFromFloats): + (WebCore::RenderBlock::collapseMargins): + (WebCore::RenderBlock::estimateLogicalTopPosition): + (WebCore::RenderBlock::layoutBlockChild): + (WebCore::RenderBlock::markForPaginationRelayoutIfNeeded): + (WebCore::RenderBlock::paintColumnRules): + (WebCore::RenderBlock::paintColumnContents): + (WebCore::RenderBlock::paintFloats): + (WebCore::RenderBlock::selectionGaps): + (WebCore::RenderBlock::removeFloatingObjectsBelow): + (WebCore::RenderBlock::addOverhangingFloats): + (WebCore::RenderBlock::hitTestFloats): + (WebCore::RenderBlock::hitTestColumns): + (WebCore::RenderBlock::calcColumnWidth): + (WebCore::RenderBlock::desiredColumnWidth): + (WebCore::RenderBlock::columnRectAt): + (WebCore::RenderBlock::layoutColumns): + (WebCore::RenderBlock::adjustPointToColumnContents): + (WebCore::RenderBlock::adjustRectForColumns): + (WebCore::RenderBlock::flipForWritingModeIncludingColumns): + (WebCore::RenderBlock::adjustForColumns): + (WebCore::RenderBlock::adjustForBorderFit): + (WebCore::RenderBlock::nextPageLogicalTop): + (WebCore::RenderBlock::applyBeforeBreak): + (WebCore::RenderBlock::applyAfterBreak): + (WebCore::RenderBlock::adjustForUnsplittableChild): + (WebCore::RenderBlock::adjustLinePositionForPagination): + * rendering/RenderBlock.h: + (WebCore::RenderBlock::logicalRightOffsetForContent): + (WebCore::RenderBlock::logicalLeftOffsetForContent): + (WebCore::RenderBlock::leftForFloatIncludingMargin): + (WebCore::RenderBlock::topForFloatIncludingMargin): + * rendering/RenderBlockLineLayout.cpp: + (WebCore::RenderBlock::layoutInlineChildren): + (WebCore::RenderBlock::determineStartPosition): + Reworking of all the RenderBlock column functions to support flipping and vertical modes. + + * rendering/RenderBox.cpp: + (WebCore::RenderBox::offsetFromContainer): + (WebCore::RenderBox::flipForWritingModeIncludingColumns): + Patch offsetFromContainer to be aware of flipped block writing modes when dealing with column layouts. + + * rendering/RenderBox.h: + (WebCore::RenderBox::clientLogicalBottom): + Fix a bug in clientLogicalBottom where it didn't add in the right border/padding. + + * rendering/RenderFlexibleBox.cpp: + (WebCore::RenderFlexibleBox::layoutBlock): + Better terminology for pagination. + + * rendering/RenderInline.cpp: + (WebCore::RenderInline::offsetFromContainer): + (WebCore::RenderInline::mapLocalToContainer): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::paintChildLayerIntoColumns): + (WebCore::RenderLayer::hitTestChildLayerColumns): + (WebCore::RenderLayer::localBoundingBox): + (WebCore::RenderLayer::boundingBox): + Patch painting in RenderLayers to be vertical-text-aware. + + * rendering/RenderObject.cpp: + (WebCore::RenderObject::mapLocalToContainer): + Add code to be flipped block-aware with columns. + + * rendering/RenderTable.cpp: + (WebCore::RenderTable::layout): + * rendering/RenderTableRow.cpp: + (WebCore::RenderTableRow::layout): + * rendering/RenderTableSection.cpp: + (WebCore::RenderTableSection::layoutRows): + Fix pagination to use better terminology. + + * rendering/RenderText.cpp: + (WebCore::RenderText::absoluteQuads): + (WebCore::RenderText::absoluteQuadsForRange): + Fix a bug where vertical text wasn't taken into account. + +2011-01-26 Dimitri Glazkov <dglazkov@chromium.org> + + Unreviewed, rolling out r76719. + http://trac.webkit.org/changeset/76719 + https://bugs.webkit.org/show_bug.cgi?id=53122 + + Broke a bunch of media tests in Chromium/Qt/GTK. + +2011-01-26 Tony Chang <tony@chromium.org> + + Reviewed by Ryosuke Niwa. + + [gtk] strip NUL characters when copying text/html on GTK+ + https://bugs.webkit.org/show_bug.cgi?id=52508 + + Putting NUL characters in the text/html clipboard doesn't work in + WebKit GTK+ (the pasted value is truncated at the NUL). Since we're + already stripping this character for plain text (for Windows), strip + it in text/html too. + + * editing/MarkupAccumulator.h: mark function as virtual + * editing/markup.cpp: + (WebCore::StyledMarkupAccumulator::appendString): + (WebCore::StyledMarkupAccumulator::takeResults): strip nulls + +2011-01-26 Mario Sanchez Prada <msanchez@igalia.com> + + Reviewed by Martin Robinson. + + [GTK] Reliable crash with getTextAtOffset() + https://bugs.webkit.org/show_bug.cgi?id=53131 + + Properly calculate length in bytes for a UTF8 substring. + + * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: + (utf8Substr): Use character instead of bytes as units to + calculate the length in bytes for the UTF8 string. + +2011-01-25 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Kent Tamura. + + Change HTMLInputElement-derived parts of media element shadow DOM to use shadowPseudoId. + https://bugs.webkit.org/show_bug.cgi?id=53122 + + This is the first step in converting HTMLMediaElement to the new shadow DOM. + + Should not regress any existing tests. No observable change in behavior. + + * css/CSSSelector.cpp: + (WebCore::CSSSelector::pseudoId): Removed now-unnecessary hard-coded pseudo-element selectors. + (WebCore::nameToPseudoTypeMap): Ditto. + (WebCore::CSSSelector::extractPseudoType): Ditto. + * css/CSSSelector.h: Ditto. + * css/mediaControls.css: Added proper initial values, now that elements use the proper selector pipeline. + * rendering/MediaControlElements.cpp: + (WebCore::MediaControlInputElement::MediaControlInputElement): Removed the switch statement, + which is now replaced with virtual shadowPseudoId on each corresponding class. + (WebCore::MediaControlInputElement::styleForElement): Changed to use element pipeline. + (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement): Changed to set + display type in constructor. + (WebCore::MediaControlMuteButtonElement::create): Changed to not take PseudoId as + constructor argument. + (WebCore::MediaControlMuteButtonElement::shadowPseudoId): Added. + (WebCore::MediaControlVolumeSliderMuteButtonElement::MediaControlVolumeSliderMuteButtonElement): Added + to disambiguate from the MediaControlMuteButtonElement. + (WebCore::MediaControlVolumeSliderMuteButtonElement::create): Added. + (WebCore::MediaControlVolumeSliderMuteButtonElement::shadowPseudoId): Added. + (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement): Changed to not take PseudoId as + constructor argument. + (WebCore::MediaControlPlayButtonElement::shadowPseudoId): Added. + (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement): Changed to not take PseudoId as + constructor argument. + (WebCore::MediaControlSeekForwardButtonElement::MediaControlSeekForwardButtonElement): Added. + (WebCore::MediaControlSeekForwardButtonElement::create): Added. + (WebCore::MediaControlSeekForwardButtonElement::shadowPseudoId): Added. + (WebCore::MediaControlSeekBackButtonElement::MediaControlSeekBackButtonElement): Added. + (WebCore::MediaControlSeekBackButtonElement::create): Added. + (WebCore::MediaControlSeekBackButtonElement::shadowPseudoId): Added. + (WebCore::MediaControlRewindButtonElement::MediaControlRewindButtonElement): Added. + (WebCore::MediaControlRewindButtonElement::shadowPseudoId): Added. + (WebCore::MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement): Changed to not take PseudoId as + constructor argument. + (WebCore::MediaControlReturnToRealtimeButtonElement::shadowPseudoId): Added. + (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement): Changed to not take PseudoId as + constructor argument. + (WebCore::MediaControlToggleClosedCaptionsButtonElement::shadowPseudoId): Added. + (WebCore::MediaControlTimelineElement::MediaControlTimelineElement): Changed to not take PseudoId as + constructor argument. + (WebCore::MediaControlTimelineElement::shadowPseudoId): Added. + (WebCore::MediaControlVolumeSliderElement::MediaControlVolumeSliderElement): Changed to not take PseudoId as + constructor argument. + (WebCore::MediaControlVolumeSliderElement::shadowPseudoId): Added. + (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement): Changed to not take PseudoId as + constructor argument. + (WebCore::MediaControlFullscreenButtonElement::shadowPseudoId): Added. + * rendering/MediaControlElements.h: + (WebCore::MediaControlSeekForwardButtonElement::isForwardButton): Added. + (WebCore::MediaControlSeekBackButtonElement::isForwardButton): Added. + * rendering/RenderMedia.cpp: + (WebCore::RenderMedia::createMuteButton): Changed to use new constructor. + (WebCore::RenderMedia::createSeekBackButton): Ditto. + (WebCore::RenderMedia::createSeekForwardButton): Ditto. + (WebCore::RenderMedia::createVolumeSliderMuteButton): Ditto. + * rendering/style/RenderStyleConstants.h: Removed constants that are no longer used. + +2011-01-26 Kenneth Russell <kbr@google.com> + + Reviewed by James Robinson. + + Fix multisampling support in DrawingBuffer + https://bugs.webkit.org/show_bug.cgi?id=53154 + + In DrawingBuffer's multisampling code path, fixed enum usage and a + bug where it would incorrectly redefine the depth and stencil + buffers. Hooked up multisampling code path in Chromium port. + + Tested manually with some accelerated 2D canvas content. + Multisampling isn't being switched on for the accelerated 2D + canvas at the current time because it will increase fill rate + requirements and cause a large number of rebaselines. + + * platform/graphics/Extensions3D.h: + * platform/graphics/chromium/DrawingBufferChromium.cpp: + (WebCore::DrawingBuffer::publishToPlatformLayer): + * platform/graphics/chromium/Extensions3DChromium.h: + * platform/graphics/gpu/DrawingBuffer.cpp: + (WebCore::DrawingBuffer::create): + (WebCore::DrawingBuffer::reset): + * platform/graphics/opengl/Extensions3DOpenGL.cpp: + (WebCore::Extensions3DOpenGL::supports): + +2011-01-26 Tony Chang <tony@chromium.org> + + Unreviewed. + + [chromium] revert r68310 because of race conditions detected by tsans + https://bugs.webkit.org/show_bug.cgi?id=53185 + + Causes stability problems for Chromium, http://crbug.com/70589 + + * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp: + (WebCore::SQLiteFileSystem::registerSQLiteVFS): + +2011-01-26 Justin Schuh <jschuh@chromium.org> + + Reviewed by Adam Barth. + + Make fireEventsAndUpdateStyle use stack local vectors. + https://bugs.webkit.org/show_bug.cgi?id=46760 + + Test: animations/animation-add-events-in-handler.html + + * page/animation/AnimationController.cpp: + (WebCore::AnimationControllerPrivate::fireEventsAndUpdateStyle): + +2011-01-26 Nate Chapin <japhet@chromium.org> + + Reviewed by Adam Barth. + + Remove m_URL from FrameLoader and depend on Document::url() + instead. FrameLoader::url() will be removed in a followup patch. + https://bugs.webkit.org/show_bug.cgi?id=41165 + + Refactor only, no new tests. + + * WebCore.exp.in: + * dom/Document.cpp: + (WebCore::Document::Document): + (WebCore::Document::updateURLForPushOrReplaceState): + * loader/DocumentWriter.cpp: + (WebCore::DocumentWriter::begin): + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::iconURL): + (WebCore::FrameLoader::didOpenURL): + (WebCore::FrameLoader::didExplicitOpen): + (WebCore::FrameLoader::receivedFirstData): + (WebCore::FrameLoader::url): + (WebCore::FrameLoader::setOutgoingReferrer): + (WebCore::FrameLoader::startIconLoader): + (WebCore::FrameLoader::commitIconURLToIconDatabase): + (WebCore::FrameLoader::finishedParsing): + (WebCore::FrameLoader::checkIfDisplayInsecureContent): + (WebCore::FrameLoader::checkIfRunInsecureContent): + (WebCore::FrameLoader::updateFirstPartyForCookies): + (WebCore::FrameLoader::loadInSameDocument): + (WebCore::FrameLoader::commitProvisionalLoad): + (WebCore::FrameLoader::open): + (WebCore::FrameLoader::shouldScrollToAnchor): + * loader/FrameLoader.h: Rename setURL() to setOutgoingReferrer(). + +2011-01-25 Brian Weinstein <bweinstein@apple.com> + + Reviewed by Antti Koivisto. + + Crashes loading pages when cancelling subresource loads through WebKit + https://bugs.webkit.org/show_bug.cgi?id=53123 + <rdar://problem/8914361> + + Fix a crash that happened when cancelling subresource loads through WebKit. + + When a load is cancelled synchronously (via the WebKit client), CachedResourceLoader::requestResource + can be called recursively on the same function, either leading to infinite recursion, or deleting + an object when it is not done being used. + + The fix for this was to call checkForPendingPreloads and servePendingRequests asynchronously when + CachedResourceLoader::loadDone was called synchronously (due to the load being cancelled synchronously). + + Test: fast/loader/willSendRequest-null-for-preload.html + + * loader/DocumentLoader.cpp: + (WebCore::DocumentLoader::setRequest): Only dispatch didReceiveServerRedirectForProvisionalLoadForFrame + if our new URL is non-null. + * loader/cache/CachedResourceLoader.cpp: + (WebCore::CachedResourceLoader::CachedResourceLoader): Initialize our timer. + (WebCore::CachedResourceLoader::loadDone): If the CachedResource we were passed in was 0, that means this + function was called synchronously + from CachedResourceRequest::load, and we don't want to call into checkForPendingPreloads synchronously, + so put it on a 0-delay timer to make the calls to checkForPendingPreloads and servePendingRequests asynchronous. + (WebCore::CachedResourceLoader::loadDonePendingActionTimerFired): Call checkForPendingPreloads and servePendingRequests. + (WebCore::CachedResourceLoader::checkForPendingPreloads): m_pendingPreloads is now a Deque instead of a Vector, + so use Deque methods. + * loader/cache/CachedResourceLoader.h: Add the timer, the timer callback function, and make m_pendingPreloads a Deque. + +2011-01-25 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: evaluate in console may not work when window.console is substituted or deleted. + https://bugs.webkit.org/show_bug.cgi?id=53072 + + Test: inspector/console-substituted.html + + * inspector/InjectedScriptSource.js: + (.): + +2011-01-26 Carlos Garcia Campos <cgarcia@igalia.com> + + Reviewed by Martin Robinson. + + [cairo] Use CAIRO_OPERATOR_DARKEN when available + https://bugs.webkit.org/show_bug.cgi?id=53084 + + Use CAIRO_OPERATOR_DARKEN for CompositePlusDarker instead of + CAIRO_OPERATOR_SATURATE when building with cairo version >= 1.10. + + * platform/graphics/cairo/CairoUtilities.cpp: + (WebCore::toCairoOperator): + +2011-01-26 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: visualize \n in strings as unicode cr + symbol in stack variables sidebar. + https://bugs.webkit.org/show_bug.cgi?id=53162 + + * inspector/front-end/ObjectPropertiesSection.js: + (WebInspector.ObjectPropertyTreeElement.prototype.update): + +2011-01-26 Andrey Kosyakov <caseq@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: size is wrong for cached resources in Network panel + - Set the size for 304/not modified resources from cached resource. + - Add response headers size to resource transfer size. + https://bugs.webkit.org/show_bug.cgi?id=52886 + + * inspector/InspectorResourceAgent.cpp: + (WebCore::InspectorResourceAgent::didReceiveResponse): + * inspector/front-end/Resource.js: + (WebInspector.Resource): + (WebInspector.Resource.prototype.get transferSize): + (WebInspector.Resource.prototype.set responseHeaders): + (WebInspector.Resource.prototype._headersSize): + (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType): + +2011-01-26 Carol Szabo <carol.szabo@nokia.com> + + Reviewed by Simon Hausmann. + + Fixed TiledBacking store to take into account new dirty regions caused by + paint time layouts. + + Flawed rendering design for QtWebKit resulting in artifacts being displayed + https://bugs.webkit.org/show_bug.cgi?id=49184 + + There are no new tests as this patch aims at fixing flicker that + happen randomly, mostly on slow hardware, thus are hard to reproduce + consistently in an automated test. + + This patch does not fully address the said bug but it is a step in the + right direction. A full solution to the bug, as currently perceived, + requires either a Qt GUI API change, a performance hit for QtWebKit, + or a hack, until a full solution is provided this patch is progress. + + * platform/graphics/TiledBackingStore.cpp: + (WebCore::TiledBackingStore::updateTileBuffers): + Changed to take into account newly dirtied areas created during + tile update initiated layouts during the same update. + +2011-01-26 Patrick Gansterer <paroga@webkit.org> + + Reviewed by Andreas Kling. + + [SKIA] Remove "current path" of GraphicsContext + https://bugs.webkit.org/show_bug.cgi?id=53124 + + * platform/graphics/GraphicsContext.h: + * platform/graphics/skia/GraphicsContextSkia.cpp: + (WebCore::GraphicsContext::clipPath): + (WebCore::GraphicsContext::fillPath): + (WebCore::GraphicsContext::strokePath): + * platform/graphics/skia/PathSkia.cpp: + (WebCore::Path::strokeBoundingRect): + * platform/graphics/skia/PlatformContextSkia.cpp: + * platform/graphics/skia/PlatformContextSkia.h: + +2011-01-26 Zalan Bujtas <zbujtas@gmail.com> + + Reviewed by Andreas Kling. + + [Qt] Path::normalAngleAtLength() returns incorrect value on ACID3. + + QPainterPath returns angle values with the origo being at the top left corner, + we need to account for this in normalAngleAtLength(). + This Regressed with r66979. + + No new tests as this is already covered by ACID3. + + * platform/graphics/qt/PathQt.cpp: + (WebCore::Path::normalAngleAtLength): + +2011-01-26 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: live edit does not update source snippet. + https://bugs.webkit.org/show_bug.cgi?id=53097 + + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel.prototype._scriptSourceChanged): + +2011-01-26 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: Incorrect on-hover evaluation of a variable named 'profile'. + https://bugs.webkit.org/show_bug.cgi?id=53018 + + * inspector/InjectedScript.cpp: + (WebCore::InjectedScript::evaluate): + (WebCore::InjectedScript::evaluateOnCallFrame): + (WebCore::InjectedScript::getCompletions): + (WebCore::InjectedScript::getCompletionsOnCallFrame): + * inspector/InjectedScript.h: + * inspector/InjectedScriptSource.js: + (.): + * inspector/Inspector.idl: + * inspector/InspectorDebuggerAgent.cpp: + (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame): + (WebCore::InspectorDebuggerAgent::getCompletionsOnCallFrame): + * inspector/InspectorDebuggerAgent.h: + * inspector/InspectorRuntimeAgent.cpp: + (WebCore::InspectorRuntimeAgent::evaluate): + (WebCore::InspectorRuntimeAgent::getCompletions): + * inspector/InspectorRuntimeAgent.h: + * inspector/front-end/ConsoleView.js: + (WebInspector.ConsoleView.prototype.completions): + (WebInspector.ConsoleView.prototype.evalInInspectedWindow): + (WebInspector.ConsoleView.prototype._enterKeyPressed): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame.updatingCallbackWrapper): + (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame): + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrame.prototype._showPopup): + * inspector/front-end/WatchExpressionsSidebarPane.js: + (WebInspector.WatchExpressionsSection.prototype.update): + +2011-01-26 Hironori Bono <hbono@chromium.org> + + Reviewed by Kent Tamura. + + A speculative fix for Bug 52422 - [chromium] More crash in + FontFallbackList::determinePitch(const Font* font) + https://bugs.webkit.org/show_bug.cgi?id=52422 + + My previous change may not work on non-US Windows whose system fonts + have localized aliases matching to the system locale because of a + font-name mismatch in createFontIndirectAndGetWinName(). This change + tries all the fonts installed in a PC and returns the first font that we + can create without errors. + + * platform/graphics/chromium/FontCacheChromiumWin.cpp: + (WebCore::GetLastResortFallbackFontProcData::GetLastResortFallbackFontProcData): + Added a struct used for getLastResortFallbackFontProc(). + (WebCore::getLastResortFallbackFontProc): Added a callback for EnumFontFamilies(). + (WebCore::FontCache::getLastResortFallbackFont): Use EnumFontFamilies() to find a last-resort font. + +2011-01-26 James Robinson <jamesr@chromium.org> + + Reviewed by Nate Chapin. + + Add a DOMTimeStamp parameter to the requestAnimationFrame callback + https://bugs.webkit.org/show_bug.cgi?id=53142 + + This adds a DOMTimeStamp parameter to the requestAnimationFrame callback to more + closely match mozilla's proposal. This is useful if the page has multiple imperative animations + and wants to ensure that they all remain synchronized. If each callback used Date.now() to + update its animation state, they would potentially be out of sync with each other. If they use + the timestamp then all callbacks for the same "frame" will update to the same state. + + Test: fast/animation/request-animation-frame-timestamps.html + + * bindings/scripts/CodeGeneratorV8.pm: + * bindings/scripts/test/V8/V8TestCallback.cpp: + (WebCore::V8TestCallback::callbackWithClass2Param): + * dom/Document.cpp: + (WebCore::Document::serviceScriptedAnimations): + * dom/Document.h: + * dom/RequestAnimationFrameCallback.h: + * dom/RequestAnimationFrameCallback.idl: + * page/FrameView.cpp: + (WebCore::FrameView::serviceScriptedAnimations): + * page/FrameView.h: + +2011-01-25 Yuzo Fujishima <yuzo@google.com> + + Unreviewed attempt to fix compilation error for Chromium Clang. + + * platform/graphics/mac/ComplexTextController.cpp: + (WebCore::ComplexTextController::advance): + +2011-01-25 Ned Holbrook <nholbrook@apple.com> + + Reviewed by Dan Bernstein. + + ComplexTextController incorrectly conflates string length and range of indexes + https://bugs.webkit.org/show_bug.cgi?id=52760 + + Test: fast/text/offsetForPosition-complex-fallback.html + + * platform/graphics/mac/ComplexTextController.cpp: + (WebCore::ComplexTextController::offsetForPosition): + (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): + (WebCore::ComplexTextController::ComplexTextRun::setIsNonMonotonic): + (WebCore::ComplexTextController::advance): + * platform/graphics/mac/ComplexTextController.h: + (WebCore::ComplexTextController::ComplexTextRun::create): + (WebCore::ComplexTextController::ComplexTextRun::indexEnd): + * platform/graphics/mac/ComplexTextControllerATSUI.cpp: + (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): + * platform/graphics/mac/ComplexTextControllerCoreText.cpp: + (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): + (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText): + +2011-01-25 Sam Weinig <sam@webkit.org> + + Reviewed by David Hyatt. + + Scrollbars don't work correctly for top-to-bottom text in an overflow: scroll area + https://bugs.webkit.org/show_bug.cgi?id=53048 + + Test: fast/overflow/overflow-rtl-vertical-origin.html + + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::scrollPosition): + (WebCore::RenderLayer::updateScrollInfoAfterLayout): + Take the scroll origin into account when calculating scrollbars in more places. + +2011-01-25 Steve Falkenburg <sfalken@apple.com> + + Windows production build fix. + Use correct configuration-specific path in makefile. + + * WebCore.vcproj/WebCore.make: + +2011-01-25 Kent Tamura <tkent@chromium.org> + + Reviewed by Dimitri Glazkov. + + Radio button group state is not restored correctly + https://bugs.webkit.org/show_bug.cgi?id=50442 + + Fixes a bug that radio button states are not restored correctly in + a case that non-first radio button in a group is checked. + + If "checked" attribute is present, the radio button is checked and + other radio buttons in the group are unchecked. This behavior + disturbs form state restoring. This patch changes this behavior so + that the "checked" attribute handling is delayed after form state + restoring. + + Test: fast/forms/state-restore-radio-group.html + + * html/HTMLFormControlElement.h: + Make finishParsingChildren() protected so that HTMLInpuElement can call it. + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::HTMLInputElement): + - Add createdByParser parameter. + - Initialize m_stateRestored and m_parsingInProgress. + (WebCore::HTMLInputElement::create): Sync with the constructor. + (WebCore::HTMLInputElement::restoreFormControlState): + Set m_stateRestored in order to refer it in finishParsingChildren(). + (WebCore::HTMLInputElement::parseMappedAttribute): + Don't call setChecked() during parsing. Move setNeedsValidityCheck() + to setChecked(). + (WebCore::HTMLInputElement::finishParsingChildren): + Call setChecked() if form state is not restored. + (WebCore::HTMLInputElement::setChecked): + Move setNeedsValidityCheck() from parseMappedAttribute() because + finishParsingChildren() also needs to call setNeedsValidityCheck(). + * html/HTMLInputElement.h: + - Remove the default value of HTMLFormElement* of the HTMLInputElement + constructor, and add createdByParser parameter. + - Introduce m_parsingInProgress and m_stateRestored. + * html/HTMLIsIndexElement.cpp: + (WebCore::HTMLIsIndexElement::HTMLIsIndexElement): + Sync with the HTMLInputElement constructor change. + * html/HTMLTagNames.in: Add constructorNeedsCreatedByParser flag. + * rendering/MediaControlElements.cpp: + (WebCore::MediaControlInputElement::MediaControlInputElement): + Sync with the HTMLInputElement constructor change. + * rendering/ShadowElement.cpp: + (WebCore::ShadowInputElement::ShadowInputElement): ditto. + * rendering/ShadowElement.h: + (WebCore::ShadowElement::ShadowElement): ditto. + +2011-01-25 Kent Tamura <tkent@chromium.org> + + Reviewed by Dimitri Glazkov. + + HTMLFormElement::checkValidity() returns incorrect result if 'invalid' events are canceled. + https://bugs.webkit.org/show_bug.cgi?id=52565 + + * html/HTMLFormElement.cpp: + (WebCore::HTMLFormElement::validateInteractively): + Check checkInvalidControlsAndCollectUnhandled() result instead of + checking emptiness of unhandled invalid controls list. + (WebCore::HTMLFormElement::checkValidity): ditto. + (WebCore::HTMLFormElement::checkInvalidControlsAndCollectUnhandled): + Renamed from collectUnhandledInvalidControls(). + Returns true if there is any invalid control regardless of event canceling. + * html/HTMLFormElement.h: Rename collectUnhandledInvalidControls() to + checkInvalidControlsAndCollectUnhandled(). + +2011-01-25 Kent Tamura <tkent@chromium.org> + + Reviewed by Dimitri Glazkov. + + Range and number inputs should reject increment and decrement by + keyboard or mouse wheel if they are disabled or read-only + https://bugs.webkit.org/show_bug.cgi?id=53151 + + * html/RangeInputType.cpp: + (WebCore::RangeInputType::handleKeydownEvent): Check disabled() and readOnly(). + * html/TextFieldInputType.cpp: + (WebCore::TextFieldInputType::handleKeydownEventForSpinButton): ditto. + (WebCore::TextFieldInputType::handleWheelEventForSpinButton): ditto. + +2011-01-25 Kent Tamura <tkent@chromium.org> + + Reviewed by Dimitri Glazkov. + + API to support localized numbers for <input type=number> + https://bugs.webkit.org/show_bug.cgi?id=45730 + + Introduce platform/text/LocalizedNumber.h, and + LocalizedNumberNone.cpp, which is an empty implementation of the + functions in LocalizedNumber.h. We use LocalizedNumberNone.cpp in + all platforms for now. + + A string in a type=number field is parsed as a localized number + first. If the parsing fails, it is parsed as the HTML5 number. + + We introduce HTMLInputElement::visibleValue(). It represents a value + which should be drawn by a renderer. HTMLInputElement::value() always + returns a number formatted for HTML5, and visibleValue() may return a + localized number. + + No new tests because this doesn't change any behavior. + + * Android.mk: Add LocalizedNumber.h and/or LocalizedNumberNone.cpp. + * CMakeLists.txt: ditto. + * GNUmakefile.am: ditto. + * WebCore.gypi: ditto. + * WebCore.pro: ditto. + * WebCore.vcproj/WebCore.vcproj: ditto. + * WebCore.xcodeproj/project.pbxproj: ditto. + * dom/InputElement.h: Add visibleValue(). + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::visibleValue): Added. Just call InputType::visibleValue(). + * html/HTMLInputElement.h: Declare visibleValue(). + * html/InputType.cpp: + (WebCore::InputType::visibleValue): Add the default implementation of + visibleValue(), which returns HTMLInputElement::value(). + * html/InputType.h: Add declarations. + * html/NumberInputType.cpp: + (WebCore::isHTMLNumberCharacter): Renamed from isNumberCharacter(). + (WebCore::isNumberCharacter): Calls isLocalizedNumberCharacter() and isHTMLNumberCharacter(). + (WebCore::NumberInputType::visibleValue): + Returns a localized number string produced by formatLocalizedNumber(). + (WebCore::NumberInputType::isAcceptableValue): Calls parseLocalizedNumber(). + (WebCore::NumberInputType::sanitizeValue): Calls parseLocalizedNumber(). + * html/NumberInputType.h: Add declarations. + * platform/text/LocalizedNumber.h: Added. + * platform/text/LocalizedNumberNone.cpp: Added. + (WebCore::parseLocalizedNumber): + (WebCore::formatLocalizedNumber): + (WebCore::isLocalizedNumberCharacter): + * rendering/RenderTextControlSingleLine.cpp: + (WebCore::RenderTextControlSingleLine::updateFromElement): + Calls InputElement::visibleValue() instead of value(). + * wml/WMLInputElement.h: + (WebCore::WMLInputElement::visibleValue): Added. It just calls value(). + +2011-01-25 Alexey Proskuryakov <ap@apple.com> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=53143 + Add IntRectHash + + * WebCore.xcodeproj/project.pbxproj: + * platform/graphics/IntRectHash.h: Added. + + * platform/graphics/IntSizeHash.h: Don't do "using WebCore::IntSize"! + +2011-01-25 Ilya Sherman <isherman@chromium.org> + + Reviewed by Ryosuke Niwa. + + Remove trailing whitespace in HTMLInputElement.cpp + https://bugs.webkit.org/show_bug.cgi?id=53152 + + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::updateCheckedRadioButtons): + (WebCore::HTMLInputElement::applyStep): + (WebCore::HTMLInputElement::updateFocusAppearance): + (WebCore::HTMLInputElement::mapToEntry): + (WebCore::HTMLInputElement::setAutofilled): + (WebCore::HTMLInputElement::willMoveToNewOwnerDocument): + (WebCore::HTMLInputElement::didMoveToNewOwnerDocument): + +2011-01-25 Mike Reed <reed@google.com> + + Reviewed by James Robinson. + + DrawingBufer::reset() today checks if the new size is the same as its + m_size, and if so, returns immediately. This does not match the + semantics of <canvas>, which wants to clear its contents anytime the + size is specified. + https://bugs.webkit.org/show_bug.cgi?id=53149 + + Test: Covered by existing <canvas> tests using gpu. + + * platform/graphics/chromium/DrawingBufferChromium.cpp: + (WebCore::DrawingBuffer::DrawingBuffer): + * platform/graphics/gpu/DrawingBuffer.cpp: + (WebCore::DrawingBuffer::reset): + +2011-01-25 Cris Neckar <cdn@chromium.org> + + Reviewed by Adam Barth. + + Add a hashset of DOMURLs to ScriptExecutionContext to track back references. + https://bugs.webkit.org/show_bug.cgi?id=53038 + + Test: fast/dom/window-domurl-crash.html + + * dom/ScriptExecutionContext.cpp: + (WebCore::ScriptExecutionContext::~ScriptExecutionContext): + (WebCore::ScriptExecutionContext::createdDomUrl): + (WebCore::ScriptExecutionContext::destroyedDomUrl): + * dom/ScriptExecutionContext.h: + (WebCore::ScriptExecutionContext::domUrls): + * html/DOMURL.cpp: + (WebCore::DOMURL::DOMURL): + (WebCore::DOMURL::~DOMURL): + (WebCore::DOMURL::contextDestroyed): + * html/DOMURL.h: + (WebCore::DOMURL::scriptExecutionContext): + +2011-01-23 Antti Koivisto <antti@apple.com> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=52983 + Eliminate m_tagHistory pointer from CSSSelector + + Keep the component selectors in the array in CSSSelectorList instead + of maintaining a linked list between them. This allows eliminating + m_tagHistory pointer, shrinking CSSSelector by 25% (selection performance + seems to improve some too due to better locality). + + * WebCore.xcodeproj/project.pbxproj: + + Make CSSSelector.h a private header. + + * css/CSSGrammar.y: + + Use CSSParserSelector during parsing to keep the tag history in + a linked list. This is flattened to an array after parsing. + Use accessors for setting selector values. + Use OwnPtr in selector vector. + + * css/CSSPageRule.cpp: + (WebCore::CSSPageRule::CSSPageRule): + * css/CSSPageRule.h: + (WebCore::CSSPageRule::create): + + Simplify. + + * css/CSSParser.cpp: + (WebCore::CSSParser::~CSSParser): + (WebCore::CSSParser::createFloatingSelector): + (WebCore::CSSParser::sinkFloatingSelector): + (WebCore::CSSParser::createStyleRule): + (WebCore::CSSParser::updateSpecifiersWithElementName): + (WebCore::CSSParser::createPageRule): + * css/CSSParser.h: + (WebCore::CSSParser::reusableSelectorVector): + + CSSSelector -> CSSParserSelector. + Use OwnPtr in selector vector. + + * css/CSSParserValues.cpp: + (WebCore::CSSParserSelector::CSSParserSelector): + (WebCore::CSSParserSelector::~CSSParserSelector): + * css/CSSParserValues.h: + (WebCore::CSSParserSelector::releaseSelector): + (WebCore::CSSParserSelector::setTag): + (WebCore::CSSParserSelector::setValue): + (WebCore::CSSParserSelector::setAttribute): + (WebCore::CSSParserSelector::setArgument): + (WebCore::CSSParserSelector::setSimpleSelector): + (WebCore::CSSParserSelector::setMatch): + (WebCore::CSSParserSelector::setRelation): + (WebCore::CSSParserSelector::setForPage): + (WebCore::CSSParserSelector::pseudoType): + (WebCore::CSSParserSelector::isUnknownPseudoElement): + (WebCore::CSSParserSelector::isSimple): + (WebCore::CSSParserSelector::tagHistory): + (WebCore::CSSParserSelector::setTagHistory): + + Linked list used during parsing. + Avoid recursive destruction. + + * css/CSSSelector.cpp: + (WebCore::CSSSelector::extractPseudoType): + (WebCore::CSSSelector::operator==): + (WebCore::CSSSelector::selectorText): + (WebCore::CSSSelector::setSimpleSelector): + * css/CSSSelector.h: + (WebCore::CSSSelector::CSSSelector): + (WebCore::CSSSelector::~CSSSelector): + (WebCore::CSSSelector::tagHistory): + (WebCore::CSSSelector::tag): + (WebCore::CSSSelector::value): + (WebCore::CSSSelector::setTag): + (WebCore::CSSSelector::isLastInTagHistory): + (WebCore::CSSSelector::setNotLastInTagHistory): + (WebCore::CSSSelector::RareData::RareData): + (WebCore::CSSSelector::RareData::~RareData): + (WebCore::CSSSelector::createRareData): + (WebCore::CSSSelector::setValue): + + Remove m_tagHistory. + Keep m_value in the union with the rare data pointer instead. + Make m_value and m_tag private, implement accessors. + Add a new bit to indicate end of the tag history (multipart selector). + Eliminate complex destruction. Selectors are now deleted as an array or by a CSSParserSelector chain. + + * css/CSSSelectorList.cpp: + (WebCore::CSSSelectorList::adoptSelectorVector): + + Flatten everything to an array. + + (WebCore::SelectorNeedsNamespaceResolutionFunctor::operator()): + * css/CSSSelectorList.h: + (WebCore::CSSSelectorList::hasOneSelector): + (WebCore::CSSSelectorList::next): + + Skip over the subparts of multipart selectors to find the next selector. + + * css/CSSStyleRule.h: + (WebCore::CSSStyleRule::adoptSelectorVector): + + CSSSelector -> CSSParserSelector. + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): + (WebCore::CSSRuleSet::addRule): + (WebCore::collectIdsAndSiblingRulesFromList): + (WebCore::CSSStyleSelector::matchPageRulesForList): + * dom/Node.cpp: + (WebCore::Node::querySelector): + * dom/SelectorNodeList.cpp: + (WebCore::createSelectorNodeList): + + Use accessors. + +2011-01-25 James Simonsen <simonjam@chromium.org> + + Reviewed by Tony Chang. + + [Chromium] Support small caps in complex text on linux + https://bugs.webkit.org/show_bug.cgi?id=53051 + + * platform/graphics/chromium/ComplexTextControllerLinux.cpp: + (WebCore::ComplexTextController::nextScriptRun): Break runs at small caps boundaries. + (WebCore::ComplexTextController::setupFontForScriptRun): Setup small caps font data if needed. + * platform/graphics/chromium/ComplexTextControllerLinux.h: Store small caps text in separate string. + +2011-01-25 Steve Falkenburg <sfalken@apple.com> + + Rubber-stamped by Adam Roben. + + Windows production build fix. + Use correct environment variable escaping + + * WebCore.vcproj/WebCore.make: + +2011-01-25 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Empty URLs are never display isolated + https://bugs.webkit.org/show_bug.cgi?id=53053 + + This check mirrors the check in the local case. There isn't a good way + to test this with a LayoutTest, but it is tested in Chromium (where + this registry is used). + + * platform/SchemeRegistry.cpp: + (WebCore::SchemeRegistry::shouldTreatURLSchemeAsDisplayIsolated): + +2011-01-25 Sam Weinig <sam@webkit.org> + + Reviewed by Anders Carlsson. + + Pipe a timestamp down into the PlatformWheelEvent for the Mac. + https://bugs.webkit.org/show_bug.cgi?id=53111 + + * platform/PlatformWheelEvent.h: + (WebCore::PlatformWheelEvent::PlatformWheelEvent): + (WebCore::PlatformWheelEvent::timestamp): + Add timestamp member. + + * platform/mac/WheelEventMac.mm: + (WebCore::PlatformWheelEvent::PlatformWheelEvent): + Initialize the timestamp from the event. + +2011-01-25 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r76625. + http://trac.webkit.org/changeset/76625 + https://bugs.webkit.org/show_bug.cgi?id=53119 + + "incorrect pixel test results" (Requested by rniwa on + #webkit). + + * rendering/RenderBox.cpp: + (WebCore::RenderBox::localCaretRect): + +2011-01-25 Patrick Gansterer <paroga@webkit.org> + + Unreviewed WinCE build fix for r76614. + + * platform/FileSystem.h: + +2011-01-21 Levi Weintraub <leviw@chromium.org> + + Reviewed by Darin Adler. + + Adding border and padding to the calculation of the local caret rect for RenderBoxes. + + Undo moves caret to invalid position + https://bugs.webkit.org/show_bug.cgi?id=49744 + + Tests: editing/selection/caret-painting-after-paste-undo-rtl.html + editing/selection/caret-painting-after-paste-undo.html + + * rendering/RenderBox.cpp: + (WebCore::RenderBox::localCaretRect): + +2011-01-25 Sam Weinig <sam@webkit.org> + + Reviewed by Anders Carlsson. + + Add hasPreciseScrollingDeltas bit to PlatformWheelEvent on the Mac. + https://bugs.webkit.org/show_bug.cgi?id=53107 + + * platform/PlatformWheelEvent.h: + (WebCore::PlatformWheelEvent::PlatformWheelEvent): + (WebCore::PlatformWheelEvent::hasPreciseScrollingDeltas): + * platform/mac/WheelEventMac.mm: + (WebCore::PlatformWheelEvent::PlatformWheelEvent): + +2011-01-20 Jer Noble <jer.noble@apple.com> + + Reviewed by Eric Carlson. + + REGRESSION (r72119): Audio never plays on Star Wars intro animation + https://bugs.webkit.org/show_bug.cgi?id=52467 + + QuickTime's eat/m4a movie importer compontent doesn't list audio/m4a as a mime + type which it supports, though it handles .m4a files just fine. Change the way + we build the list of supported MIME Types through a new WebKitSystemInterface + function. + + Caused by r72119, which adds system-specific extension->MIME entries to the cache + before global entries, and the system-specific entries include QuickTime's registry + entries which contain the audio/m4a MIME type, while its components do not. + + Test: media/audio-mpeg4-supported.html + + * WebCore.vcproj/QTMovieWinCommon.vsprops: + * platform/graphics/win/QTMovie.cpp: + (getMIMETypeCallBack): + (initializeSupportedTypes): + (QTMovie::countSupportedTypes): gSupportedTypes is now a CFArrayRef. + (QTMovie::getSupportedType): Ditto. + +2011-01-25 Hans Wennborg <hans@chromium.org> + + Reviewed by Jeremy Orlow. + + IndexedDB: Remove PlatformBridge::idbShutdown() + https://bugs.webkit.org/show_bug.cgi?id=53077 + + Since Chromium r72157, this is not used anymore. The previous use was + to signal to the embedder that IndexedDB was shutting down, but we + agreed it is better if the embedder keeps track of that itself. + + No new tests: this does not change any functionality. + + * platform/chromium/PlatformBridge.h: + * storage/IDBFactoryBackendInterface.cpp: + * storage/IDBFactoryBackendInterface.h: + (WebCore::IDBFactoryBackendInterface::~IDBFactoryBackendInterface): + * storage/chromium/IDBFactoryBackendInterface.cpp: + +2011-01-25 Darin Adler <darin@apple.com> + + Reviewed by Anders Carlsson. + + WebKit is using CSBackupSetItemExcluded incorrectly + https://bugs.webkit.org/show_bug.cgi?id=53095 + rdar://problem/8790540 + + * loader/icon/IconDatabase.cpp: + (WebCore::IconDatabase::performOpenInitialization): Added code to + exclude the database from backup one time, and record inside the + database that this has been done. + (WebCore::IconDatabase::wasExcludedFromBackup): Added. + (WebCore::IconDatabase::setWasExcludedFromBackup): Added. + * loader/icon/IconDatabase.h: Added new functions above. + + * platform/FileSystem.cpp: + (WebCore::canExcludeFromBackup): Added. + (WebCore::excludeFromBackup): Added. + + * platform/FileSystem.h: Added canExcludeFromBackup, excludeFromBackup, + and pathAsURL functions. Cleaned up ifdefs and comments a bit and sorted + things alphabetically, particularly platform-specific sections. + + * platform/cf/FileSystemCF.cpp: + (WebCore::pathAsURL): Added. + + * platform/mac/FileSystemMac.mm: + (WebCore::canExcludeFromBackup): Added. + (WebCore::excludeFromBackup): Added. + + * platform/network/cf/FormDataStreamCFNet.cpp: + (WebCore::advanceCurrentStream): Changed to call pathAsURL. + * platform/network/mac/FormDataStreamMac.mm: + (WebCore::advanceCurrentStream): Ditto. + +2011-01-25 Helder Correia <helder@sencha.com> + + Reviewed by Dirk Schulze. + + REGRESSION(75139): SVG gradients are not applied to texts + https://bugs.webkit.org/show_bug.cgi?id=52531 + + CGContextConcatCTM should use the CGLayer context, not the + GraphicsContext. Also, the CTM needs to be adjusted (translated). + This fixes SVG text gradient fill. + + Test: svg/css/composite-shadow-text.svg + + * platform/graphics/cg/GraphicsContextCG.cpp: + (WebCore::GraphicsContext::fillRect): + +2011-01-25 Benjamin Kalman <kalman@chromium.org> + + Reviewed by Ryosuke Niwa. + + Cannot extend or modify forward by word over a non-contenteditable region + https://bugs.webkit.org/show_bug.cgi?id=53070 + + Test: editing/selection/extend-forward-by-word-over-non-editable.html + + Change all instances of honorEditableBoundaryAtOrAfter to honorEditableBoundaryAtOrBefore and vice versa in the + functions which determine the end/start of words/lines/sentences in visible_units.cpp. + + This fixes the bug where moving forwards by a word over a non-contenteditable region would place the cursor + inside that region, and then get moved back to the start of the word due to honorEditableBoundaryAtOrBefore. + The cursor is now moved to the end of the region (which is effectively a noop in this case). + + * editing/visible_units.cpp: Change all instances of honorEditableBoundaryAtOrAfter to + honorEditableBoundaryAtOrBefore and vice versa. + (WebCore::previousWordPosition): + (WebCore::nextWordPosition): + (WebCore::startOfLine): + (WebCore::endOfLine): + (WebCore::previousSentencePosition): + (WebCore::nextSentencePosition): + (WebCore::logicalStartOfLine): + (WebCore::logicalEndOfLine): + +2011-01-25 Yael Aharon <yael.aharon@nokia.com> + + Unreviewed build fix. + After r76466, efsrv.lib is used unconditionally. + Don't guard it with ENABLE_NETSCAPE_PLUGIN_API. + + * WebCore.pro: + +2011-01-24 Zhenyao Mo <zmo@google.com> + + Reviewed by Kenneth Russell. + + Style cleanup for WebGLRenderingContext + https://bugs.webkit.org/show_bug.cgi?id=52352 + + * html/canvas/WebGLBuffer.cpp: + * html/canvas/WebGLBuffer.h: + * html/canvas/WebGLObject.cpp: + * html/canvas/WebGLProgram.cpp: + * html/canvas/WebGLRenderbuffer.cpp: + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::create): + (WebCore::WebGLRenderingContext::blendFunc): + (WebCore::WebGLRenderingContext::createShader): + (WebCore::WebGLRenderingContext::deleteBuffer): + (WebCore::WebGLRenderingContext::deleteShader): + (WebCore::WebGLRenderingContext::deleteTexture): + (WebCore::WebGLRenderingContext::disableVertexAttribArray): + (WebCore::WebGLRenderingContext::validateIndexArrayPrecise): + (WebCore::WebGLRenderingContext::validateRenderingState): + (WebCore::WebGLRenderingContext::enableVertexAttribArray): + (WebCore::WebGLRenderingContext::getUniform): + (WebCore::WebGLRenderingContext::detachAndRemoveAllObjects): + * html/canvas/WebGLRenderingContext.h: + * html/canvas/WebGLShader.cpp: + * html/canvas/WebGLTexture.cpp: + * html/canvas/WebGLUniformLocation.cpp: + * html/canvas/WebGLUniformLocation.h: + +2011-01-24 Chris Marrin <cmarrin@apple.com> + + Reviewed by Eric Seidel. + + Change ENABLE_3D_CANVAS to ENABLE_WEBGL + https://bugs.webkit.org/show_bug.cgi?id=53041 + + * Configurations/FeatureDefines.xcconfig: + * DerivedSources.cpp: + * GNUmakefile.am: + * WebCore.pro: + * bindings/generic/RuntimeEnabledFeatures.h: + * bindings/js/JSArrayBufferCustom.cpp: + * bindings/js/JSCanvasRenderingContextCustom.cpp: + (WebCore::toJS): + * bindings/js/JSDOMWindowCustom.cpp: + * bindings/js/JSDataViewCustom.cpp: + * bindings/js/JSDocumentCustom.cpp: + * bindings/js/JSFloat32ArrayCustom.cpp: + * bindings/js/JSHTMLCanvasElementCustom.cpp: + (WebCore::JSHTMLCanvasElement::getContext): + * bindings/js/JSInt16ArrayCustom.cpp: + * bindings/js/JSInt32ArrayCustom.cpp: + * bindings/js/JSInt8ArrayCustom.cpp: + * bindings/js/JSUint16ArrayCustom.cpp: + * bindings/js/JSUint32ArrayCustom.cpp: + * bindings/js/JSUint8ArrayCustom.cpp: + * bindings/js/JSWebGLRenderingContextCustom.cpp: + * bindings/js/JSXMLHttpRequestCustom.cpp: + (WebCore::JSXMLHttpRequest::markChildren): + (WebCore::JSXMLHttpRequest::send): + (WebCore::JSXMLHttpRequest::response): + * bindings/v8/custom/V8ArrayBufferCustom.cpp: + * bindings/v8/custom/V8ArrayBufferViewCustom.h: + * bindings/v8/custom/V8DataViewCustom.cpp: + * bindings/v8/custom/V8DocumentCustom.cpp: + (WebCore::V8Document::getCSSCanvasContextCallback): + * bindings/v8/custom/V8Float32ArrayCustom.cpp: + * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: + (WebCore::V8HTMLCanvasElement::getContextCallback): + * bindings/v8/custom/V8Int16ArrayCustom.cpp: + * bindings/v8/custom/V8Int32ArrayCustom.cpp: + * bindings/v8/custom/V8Int8ArrayCustom.cpp: + * bindings/v8/custom/V8Uint16ArrayCustom.cpp: + * bindings/v8/custom/V8Uint32ArrayCustom.cpp: + * bindings/v8/custom/V8Uint8ArrayCustom.cpp: + * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp: + * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: + (WebCore::V8XMLHttpRequest::responseAccessorGetter): + (WebCore::V8XMLHttpRequest::sendCallback): + * features.pri: + * html/HTMLCanvasElement.cpp: + (WebCore::HTMLCanvasElement::getContext): + (WebCore::HTMLCanvasElement::reset): + * html/HTMLCanvasElement.h: + * html/canvas/ArrayBuffer.cpp: + * html/canvas/ArrayBuffer.idl: + * html/canvas/ArrayBufferView.cpp: + * html/canvas/ArrayBufferView.idl: + * html/canvas/DataView.cpp: + * html/canvas/DataView.idl: + * html/canvas/Float32Array.cpp: + * html/canvas/Float32Array.idl: + * html/canvas/Int16Array.cpp: + * html/canvas/Int16Array.idl: + * html/canvas/Int32Array.cpp: + * html/canvas/Int32Array.idl: + * html/canvas/Int8Array.cpp: + * html/canvas/Int8Array.idl: + * html/canvas/OESStandardDerivatives.cpp: + * html/canvas/OESStandardDerivatives.idl: + * html/canvas/OESTextureFloat.cpp: + * html/canvas/OESTextureFloat.idl: + * html/canvas/Uint16Array.cpp: + * html/canvas/Uint16Array.idl: + * html/canvas/Uint32Array.cpp: + * html/canvas/Uint32Array.idl: + * html/canvas/Uint8Array.cpp: + * html/canvas/Uint8Array.idl: + * html/canvas/WebGLActiveInfo.idl: + * html/canvas/WebGLBuffer.cpp: + * html/canvas/WebGLBuffer.idl: + * html/canvas/WebGLContextAttributes.cpp: + * html/canvas/WebGLContextAttributes.idl: + * html/canvas/WebGLContextEvent.idl: + * html/canvas/WebGLExtension.cpp: + * html/canvas/WebGLFramebuffer.cpp: + * html/canvas/WebGLFramebuffer.idl: + * html/canvas/WebGLGetInfo.cpp: + * html/canvas/WebGLObject.cpp: + * html/canvas/WebGLProgram.cpp: + * html/canvas/WebGLProgram.idl: + * html/canvas/WebGLRenderbuffer.cpp: + * html/canvas/WebGLRenderbuffer.idl: + * html/canvas/WebGLRenderingContext.cpp: + * html/canvas/WebGLRenderingContext.idl: + * html/canvas/WebGLShader.cpp: + * html/canvas/WebGLShader.idl: + * html/canvas/WebGLTexture.cpp: + * html/canvas/WebGLTexture.idl: + * html/canvas/WebGLUniformLocation.cpp: + * html/canvas/WebGLUniformLocation.idl: + * html/canvas/WebKitLoseContext.cpp: + * html/canvas/WebKitLoseContext.idl: + * page/DOMWindow.idl: + * platform/graphics/ANGLEWebKitBridge.cpp: + * platform/graphics/GraphicsContext3D.cpp: + * platform/graphics/cg/GraphicsContext3DCG.cpp: + * platform/graphics/gpu/DrawingBuffer.cpp: + * platform/graphics/gpu/mac/DrawingBufferMac.mm: + * platform/graphics/mac/GraphicsContext3DMac.mm: + * platform/graphics/mac/WebGLLayer.mm: + * platform/graphics/opengl/Extensions3DOpenGL.cpp: + * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: + * platform/graphics/qt/Extensions3DQt.cpp: + * platform/graphics/qt/GraphicsContext3DQt.cpp: + * platform/graphics/qt/GraphicsLayerQt.cpp: + (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl): + (WebCore::GraphicsLayerQtImpl::paint): + (WebCore::GraphicsLayerQtImpl::flushChanges): + * platform/graphics/qt/GraphicsLayerQt.h: + * platform/graphics/skia/GraphicsContext3DSkia.cpp: + * platform/graphics/texmap/GraphicsLayerTextureMapper.h: + * rendering/RenderLayerBacking.cpp: + (WebCore::isAcceleratedCanvas): + (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): + (WebCore::RenderLayerBacking::containsPaintedContent): + (WebCore::RenderLayerBacking::contentChanged): + * webaudio/AudioBuffer.cpp: + * webaudio/AudioBuffer.idl: + * webaudio/RealtimeAnalyser.cpp: + * webaudio/RealtimeAnalyser.h: + * webaudio/RealtimeAnalyserNode.h: + * webaudio/RealtimeAnalyserNode.idl: + * xml/XMLHttpRequest.cpp: + (WebCore::XMLHttpRequest::setResponseType): + (WebCore::XMLHttpRequest::clearResponse): + (WebCore::XMLHttpRequest::didReceiveData): + * xml/XMLHttpRequest.h: + +2011-01-25 Mikhail Naganov <mnaganov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: [Chromium] Prepare for landing of detailed heap snapshots. + + - Introduce Preferences.detailedHeapProfiles flag for controlling + querying of detailed heap snapshots. + - Add boilerplate code for the new view. + - Factor out common code. + + https://bugs.webkit.org/show_bug.cgi?id=52624 + + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * bindings/js/ScriptProfiler.h: + (WebCore::ScriptProfiler::HeapSnapshotControl::~HeapSnapshotControl): + (WebCore::ScriptProfiler::takeHeapSnapshot): + * bindings/v8/ScriptProfiler.cpp: + (WebCore::ScriptProfiler::takeHeapSnapshot): + * bindings/v8/ScriptProfiler.h: + (WebCore::ScriptProfiler::HeapSnapshotControl::~HeapSnapshotControl): + * inspector/Inspector.idl: + * inspector/InspectorProfilerAgent.cpp: + (WebCore::InspectorProfilerAgent::takeHeapSnapshot): + * inspector/InspectorProfilerAgent.h: + * inspector/front-end/DetailedHeapshotView.js: Added. + (WebInspector.DetailedHeapshotView): + (WebInspector.DetailedHeapshotView.prototype.get statusBarItems): + (WebInspector.DetailedHeapshotView.prototype.get profile): + (WebInspector.DetailedHeapshotView.prototype.set profile): + (WebInspector.DetailedHeapshotView.prototype.show): + (WebInspector.DetailedHeapshotView.prototype.hide): + (WebInspector.DetailedHeapshotProfileType): + (WebInspector.DetailedHeapshotProfileType.prototype.get buttonTooltip): + (WebInspector.DetailedHeapshotProfileType.prototype.get buttonStyle): + (WebInspector.DetailedHeapshotProfileType.prototype.buttonClicked): + (WebInspector.DetailedHeapshotProfileType.prototype.get welcomeMessage): + (WebInspector.DetailedHeapshotProfileType.prototype.createSidebarTreeElementForProfile): + (WebInspector.DetailedHeapshotProfileType.prototype.createView): + * inspector/front-end/HeapSnapshot.js: Added. + (WebInspector.HeapSnapshotEdgesIterator): + (WebInspector.HeapSnapshotEdgesIterator.prototype.get done): + (WebInspector.HeapSnapshotEdgesIterator.prototype.get isElement): + (WebInspector.HeapSnapshotEdgesIterator.prototype.get isHidden): + (WebInspector.HeapSnapshotEdgesIterator.prototype.get name): + (WebInspector.HeapSnapshotEdgesIterator.prototype.next): + (WebInspector.HeapSnapshotEdgesIterator.prototype.get node): + (WebInspector.HeapSnapshotEdgesIterator.prototype.get nodeIndex): + (WebInspector.HeapSnapshotEdgesIterator.prototype._getNameOrIndex): + (WebInspector.HeapSnapshotEdgesIterator.prototype._getType): + (WebInspector.HeapSnapshotNodeWrapper): + (WebInspector.HeapSnapshotNodeWrapper.prototype.get edges): + (WebInspector.HeapSnapshotNodeWrapper.prototype.get edgesCount): + (WebInspector.HeapSnapshotNodeWrapper.prototype.get instancesCount): + (WebInspector.HeapSnapshotNodeWrapper.prototype.get isHidden): + (WebInspector.HeapSnapshotNodeWrapper.prototype.get name): + (WebInspector.HeapSnapshotNodeWrapper.prototype.get selfSize): + (WebInspector.HeapSnapshotNodeWrapper.prototype._getName): + (WebInspector.HeapSnapshotNodeWrapper.prototype._getEdges): + (WebInspector.HeapSnapshotNodeWrapper.prototype._getType): + (WebInspector.HeapSnapshot): + (WebInspector.HeapSnapshot.prototype._init): + (WebInspector.HeapSnapshot.prototype.get rootEdges): + * inspector/front-end/HeapSnapshotView.js: + (WebInspector.HeapSnapshotProfileType.prototype.buttonClicked): + * inspector/front-end/ProfilesPanel.js: + (WebInspector.ProfilesPanel.prototype._setRecordingProfile): + (WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress): + (WebInspector.ProfilerDispatcher.prototype.setRecordingProfile): + (WebInspector.ProfilerDispatcher.prototype.reportHeapSnapshotProgress): + * inspector/front-end/Settings.js: + * inspector/front-end/WebKit.qrc: + * inspector/front-end/inspector.html: + * inspector/front-end/inspector.js: + (WebInspector._createPanels): + +2011-01-25 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: remove "attached" state related methods from InspectorAgent + https://bugs.webkit.org/show_bug.cgi?id=53086 + + * WebCore.exp.in: + * inspector/InspectorAgent.cpp: + * inspector/InspectorAgent.h: + * inspector/InspectorFrontendClientLocal.cpp: + (WebCore::InspectorFrontendClientLocal::changeAttachedWindowHeight): + (WebCore::InspectorFrontendClientLocal::restoreAttachedWindowHeight): + * inspector/InspectorSettings.cpp: + (WebCore::InspectorSettings::InspectorSettings): + * inspector/InspectorSettings.h: + +2011-01-25 Qi Zhang <qi.2.zhang@nokia.com> + + Reviewed by Laszlo Gombos. + + [Symbian] RVCT fails to compile [U|I]nt[8|16|32]Array.h + https://bugs.webkit.org/show_bug.cgi?id=51873 + + Replace the using declaration, because it doesn't compile on RVCT, and WINSCW has the same issue. + No new functionality so no new tests. + + * html/canvas/Int32Array.h: + (WebCore::Int32Array::set): + * html/canvas/Int8Array.h: + (WebCore::Int8Array::set): + * html/canvas/Uint16Array.h: + (WebCore::Uint16Array::set): + * html/canvas/Uint32Array.h: + (WebCore::Uint32Array::set): + * html/canvas/Uint8Array.h: + (WebCore::Uint8Array::set): + +2011-01-25 Zoltan Herczeg <zherczeg@webkit.org> + + Reviewed by Dirk Schulze. + + Repaint SVG elements with filter instead of relayout where possible + https://bugs.webkit.org/show_bug.cgi?id=52200 + + This patch allows repainting of filters, when their + attribute changes does not require relayout. + + Existing dynamic-update tests cover this feature. + + * platform/graphics/filters/FilterEffect.cpp: + (WebCore::FilterEffect::clearResult): Clearing the currently stored image + before repainting. + * platform/graphics/filters/FilterEffect.h: + * rendering/RenderObject.h: + (WebCore::RenderObject::isSVGResourceFilter): Not only the filter primitives, + but filters should also be detected to allow safe testing and casting. + * rendering/svg/RenderSVGResourceFilter.cpp: + (WebCore::RenderSVGResourceFilter::buildPrimitives): Passing the renderer. + (WebCore::RenderSVGResourceFilter::applyResource): + determineFilterPrimitiveSubregion does not require the filter anymore. + (WebCore::RenderSVGResourceFilter::postApplyResource): Repaint + if lastEffect->hasResult() is false. + (WebCore::RenderSVGResourceFilter::primitiveAttributeChanged): + Searching for all FilterEffects, whose created by the current FilterElement, + and clearing all resulting images depending on those FilterEffects. + * rendering/svg/RenderSVGResourceFilter.h: + (WebCore::RenderSVGResourceFilter::isSVGResourceFilter): + * rendering/svg/RenderSVGResourceFilterPrimitive.cpp: + (WebCore::RenderSVGResourceFilterPrimitive::determineFilterPrimitiveSubregion): + The filter argument is unnecessary anymore. But is is still kept as a static + member, since the primitive renderer still does not know about the + FilterEffect objects. + * rendering/svg/RenderSVGResourceFilterPrimitive.h: + (WebCore::RenderSVGResourceFilterPrimitive::RenderSVGResourceFilterPrimitive): + (WebCore::RenderSVGResourceFilterPrimitive::primitiveAttributeChanged): + Calls RenderSVGResourceFilter::primitiveAttributeChanged. + * svg/SVGFEDiffuseLightingElement.cpp: + (WebCore::SVGFEDiffuseLightingElement::setFilterEffectAttribute): + Setting the new attribute value for each FilterEffect. + (WebCore::SVGFEDiffuseLightingElement::svgAttributeChanged): + * svg/SVGFEDiffuseLightingElement.h: + Calling primitiveAttributeChanged. + * svg/SVGFilterPrimitiveStandardAttributes.cpp: + (WebCore::SVGFilterPrimitiveStandardAttributes::setFilterEffectAttribute): + This function will be removed when all FilterElement implements + their setFilterEffectAttribute + * svg/SVGFilterPrimitiveStandardAttributes.h: + (WebCore::SVGFilterPrimitiveStandardAttributes::primitiveAttributeChanged): + * svg/graphics/filters/SVGFilterBuilder.cpp: + (WebCore::SVGFilterBuilder::appendEffectToEffectReferences): The + renderers are assigned to the filter effects. + (WebCore::SVGFilterBuilder::clearEffects): + (WebCore::SVGFilterBuilder::clearResultsRecursive): Recursively + clearing the result images for those filters, whose depend on + the starting filter. + * svg/graphics/filters/SVGFilterBuilder.h: + (WebCore::SVGFilterBuilder::effectReferences): 'get' is unnecessary + (WebCore::SVGFilterBuilder::effectByRenderer): returns the + FilterEffect belongs to this RenderObject. + +2011-01-25 Dirk Schulze <krit@webkit.org> + + Reviewed by Nikolas Zimmermann. + + SVG is missing to-animation support for Path + https://bugs.webkit.org/show_bug.cgi?id=52982 + + SVG was missing 'to' animation support for SVG paths. Even the fallback to discrete + animation did not work and an assert was thrown, because of the missing m_fromPath. + This also influences a test of the W3C test suite. Subtest 2 of animate-elem-83-t.svg passes now. + + Test: svg/animations/animate-path-to-animation.html + + * svg/SVGAnimateElement.cpp: + (WebCore::SVGAnimateElement::calculateAnimatedValue): Take the value of the last SVGAnimateElement for + m_fromPath, since 'to' animations are accumulative. + (WebCore::SVGAnimateElement::calculateFromAndToValues): Added support for 'to' animations. + (WebCore::SVGAnimateElement::resetToBaseValue): Set m_animatedPath on the first animation element to baseVal. + * svg/SVGPathByteStream.h: + (WebCore::SVGPathByteStream::copySVGPathByteStream): Return copy of current byte stream. + +2011-01-25 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: bind resources to URLs upon adding them into the tree. + https://bugs.webkit.org/show_bug.cgi?id=53013 + + * inspector/front-end/AuditRules.js: + (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback): + * inspector/front-end/CSSStyleModel.js: + (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback): + (WebInspector.CSSStyleModel.prototype._styleSheetChanged): + * inspector/front-end/DebuggerModel.js: + (WebInspector.DebuggerModel.prototype._parsedScriptSource): + * inspector/front-end/NetworkManager.js: + (WebInspector.NetworkManager.prototype._processCachedResources): + (WebInspector.NetworkManager.prototype.inflightResourceForURL): + (WebInspector.NetworkDispatcher): + (WebInspector.NetworkDispatcher.prototype.willSendRequest): + (WebInspector.NetworkDispatcher.prototype.markResourceAsCached): + (WebInspector.NetworkDispatcher.prototype.didReceiveResponse): + (WebInspector.NetworkDispatcher.prototype.didReceiveContentLength): + (WebInspector.NetworkDispatcher.prototype.didFinishLoading): + (WebInspector.NetworkDispatcher.prototype.didFailLoading): + (WebInspector.NetworkDispatcher.prototype.willSendWebSocketHandshakeRequest): + (WebInspector.NetworkDispatcher.prototype.didReceiveWebSocketHandshakeResponse): + (WebInspector.NetworkDispatcher.prototype.didCloseWebSocket): + (WebInspector.NetworkDispatcher.prototype._appendRedirect): + (WebInspector.NetworkDispatcher.prototype._startResource): + (WebInspector.NetworkDispatcher.prototype._finishResource): + (WebInspector.NetworkDispatcher.prototype._createResource): + * inspector/front-end/ResourceTreeModel.js: + (WebInspector.ResourceTreeModel.prototype.addResourceToFrame): + (WebInspector.ResourceTreeModel.prototype._bindResourceURL): + (WebInspector.ResourceTreeModel.prototype._clearResources): + (WebInspector.ResourceTreeModel.prototype._unbindResourceURL): + * inspector/front-end/ResourcesPanel.js: + (WebInspector.ResourcesPanel.prototype.canShowSourceLine): + (WebInspector.ResourcesPanel.prototype.showSourceLine): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel.prototype._parsedScriptSource): + (WebInspector.ScriptsPanel.prototype._addScript): + +2011-01-25 Nikolas Zimmermann <nzimmermann@rim.com> + + Reviewed by Dirk Schulze. + + Introduce FontMetrics abstraction + https://bugs.webkit.org/show_bug.cgi?id=51456 + + Use accurate floating-point metrics for SVG Font calculations instead of casting float -> integer. + This hopefully fixes differences between 32/64 bit bots. + + Needs new layout test results for several platforms, which need to be taken from the bots landing afterwards. + + * platform/graphics/SimpleFontData.cpp: + (WebCore::SimpleFontData::SimpleFontData): + (WebCore::SimpleFontData::initCharWidths): + +2011-01-24 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: debugger and browser debugger agents should manage sticky breakpoints independently. + https://bugs.webkit.org/show_bug.cgi?id=52999 + + * inspector/Inspector.idl: + * inspector/InspectorAgent.cpp: + (WebCore::InspectorAgent::didCommitLoad): + (WebCore::InspectorAgent::enableDebugger): + (WebCore::InspectorAgent::inspectedURLWithoutFragment): + * inspector/InspectorAgent.h: + * inspector/InspectorBrowserDebuggerAgent.cpp: + (WebCore::InspectorBrowserDebuggerAgent::setAllBrowserBreakpoints): + (WebCore::InspectorBrowserDebuggerAgent::inspectedURLChanged): + (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint): + * inspector/InspectorBrowserDebuggerAgent.h: + * inspector/InspectorDebuggerAgent.cpp: + (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent): + (WebCore::InspectorDebuggerAgent::setAllJavaScriptBreakpoints): + (WebCore::InspectorDebuggerAgent::inspectedURLChanged): + (WebCore::InspectorDebuggerAgent::restoreBreakpoints): + * inspector/InspectorDebuggerAgent.h: + * inspector/InspectorState.cpp: + (WebCore::InspectorState::InspectorState): + * inspector/InspectorState.h: + * inspector/front-end/BreakpointManager.js: + (WebInspector.BreakpointManager): + (WebInspector.BreakpointManager.prototype._projectChanged): + (WebInspector.BreakpointManager.prototype._saveBreakpoints): + (WebInspector.BreakpointManager.prototype._pushBreakpointsToBackend): + +2011-01-25 Carlos Garcia Campos <cgarcia@igalia.com> + + Reviewed by Martin Robinson. + + [GTK] Crash in some pages containing flash + https://bugs.webkit.org/show_bug.cgi?id=53016 + + Flash plugin can produce X errors that are handled by the GDK X + error handler, which exits the process. Since we don't want to + crash due to flash bugs, we install a custom error handler to show + a warning when a X error happens without aborting. + + * plugins/gtk/PluginPackageGtk.cpp: + (WebCore::webkitgtkXError): + (WebCore::PluginPackage::load): + +2011-01-25 Carlos Garcia Campos <cgarcia@igalia.com> + + Reviewed by Martin Robinson. + + [GTK] Implement spin buttons in RenderThemeGtk + https://bugs.webkit.org/show_bug.cgi?id=51454 + + Paint inner up/down buttons for spin button elements when building + with GTK+ 3.x. + + Test results will land with the GTK+ 2.x version of this patch. + + * platform/gtk/RenderThemeGtk.h: + * platform/gtk/RenderThemeGtk2.cpp: + (WebCore::RenderThemeGtk::adjustInnerSpinButtonStyle): + (WebCore::RenderThemeGtk::paintInnerSpinButton): + * platform/gtk/RenderThemeGtk3.cpp: + (WebCore::spinButtonArrowSize): + (WebCore::RenderThemeGtk::adjustInnerSpinButtonStyle): + (WebCore::paintSpinArrowButton): + (WebCore::RenderThemeGtk::paintInnerSpinButton): + +2011-01-24 Mihai Parparita <mihaip@chromium.org> + + Unreviewed. Missed move of one m_deleted use to be outside NDEBUG block + in r76575. + + * loader/cache/CachedResource.cpp: + (WebCore::CachedResource::~CachedResource): + +2011-01-24 Mihai Parparita <mihaip@chromium.org> + + Reviewed by Tony Chang. + + Add runtime checks for invariants in memory cache + https://bugs.webkit.org/show_bug.cgi?id=53059 + + To help track down bug 53045, add some CRASH calls in addition to + ASSERTs, so that we can track down failures in reliability bots. + + Just some checks, no new tests necessary. + + * css/CSSImageValue.cpp: + (WebCore::CSSImageValue::cachedImage): + * loader/cache/CachedResource.h: + * loader/cache/CachedResource.cpp: + (WebCore::CachedResource::~CachedResource): + +2011-01-24 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dan Bernstein. + + Leaking CSSRuleDataList objects + https://bugs.webkit.org/show_bug.cgi?id=53062 + + Fix leaked CSSRuleDataLists added to the m_pseudoRules hash. + + * css/CSSStyleSelector.cpp: + (WebCore::CSSRuleSet::~CSSRuleSet): + +2011-01-24 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Eric Seidel. + + Refcount Images used in rendering code + https://bugs.webkit.org/show_bug.cgi?id=52701 + + Change StyleImage::image(RenderObject*, const IntSize&) and + CSSImageGeneratorValue::image(RenderObject*, const IntSize&) to + return PassRefPtr<Image>, and adjust other code accordingly. + + This allows us to return one-time images, for example for CSS gradients + whose appearance may change depending on factors other than the renderer + and the destination size. + + * css/CSSCanvasValue.cpp: + (WebCore::CSSCanvasValue::image): + * css/CSSCanvasValue.h: + * css/CSSGradientValue.cpp: + (WebCore::CSSGradientValue::image): + * css/CSSGradientValue.h: + * css/CSSImageGeneratorValue.h: + * rendering/RenderBoxModelObject.cpp: + (WebCore::RenderBoxModelObject::paintFillLayerExtended): + (WebCore::RenderBoxModelObject::paintNinePieceImage): + * rendering/RenderImage.cpp: + (WebCore::RenderImage::paintReplaced): + (WebCore::RenderImage::paintIntoRect): + * rendering/RenderImageResource.h: + (WebCore::RenderImageResource::image): + * rendering/RenderImageResourceStyleImage.h: + (WebCore::RenderImageResourceStyleImage::image): + * rendering/RenderListMarker.cpp: + (WebCore::RenderListMarker::paint): + * rendering/style/StyleCachedImage.cpp: + (WebCore::StyleCachedImage::image): + * rendering/style/StyleCachedImage.h: + * rendering/style/StyleGeneratedImage.cpp: + (WebCore::StyleGeneratedImage::image): + * rendering/style/StyleGeneratedImage.h: + * rendering/style/StyleImage.h: + * rendering/style/StylePendingImage.h: + (WebCore::StylePendingImage::image): + * rendering/svg/RenderSVGImage.cpp: + (WebCore::RenderSVGImage::paint): + +2011-01-24 Tony Chang <tony@chromium.org> + + Unreviewed, round ascent and descent to match old code. + + * platform/graphics/chromium/SimpleFontDataLinux.cpp: + (WebCore::SimpleFontData::platformInit): + +2011-01-24 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Chris Marrin. + + perspective() transform function should take lengths + https://bugs.webkit.org/show_bug.cgi?id=52683 + + The argument to the perspective() transform function should + be a Length, rather than a bare number. Bare numbers are still + accepted (and treated as px), but this behavior is deprecated. + + Test: animations/3d/transform-perspective.html + transforms/3d/general/3dtransform-values.html + + * css/CSSParser.cpp: + (WebCore::CSSParser::parseTransform): Check the units for the perspective() + function. Allow bare numbers for backwards compatibility. + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::createTransformOperations): Convert + value to Length. + * platform/graphics/transforms/PerspectiveTransformOperation.cpp: + (WebCore::clampToPostiveInteger): Helper. + (WebCore::PerspectiveTransformOperation::blend): Blend via Lengths. + * platform/graphics/transforms/PerspectiveTransformOperation.h: + (WebCore::PerspectiveTransformOperation::create): double -> Length. + (WebCore::PerspectiveTransformOperation::perspective): Ditto. + (WebCore::PerspectiveTransformOperation::isIdentity): Ditto. + (WebCore::PerspectiveTransformOperation::apply): Ditto. + (WebCore::PerspectiveTransformOperation::PerspectiveTransformOperation): Assert + that the Length is a fixed type. + +2011-01-24 Kent Tamura <tkent@chromium.org> + + Reviewed by Dimitri Glazkov. + + [Windows] Textfield <input>s have different widths. + https://bugs.webkit.org/show_bug.cgi?id=48405 + + - Apply the padding override for type=text to other textfield types too. + - Reset margin value of outer spin button, which is not used in Windows. + - Don't add inner spin button width to the preferred text field width. + Text fields should have the identical widths regardless of the + existence of spin buttons. + + Test: fast/forms/input-widths.html + + * css/themeWin.css: + (input[type="week"]): + (input[type="week"]:disabled): + (input[type="search"]::-webkit-search-cancel-button): + (input::-webkit-outer-spin-button): + * rendering/RenderTextControlSingleLine.cpp: + (WebCore::RenderTextControlSingleLine::preferredContentWidth): + Don't add inner spin button width to the preferred width. + +2011-01-24 Kent Tamura <tkent@chromium.org> + + Reviewed by Dimitri Glazkov. + + Some bugs of search cancel button and spin button about state change in + an event handler. + https://bugs.webkit.org/show_bug.cgi?id=46950 + + Fix the following problems: + * Type=search field didn't release event capturing + * Assertion failure when an input field with spin buttons was changed + to another type on focus event. + * A input field with spin button didn't release event capturing when it + was changed to another type on focus event. + + Tests: fast/forms/input-number-change-type-on-focus.html + fast/forms/search-hide-cancel-on-cancel.html + + * rendering/TextControlInnerElements.cpp: + (WebCore::SearchFieldCancelButtonElement::defaultEventHandler): + - Make the variable 'input' RefPtr. It makes the code simpler. + - Remove visibility check on mouseup event. We should release capturing + anyway because the cancel button may be invisible if JavaScript code + called by the focus event removes the input value. + (WebCore::SpinButtonElement::detach): + - Release capturing on detach because it is possible that a spin button + node is detached while it is capturing events. + (WebCore::SpinButtonElement::defaultEventHandler): + Take a reference to this and check renderer() after some functions which + may run JavaScript code. + (WebCore::InputFieldSpeechButtonElement::defaultEventHandler): + Make the variable 'input' RefPtr to align other functions in this file. + (WebCore::InputFieldSpeechButtonElement::setRecognitionResult): ditto. + * rendering/TextControlInnerElements.h: Declare SpinButtonElement::detach(). + +2011-01-24 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Ojan Vafai. + + Inserting multiple whitespace using text composition (IME) should insert interleaved nbsp and whitespace. + https://bugs.webkit.org/show_bug.cgi?id=52781 + + The bug was caused by stringWithRebalancedWhitespace's replacing the space at the beginning of a paragraph + and the end of a paragraph by a non-breaking space after it replaced two consecutive spaces by a space and + non-breaking space pattern, thereby replacing more spaces by non-breaking spaces than needed. + + Rewrote the function using Vector<UChar> to fix the bug. New function no longer calls String::replace + multiple times but instead it traverses through the string and replaces a space that immediately follows + another space or appears at the beginning of a paragraph or at the end of a paragraph by a non-break space. + + * editing/CompositeEditCommand.cpp: + * editing/htmlediting.cpp: + (WebCore::stringWithRebalancedWhitespace): Written. + * editing/htmlediting.h: + (WebCore::isWhitespace): Removed from CompositeEditCommand.cpp + +2011-01-24 Kenneth Russell <kbr@google.com> + + Reviewed by James Robinson. + + Web Audio API: port FFTFrame to FFTW + https://bugs.webkit.org/show_bug.cgi?id=52989 + + Ported FFTFrame class to the open-source FFTW library. Tested with + unit tests from Chris Rogers. Made preliminary changes to GYP + files for conditional compilation of these files; will need to be + adjusted once FFTW is integrated as third-party source. + + * WebCore.gyp/WebCore.gyp: + * WebCore.gypi: + * platform/audio/FFTFrame.h: + * platform/audio/fftw: Added. + * platform/audio/fftw/FFTFrameFFTW.cpp: Added. + (WebCore::FFTFrame::FFTFrame): + (WebCore::FFTFrame::~FFTFrame): + (WebCore::FFTFrame::multiply): + (WebCore::FFTFrame::doFFT): + (WebCore::FFTFrame::doInverseFFT): + (WebCore::FFTFrame::cleanup): + (WebCore::FFTFrame::realData): + (WebCore::FFTFrame::imagData): + (WebCore::FFTFrame::fftwPlanForSize): + +2011-01-24 Anders Carlsson <andersca@apple.com> + + Reviewed by Dan Bernstein. + + Reset the page scale factor on standard frame loads + https://bugs.webkit.org/show_bug.cgi?id=53058 + <rdar://problem/8908844> + + Add a symbol needed by WebKit2. + + * WebCore.exp.in: + +2011-01-24 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Eric Seidel. + + Stop instantiating legacy editing positions in InsertTextCommand, MoveSelectionCommand, + ReplaceSelectionCommand, SelectionController, SpellChecker, TypingCommand, and markup.cpp + https://bugs.webkit.org/show_bug.cgi?id=52676 + + Stop instantiating legacy editing positions in the following files. + + * editing/InsertTextCommand.cpp: + (WebCore::InsertTextCommand::prepareForTextInsertion): + (WebCore::InsertTextCommand::performTrivialReplace): + (WebCore::InsertTextCommand::input): + (WebCore::InsertTextCommand::insertTab): + * editing/MoveSelectionCommand.cpp: + (WebCore::MoveSelectionCommand::doApply): + * editing/ReplaceSelectionCommand.cpp: + (WebCore::ReplaceSelectionCommand::removeUnrenderedTextNodesAtEnds): + (WebCore::ReplaceSelectionCommand::mergeEndIfNeeded): + (WebCore::ReplaceSelectionCommand::doApply): + (WebCore::ReplaceSelectionCommand::shouldRemoveEndBR): + (WebCore::ReplaceSelectionCommand::performTrivialReplace): + * editing/SelectionController.cpp: + (WebCore::SelectionController::setSelectionFromNone): + * editing/SpellChecker.cpp: + (WebCore::SpellChecker::didCheck): + * editing/TypingCommand.cpp: + (WebCore::TypingCommand::makeEditableRootEmpty): + (WebCore::TypingCommand::deleteKeyPressed): + (WebCore::TypingCommand::forwardDeleteKeyPressed): + * editing/markup.cpp: + (WebCore::StyledMarkupAccumulator::appendText): + (WebCore::StyledMarkupAccumulator::serializeNodes): + (WebCore::highestAncestorToWrapMarkup): + (WebCore::createMarkup): + +2011-01-24 Peter Kasting <pkasting@google.com> + + Reviewed by Darin Adler. + + Roll back r67261 ("Don't fire onclick on middle clicks") due to + regressions. + https://bugs.webkit.org/show_bug.cgi?id=46733 + + * html/HTMLAnchorElement.cpp: + (WebCore::isLinkClick): + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::preDispatchEventHandler): + (WebCore::HTMLInputElement::postDispatchEventHandler): + (WebCore::HTMLInputElement::defaultEventHandler): + * page/EventHandler.cpp: + (WebCore::EventHandler::handleMouseDoubleClickEvent): + (WebCore::EventHandler::handleMouseReleaseEvent): + +2011-01-24 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Eric Seidel. + + [GTK] Many DOM XHTML tests time out + https://bugs.webkit.org/show_bug.cgi?id=52553 + + Properly handle the situation where a synchronous load fails before the inner + event loop has started. In this case, we simply do not run the inner event loop, + or else it will block indefinitely (since no GIO or libsoup callbacks will fire). + + * platform/network/soup/ResourceHandleSoup.cpp: + (WebCore::ResourceHandle::loadResourceSynchronously): Bail out of a synchronous + load if it fails up front. + +2011-01-24 Zhenyao Mo <zmo@google.com> + + Reviewed by Eric Seidel. + + Cleanup WebGLGetInfo and related get*Parameter helpers in WebGLRenderingContext + https://bugs.webkit.org/show_bug.cgi?id=52338 + + Removed the long/unsigned long types and corresponding get functions + and use int/unsigned int instead. + + * bindings/js/JSWebGLRenderingContextCustom.cpp: + (WebCore::toJS): + * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp: + (WebCore::toV8Object): + * html/canvas/WebGLGetInfo.cpp: + (WebCore::WebGLGetInfo::WebGLGetInfo): + (WebCore::WebGLGetInfo::getInt): + (WebCore::WebGLGetInfo::getUnsignedInt): + * html/canvas/WebGLGetInfo.h: + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::getBufferParameter): + (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter): + (WebCore::WebGLRenderingContext::getParameter): + (WebCore::WebGLRenderingContext::getProgramParameter): + (WebCore::WebGLRenderingContext::getRenderbufferParameter): + (WebCore::WebGLRenderingContext::getShaderParameter): + (WebCore::WebGLRenderingContext::getTexParameter): + (WebCore::WebGLRenderingContext::getUniform): + (WebCore::WebGLRenderingContext::getVertexAttrib): + (WebCore::WebGLRenderingContext::getIntParameter): + (WebCore::WebGLRenderingContext::getUnsignedIntParameter): + * html/canvas/WebGLRenderingContext.h: + +2011-01-24 Zhenyao Mo <zmo@google.com> + + Reviewed by Darin Adler. + + Remove sizeInBytes from GraphicsContext3D's various implementations + https://bugs.webkit.org/show_bug.cgi?id=52339 + + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::sizeInBytes): + * platform/graphics/GraphicsContext3D.h: + * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: + * platform/graphics/qt/GraphicsContext3DQt.cpp: + +2011-01-24 Adam Roben <aroben@apple.com> + + Windows Production build fix + + * WebCore.vcproj/WebCore.make: Update for move of WebCore into Source. + +2011-01-24 Anton Muhin <antonm@chromium.org> + + Reviewed by Nate Chapin. + + [v8] Refactoring: extract IntrusiveDOMWrapperMap into a seprate class and files. + https://bugs.webkit.org/show_bug.cgi?id=52911 + + Plain refactoring, covered by the existing tests. + + * WebCore.gypi: IntrusiveDOMWrapperMap.h added. + * bindings/v8/DOMDataStore.cpp: IntrusiveDOMWrapperMap is moved out of DOMDataStore class. + * bindings/v8/DOMDataStore.h: IntrusiveDOMWrapperMap is moved out of DOMDataStore class. + * bindings/v8/IntrusiveDOMWrapperMap.h: Added. + (WebCore::ChunkedTable::ChunkedTable): + (WebCore::ChunkedTable::add): + (WebCore::ChunkedTable::remove): + (WebCore::ChunkedTable::clear): + (WebCore::ChunkedTable::visit): + (WebCore::ChunkedTable::Chunk::Chunk): + (WebCore::ChunkedTable::clearEntries): + (WebCore::ChunkedTable::visitEntries): + (WebCore::IntrusiveDOMWrapperMap::IntrusiveDOMWrapperMap): + (WebCore::IntrusiveDOMWrapperMap::get): + (WebCore::IntrusiveDOMWrapperMap::set): + (WebCore::IntrusiveDOMWrapperMap::contains): + (WebCore::IntrusiveDOMWrapperMap::visit): + (WebCore::IntrusiveDOMWrapperMap::removeIfPresent): + (WebCore::IntrusiveDOMWrapperMap::clear): + (WebCore::IntrusiveDOMWrapperMap::ChunkedTableTraits::move): + (WebCore::IntrusiveDOMWrapperMap::ChunkedTableTraits::clear): + (WebCore::IntrusiveDOMWrapperMap::ChunkedTableTraits::visit): + * bindings/v8/StaticDOMDataStore.h: include added. + +2011-01-24 Shane Stephens <shanestephens@google.com> + + Reviewed by Chris Marrin. + + TransformationMatrix multiply operations apply operands in wrong order. + https://bugs.webkit.org/show_bug.cgi?id=52780 + + Rename TranformationMatrix::multLeft into multiply (the method does a multRight, + not a multLeft). + + Remove TransformationMatrix::multiply, which was actually doing a multLeft. + + Fix TransformationMatrix::operator* and operator*= such that the operand is + applied to the right-hand side of the matrix that the method is called on. + i.e., previously "a * b" used to compute "b * a", and "a *= b" used to store + "b * a" in "a". This has now been fixed so "a * b" computes "a * b" and + "a *= b" stores "a * b" in "a". + + Convert all call sites for these methods to provide operands in the correct order. + + No new tests as patch adds no new functionality. + + * css/WebKitCSSMatrix.cpp: + (WebCore::WebKitCSSMatrix::multiply): + * platform/graphics/transforms/Matrix3DTransformOperation.h: + (WebCore::Matrix3DTransformOperation::apply): + * platform/graphics/transforms/MatrixTransformOperation.h: + (WebCore::MatrixTransformOperation::apply): + * platform/graphics/transforms/TransformationMatrix.cpp: + (WebCore::TransformationMatrix::scaleNonUniform): + (WebCore::TransformationMatrix::scale3d): + (WebCore::TransformationMatrix::rotate3d): + (WebCore::TransformationMatrix::skew): + (WebCore::TransformationMatrix::applyPerspective): + (WebCore::TransformationMatrix::multiply): + (WebCore::TransformationMatrix::recompose): + * platform/graphics/transforms/TransformationMatrix.h: + (WebCore::TransformationMatrix::operator*=): + (WebCore::TransformationMatrix::operator*): + * rendering/RenderLayer.cpp: + (WebCore::transparencyClipBox): + * rendering/RenderObject.cpp: + (WebCore::RenderObject::getTransformFromContainer): + * rendering/TransformState.cpp: + (WebCore::TransformState::applyTransform): + (WebCore::HitTestingTransformState::applyTransform): + +2011-01-24 Andrei Popescu <andreip@google.com> + + Reviewed by Nate Chapin. + + IndexedDatabase methods should not take arguments of type OptionsObject + https://bugs.webkit.org/show_bug.cgi?id=53012 + + This patch reverts all IDB methods, except IDBDatabase::createObjectStore and + IDBObjectStore::createIndex, to using a plain list of arguments instead of + grouping the various parameters inside a single OptionsObject argument. + This decision was made on public-webapps@w3.org mailing list. + + We also add support (v8 only for now) for passing DOMStringList objects as arguments to native + methods. The code for obtaining a DOMStringList object from a JS array of strings existed already + in OptionsObject.cpp, I just copied it to V8Bindings.cpp and taught the v8 code generator how to + use it. + + * bindings/scripts/CodeGeneratorV8.pm: + * bindings/v8/V8Binding.cpp: + (WebCore::v8ValueToWebCoreDOMStringList): + * bindings/v8/V8Binding.h: + * storage/IDBDatabase.cpp: + (WebCore::IDBDatabase::transaction): + * storage/IDBDatabase.h: + (WebCore::IDBDatabase::transaction): + * storage/IDBDatabase.idl: + * storage/IDBIndex.cpp: + (WebCore::IDBIndex::openCursor): + (WebCore::IDBIndex::openKeyCursor): + * storage/IDBIndex.h: + (WebCore::IDBIndex::openCursor): + (WebCore::IDBIndex::openKeyCursor): + * storage/IDBIndex.idl: + * storage/IDBObjectStore.cpp: + (WebCore::IDBObjectStore::openCursor): + * storage/IDBObjectStore.h: + (WebCore::IDBObjectStore::openCursor): + * storage/IDBObjectStore.idl: + +2011-01-24 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: extract dispatch API from network manager. + https://bugs.webkit.org/show_bug.cgi?id=53009 + + * WebCore.xcodeproj/project.pbxproj: + * inspector/front-end/NetworkManager.js: + (WebInspector.NetworkManager): + (WebInspector.NetworkManager.prototype.reset): + (WebInspector.NetworkManager.prototype.requestContent): + (WebInspector.NetworkManager.prototype._processCachedResources): + (WebInspector.NetworkDispatcher): + (WebInspector.NetworkDispatcher.prototype._updateResourceWithRequest): + (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse): + (WebInspector.NetworkDispatcher.prototype._updateResourceWithCachedResource): + (WebInspector.NetworkDispatcher.prototype.identifierForInitialRequest): + (WebInspector.NetworkDispatcher.prototype.willSendRequest): + (WebInspector.NetworkDispatcher.prototype.didReceiveResponse): + (WebInspector.NetworkDispatcher.prototype.didLoadResourceFromMemoryCache): + (WebInspector.NetworkDispatcher.prototype.didCommitLoadForFrame): + (WebInspector.NetworkDispatcher.prototype.didCreateWebSocket): + (WebInspector.NetworkDispatcher.prototype._appendRedirect): + (WebInspector.NetworkDispatcher.prototype._startResource): + (WebInspector.NetworkDispatcher.prototype._updateResource): + (WebInspector.NetworkDispatcher.prototype._finishResource): + (WebInspector.NetworkDispatcher.prototype._addFramesRecursively): + (WebInspector.NetworkDispatcher.prototype._dispatchEventToListeners): + (WebInspector.NetworkDispatcher.prototype._createResource): + * inspector/front-end/Resource.js: + (WebInspector.Resource.prototype._innerRequestContent): + * inspector/front-end/ResourceTreeModel.js: + (WebInspector.ResourceTreeModel): + (WebInspector.ResourceTreeModel.prototype.reset): + (WebInspector.ResourceTreeModel.prototype.unbindResourceURL): + +2011-01-24 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: [JSC] remove ScriptDebugServer::pageCreated + https://bugs.webkit.org/show_bug.cgi?id=53007 + + It's impossible to create "provisional" inspector for pages which are + not yet created so there is no need to listen for page creation in ScriptDebugServer. + + * bindings/js/ScriptDebugServer.cpp: + * bindings/js/ScriptDebugServer.h: + * page/Page.cpp: + (WebCore::Page::Page): + +2011-01-24 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: [REGRESSION] AppCache view on resources panel is broken. + https://bugs.webkit.org/show_bug.cgi?id=53002 + + + * inspector/front-end/ApplicationCacheItemsView.js: + (WebInspector.ApplicationCacheItemsView.prototype._update): + * inspector/front-end/DOMAgent.js: + (WebInspector.ApplicationCacheDispatcher.getApplicationCachesAsync): + +2011-01-24 Andreas Kling <kling@webkit.org> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Fix warnings about unregistering an invalid timer + https://bugs.webkit.org/show_bug.cgi?id=53006 + + The ShadowBuffer's purge timer ID was initialized with 0 which lead + to us calling QObject::killTimer(0), causing some qWarnings. + + * platform/graphics/qt/ContextShadowQt.cpp: + (WebCore::ShadowBuffer::ShadowBuffer): + (WebCore::ShadowBuffer::schedulePurge): + +2011-01-21 Mikhail Naganov <mnaganov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: [Chromium] Fix heap snapshot table sorting. + + Fix table sorting to avoid qsort instability artefacts. + + https://bugs.webkit.org/show_bug.cgi?id=52914 + + * inspector/front-end/HeapSnapshotView.js: + (WebInspector.HeapSnapshotView.prototype._sortData): + (WebInspector.HeapSnapshotDataGridList.propertyComparator.comparator): + (WebInspector.HeapSnapshotDataGridList.propertyComparator): + +2011-01-24 Mikhail Naganov <mnaganov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: Find duplicate strings in localizedStrings.js, update it. + + https://bugs.webkit.org/show_bug.cgi?id=53005 + + * English.lproj/localizedStrings.js: + +2011-01-24 Pavel Podivilov <podivilov@chromium.org> + + Unreviewed, build fix for r76509. + + * inspector/InspectorDebuggerAgent.cpp: + (WebCore::InspectorDebuggerAgent::setBreakpoint): + +2011-01-24 Pavel Podivilov <podivilov@chromium.org> + + Unreviewed, build fix for r76509. + + * bindings/js/ScriptDebugServer.h: + +2011-01-24 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: set breakpoints by line:column. + https://bugs.webkit.org/show_bug.cgi?id=52615 + + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/ScriptDebugServer.cpp: + (WebCore::ScriptDebugServer::setBreakpoint): + (WebCore::ScriptDebugServer::removeBreakpoint): + (WebCore::ScriptDebugServer::hasBreakpoint): + (WebCore::ScriptDebugServer::clearBreakpoints): + * bindings/js/ScriptDebugServer.h: + * bindings/v8/DebuggerScript.js: + (): + * bindings/v8/ScriptDebugServer.cpp: + (WebCore::ScriptDebugServer::setBreakpoint): + * bindings/v8/ScriptDebugServer.h: + * inspector/Inspector.idl: + * inspector/InspectorBrowserDebuggerAgent.cpp: + (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint): + * inspector/InspectorDebuggerAgent.cpp: + (WebCore::InspectorDebuggerAgent::setStickyBreakpoint): + (WebCore::InspectorDebuggerAgent::setBreakpoint): + (WebCore::InspectorDebuggerAgent::restoreBreakpoint): + (WebCore::InspectorDebuggerAgent::didParseSource): + * inspector/InspectorDebuggerAgent.h: + * inspector/ScriptBreakpoint.cpp: Removed. + * inspector/ScriptBreakpoint.h: + (WebCore::ScriptBreakpoint::ScriptBreakpoint): + * inspector/front-end/Breakpoint.js: + (WebInspector.Breakpoint): + (WebInspector.Breakpoint.prototype.get url): + * inspector/front-end/BreakpointManager.js: + (WebInspector.JavaScriptBreakpoint.prototype._serializeToJSON): + * inspector/front-end/DebuggerModel.js: + (WebInspector.DebuggerModel.prototype.continueToLine): + (WebInspector.DebuggerModel.prototype.setBreakpoint): + (WebInspector.DebuggerModel.prototype._breakpointSetOnBackend): + (WebInspector.DebuggerDispatcher.prototype.breakpointResolved): + +2011-01-24 Peter Beverloo <peter@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: recognize application/x-font-woff as a valid mime-type. + https://bugs.webkit.org/show_bug.cgi?id=52977 + + No new tests. + + * inspector/front-end/inspector.js: + +2011-01-24 Pavel Podivilov <podivilov@chromium.org> + + Unreviewed, fix for r76497. + + * inspector/front-end/ResourcesPanel.js: + (WebInspector.ResourcesPanel.prototype.show): + +2011-01-24 Andreas Kling <kling@webkit.org> + + Reviewed by Tor Arne Vestbø. + + [Qt] Use rad2deg() from WTF instead of rolling our own. + https://bugs.webkit.org/show_bug.cgi?id=52993 + + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContext::rotate): + * platform/graphics/qt/PathQt.cpp: + (WebCore::Path::addArc): + +2011-01-24 Sergio Villar Senin <svillar@igalia.com> + + Reviewed by Martin Robinson. + + [Gtk] ResourceHandleSoup: do not wait for streams to close to issue didFinishLoading + https://bugs.webkit.org/show_bug.cgi?id=52885 + + No new tests as it does not change functionality. We will not wait for + the the input stream to close to issue didFinishLoading to + WebCore. We expect a subtle performance improvement with this + patch when loading complex web pages, as we wouldn't have to wait + for the stream to close (which involves creating a thread among + other things). + + * platform/network/soup/ResourceHandleSoup.cpp: + (WebCore::closeCallback): + (WebCore::readCallback): + +2011-01-21 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: eliminate SourceView and ScriptView classes. + https://bugs.webkit.org/show_bug.cgi?id=52896 + + SourceView and ScriptView delegate everything to SourceFrame and should be eliminated. + + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * inspector/front-end/GoToLineDialog.js: + (WebInspector.GoToLineDialog.prototype._highlightSelectedLine): + * inspector/front-end/ResourceView.js: + (WebInspector.ResourceView.createResourceView): + (WebInspector.ResourceView.resourceViewTypeMatchesResource): + (WebInspector.SourceFrameContentProviderForResource): Moved from SourceView. + * inspector/front-end/ResourcesPanel.js: + (WebInspector.ResourcesPanel.prototype.show): + (WebInspector.ResourcesPanel.prototype._applyDiffMarkup): + (WebInspector.FrameResourceTreeElement.prototype._errorsWarningsUpdated): + * inspector/front-end/ScriptView.js: Removed. + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel.prototype._scriptSourceChanged): + (WebInspector.ScriptsPanel.prototype._sourceFrameForScriptOrResource): + (WebInspector.ScriptsPanel.prototype._showScriptOrResource): + (WebInspector.ScriptsPanel.prototype._setPauseOnExceptions): + (WebInspector.ScriptsPanel.prototype._formatScript): + (WebInspector.SourceFrameContentProviderForScript): Moved from ScriptView. + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrame): + (WebInspector.SourceFrame.prototype.show): + (WebInspector.SourceFrame.prototype.hide): + (WebInspector.SourceFrame.prototype.hasContent): + (WebInspector.SourceFrame.prototype._createTextViewer): + (WebInspector.SourceFrame.prototype.performSearch.doFindSearchMatches): + (WebInspector.SourceFrame.prototype.performSearch): + * inspector/front-end/SourceView.js: Removed. + * inspector/front-end/WebKit.qrc: + * inspector/front-end/inspector.html: + +2011-01-24 Andras Becsi <abecsi@webkit.org> + + Reviewed by Csaba Osztrogonác. + + [Qt] Move project files into Source + https://bugs.webkit.org/show_bug.cgi?id=52891 + + No new tests needed. + + * WebCore.pri: + * WebCore.pro: + +2011-01-24 Kent Tamura <tkent@chromium.org> + + Unreviewed, trivial fix. + + Fix a Chromium-only assertion failure by r76491. + https://bugs.webkit.org/show_bug.cgi?id=38982 + + Separate icon loading from the FileChooser constructor in order to avoid + ref() before adoptRef(). + + * platform/FileChooser.cpp: + (WebCore::FileChooser::FileChooser): + (WebCore::FileChooser::initialize): + (WebCore::FileChooser::create): + * platform/FileChooser.h: + +2011-01-24 MORITA Hajime <morrita@google.com> + + Reviewed by Kent Tamura. + + TextControlInnerElement::m_shadowParent should be removed. + https://bugs.webkit.org/show_bug.cgi?id=52998 + + No new tests. No behavioral change. + + * rendering/TextControlInnerElements.cpp: + (WebCore::TextControlInnerElement::TextControlInnerElement): + * rendering/TextControlInnerElements.h: + +2011-01-24 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + REGRESSION (r72895): console.trace crashes + https://bugs.webkit.org/show_bug.cgi?id=52981 + + - Use local RefPtr variable for accessing PassRefPtr arguments to make sure the PassRefPtr has + non-null value. + - Use PassRefPtr for objects whos ownership is passed to the inspector. + + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * inspector/InspectorConsoleInstrumentation.h: Added. Extract inline methods called from the console into their + own header to reduce compilation time of other classes that depend on the inspector instrumentation. + (WebCore::InspectorInstrumentation::addMessageToConsole): + (WebCore::InspectorInstrumentation::consoleCount): + (WebCore::InspectorInstrumentation::startConsoleTiming): + (WebCore::InspectorInstrumentation::stopConsoleTiming): + (WebCore::InspectorInstrumentation::consoleMarkTimeline): + (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsole): + (WebCore::InspectorInstrumentation::addProfile): + (WebCore::InspectorInstrumentation::profilerEnabled): + (WebCore::InspectorInstrumentation::getCurrentUserInitiatedProfileName): + * inspector/InspectorDatabaseInstrumentation.h: Added. Extract inline methods called from the datanase code into their + own header to reduce compilation time of other classes that depend on the inspector instrumentation. + (WebCore::InspectorInstrumentation::didOpenDatabase): + * inspector/InspectorInstrumentation.cpp: + (WebCore::InspectorInstrumentation::addMessageToConsoleImpl): + (WebCore::InspectorInstrumentation::consoleCountImpl): + (WebCore::InspectorInstrumentation::stopConsoleTimingImpl): + (WebCore::InspectorInstrumentation::consoleMarkTimelineImpl): + (WebCore::InspectorInstrumentation::addProfileImpl): + (WebCore::InspectorInstrumentation::didOpenDatabaseImpl): + * inspector/InspectorInstrumentation.h: + * page/Console.cpp: use RefPtr local variable instead of accessing PassRefPtr argument directly. + (WebCore::Console::addMessage): + (WebCore::Console::trace): + (WebCore::Console::count): + (WebCore::Console::markTimeline): + (WebCore::Console::profileEnd): + (WebCore::Console::timeEnd): + (WebCore::Console::group): + (WebCore::Console::groupCollapsed): + * storage/Database.cpp: + (WebCore::Database::openDatabase): + +2010-01-24 Kent Tamura <tkent@chromium.org> + + Reviewed by Darin Fisher. + + [Chromium] Support icon loading for <input type=file> + https://bugs.webkit.org/show_bug.cgi?id=38982 + + An icon data in Chromium port is represented as WebCore::Image. We + don't need OS-specific code anymore. + + * WebCore.gypi: + * platform/graphics/Icon.h: + (WebCore::Icon::create): Add Chromium-specific factory. + * platform/graphics/chromium/IconChromium.cpp: Added. + * platform/graphics/chromium/IconChromiumLinux.cpp: Removed. + * platform/graphics/chromium/IconChromiumMac.cpp: Removed. + * platform/graphics/chromium/IconChromiumWin.cpp: Removed. + * platform/graphics/chromium/PlatformIcon.h: + +2011-01-21 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: move search functions from SourceView to SourceFrame. + https://bugs.webkit.org/show_bug.cgi?id=52895 + + This is the last step before eliminating SourceView and ScriptView since + this classes just delegate everything to SourceFrame. + + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrame.prototype.set visible): + (WebInspector.SourceFrame.prototype._clearLineHighlight): + (WebInspector.SourceFrame.prototype._createTextViewer): + (WebInspector.SourceFrame.prototype.performSearch.doFindSearchMatches): + (WebInspector.SourceFrame.prototype.performSearch): + (WebInspector.SourceFrame.prototype.searchCanceled): + (WebInspector.SourceFrame.prototype.jumpToFirstSearchResult): + (WebInspector.SourceFrame.prototype.jumpToLastSearchResult): + (WebInspector.SourceFrame.prototype.jumpToNextSearchResult): + (WebInspector.SourceFrame.prototype.jumpToPreviousSearchResult): + (WebInspector.SourceFrame.prototype.showingFirstSearchResult): + (WebInspector.SourceFrame.prototype.showingLastSearchResult): + (WebInspector.SourceFrame.prototype._jumpToSearchResult): + * inspector/front-end/SourceView.js: + (WebInspector.SourceView.prototype.hide): + (WebInspector.SourceView.prototype.searchCanceled): + (WebInspector.SourceView.prototype.performSearch): + (WebInspector.SourceView.prototype.jumpToFirstSearchResult): + (WebInspector.SourceView.prototype.jumpToLastSearchResult): + (WebInspector.SourceView.prototype.jumpToNextSearchResult): + (WebInspector.SourceView.prototype.jumpToPreviousSearchResult): + (WebInspector.SourceView.prototype.showingFirstSearchResult): + (WebInspector.SourceView.prototype.showingLastSearchResult): + (WebInspector.SourceView.prototype.clearMessages): + +2011-01-24 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r76463. + http://trac.webkit.org/changeset/76463 + https://bugs.webkit.org/show_bug.cgi?id=52993 + + It broke canvas/philip/tests/2d.path.stroke.skew.html + (Requested by Ossy on #webkit). + + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContext::rotate): + * platform/graphics/qt/PathQt.cpp: + (WebCore::Path::addArc): + +2011-01-23 Andrey Kosyakov <caseq@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: summary bar is not resized properly with the rest of network panel + https://bugs.webkit.org/show_bug.cgi?id=52881 + + * inspector/front-end/NetworkPanel.js: + (WebInspector.NetworkPanel.prototype.updateSidebarWidth): + (WebInspector.NetworkPanel.prototype._positionSummaryBar): + (WebInspector.NetworkPanel.prototype._toggleGridMode): + +2011-01-19 MORITA Hajime <morrita@google.com> + + Reviewed by Ryosuke Niwa. + + Space and tab characters "sent" by an input method give totally different results than typing them directly + https://bugs.webkit.org/show_bug.cgi?id=5241 + + * Introduced TextEvent::InputTypeComposition and TypingCommand::TextCompositionType to + distinguish text input which is originated by composition. + * Generalized rebalanceWhitespaceAt() to rebalanceWhitespaceOnTextSubstring() to rebalancing + range of string on text node, instead of surrounding part of that. + + Test: editing/inserting/insert-composition-whitespace.html + + * dom/TextEvent.h: + (WebCore::TextEvent::isComposition): + * dom/TextEventInputType.h: Added TextEventInputComposition as a member of TextEvent::InputType + * editing/CompositeEditCommand.cpp: + (WebCore::containsOnlyWhitespace): + (WebCore::CompositeEditCommand::shouldRebalanceLeadingWhitespaceFor): + (WebCore::CompositeEditCommand::canRebalance): + (WebCore::CompositeEditCommand::rebalanceWhitespaceAt): + (WebCore::CompositeEditCommand::rebalanceWhitespaceOnTextSubstring): Added: A generalized version of rebalanceWhitespaceAt(), which takes a range inside Text string. + * editing/CompositeEditCommand.h: + * editing/Editor.cpp: + (WebCore::Editor::insertTextForConfirmedComposition): Added. + (WebCore::Editor::insertTextWithoutSendingTextEvent): + (WebCore::Editor::confirmComposition): Now uses insertTextForConfirmedComposition(). + (WebCore::Editor::setComposition): + * editing/Editor.h: + * editing/InsertTextCommand.cpp: + (WebCore::InsertTextCommand::input): + * editing/InsertTextCommand.h: + * editing/TypingCommand.cpp: + (WebCore::TypingCommand::TypingCommand): + (WebCore::TypingCommand::insertText): + (WebCore::TypingCommand::insertTextRunWithoutNewlines): + * editing/TypingCommand.h: Added TypingCommand::m_compositionType and TypingCommand::TextCompositionType + (WebCore::TypingCommand::setCompositionType): Added. + (WebCore::TypingCommand::create): + +2011-01-23 Mark Rowe <mrowe@apple.com> + + Follow-up to r76477. + + Fix the scripts that detect problematic code such as static initializers + and destructors, weak vtables, inappropriate files in the framework wrappers, + and public headers including private headers. These had all been broken + since the projects were moved in to the Source directory as the paths to the + scripts were not updated at that time. + + Stop copying an IDL file in to the framework wrapper. Doing that doesn't even make sense. + + * WebCore.xcodeproj/project.pbxproj: + +2011-01-23 Mark Rowe <mrowe@apple.com> + + Build fix after r76459. + + Static member variables or globals of types that have constructors or destructors are bad as + they generate static initializers and destructors. This is code that is run either at link time + when the library is loaded in to memory or at application termination time. Both of these are + terrible for performance and are thus outlawed in WebKit code. + + The typical solution is to replace the static member or global with a function that allocates + the necessary variable on the heap. The variable is leaked to prevent it from being destroyed + at application termination time. The DEFINE_STATIC_LOCAL macro wraps this in to a concise little + package, but sadly fails to work in this case due to the type containing multiple template + parameters. + + * inspector/InspectorInstrumentation.cpp: + (WebCore::InspectorInstrumentation::inspectorAgents): + * inspector/InspectorInstrumentation.h: + (WebCore::InspectorInstrumentation::bindInspectorAgent): + (WebCore::InspectorInstrumentation::unbindInspectorAgent): + (WebCore::InspectorInstrumentation::inspectorAgentForPage): + +2011-01-21 Vangelis Kokkevis <vangelis@chromium.org> + + Reviewed by Kenneth Russell. + + [chromium] Add support for -webkit-mask properties to the + accelerated compositing path. + https://bugs.webkit.org/show_bug.cgi?id=49780 + + Tests: Existing tests in LayoutTests/compositing/masks + + * platform/graphics/chromium/ContentLayerChromium.cpp: + (WebCore::ContentLayerChromium::draw): + (WebCore::ContentLayerChromium::unreserveContentsTexture): + (WebCore::ContentLayerChromium::bindContentsTexture): + * platform/graphics/chromium/ContentLayerChromium.h: + * platform/graphics/chromium/GraphicsLayerChromium.cpp: + (WebCore::GraphicsLayerChromium::setMaskLayer): + * platform/graphics/chromium/GraphicsLayerChromium.h: + * platform/graphics/chromium/LayerChromium.cpp: + (WebCore::LayerChromium::LayerChromium): + * platform/graphics/chromium/LayerChromium.h: + (WebCore::LayerChromium::setMaskLayer): + (WebCore::LayerChromium::maskLayer): + (WebCore::LayerChromium::unreserveContentsTexture): + (WebCore::LayerChromium::bindContentsTexture): + * platform/graphics/chromium/LayerRendererChromium.cpp: + (WebCore::LayerRendererChromium::updateLayersRecursive): + * platform/graphics/chromium/LayerTexture.cpp: + (WebCore::LayerTexture::bindTexture): + * platform/graphics/chromium/RenderSurfaceChromium.cpp: + (WebCore::RenderSurfaceChromium::SharedValues::SharedValues): + (WebCore::RenderSurfaceChromium::SharedValues::~SharedValues): + (WebCore::RenderSurfaceChromium::RenderSurfaceChromium): + (WebCore::RenderSurfaceChromium::draw): + * platform/graphics/chromium/RenderSurfaceChromium.h: + (WebCore::RenderSurfaceChromium::SharedValues::maskShaderProgram): + (WebCore::RenderSurfaceChromium::SharedValues::maskShaderSamplerLocation): + (WebCore::RenderSurfaceChromium::SharedValues::maskShaderMaskSamplerLocation): + (WebCore::RenderSurfaceChromium::SharedValues::maskShaderMatrixLocation): + (WebCore::RenderSurfaceChromium::SharedValues::maskShaderAlphaLocation): + +2011-01-23 Patrick Gansterer <paroga@webkit.org> + + Reviewed by Darin Adler. + + Use WTF::StringHasher in WebCore + https://bugs.webkit.org/show_bug.cgi?id=52934 + + * loader/appcache/ApplicationCacheStorage.cpp: + (WebCore::urlHostHash): + * platform/LinkHash.cpp: + (WebCore::visitedLinkHashInline): + * platform/cf/BinaryPropertyList.cpp: + (WebCore::IntegerArrayHash::hash): + * platform/graphics/wx/FontPlatformDataWx.cpp: + (WebCore::FontPlatformData::computeHash): + * platform/network/ProtectionSpaceHash.h: + (WebCore::ProtectionSpaceHash::hash): + +2011-01-23 Patrick Gansterer <paroga@webkit.org> + + Reviewed by David Kilzer. + + Add an overload to base64Encode with String output + https://bugs.webkit.org/show_bug.cgi?id=50122 + + This change removes duplicated code. + + * inspector/InspectorResourceAgent.cpp: + (WebCore::InspectorResourceAgent::resourceContentBase64): + * page/DOMWindow.cpp: + (WebCore::DOMWindow::btoa): + * platform/graphics/skia/FontCustomPlatformData.cpp: + (WebCore::createUniqueFontName): + * platform/graphics/win/FontCustomPlatformData.cpp: + (WebCore::createUniqueFontName): + * platform/graphics/wince/FontCustomPlatformData.cpp: + (WebCore::createUniqueFontName): + * platform/network/cf/ResourceHandleCFNet.cpp: + (WebCore::encodeBasicAuthorization): + * platform/network/mac/ResourceHandleMac.mm: + (WebCore::encodeBasicAuthorization): + * platform/text/Base64.cpp: + (WebCore::base64Encode): + * platform/text/Base64.h: + (WebCore::base64Encode): + * platform/wince/KeygenWinCE.cpp: + (WebCore::WebCore::signedPublicKeyAndChallengeString): + +2011-01-23 Patrick Gansterer <paroga@webkit.org> + + Reviewed by David Kilzer. + + Add String::containsOnlyLatin1() + https://bugs.webkit.org/show_bug.cgi?id=52979 + + Use String::containsOnlyLatin1() instead of isSafeToConvertCharList(). + + * page/DOMWindow.cpp: + (WebCore::DOMWindow::btoa): + (WebCore::DOMWindow::atob): + +2011-01-23 Patrick Gansterer <paroga@webkit.org> + + Reviewed by Andreas Kling. + + [CMake] Add missing CodeGenerator dependencies + https://bugs.webkit.org/show_bug.cgi?id=52976 + + * CMakeLists.txt: + +2011-01-23 Yael Aharon <yael.aharon@nokia.com> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt][Symbian] Fix --minimal build + https://bugs.webkit.org/show_bug.cgi?id=52839 + + Some of the plugins' functionality is reimplemented in + Symbian specific files. + Some of this functionality should be compiled in even if + the guard NETSCAPE_PLUGIN_API is turned off. + This patch moves that functionality out of the + NETSCAPE_PLUGIN_API guard. + + Build fix so no new tests. + + * WebCore.pro: + * plugins/symbian/PluginPackageSymbian.cpp: + +2011-01-23 Andreas Kling <kling@webkit.org> + + Reviewed by Tor Arne Vestbø. + + [Qt] Use rad2deg() from WTF instead of rolling our own. + + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContext::rotate): + * platform/graphics/qt/PathQt.cpp: + (WebCore::Path::addArc): + +2011-01-23 Kenneth Rohde Christiansen <kenneth@webkit.org> + + Reviewed by Andreas Kling. + + Viewport meta: Always adjust device dimensions to the device pixel ratio. + + * dom/ViewportArguments.cpp: + (WebCore::computeViewportAttributes): + +2011-01-23 Andreas Kling <kling@webkit.org> + + Reviewed by Kenneth Rohde Christiansen. + + Don't scale absolute geometry specified by viewport meta tag. + + * dom/ViewportArguments.cpp: + (WebCore::computeViewportAttributes): + +2011-01-23 Ilya Tikhonovsky <loislo@chromium.org> + + Unreviewed build fix. + + Web Inspector: looks like efl doesn't regenerate InspectorBackendDispatcher. + + Touch Inspector.idl. + + * inspector/Inspector.idl: + +2011-01-22 Ilya Tikhonovsky <loislo@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: next step in splitting InspectorController. + + Splitting InspectorController is a bit tricky process. + + As a first step I'll do the next things: + 1) rename existing InspectorController to InspectorAgent; + 2) s/nspectorController/nspectorAgent/g everywhere in WebCore/inspector but InspectorInstrumentation; + 3) create a fake InspectorController derived from the InspectorAgent for the rest of WebCore and WebKit; + + The second step is a migration of a small set of functions described in bug 52510 from InspectorAgent to InspectorController. + + As far as the second step will have significant changes in the functions' implementation I'll do it as a separate patch. + + https://bugs.webkit.org/show_bug.cgi?id=52955 + + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.exp.in: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSInjectedScriptHostCustom.cpp: + (WebCore::JSInjectedScriptHost::nodeForId): + (WebCore::JSInjectedScriptHost::selectDOMStorage): + * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: + (WebCore::V8InjectedScriptHost::nodeForIdCallback): + * inspector/CodeGeneratorInspector.pm: + * inspector/InjectedScriptHost.cpp: + (WebCore::InjectedScriptHost::InjectedScriptHost): + (WebCore::InjectedScriptHost::clearConsoleMessages): + (WebCore::InjectedScriptHost::databaseForId): + (WebCore::InjectedScriptHost::selectDatabase): + (WebCore::InjectedScriptHost::selectDOMStorage): + (WebCore::InjectedScriptHost::injectedScriptForMainFrame): + (WebCore::InjectedScriptHost::inspectorDOMAgent): + (WebCore::InjectedScriptHost::frontend): + (WebCore::InjectedScriptHost::didCreateWorker): + (WebCore::InjectedScriptHost::didDestroyWorker): + * inspector/InjectedScriptHost.h: + (WebCore::InjectedScriptHost::create): + (WebCore::InjectedScriptHost::inspectorAgent): + (WebCore::InjectedScriptHost::disconnectController): + * inspector/InspectorAgent.cpp: Copied from Source/WebCore/inspector/InspectorController.cpp. + (WebCore::InspectorAgent::InspectorAgent): + (WebCore::InspectorAgent::~InspectorAgent): + (WebCore::InspectorAgent::inspectedPageDestroyed): + (WebCore::InspectorAgent::enabled): + (WebCore::InspectorAgent::inspectorStartsAttached): + (WebCore::InspectorAgent::setInspectorStartsAttached): + (WebCore::InspectorAgent::setInspectorAttachedHeight): + (WebCore::InspectorAgent::inspectorAttachedHeight): + (WebCore::InspectorAgent::searchingForNodeInPage): + (WebCore::InspectorAgent::restoreInspectorStateFromCookie): + (WebCore::InspectorAgent::inspect): + (WebCore::InspectorAgent::focusNode): + (WebCore::InspectorAgent::highlight): + (WebCore::InspectorAgent::highlightDOMNode): + (WebCore::InspectorAgent::highlightFrame): + (WebCore::InspectorAgent::hideHighlight): + (WebCore::InspectorAgent::mouseDidMoveOverElement): + (WebCore::InspectorAgent::handleMousePress): + (WebCore::InspectorAgent::setInspectorFrontendClient): + (WebCore::InspectorAgent::didClearWindowObjectInWorld): + (WebCore::InspectorAgent::setSearchingForNode): + (WebCore::InspectorAgent::connectFrontend): + (WebCore::InspectorAgent::show): + (WebCore::InspectorAgent::showPanel): + (WebCore::InspectorAgent::close): + (WebCore::InspectorAgent::disconnectFrontend): + (WebCore::InspectorAgent::resourceAgent): + (WebCore::InspectorAgent::releaseFrontendLifetimeAgents): + (WebCore::InspectorAgent::populateScriptObjects): + (WebCore::InspectorAgent::pushDataCollectedOffline): + (WebCore::InspectorAgent::restoreDebugger): + (WebCore::InspectorAgent::restoreProfiler): + (WebCore::InspectorAgent::unbindAllResources): + (WebCore::InspectorAgent::didCommitLoad): + (WebCore::InspectorAgent::mainResourceFiredDOMContentEvent): + (WebCore::InspectorAgent::mainResourceFiredLoadEvent): + (WebCore::InspectorAgent::isMainResourceLoader): + (WebCore::InspectorAgent::willSendRequest): + (WebCore::InspectorAgent::ensureSettingsLoaded): + (WebCore::InspectorAgent::startTimelineProfiler): + (WebCore::InspectorAgent::stopTimelineProfiler): + (WebCore::PostWorkerNotificationToFrontendTask::create): + (WebCore::PostWorkerNotificationToFrontendTask::PostWorkerNotificationToFrontendTask): + (WebCore::PostWorkerNotificationToFrontendTask::performTask): + (WebCore::InspectorAgent::postWorkerNotificationToFrontend): + (WebCore::InspectorAgent::didCreateWorker): + (WebCore::InspectorAgent::didDestroyWorker): + (WebCore::InspectorAgent::didOpenDatabase): + (WebCore::InspectorAgent::getCookies): + (WebCore::InspectorAgent::buildArrayForCookies): + (WebCore::InspectorAgent::buildObjectForCookie): + (WebCore::InspectorAgent::deleteCookie): + (WebCore::InspectorAgent::didUseDOMStorage): + (WebCore::InspectorAgent::didCreateWebSocket): + (WebCore::InspectorAgent::willSendWebSocketHandshakeRequest): + (WebCore::InspectorAgent::didReceiveWebSocketHandshakeResponse): + (WebCore::InspectorAgent::didCloseWebSocket): + (WebCore::InspectorAgent::isRecordingUserInitiatedProfile): + (WebCore::InspectorAgent::startUserInitiatedProfiling): + (WebCore::InspectorAgent::stopUserInitiatedProfiling): + (WebCore::InspectorAgent::profilerEnabled): + (WebCore::InspectorAgent::enableProfiler): + (WebCore::InspectorAgent::disableProfiler): + (WebCore::InspectorAgent::showAndEnableDebugger): + (WebCore::InspectorAgent::enableDebugger): + (WebCore::InspectorAgent::disableDebugger): + (WebCore::InspectorAgent::resume): + (WebCore::InspectorAgent::setAllBrowserBreakpoints): + (WebCore::InspectorAgent::evaluateForTestInFrontend): + (WebCore::InspectorAgent::didEvaluateForTestInFrontend): + (WebCore::quadToPath): + (WebCore::drawOutlinedQuad): + (WebCore::drawOutlinedQuadWithClip): + (WebCore::drawHighlightForBox): + (WebCore::drawHighlightForLineBoxesOrSVGRenderer): + (WebCore::convertFromFrameToMainFrame): + (WebCore::frameToMainFrameOffset): + (WebCore::InspectorAgent::drawNodeHighlight): + (WebCore::InspectorAgent::drawElementTitle): + (WebCore::InspectorAgent::openInInspectedWindow): + (WebCore::InspectorAgent::addScriptToEvaluateOnLoad): + (WebCore::InspectorAgent::removeAllScriptsToEvaluateOnLoad): + (WebCore::InspectorAgent::setInspectorExtensionAPI): + (WebCore::InspectorAgent::inspectedURL): + (WebCore::InspectorAgent::reloadPage): + (WebCore::InspectorAgent::setExtraHeaders): + * inspector/InspectorAgent.h: Copied from Source/WebCore/inspector/InspectorController.h. + (WebCore::InspectorAgent::inspectorBackendDispatcher): + (WebCore::InspectorAgent::inspectorClient): + (WebCore::InspectorAgent::injectedScriptHost): + (WebCore::InspectorAgent::inspectedPage): + (WebCore::InspectorAgent::hideDOMNodeHighlight): + (WebCore::InspectorAgent::hideFrameHighlight): + (WebCore::InspectorAgent::frontend): + (WebCore::InspectorAgent::inspectorController): + (WebCore::InspectorAgent::inspectorAgent): + (WebCore::InspectorAgent::consoleAgent): + (WebCore::InspectorAgent::cssAgent): + (WebCore::InspectorAgent::domAgent): + (WebCore::InspectorAgent::injectedScriptAgent): + (WebCore::InspectorAgent::runtimeAgent): + (WebCore::InspectorAgent::timelineAgent): + (WebCore::InspectorAgent::databaseAgent): + (WebCore::InspectorAgent::domStorageAgent): + (WebCore::InspectorAgent::fileSystemAgent): + (WebCore::InspectorAgent::browserDebuggerAgent): + (WebCore::InspectorAgent::debuggerAgent): + (WebCore::InspectorAgent::profilerAgent): + (WebCore::InspectorAgent::applicationCacheAgent): + (WebCore::InspectorAgent::hasInspectorFrontendClient): + (WebCore::InspectorAgent::hasFrontend): + (WebCore::InspectorAgent::startProfiling): + (WebCore::InspectorAgent::stopProfiling): + (WebCore::InspectorAgent::debuggerEnabled): + (WebCore::InspectorAgent::state): + (WebCore::InspectorAgent::settings): + * inspector/InspectorApplicationCacheAgent.cpp: + (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent): + (WebCore::InspectorApplicationCacheAgent::getApplicationCaches): + * inspector/InspectorApplicationCacheAgent.h: + * inspector/InspectorBrowserDebuggerAgent.cpp: + (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent): + (WebCore::InspectorBrowserDebuggerAgent::inspectedURLChanged): + (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint): + (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::InspectorConsoleAgent): + (WebCore::InspectorConsoleAgent::~InspectorConsoleAgent): + (WebCore::InspectorConsoleAgent::clearConsoleMessages): + (WebCore::InspectorConsoleAgent::addMessageToConsole): + (WebCore::InspectorConsoleAgent::resourceRetrievedByXMLHttpRequest): + (WebCore::InspectorConsoleAgent::didReceiveResponse): + (WebCore::InspectorConsoleAgent::didFailLoading): + (WebCore::InspectorConsoleAgent::setMonitoringXHREnabled): + (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled): + (WebCore::InspectorConsoleAgent::addConsoleMessage): + * inspector/InspectorConsoleAgent.h: + * inspector/InspectorController.cpp: + (WebCore::InspectorController::InspectorController): + * inspector/InspectorController.h: + * inspector/InspectorDatabaseAgent.cpp: + * inspector/InspectorDebuggerAgent.cpp: + (WebCore::InspectorDebuggerAgent::create): + (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent): + (WebCore::InspectorDebuggerAgent::~InspectorDebuggerAgent): + (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame): + (WebCore::InspectorDebuggerAgent::getCompletionsOnCallFrame): + (WebCore::InspectorDebuggerAgent::currentCallFrames): + * inspector/InspectorDebuggerAgent.h: + * inspector/InspectorFileSystemAgent.cpp: + (WebCore::InspectorFileSystemAgentCallbacks::didOpenFileSystem): + (WebCore::InspectorFileSystemAgent::InspectorFileSystemAgent): + (WebCore::InspectorFileSystemAgent::stop): + (WebCore::InspectorFileSystemAgent::getFileSystemPathAsync): + (WebCore::InspectorFileSystemAgent::didGetFileSystemPath): + (WebCore::InspectorFileSystemAgent::didGetFileSystemError): + * inspector/InspectorFileSystemAgent.h: + (WebCore::InspectorFileSystemAgent::create): + * inspector/InspectorFrontendHost.cpp: + (WebCore::InspectorFrontendHost::setExtensionAPI): + * inspector/InspectorProfilerAgent.cpp: + (WebCore::InspectorProfilerAgent::create): + (WebCore::InspectorProfilerAgent::InspectorProfilerAgent): + (WebCore::InspectorProfilerAgent::addProfileFinishedMessageToConsole): + (WebCore::InspectorProfilerAgent::addStartProfilingMessageToConsole): + (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling): + (WebCore::InspectorProfilerAgent::stopUserInitiatedProfiling): + * inspector/InspectorProfilerAgent.h: + +2011-01-22 Chris Rogers <crogers@google.com> + + Rubber-stamped by Anders Carlsson. + + Fix FFTFrameStub to compile properly + https://bugs.webkit.org/show_bug.cgi?id=52969 + + No new tests since this is a build fix. + + * platform/audio/FFTFrameStub.cpp: + (WebCore::FFTFrame::FFTFrame): + +2011-01-22 Andrei Popescu <andreip@google.com> + + Reviewed by Jeremy Orlow. + + IndexedDB corrupts data on disk + https://bugs.webkit.org/show_bug.cgi?id=52890 + + We need to store the SerializedScriptValues on disk in a BLOB column rather than TEXT. + Test: storage/indexeddb/data-corruption.html + + * platform/sql/SQLiteStatement.cpp: + (WebCore::SQLiteStatement::bindBlob): + (WebCore::SQLiteStatement::getColumnBlobAsString): + (WebCore::SQLiteStatement::getColumnBlobAsVector): + * platform/sql/SQLiteStatement.h: + * storage/IDBCursorBackendImpl.cpp: + (WebCore::IDBCursorBackendImpl::loadCurrentRow): + * storage/IDBFactoryBackendImpl.cpp: + (WebCore::runCommands): + (WebCore::createTables): + (WebCore::createMetaDataTable): + (WebCore::migrateDatabase): + * storage/IDBObjectStoreBackendImpl.cpp: + (WebCore::IDBObjectStoreBackendImpl::getInternal): + (WebCore::putObjectStoreData): + +2011-01-22 Nikolas Zimmermann <nzimmermann@rim.com> + + Not reviewed. Fix WinCE build. + + * platform/graphics/wince/GraphicsContextWinCE.cpp: + (WebCore::GraphicsContext::drawText): + * rendering/RenderThemeWinCE.cpp: + (WebCore::RenderThemeWinCE::adjustMenuListButtonStyle): + +2011-01-22 Nikolas Zimmermann <nzimmermann@rim.com> + + Reviewed by Dirk Schulze. + + REGRESSION: Vertical line metrics incorrect + https://bugs.webkit.org/show_bug.cgi?id=52960 + + SimpleFontDataMac.mm contains a hack to modifiy lineGap/descent for the 'Hiragino' font. + That didn't influence the lineSpacing so far, but does now, causing regressions. + + Restore old line spacing behaviour to fix the regression. + Covered by existing fast/blockflow, fast/repaint and fast/text/international test cases. + + * platform/graphics/FontMetrics.h: + (WebCore::FontMetrics::FontMetrics): + (WebCore::FontMetrics::floatLineSpacing): + (WebCore::FontMetrics::setLineSpacing): + (WebCore::FontMetrics::lineSpacing): + (WebCore::FontMetrics::reset): + * platform/graphics/SimpleFontData.cpp: + (WebCore::SimpleFontData::SimpleFontData): + * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp: + (WebCore::SimpleFontData::platformInit): + * platform/graphics/chromium/SimpleFontDataLinux.cpp: + (WebCore::SimpleFontData::platformInit): + * platform/graphics/freetype/SimpleFontDataFreeType.cpp: + (WebCore::SimpleFontData::platformInit): + * platform/graphics/haiku/SimpleFontDataHaiku.cpp: + (WebCore::SimpleFontData::platformInit): + * platform/graphics/mac/SimpleFontDataMac.mm: + (WebCore::SimpleFontData::platformInit): + * platform/graphics/pango/SimpleFontDataPango.cpp: + (WebCore::SimpleFontData::platformInit): + * platform/graphics/qt/SimpleFontDataQt.cpp: + (WebCore::SimpleFontData::platformInit): + * platform/graphics/win/SimpleFontDataCGWin.cpp: + (WebCore::SimpleFontData::platformInit): + * platform/graphics/win/SimpleFontDataCairoWin.cpp: + (WebCore::SimpleFontData::platformInit): + * platform/graphics/win/SimpleFontDataWin.cpp: + (WebCore::SimpleFontData::initGDIFont): + * platform/graphics/wince/SimpleFontDataWinCE.cpp: + (WebCore::SimpleFontData::platformInit): + * platform/graphics/wx/SimpleFontDataWx.cpp: + (WebCore::SimpleFontData::platformInit): + +2011-01-22 Andreas Kling <kling@webkit.org> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] fast/backgrounds/svg-as-mask.html fails + https://bugs.webkit.org/show_bug.cgi?id=52906 + + Transparency layers should start out with in SourceOver mode with + alpha 1.0 (modeled after CGContextBeginTransparencyLayer.) + + * platform/graphics/qt/TransparencyLayer.h: + (WebCore::TransparencyLayer::TransparencyLayer): + +2011-01-22 Nikolas Zimmermann <nzimmermann@rim.com> + + Not reviewed. + + Introduce FontMetrics abstraction + https://bugs.webkit.org/show_bug.cgi?id=51456 + + Fix Chromium/Win build. + + * platform/graphics/chromium/UniscribeHelperTextRun.cpp: s/->/./ + (WebCore::UniscribeHelperTextRun::UniscribeHelperTextRun): + +2011-01-21 Nikolas Zimmermann <nzimmermann@rim.com> + + Reviewed by Dirk Schulze. + + Introduce FontMetrics abstraction + https://bugs.webkit.org/show_bug.cgi?id=51456 + + Encapsulate ascent/descent/lineHeight/lineGap methods in a single FontMetrics class, instead of + having to define them in both Font & SimpleFontData. Changed to store floating point values + as default, in order to get accurate information for small sized fonts. All these methods + now have floating-point and integer versions. Whenever an integer variant of these functions + is called, lroundf() is used to round the value. + + This makes it possible to support small font-sizes for SVG in a follow-up patch, as well + as fixing rounding issues when using SVG Fonts. + + Shouldn't affect existing tests. + + * GNUmakefile.am: Add FontMetrics.h to build. + * WebCore.gypi: Ditto. + * WebCore.pro: Ditto. + * WebCore.vcproj/WebCore.vcproj: Ditto. + * WebCore.xcodeproj/project.pbxproj: Ditto. + * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: Use style->fontMetrics() instead of style->font() to access the metrics. + (baselinePositionForAccessibilityRenderObject): + * css/CSSPrimitiveValue.cpp: + (WebCore::CSSPrimitiveValue::computeLengthDouble): + * html/canvas/CanvasRenderingContext2D.cpp: Ditto. + (WebCore::CanvasRenderingContext2D::drawTextInternal): + * inspector/InspectorController.cpp: Ditto. + (WebCore::InspectorController::drawElementTitle): + * platform/chromium/PopupMenuChromium.cpp: Ditto. + (WebCore::PopupListBox::paintRow): + (WebCore::PopupListBox::getRowHeight): + * platform/graphics/Font.h: Remove ascent/descent/height/lineGap/lineSpacing/xHeight/unitsPerEm accessor... + (WebCore::Font::fontMetrics): ... and only expose a single FontMetrics object here. + * platform/graphics/FontFastPath.cpp: Use fontMetrics() to query metrics information. + (WebCore::Font::emphasisMarkAscent): + (WebCore::Font::emphasisMarkDescent): + (WebCore::Font::emphasisMarkHeight): + (WebCore::Font::floatWidthForSimpleText): + * platform/graphics/FontMetrics.h: Added. + (WebCore::FontMetrics::FontMetrics): Creates a FontMetrics object, stored in SimpleFontData. + (WebCore::FontMetrics::unitsPerEm): Returns an unsigned describing the unitsPerEm. + (WebCore::FontMetrics::setUnitsPerEm): Sets the unitsPerEm value. + (WebCore::FontMetrics::floatAscent): Returns the stored m_ascent float. + (WebCore::FontMetrics::setAscent): Sets the stored m_ascent float. + (WebCore::FontMetrics::floatDescent): Returns the stored m_descent float. + (WebCore::FontMetrics::setDescent): Sets the stored m_descent float. + (WebCore::FontMetrics::floatHeight): Returns floatAscent() + floatDescent(). + (WebCore::FontMetrics::floatLineGap): Returns the stored m_lineGap float. + (WebCore::FontMetrics::setLineGap): Sets the stored m_lineGap float. + (WebCore::FontMetrics::floatLineSpacing): Returns the stored m_lineSpacing float. + (WebCore::FontMetrics::setLineSpacing): Sets the stored m_lineSpacing float. + (WebCore::FontMetrics::xHeight): Returns the stored m_xHeight float (no integer version available, hence no 'float' prefix). + (WebCore::FontMetrics::setXHeight): Sets the stored m_xHeight float. + (WebCore::FontMetrics::ascent): Returns a rounded version of ascent(). + (WebCore::FontMetrics::descent): Ditto (for descent). + (WebCore::FontMetrics::height): Returns ascent() + descent(). + (WebCore::FontMetrics::lineGap): Returns a rounded version of lineGap(). + (WebCore::FontMetrics::lineSpacing): Ditto (for lineSpacing). + (WebCore::FontMetrics::reset): Nulls all members, used only by the platform variants of SimpleFontData. + * platform/graphics/SimpleFontData.cpp: Adapt SVG Fonts code, to initialize the FontMetrics object, as the m_ascent/etc.. members are gone. + (WebCore::SimpleFontData::SimpleFontData): + (WebCore::SimpleFontData::initCharWidths): + * platform/graphics/SimpleFontData.h: Remove ascent/descent/height/lineSpacing/lineGap/xHeight/unitsPerEm accessors, and members, just store a FontMetrics object and expose it. + (WebCore::SimpleFontData::fontMetrics): + (WebCore::SimpleFontData::avgCharWidth): + * platform/graphics/chromium/FontChromiumWin.cpp: Use fontMetrics() to query font metrics. + (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::estimateTextBounds): + (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs): + (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::estimateTextBounds): + (WebCore::Font::drawComplexText): + * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp: Adapt platform code, to initialize the FontMetrics object. + (WebCore::SimpleFontData::platformInit): + * platform/graphics/chromium/SimpleFontDataLinux.cpp: Ditto. + (WebCore::SimpleFontData::platformInit): + * platform/graphics/chromium/UniscribeHelperTextRun.cpp: Use fontMetrics() to query font metrics. + (WebCore::UniscribeHelperTextRun::UniscribeHelperTextRun): + (WebCore::UniscribeHelperTextRun::nextWinFontData): + * platform/graphics/freetype/SimpleFontDataFreeType.cpp: Adapt platform code, to initialize the FontMetrics object. + (WebCore::SimpleFontData::platformInit): + * platform/graphics/haiku/SimpleFontDataHaiku.cpp: Ditto. + (WebCore::SimpleFontData::platformInit): + * platform/graphics/mac/FontComplexTextMac.cpp: Use fontMetrics() to query font metrics. + (WebCore::Font::floatWidthForComplexText): + * platform/graphics/mac/FontMac.mm: Ditto. + (WebCore::showGlyphsWithAdvances): + * platform/graphics/mac/SimpleFontDataMac.mm: Adapt platform code, to initialize the FontMetrics object. + (WebCore::SimpleFontData::platformInit): + (WebCore::SimpleFontData::platformCharWidthInit): + * platform/graphics/pango/SimpleFontDataPango.cpp: Ditto. + (WebCore::SimpleFontData::platformInit): + * platform/graphics/qt/SimpleFontDataQt.cpp: Ditto. (+ Switch to QFontMetricsF to get floating-point accurancy.) + (WebCore::SimpleFontData::platformInit): + * platform/graphics/win/FontCGWin.cpp: Use fontMetrics() to query font metrics. + (WebCore::drawGDIGlyphs): + * platform/graphics/win/FontWin.cpp: Ditto. + (WebCore::Font::floatWidthForComplexText): + * platform/graphics/win/SimpleFontDataCGWin.cpp: Adapt platform code, to initialize the FontMetrics object. + (WebCore::SimpleFontData::platformInit): + (WebCore::SimpleFontData::platformBoundsForGlyph): + * platform/graphics/win/SimpleFontDataCairoWin.cpp: Ditto. + (WebCore::SimpleFontData::platformInit): + * platform/graphics/win/SimpleFontDataWin.cpp: Ditto. + (WebCore::SimpleFontData::initGDIFont): + * platform/graphics/wince/GraphicsContextWinCE.cpp: Use fontMetrics() to query font metrics. + (WebCore::GraphicsContext::drawText): + * platform/graphics/wince/SimpleFontDataWinCE.cpp: Adapt platform code, to initialize the FontMetrics object. + (WebCore::SimpleFontData::platformInit): + * platform/graphics/wx/SimpleFontDataWx.cpp: Ditto. + (WebCore::SimpleFontData::platformInit): + * platform/win/PopupMenuWin.cpp: Use style->fontMetrics() instead of style->font() to access the metrics. + (WebCore::PopupMenuWin::calculatePositionAndSize): + (WebCore::PopupMenuWin::paint): + * rendering/EllipsisBox.cpp: Ditto. + (WebCore::EllipsisBox::paint): + (WebCore::EllipsisBox::nodeAtPoint): + * rendering/InlineBox.cpp: Ditto. + (WebCore::InlineBox::logicalHeight): + * rendering/InlineFlowBox.cpp: Ditto. + (WebCore::verticalPositionForBox): + (WebCore::InlineFlowBox::computeLogicalBoxHeights): + (WebCore::InlineFlowBox::placeBoxesInBlockDirection): + * rendering/InlineTextBox.cpp: Ditto. + (WebCore::InlineTextBox::paint): + (WebCore::InlineTextBox::paintDecoration): + (WebCore::InlineTextBox::paintSpellingOrGrammarMarker): + (WebCore::InlineTextBox::paintCompositionUnderline): + * rendering/RenderBlock.cpp: Ditto. + (WebCore::RenderBlock::baselinePosition): + (WebCore::RenderBlock::firstLineBoxBaseline): + (WebCore::RenderBlock::lastLineBoxBaseline): + * rendering/RenderBox.cpp: Ditto. + (WebCore::RenderBox::localCaretRect): + * rendering/RenderEmbeddedObject.cpp: Ditto. + (WebCore::RenderEmbeddedObject::paintReplaced): + * rendering/RenderImage.cpp: Ditto. + (WebCore::RenderImage::setImageSizeForAltText): + (WebCore::RenderImage::paintReplaced): + * rendering/RenderInline.cpp: Ditto. + (WebCore::RenderInline::baselinePosition): + * rendering/RenderListBox.cpp: Ditto. + (WebCore::RenderListBox::paintItemForeground): + (WebCore::RenderListBox::itemHeight): + * rendering/RenderListMarker.cpp: Ditto. + (WebCore::RenderListMarker::paint): + (WebCore::RenderListMarker::layout): + (WebCore::RenderListMarker::computePreferredLogicalWidths): + (WebCore::RenderListMarker::updateMargins): + (WebCore::RenderListMarker::getRelativeMarkerRect): + * rendering/RenderTextControl.cpp: Ditto. + (WebCore::RenderTextControl::paintPlaceholder): + * rendering/RenderTextControlSingleLine.cpp: Ditto. + (WebCore::RenderTextControlSingleLine::createInnerTextStyle): + * rendering/RenderThemeWin.cpp: Ditto. + (WebCore::RenderThemeWin::adjustMenuListButtonStyle): + * rendering/mathml/RenderMathMLFraction.cpp: Ditto. + (WebCore::RenderMathMLFraction::baselinePosition): + * rendering/style/RenderStyle.h: Add "const FontMetrics& fontMetrics() const" accessor. + (WebCore::InheritedFlags::fontMetrics): + (WebCore::InheritedFlags::computedLineHeight): + * rendering/svg/RenderSVGInlineText.cpp: Use style->fontMetrics() instead of style->font() to access the metrics. + (WebCore::RenderSVGInlineText::positionForPoint): + * rendering/svg/SVGInlineTextBox.cpp: Ditto. + (WebCore::SVGInlineTextBox::selectionRectForTextFragment): + (WebCore::positionOffsetForDecoration): + (WebCore::SVGInlineTextBox::paintDecorationWithStyle): + (WebCore::SVGInlineTextBox::paintTextWithShadows): + (WebCore::SVGInlineTextBox::calculateBoundaries): + * rendering/svg/SVGTextLayoutEngineBaseline.cpp: Ditto. + (WebCore::SVGTextLayoutEngineBaseline::calculateBaselineShift): + (WebCore::SVGTextLayoutEngineBaseline::calculateAlignmentBaselineShift): + (WebCore::SVGTextLayoutEngineBaseline::calculateGlyphAdvanceAndOrientation): + * rendering/svg/SVGTextLayoutEngineSpacing.cpp: Ditto. + (WebCore::SVGTextLayoutEngineSpacing::calculateSVGKerning): + * rendering/svg/SVGTextMetrics.cpp: Ditto. + (WebCore::SVGTextMetrics::SVGTextMetrics): + * rendering/svg/SVGTextQuery.cpp: Ditto. + (WebCore::calculateGlyphBoundaries): + * svg/SVGFontFaceElement.cpp: + (WebCore::SVGFontFaceElement::unitsPerEm): Rename defaultUnitsPerEm global to gDefaultUnitsPerEm. + * svg/SVGLength.cpp: Use style->fontMetrics() instead of style->font() to access the metrics. + (WebCore::SVGLength::convertValueFromUserUnitsToEXS): + (WebCore::SVGLength::convertValueFromEXSToUserUnits): + +2011-01-22 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Eric Seidel. + + Stop instantiating legacy editing positions in VisibleSelection, visible_units.cpp, Frame, and RenderBlock + https://bugs.webkit.org/show_bug.cgi?id=52759 + + Stopped instantiating legacy editing positions in the following files. + + * editing/VisibleSelection.cpp: + (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingEditingBoundaries): + * editing/visible_units.cpp: + (WebCore::previousBoundary): + (WebCore::previousLinePosition): + (WebCore::nextLinePosition): + (WebCore::startOfBlock): + * page/Frame.cpp: + (WebCore::Frame::visiblePositionForPoint): + * rendering/RenderBlock.cpp: Removed RenderBlock::positionForRenderer because it was not called anywhere. + * rendering/RenderBlock.h: Ditto. + +2011-01-22 Adrienne Walker <enne@google.com> + + Reviewed by James Robinson. + + [chromium] Fix compositor repaints for offscreen fixed elements + https://bugs.webkit.org/show_bug.cgi?id=52681 + + The fast path scrolling was clipping offscreen invalidations. + Additionally, the compositor was ignoring all invalidations that were + entirely out of the content rect. + + Test: compositing/ to verify this caused no regressions. + Tested fix manually in browser as I could not generate a LayoutTest that reproduced the bug in run-webkit-tests. + + * page/FrameView.cpp: + (WebCore::FrameView::scrollContentsFastPath): + * platform/graphics/chromium/LayerRendererChromium.cpp: + (WebCore::LayerRendererChromium::invalidateRootLayerRect): + +2011-01-22 Alexey Proskuryakov <ap@apple.com> + + Reviewed by Dan Bernstein. + + https://bugs.webkit.org/show_bug.cgi?id=52951 + WebKit2 generates a bad PDF for cross process messaging + + * page/PrintContext.cpp: (WebCore::PrintContext::spoolRect): Use a correct offset to actually + draw inside the requested rectangle. + +2011-01-21 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Adam Barth. + + Regression: new window.onerror() implementation leaks cross-origin Javascript errors + https://bugs.webkit.org/show_bug.cgi?id=52903 + + In case of an exception in a script from different domain only generic message + will be passed to window.onerror hander. + + Tests: http/tests/security/cross-origin-script-window-onerror-redirected.html + http/tests/security/cross-origin-script-window-onerror.html + + * bindings/js/CachedScriptSourceProvider.h: use URL from the resource response to make sure we do all + cross origin checks agains real script URL, not the original URL which may have resulted in a sequence + of redirects to different domains. + (WebCore::CachedScriptSourceProvider::CachedScriptSourceProvider): + * bindings/v8/ScriptSourceCode.h: same for v8. + (WebCore::ScriptSourceCode::url): + * dom/ScriptExecutionContext.cpp: + (WebCore::ScriptExecutionContext::dispatchErrorEvent): in case the error occurred in a script we cannot + access provide concise "Script error." message without any information about the error source. This is + what Firefox does in this case. + +2011-01-21 Andreas Kling <kling@webkit.org> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Always set composition mode through GraphicsContext + https://bugs.webkit.org/show_bug.cgi?id=52940 + + GraphicsContext tracks the current composition mode so we should + never call through to the QPainter directly. + + * platform/graphics/GraphicsContext.h: + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::toQtCompositionMode): Changed this method to a static inline + since it's only used by GraphicsContextQt.cpp now. + + * platform/graphics/qt/ImageQt.cpp: + (WebCore::Image::drawPattern): + (WebCore::BitmapImage::draw): + +2011-01-21 Dan Bernstein <mitz@apple.com> + + Reviewed by Adele Peterson. + + Inconsistent handling of no-break space in justification logic + https://bugs.webkit.org/show_bug.cgi?id=52938 + + Test: fast/text/justify-nbsp.html + + * rendering/RenderBlockLineLayout.cpp: + (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Count no-break space as a + space when computing the distribution of space between text boxes on the line. + +2011-01-21 Charlie Reis <creis@chromium.org> + + Reviewed by Darin Fisher. + + Crash in WebCore::HistoryController::itemsAreClones + https://bugs.webkit.org/show_bug.cgi?id=52819 + + Adds sanity checks to help diagnose the crash. + + * loader/HistoryController.cpp: + +2011-01-21 Andreas Kling <kling@webkit.org> + + Reviewed by Ariya Hidayat. + + [Qt] Let QPainter decide whether a composition mode is supported or not + + Lacking Porter-Duff support in the paint engine shouldn't exclude the + Source and Source-Over modes (and has nothing to do with the blend + and raster-op modes.) + + Delegate this decision to QPainter instead (this will cause warnings + if an unsupported mode is used, but that's a good thing.) + + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContext::clearRect): + (WebCore::GraphicsContext::setPlatformCompositeOperation): + * platform/graphics/qt/TransparencyLayer.h: + (WebCore::TransparencyLayer::TransparencyLayer): + +2011-01-21 Chris Rogers <crogers@google.com> + + Reviewed by Kenneth Russell. + + fix audio build: header file should be "Noncopyable.h" and not "NonCopyable.h" + https://bugs.webkit.org/show_bug.cgi?id=52933 + + No new tests since this just fixes the build + + * webaudio/RealtimeAnalyser.h: + +2011-01-21 Chris Rogers <crogers@google.com> + + Reviewed by Kenneth Russell. + + Fix audio build: change ChromiumBridge to PlatformBridge + https://bugs.webkit.org/show_bug.cgi?id=52928 + + No new tests since audio API is not yet implemented. + + * platform/audio/chromium/AudioBusChromium.cpp: + (WebCore::AudioBus::loadPlatformResource): + +2011-01-21 Chris Rogers <crogers@google.com> + + Reviewed by Kenneth Russell. + + Add FFTFrameStub to avoid link errors during bringup on platforms without an FFT implementation + https://bugs.webkit.org/show_bug.cgi?id=52922 + + No new tests since audio API is not yet implemented. + + * WebCore.gypi: + * platform/audio/FFTFrameStub.cpp: Added. + (WebCore::FFTFrame::FFTFrame): + (WebCore::FFTFrame::~FFTFrame): + (WebCore::FFTFrame::multiply): + (WebCore::FFTFrame::doFFT): + (WebCore::FFTFrame::doInverseFFT): + (WebCore::FFTFrame::cleanup): + (WebCore::FFTFrame::realData): + (WebCore::FFTFrame::imagData): + +2011-01-21 Tony Chang <tony@chromium.org> + + Reviewed by Sam Weinig. + + reduce number of FrameLoaderClient::didChangeScrollOffset calls + https://bugs.webkit.org/show_bug.cgi?id=52915 + + Only notify of changes in scroll offset when there actually is a change. + This regressed in r76291. + + Covered by Chromium browser_tests. + + * platform/ScrollAnimator.cpp: + (WebCore::ScrollAnimator::scrollToOffsetWithoutAnimation): + +2011-01-21 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: ~InspectorResourceAgent crashes on closing inspected page. + https://bugs.webkit.org/show_bug.cgi?id=52900 + + * inspector/InspectorController.cpp: + (WebCore::InspectorController::~InspectorController): + (WebCore::InspectorController::inspectedPageDestroyed): + +2011-01-21 Chris Rogers <crogers@google.com> + + Reviewed by Darin Fisher. + + Add run-time enable support for the web audio API + https://bugs.webkit.org/show_bug.cgi?id=52741 + + No new tests since audio API is not yet implemented. + + * WebCore.exp.in: + * bindings/generic/RuntimeEnabledFeatures.cpp: + * bindings/generic/RuntimeEnabledFeatures.h: + (WebCore::RuntimeEnabledFeatures::setWebkitAudioContextEnabled): + (WebCore::RuntimeEnabledFeatures::webkitAudioContextEnabled): + * page/DOMWindow.idl: + * page/Settings.cpp: + (WebCore::Settings::Settings): + (WebCore::Settings::setWebAudioEnabled): + * page/Settings.h: + (WebCore::Settings::webAudioEnabled): + +2011-01-21 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Xan Lopez. + + [GTK] Menulist text often collides with separator + https://bugs.webkit.org/show_bug.cgi?id=51155 + + Move menulist rendering to RenderThemeGtk and correct padding code + for separators in menulists. + + * platform/gtk/RenderThemeGtk.cpp: + (WebCore::RenderThemeGtk::RenderThemeGtk): Initialize new widget members. + (WebCore::RenderThemeGtk::getComboBoxSeparatorWidth): Added. + (WebCore::RenderThemeGtk::comboBoxArrowSize): Added. + (WebCore::getButtonInnerBorder): Added. + (WebCore::RenderThemeGtk::getComboBoxPadding): Do this manually instead of using + Mozilla code. + (WebCore::RenderThemeGtk::paintMenuList): Ditto. + (WebCore::setupWidget): Abstracted this part of the setupWidgetAndAddToContainer + out to handle child widgets of comboboxes. + (WebCore::RenderThemeGtk::setupWidgetAndAddToContainer): Abstracted out setupWidget. + (WebCore::RenderThemeGtk::gtkContainer): Added. + (WebCore::getGtkComboBoxButton): Added. + (WebCore::getGtkComboBoxPieces): Added. + (WebCore::RenderThemeGtk::gtkComboBox): Call setupWidget here. + (WebCore::RenderThemeGtk::refreshComboBoxChildren): Added. + (WebCore::RenderThemeGtk::gtkComboBoxButton): Added. + (WebCore::RenderThemeGtk::gtkComboBoxArrow): Added. + (WebCore::RenderThemeGtk::gtkComboBoxSeparator): Added. + * platform/gtk/RenderThemeGtk.h: Added new members and methods. + * platform/gtk/WidgetRenderingContext.h: Added new members and methods. + * platform/gtk/WidgetRenderingContextGtk2.cpp: + (WebCore::WidgetRenderingContext::gtkPaintArrow): + (WebCore::WidgetRenderingContext::gtkPaintVLine): + * platform/gtk/WidgetRenderingContextGtk3.cpp: + (WebCore::WidgetRenderingContext::gtkPaintArrow): + (WebCore::WidgetRenderingContext::gtkPaintVLine): + * platform/gtk/gtk2drawing.c: Removed code for drawing menulists and buttons. + (moz_gtk_init): + (moz_gtk_get_widget_border): + (moz_gtk_widget_paint): + * platform/gtk/gtk3drawing.c: + (moz_gtk_init): + (moz_gtk_get_widget_border): + (moz_gtk_widget_paint): + * platform/gtk/gtkdrawing.h: + +2011-01-21 Sam Weinig <sam@webkit.org> + + Fix chromium mac build. + + * platform/chromium/ScrollbarThemeChromiumMac.mm: + (WebCore::scrollbarStateToThemeState): + (WebCore::ScrollbarThemeChromiumMac::paint): + +2011-01-21 Sam Weinig <sam@webkit.org> + + Fix the windows build. + + * platform/ScrollbarThemeComposite.cpp: + (WebCore::ScrollbarThemeComposite::paint): + +2011-01-21 Chris Rogers <crogers@google.com> + + Reviewed by Kenneth Russell. + + Add chromium bundled audio spatialization resources to WebAudio.grd + https://bugs.webkit.org/show_bug.cgi?id=52651 + + No new tests since audio API is not yet implemented. + + * WebCore.gyp/WebCore.gyp: + * platform/audio/chromium/AudioBusChromium.cpp: + (WebCore::AudioBus::loadPlatformResource): + +2011-01-21 Xiyuan Xia <xiyuan@chromium.org> + + Reviewed by Tony Chang. + + Use WebThemeEngine for relevant RenderTheme parts for chromium/linux. + https://bugs.webkit.org/show_bug.cgi?id=52826 + + * platform/chromium/ChromiumBridge.h: + * rendering/RenderThemeChromiumLinux.cpp: + (WebCore::getWebThemeState): + (WebCore::RenderThemeChromiumLinux::adjustSliderThumbSize): + (WebCore::RenderThemeChromiumLinux::paintCheckbox): + (WebCore::RenderThemeChromiumLinux::setCheckboxSize): + (WebCore::RenderThemeChromiumLinux::paintRadio): + (WebCore::RenderThemeChromiumLinux::setRadioSize): + (WebCore::RenderThemeChromiumLinux::paintButton): + (WebCore::RenderThemeChromiumLinux::paintTextField): + (WebCore::RenderThemeChromiumLinux::paintMenuList): + (WebCore::RenderThemeChromiumLinux::paintSliderTrack): + (WebCore::RenderThemeChromiumLinux::paintSliderThumb): + (WebCore::RenderThemeChromiumLinux::adjustInnerSpinButtonStyle): + (WebCore::RenderThemeChromiumLinux::paintInnerSpinButton): + (WebCore::RenderThemeChromiumLinux::paintProgressBar): + * rendering/RenderThemeChromiumLinux.h: + * rendering/RenderThemeChromiumSkia.cpp: + (WebCore::RenderThemeChromiumSkia::setCheckboxSize): + (WebCore::RenderThemeChromiumSkia::setSizeIfAuto): + (WebCore::RenderThemeChromiumSkia::indeterminateProgressValueRectFor): + * rendering/RenderThemeChromiumSkia.h: + +2011-01-21 Sam Weinig <sam@webkit.org> + + Reviewed by Anders Carlsson. + + Part 2 of "Cleanup Scrollbar/ScrollbarClient relationship" + https://bugs.webkit.org/show_bug.cgi?id=52779 + + Rename ScrollbarClient -> ScrollableArea. + + - Also replaces Scrollbar::setClient with Scrollbar::disconnectFromScrollableArea + since that was its only use case. + + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * accessibility/AccessibilityScrollbar.cpp: + (WebCore::AccessibilityScrollbar::setValue): + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass): + * page/FrameView.h: + * platform/PopupMenuClient.h: + * platform/ScrollAnimator.cpp: + (WebCore::ScrollAnimator::create): + (WebCore::ScrollAnimator::ScrollAnimator): + (WebCore::ScrollAnimator::scroll): + (WebCore::ScrollAnimator::notityPositionChanged): + * platform/ScrollAnimator.h: + * platform/ScrollAnimatorWin.cpp: + (WebCore::ScrollAnimator::create): + (WebCore::ScrollAnimatorWin::ScrollAnimatorWin): + (WebCore::ScrollAnimatorWin::scroll): + * platform/ScrollAnimatorWin.h: + * platform/ScrollView.cpp: + (WebCore::ScrollView::scroll): + (WebCore::ScrollView::updateScrollbars): + (WebCore::ScrollView::wheelEvent): + * platform/ScrollView.h: + * platform/ScrollableArea.cpp: Copied from WebCore/platform/ScrollbarClient.cpp. + (WebCore::ScrollableArea::ScrollableArea): + (WebCore::ScrollableArea::~ScrollableArea): + (WebCore::ScrollableArea::scroll): + (WebCore::ScrollableArea::scrollToOffsetWithoutAnimation): + (WebCore::ScrollableArea::scrollToXOffsetWithoutAnimation): + (WebCore::ScrollableArea::scrollToYOffsetWithoutAnimation): + (WebCore::ScrollableArea::setScrollOffsetFromAnimation): + * platform/ScrollableArea.h: Copied from WebCore/platform/ScrollbarClient.h. + * platform/Scrollbar.cpp: + (WebCore::Scrollbar::createNativeScrollbar): + (WebCore::Scrollbar::Scrollbar): + (WebCore::Scrollbar::offsetDidChange): + (WebCore::Scrollbar::autoscrollPressedPart): + (WebCore::Scrollbar::moveThumb): + (WebCore::Scrollbar::mouseMoved): + (WebCore::Scrollbar::isWindowActive): + (WebCore::Scrollbar::invalidateRect): + (WebCore::Scrollbar::convertToContainingView): + (WebCore::Scrollbar::convertFromContainingView): + * platform/Scrollbar.h: + (WebCore::Scrollbar::disconnectFromScrollableArea): + (WebCore::Scrollbar::scrollableArea): + * platform/ScrollbarClient.cpp: Removed. + * platform/ScrollbarClient.h: Removed. + * platform/ScrollbarThemeComposite.cpp: + * platform/chromium/FramelessScrollView.h: + * platform/chromium/ScrollbarThemeChromium.cpp: + (WebCore::ScrollbarThemeChromium::paintTickmarks): + * platform/efl/ScrollbarEfl.cpp: + (Scrollbar::createNativeScrollbar): + (ScrollbarEfl::ScrollbarEfl): + (scrollbarEflEdjeMessage): + * platform/efl/ScrollbarEfl.h: + * platform/gtk/MainFrameScrollbarGtk.cpp: + (MainFrameScrollbarGtk::create): + (MainFrameScrollbarGtk::MainFrameScrollbarGtk): + (MainFrameScrollbarGtk::gtkValueChanged): + * platform/gtk/MainFrameScrollbarGtk.h: + * platform/mac/ScrollAnimatorMac.h: + * platform/mac/ScrollAnimatorMac.mm: + (WebCore::ScrollAnimator::create): + (WebCore::ScrollAnimatorMac::ScrollAnimatorMac): + (WebCore::ScrollAnimatorMac::scroll): + * platform/mac/ScrollbarThemeMac.mm: + (WebCore::ScrollbarThemeMac::paint): + * platform/qt/ScrollbarQt.cpp: + (WebCore::Scrollbar::contextMenu): + * platform/win/PopupMenuWin.cpp: + (WebCore::PopupMenuWin::scrollToRevealSelection): + (WebCore::PopupMenuWin::wndProc): + * platform/win/PopupMenuWin.h: + * platform/win/ScrollbarThemeSafari.cpp: + (WebCore::ScrollbarThemeSafari::paintTrackBackground): + (WebCore::ScrollbarThemeSafari::paintButton): + (WebCore::ScrollbarThemeSafari::paintThumb): + * platform/wx/ScrollbarThemeWx.cpp: + (WebCore::ScrollbarThemeWx::paint): + * rendering/RenderDataGrid.h: + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::scrollToOffset): + (WebCore::RenderLayer::destroyScrollbar): + (WebCore::RenderLayer::scroll): + * rendering/RenderLayer.h: + * rendering/RenderListBox.cpp: + (WebCore::RenderListBox::scrollToRevealElementAtListIndex): + (WebCore::RenderListBox::scroll): + (WebCore::RenderListBox::logicalScroll): + (WebCore::RenderListBox::setScrollTop): + (WebCore::RenderListBox::destroyScrollbar): + * rendering/RenderListBox.h: + * rendering/RenderMenuList.cpp: + (WebCore::RenderMenuList::createScrollbar): + * rendering/RenderMenuList.h: + * rendering/RenderScrollbar.cpp: + (WebCore::RenderScrollbar::createCustomScrollbar): + (WebCore::RenderScrollbar::RenderScrollbar): + * rendering/RenderScrollbar.h: + * rendering/RenderTextControlSingleLine.cpp: + (WebCore::RenderTextControlSingleLine::createScrollbar): + * rendering/RenderTextControlSingleLine.h: + +2011-01-21 Darin Adler <darin@apple.com> + + Fix Leopard build. + + * rendering/mathml/RenderMathMLFraction.cpp: + (WebCore::RenderMathMLFraction::layout): Use ceilf instead of ceil. + +2011-01-21 Anton Muhin <antonm@chromium.org> + + Reviewed by Nate Chapin. + + [v8] Properly deal with the case when conversion to string throws an exception for HTMLCollection accessors + https://bugs.webkit.org/show_bug.cgi?id=52901 + + Test: fast/dom/htmlcollection-conversion-throws-exception.html + + * bindings/v8/custom/V8HTMLCollectionCustom.cpp: + (WebCore::getItem): + +2011-01-21 Adam Roben <aroben@apple.com> + + Separate flushing layer changes from rendering in CACFLayerTreeHost + + Old model: + 1) A change is made to a GraphicsLayer. + 2) CACFLayerTreeHost::flushPendingGraphicsLayerChangesSoon is called, which schedules the + render timer. + 3) The timer fires, which calls through to CACFLayerTreeHost::render, which performs the + flush and then renders. + + New model: + 1) A change is made to a GraphicsLayer. + 2) CACFLayerTreeHost::flushPendingGraphicsLayerChangesSoon is called, which tells the new + LayerChangesFlusher singleton that this host has changes that need to be flushed. + 3) LayerChangesFlusher sets up a Windows hook that will get called on the next iteration + of the message loop. + 4) LayerChangesFlusher's hook is called, which calls through to + CACFLayerTreeHost::flushPendingLayerChangesNow. + 5) CACFLayerTreeHost::flushPendingLayerChangesNow schedules the render timer so the changes + that were just flushed to the context will be rendered. + + When a change is made to a PlatformCALayer that doesn't have a corresponding GraphicsLayer + (e.g., for rendering <video>), CACFLayerTreeHost::layerTreeDidChange takes care of + scheduling the flush. + + This change has three advantages: + 1) Whenever we flush layer changes, we first update layout. This can cause the page to + leave compositing mode, which in turn can cause all references to the CACFLayerTreeHost + to be dropped. By separating flushing (and thus updating layout) from rendering, we no + longer have to worry about this happen during rendering. + 2) The new model is much more similar to how things work on the Mac, so will hopefully + reduce the number of platform-specific bugs. + 3) CACFLayerTreeHost::shouldRender, which was used to make sure we didn't render while a + layout was pending, is no longer needed. It actually hasn't been needed since at least + r75987, but removing it before now would have resulted in a crash whenever a page came + out of compositing mode due to (1). + + Fixes <http://webkit.org/b/52852> Flushing layer changes and rendering are intertwined in + CACFLayerTreeHost, but shouldn't be + + Reviewed by Simon Fraser. + + * WebCore.vcproj/WebCore.vcproj: Added LayerChangesFlusher. + + * platform/graphics/ca/win/CACFLayerTreeHost.cpp: Added new #include, sorted existing + #includes. + (WebCore::CACFLayerTreeHost::CACFLayerTreeHost): Initialize new member. + (WebCore::CACFLayerTreeHost::layerTreeDidChange): If we aren't already flushing changes, + schedule a flush. Removed the call to renderSoon(), which now happens when the flush is + finished. + (WebCore::CACFLayerTreeHost::destroyRenderer): Cancel any pending flush we had scheduled. Also + fixed a bug where we'd fail to clear the context's layer. + (WebCore::CACFLayerTreeHost::render): Removed code to ask the client if we should render, which + is no longer needed. Moved code to flush layer changes from here to + flushPendingLayerChangesNow, which is called via the above-described mechanism. + (WebCore::CACFLayerTreeHost::flushPendingGraphicsLayerChangesSoon): Schedule a flush. Removed + code to schedule a render, which now happens after we've flushed. + (WebCore::CACFLayerTreeHost::flushPendingLayerChangesNow): Added. Some of this code came from + render(). First we flush GraphicsLayer changes from GraphicsLayers to their underlying + PlatformCALayers, then we flush changes from PlatformCALayers to the context, then we + schedule a render so that the changes will be rendered to the screen. + + * platform/graphics/ca/win/CACFLayerTreeHost.h: Removed + CACFLayerTreeHostClient::shouldRender. Added flushPendingLayerChangesNow and + m_isFlushingLayerChanges. + + * platform/graphics/ca/win/LayerChangesFlusher.cpp: Added. + (WebCore::LayerChangesFlusher::shared): + (WebCore::LayerChangesFlusher::LayerChangesFlusher): + (WebCore::LayerChangesFlusher::flushPendingLayerChangesSoon): + (WebCore::LayerChangesFlusher::cancelPendingFlush): + (WebCore::LayerChangesFlusher::hookCallback): + (WebCore::LayerChangesFlusher::hookFired): + (WebCore::LayerChangesFlusher::setHook): + (WebCore::LayerChangesFlusher::removeHook): + + * platform/graphics/ca/win/LayerChangesFlusher.cpp: Added. + (WebCore::LayerChangesFlusher::shared): Returns the singleton. + (WebCore::LayerChangesFlusher::LayerChangesFlusher): Initialize our members. + (WebCore::LayerChangesFlusher::flushPendingLayerChangesSoon): Add the host to the set of + hosts with changes that need to be flushed, and set up our hook if we haven't already. + (WebCore::LayerChangesFlusher::cancelPendingFlush): Remove the host from the set of hosts + with changes that need to be flushed. If we have no more such hosts, remove our hook, unless + we're currently in the process of calling out to our hosts, in which case we'll take care of + the hook once we're done calling out. + (WebCore::LayerChangesFlusher::hookCallback): This is the function that Windows calls when + our hook fires. Just calls through to hookFired on the singleton. + (WebCore::LayerChangesFlusher::hookFired): Tell all the hosts with changes that needed to be + flushed that it's time to flush. If no hosts re-added themselves to our set during this + process, remove our hook. + (WebCore::LayerChangesFlusher::setHook): Calls through to ::SetWindowsHookExW. + (WebCore::LayerChangesFlusher::removeHook): Calls through to ::UnhookWindowsHookEx. + + * platform/graphics/ca/win/LayerChangesFlusher.h: Added. + +2011-01-21 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Sam Weinig. + + GraphicsLayer should be non-copyable + https://bugs.webkit.org/show_bug.cgi?id=52909 + + Use WTF_MAKE_NONCOPYABLE on GraphicsLayer, and WTF_MAKE_FAST_ALLOCATED + on that and KeyframeValueList. + + * platform/graphics/GraphicsLayer.h: + +2011-01-21 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Sam Weinig. + + Report the sized used by canvases and types arrays + https://bugs.webkit.org/show_bug.cgi?id=52856 + + Report the memory cost associated with canvas elements, + and typed arrays to JavaScript as extraCost, so that it + can figure this into its GC behavior. + + * bindings/js/JSArrayBufferViewHelper.h: + (WebCore::toJSArrayBufferView): New templatized function, similar + to getDOMObjectWrapper() but calls reportExtraMemoryCost() with + the byteLength of the array. + + * bindings/js/JSFloat32ArrayCustom.cpp: + (WebCore::toJS): Use toJSArrayBufferView. + * bindings/js/JSInt16ArrayCustom.cpp: + (WebCore::toJS): Use toJSArrayBufferView. + * bindings/js/JSInt32ArrayCustom.cpp: + (WebCore::toJS): Use toJSArrayBufferView. + * bindings/js/JSInt8ArrayCustom.cpp: + (WebCore::toJS): Use toJSArrayBufferView. + * bindings/js/JSUint16ArrayCustom.cpp: + (WebCore::toJS): Use toJSArrayBufferView. + * bindings/js/JSUint32ArrayCustom.cpp: + (WebCore::toJS): Use toJSArrayBufferView. + * bindings/js/JSUint8ArrayCustom.cpp: + (WebCore::toJS): Use toJSArrayBufferView. + + * html/HTMLCanvasElement.cpp: + (WebCore::HTMLCanvasElement::createImageBuffer): Call heap.reportExtraMemoryCost() + with the size of the canvas backing store. + + * html/canvas/TypedArrayBase.h: + (WebCore::TypedArrayBase::byteLength): byteLength needs to + be public. + + * platform/graphics/ImageBuffer.h: Add dataSize() method. + + * platform/graphics/cairo/ImageBufferCairo.cpp: + (WebCore::ImageBuffer::dataSize): Implement dataSize(). + * platform/graphics/cg/ImageBufferCG.cpp: + (WebCore::ImageBuffer::dataSize): Implement dataSize(). + * platform/graphics/haiku/ImageBufferHaiku.cpp: + (WebCore::ImageBuffer::dataSize): Implement dataSize(). + * platform/graphics/qt/ImageBufferQt.cpp: + (WebCore::ImageBuffer::dataSize): Implement dataSize(). + * platform/graphics/skia/ImageBufferSkia.cpp: + (WebCore::ImageBuffer::dataSize): Implement dataSize(). + * platform/graphics/wince/ImageBufferWinCE.cpp: + (WebCore::ImageBuffer::dataSize): Implement dataSize(). + * platform/graphics/wx/ImageBufferWx.cpp: + (WebCore::ImageBuffer::dataSize): Implement dataSize(). + +2011-01-21 Adam Roben <aroben@apple.com> + + Rename WKCACFLayerRenderer[Client] to CACFLayerTreeHost[Client] + + Also renamed a few functions and data members to match. + + Fixes <http://webkit.org/b/52898> WKCACFLayerRenderer sounds like a render object, but isn't + + Reviewed by Simon Fraser. + + * WebCore.vcproj/WebCore.vcproj: Updated files' names and paths. + + * WebCore.vcproj/WebCoreQuartzCore.vsprops: Added platform/graphics/ca/win to the include + path. + + * WebCore.vcproj/copyForwardingHeaders.cmd: Copy headers from platform/graphics/ca/win, too. + + * platform/graphics/ca/win/CACFLayerTreeHost.cpp: Renamed from Source/WebCore/platform/graphics/win/WKCACFLayerRenderer.cpp. + * platform/graphics/ca/win/CACFLayerTreeHost.h: Renamed from Source/WebCore/platform/graphics/win/WKCACFLayerRenderer.h. + + * platform/graphics/ca/win/PlatformCALayerWin.cpp: + * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp: + * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h: + Updated for renames. + +2011-01-21 Patrick Gansterer <paroga@paroga.com> + + Original patch from François Sausset <sausset@gmail.com> + + Reviewed by Darin Adler. + + Code cleaning in rendering/mathml/RenderMathMLFraction.cpp + https://bugs.webkit.org/show_bug.cgi?id=52201 + + Replace unneeded doubles by floats and remove unneeded casts. + + * rendering/mathml/RenderMathMLFraction.cpp: + (WebCore::RenderMathMLFraction::paint): + * rendering/mathml/RenderMathMLFraction.h: + +2011-01-21 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Darin Adler. + + REGRESSION(r73618): Clicking on a search input causes a crash. + https://bugs.webkit.org/show_bug.cgi?id=52905 + + The problem is caused by TextControlInnerElement being used both as + shadow root and an element in a shadow subtree. The code assumed it is + only used as a shadow root. + + Since this code is all just workaround for in-progress conversion to + new shadow DOM, I am just adding a check. This code will disappear + completely once bug 52788 is fixed. + + Test: fast/dom/search-shadow-host-crash.html + + * dom/Node.cpp: + (WebCore::Node::setShadowHost): Added an ASSERT for early detection + of attempting to stomp on the parentNode. + * rendering/TextControlInnerElements.cpp: + (WebCore::TextControlInnerElement::detach): Added a check to only + clear shadow host if we have one. + +2011-01-21 Adam Roben <aroben@apple.com> + + Replace some "sync compositing state" terminology with "flush pending GraphicsLayer changes" + + This seems to be the direction in which our code is moving. I chose "GraphicsLayer" as + opposed to just "layer" because there are cases where we flush changes to CACFLayers that + don't have a corresponding GraphicsLayer. + + Fixes <http://webkit.org/b/52894> "Sync compositing state" terminology in + WKCACFLayerRenderer and friends is confusing + + Reviewed by Simon Fraser. + + * platform/graphics/win/WKCACFLayerRenderer.cpp: + (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): + (WebCore::WKCACFLayerRenderer::render): + Updated for renames. + + (WebCore::WKCACFLayerRenderer::flushPendingGraphicsLayerChangesSoon): Renamed from + syncCompositingStateSoon, and updated for other renames. + + * platform/graphics/win/WKCACFLayerRenderer.h: Renamed m_syncLayerChanges to + * m_shouldFlushPendingGraphicsLayerChanges. + (WebCore::WKCACFLayerRendererClient::flushPendingGraphicsLayerChanges): Renamed from + syncCompositingState. + +2011-01-21 Adam Roben <aroben@apple.com> + + Clean up PlatformCAAnimationWin + + Fixes <http://webkit.org/b/52904> PlatformCAAnimationWin is leaky and inefficient + + Reviewed by Simon Fraser. + + * platform/graphics/ca/win/PlatformCAAnimationWin.cpp: + (toCACFFillModeType): + (fromCACFFillModeType): + (toCACFValueFunctionType): + (fromCACFValueFunctionType): + Changed to take and return CFStringRefs. There's no need to convert to WebCore::String just + so we can later convert back to CFStringRef. + + (toCACFTimingFunction): Fixed leaks by changing this to return a RetainPtr and adopting the + results of CACFTimingFunctionCreate. + (PlatformCAAnimation::PlatformCAAnimation): Changed not to needlessly roundtrip through + WebCore::String. Also changed an ASSERT(0) to ASSERT_NOT_REACHED(). + + (PlatformCAAnimation::setFillMode): + (PlatformCAAnimation::setTimingFunction): + (PlatformCAAnimation::setValueFunction): + (PlatformCAAnimation::setTimingFunctions): + Updated for changes to the above conversion functions. + +2011-01-21 Charlie Reis <creis@chromium.org> + + Reviewed by Darin Fisher. + + FrameLoader::checkLoadCompleteForThisFrame uses wrong history item + https://bugs.webkit.org/show_bug.cgi?id=48812 + + Most calls to stopAllLoaders now clear the history's provisional item(s). + We can now avoid resetting the back/forward state if a new navigation + is in progress. + + Test: http/tests/navigation/back-twice-without-commit.html + Test: http/tests/navigation/forward-and-cancel.html + + * loader/FrameLoader.cpp: + * loader/FrameLoader.h: + * loader/FrameLoaderTypes.h: + * WebCore.exp.in: Update stopAllLoaders signature. + +2011-01-21 Carlos Garcia Campos <cgarcia@igalia.com> + + Reviewed by Martin Robinson. + + [GTK] Show caps lock indicator in password fields + https://bugs.webkit.org/show_bug.cgi?id=52878 + + Test: manual-tests/password-caps-lock.html + + * platform/gtk/KeyEventGtk.cpp: + (WebCore::PlatformKeyboardEvent::currentCapsLockState): Implement + currentCapsLockState() using GDK API. + * platform/gtk/RenderThemeGtk.cpp: + (WebCore::RenderThemeGtk::paintCapsLockIndicator): Paint an icon + in the password field when the caps lock modifier is locked. + * platform/gtk/RenderThemeGtk.h: + +2011-01-21 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: move sticky breakpoints management from InspectorController to InspectorBrowserDebuggerAgent. + https://bugs.webkit.org/show_bug.cgi?id=52874 + + This is the first step of debugger api refactoring (see bug 52879). + JavaScript breakpoints are still in the same list as native breakpoints and are restored by InspectorBrowserDebuggerAgent. + The second step will be to move sticky JavaScript breakpoints to InspectorDebuggerAgent. + + * inspector/Inspector.idl: + * inspector/InspectorBrowserDebuggerAgent.cpp: + (WebCore::InspectorBrowserDebuggerAgent::setAllBrowserBreakpoints): + (WebCore::InspectorBrowserDebuggerAgent::inspectedURLChanged): + (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint): + (WebCore::InspectorBrowserDebuggerAgent::discardBindings): + (WebCore::InspectorBrowserDebuggerAgent::didInsertDOMNode): + (WebCore::InspectorBrowserDebuggerAgent::didRemoveDOMNode): + (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint): + (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint): + (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent): + (WebCore::InspectorBrowserDebuggerAgent::hasBreakpoint): + (WebCore::InspectorBrowserDebuggerAgent::updateSubtreeBreakpoints): + * inspector/InspectorBrowserDebuggerAgent.h: + * inspector/InspectorController.cpp: + (WebCore::InspectorController::restoreInspectorStateFromCookie): + (WebCore::InspectorController::connectFrontend): + (WebCore::InspectorController::didCommitLoad): + (WebCore::InspectorController::enableDebugger): + (WebCore::InspectorController::resume): + (WebCore::InspectorController::inspectedURL): + * inspector/InspectorController.h: + * inspector/InspectorState.cpp: + (WebCore::InspectorState::InspectorState): + * inspector/InspectorState.h: + * inspector/front-end/BreakpointManager.js: + (WebInspector.BreakpointManager): + (WebInspector.BreakpointManager.prototype._saveBreakpoints): + +2011-01-21 John Knottenbelt <jknotten@chromium.org> + + Reviewed by Jeremy Orlow. + + Turn off uninitialized errors for ARM linux build. + https://bugs.webkit.org/show_bug.cgi?id=52893 + + Fix ARM compiler breakage. + + * WebCore.gyp/WebCore.gyp: + +2011-01-21 Mikhail Naganov <mnaganov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: [Chromium] REGRESSION: Using the "Back" button + while profiling causes renderer crash. + + https://bugs.webkit.org/show_bug.cgi?id=52808 + + * inspector/InspectorProfilerAgent.cpp: + (WebCore::InspectorProfilerAgent::addProfileFinishedMessageToConsole): + (WebCore::InspectorProfilerAgent::addStartProfilingMessageToConsole): + +2011-01-20 Ilya Tikhonovsky <loislo@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: switch page/Console implementation from InspectorController to InspectorInstrumentation. + + There are some places in WebCore where we still using direct InspectorController calls. + The idea is to pass all the Inspector related calls via InspectorInstrumentaion which is the + Inspector facade for WebCore. + + https://bugs.webkit.org/show_bug.cgi?id=52869 + + * inspector/InspectorController.cpp: + * inspector/InspectorController.h: + * inspector/InspectorInstrumentation.cpp: + (WebCore::InspectorInstrumentation::addProfileImpl): + (WebCore::InspectorInstrumentation::profilerEnabledImpl): + (WebCore::InspectorInstrumentation::getCurrentUserInitiatedProfileNameImpl): + * inspector/InspectorInstrumentation.h: + (WebCore::InspectorInstrumentation::addProfile): + (WebCore::InspectorInstrumentation::profilerEnabled): + (WebCore::InspectorInstrumentation::getCurrentUserInitiatedProfileName): + * page/Console.cpp: + (WebCore::Console::profile): + (WebCore::Console::profileEnd): + +2011-01-12 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: breakpoints are restored incorrectly when reverting live edit. + https://bugs.webkit.org/show_bug.cgi?id=52300 + + Fix breakpoints restoring when reverting to old revision by using text diff. + Move live edit logic from ScriptsPanel to DebuggerModel. + Eliminate unnecessary editLine delegate in TextViewer. + + * inspector/front-end/DebuggerModel.js: + (WebInspector.DebuggerModel): + (WebInspector.DebuggerModel.prototype.reset): + (WebInspector.DebuggerModel.prototype.editScriptSource): + (WebInspector.DebuggerModel.prototype._updateScriptSource): + (WebInspector.DebuggerModel.prototype.get callFrames): + (WebInspector.DebuggerModel.prototype.pausedScript): + (WebInspector.DebuggerModel.prototype.resumedScript): + * inspector/front-end/Script.js: + (WebInspector.Script.prototype.get source): + * inspector/front-end/ScriptView.js: + (WebInspector.ScriptView): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel): + (WebInspector.ScriptsPanel.prototype._scriptSourceChanged): + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrame): + (WebInspector.SourceFrame.prototype._createViewerIfNeeded): + (WebInspector.SourceFrame.prototype._doubleClick.didEditLine): + (WebInspector.SourceFrame.prototype._doubleClick): + * inspector/front-end/SourceView.js: + (WebInspector.SourceView): + * inspector/front-end/TextViewer.js: + (WebInspector.TextViewer): + (WebInspector.TextViewer.prototype._handleKeyDown): + (WebInspector.TextViewer.prototype.editLine.finishEditing): + (WebInspector.TextViewer.prototype.editLine): + (WebInspector.TextChunk.prototype._createRow): + +2011-01-21 Adam Klein <adamk@chromium.org> + + Reviewed by Eric Seidel. + + [chromium] Rename ChromiumBridge to PlatformBridge + https://bugs.webkit.org/show_bug.cgi?id=52471 + + No tests added as this is a rename; no change in behavior. + + * WebCore.gypi: + * bindings/v8/V8DOMWindowShell.cpp: + (WebCore::reportFatalErrorInV8): + * page/PageGroup.cpp: + (WebCore::PageGroup::isLinkVisited): + * platform/android/PlatformBridge.h: + * platform/audio/chromium/AudioBusChromium.cpp: + (WebCore::createBusFromInMemoryAudioFile): + * platform/chromium/ChromiumBridge.h: Removed. + * platform/chromium/ChromiumDataObjectLegacy.cpp: + (WebCore::ChromiumDataObjectLegacy::getData): + * platform/chromium/DragDataChromium.cpp: + (WebCore::DragData::asURL): + * platform/chromium/FileSystemChromium.cpp: + (WebCore::deleteFile): + (WebCore::deleteEmptyDirectory): + (WebCore::getFileSize): + (WebCore::getFileModificationTime): + (WebCore::revealFolderInOS): + (WebCore::directoryName): + (WebCore::pathByAppendingComponent): + (WebCore::makeAllDirectories): + (WebCore::fileExists): + (WebCore::openFile): + (WebCore::closeFile): + (WebCore::seekFile): + (WebCore::truncateFile): + (WebCore::readFromFile): + (WebCore::writeToFile): + * platform/chromium/LanguageChromium.cpp: + (WebCore::platformDefaultLanguage): + * platform/chromium/LinkHashChromium.cpp: + (WebCore::visitedLinkHash): + * platform/chromium/MIMETypeRegistryChromium.cpp: + (WebCore::MIMETypeRegistry::getMIMETypeForExtension): + (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType): + (WebCore::MIMETypeRegistry::isSupportedImageMIMEType): + (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType): + (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType): + * platform/chromium/PasteboardChromium.cpp: + (WebCore::Pasteboard::writeSelection): + (WebCore::Pasteboard::writePlainText): + (WebCore::Pasteboard::writeURL): + (WebCore::Pasteboard::writeImage): + (WebCore::Pasteboard::canSmartReplace): + (WebCore::Pasteboard::plainText): + (WebCore::Pasteboard::documentFragment): + * platform/chromium/PlatformBridge.h: + * platform/chromium/PlatformScreenChromium.cpp: + (WebCore::screenDepth): + (WebCore::screenDepthPerComponent): + (WebCore::screenIsMonochrome): + (WebCore::screenRect): + (WebCore::screenAvailableRect): + * platform/chromium/ReadableDataObject.cpp: + (WebCore::ReadableDataObject::getData): + (WebCore::ReadableDataObject::urlTitle): + (WebCore::ReadableDataObject::htmlBaseUrl): + (WebCore::ReadableDataObject::filenames): + (WebCore::ReadableDataObject::ensureTypeCacheInitialized): + * platform/chromium/SSLKeyGeneratorChromium.cpp: + (WebCore::signedPublicKeyAndChallengeString): + * platform/chromium/ScrollbarThemeChromium.cpp: + * platform/chromium/ScrollbarThemeChromiumLinux.cpp: + (WebCore::ScrollbarThemeChromiumLinux::scrollbarThickness): + (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece): + (WebCore::ScrollbarThemeChromiumLinux::paintButton): + (WebCore::ScrollbarThemeChromiumLinux::paintThumb): + (WebCore::ScrollbarThemeChromiumLinux::buttonSize): + (WebCore::ScrollbarThemeChromiumLinux::minimumThumbLength): + * platform/chromium/ScrollbarThemeChromiumMac.mm: + (WebCore::scrollbarStateToThemeState): + (WebCore::ScrollbarThemeChromiumMac::paint): + * platform/chromium/ScrollbarThemeChromiumWin.cpp: + (WebCore::ScrollbarThemeChromiumWin::scrollbarThickness): + (WebCore::ScrollbarThemeChromiumWin::paintTrackPiece): + (WebCore::ScrollbarThemeChromiumWin::paintButton): + (WebCore::ScrollbarThemeChromiumWin::paintThumb): + (WebCore::ScrollbarThemeChromiumWin::buttonSize): + * platform/chromium/SharedTimerChromium.cpp: + (WebCore::setSharedTimerFiredFunction): + (WebCore::setSharedTimerFireTime): + (WebCore::stopSharedTimer): + * platform/chromium/SuddenTerminationChromium.cpp: + (WebCore::disableSuddenTermination): + (WebCore::enableSuddenTermination): + * platform/chromium/SystemTimeChromium.cpp: + (WebCore::currentTime): + * platform/chromium/WritableDataObject.cpp: + (WebCore::WritableDataObject::setData): + * platform/graphics/chromium/CrossProcessFontLoading.mm: + * platform/graphics/chromium/FontCacheChromiumWin.cpp: + (WebCore::fontContainsCharacter): + (WebCore::FillLogFont): + * platform/graphics/chromium/FontCacheLinux.cpp: + (WebCore::FontCache::getFontDataForCharacters): + * platform/graphics/chromium/FontChromiumWin.cpp: + (WebCore::Font::drawGlyphs): + * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp: + (WebCore::FontPlatformData::scriptFontProperties): + * platform/graphics/chromium/FontPlatformDataLinux.cpp: + (WebCore::FontPlatformData::querySystemForRenderStyle): + * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp: + (WebCore::fillBMPGlyphs): + * platform/graphics/chromium/ImageChromium.cpp: + (WebCore::Image::loadPlatformResource): + * platform/graphics/chromium/ImageChromiumMac.mm: + (WebCore::Image::loadPlatformResource): + * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp: + (WebCore::SimpleFontData::platformInit): + (WebCore::SimpleFontData::determinePitch): + (WebCore::SimpleFontData::platformWidthForGlyph): + * platform/graphics/chromium/UniscribeHelperTextRun.cpp: + (WebCore::UniscribeHelperTextRun::tryToPreloadFont): + * platform/graphics/skia/FontCustomPlatformData.cpp: + (WebCore::FontCustomPlatformData::fontPlatformData): + * platform/network/chromium/CookieJarChromium.cpp: + (WebCore::setCookies): + (WebCore::cookies): + (WebCore::cookieRequestHeaderFieldValue): + (WebCore::cookiesEnabled): + (WebCore::getRawCookies): + (WebCore::deleteCookie): + * platform/network/chromium/DNSChromium.cpp: + (WebCore::prefetchDNS): + * platform/qt/PlatformBridge.h: + * platform/sql/chromium/SQLiteFileSystemChromium.cpp: + (WebCore::SQLiteFileSystem::deleteDatabaseFile): + (WebCore::SQLiteFileSystem::getDatabaseFileSize): + * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp: + (chromiumOpen): + (chromiumDelete): + (chromiumAccess): + * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp: + * plugins/chromium/PluginDataChromium.cpp: + (WebCore::PluginCache::plugins): + * rendering/RenderThemeChromiumMac.mm: + (WebCore::RenderThemeChromiumMac::usesTestModeFocusRingColor): + * rendering/RenderThemeChromiumSkia.cpp: + (WebCore::RenderThemeChromiumSkia::caretBlinkInterval): + * rendering/RenderThemeChromiumWin.cpp: + (WebCore::RenderThemeChromiumWin::platformActiveSelectionBackgroundColor): + (WebCore::RenderThemeChromiumWin::platformInactiveSelectionBackgroundColor): + (WebCore::RenderThemeChromiumWin::platformActiveSelectionForegroundColor): + (WebCore::RenderThemeChromiumWin::systemColor): + (WebCore::RenderThemeChromiumWin::paintButton): + (WebCore::RenderThemeChromiumWin::paintSliderTrack): + (WebCore::menuListButtonWidth): + (WebCore::RenderThemeChromiumWin::paintMenuList): + (WebCore::RenderThemeChromiumWin::paintTextFieldInternal): + (WebCore::RenderThemeChromiumWin::paintInnerSpinButton): + (WebCore::RenderThemeChromiumWin::paintProgressBar): + * storage/chromium/IDBFactoryBackendInterface.cpp: + (WebCore::IDBFactoryBackendInterface::create): + (WebCore::IDBFactoryBackendInterface::~IDBFactoryBackendInterface): + * storage/chromium/IDBKeyPathBackendImpl.cpp: + (WebCore::IDBKeyPathBackendImpl::createIDBKeysFromSerializedValuesAndKeyPath): + +2011-01-21 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r76335. + http://trac.webkit.org/changeset/76335 + https://bugs.webkit.org/show_bug.cgi?id=52875 + + profiler tests were broken (Requested by loislo on #webkit). + + * inspector/InspectorController.cpp: + (WebCore::InspectorController::addProfile): + (WebCore::InspectorController::getCurrentUserInitiatedProfileName): + * inspector/InspectorController.h: + * inspector/InspectorInstrumentation.cpp: + (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsoleImpl): + * inspector/InspectorInstrumentation.h: + (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsole): + (WebCore::InspectorInstrumentation::inspectorControllerWithFrontendForPage): + * page/Console.cpp: + (WebCore::Console::profile): + (WebCore::Console::profileEnd): + +2011-01-21 Ilya Tikhonovsky <loislo@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: switch page/Console implementation from InspectorController to InspectorInstrumentation. + + There are some places in WebCore where we still using direct InspectorController calls. + The idea is to pass all the Inspector related calls via InspectorInstrumentaion which is the + Inspector facade for WebCore. + + https://bugs.webkit.org/show_bug.cgi?id=52869 + + * inspector/InspectorController.cpp: + * inspector/InspectorController.h: + * inspector/InspectorInstrumentation.cpp: + (WebCore::InspectorInstrumentation::addProfileImpl): + (WebCore::InspectorInstrumentation::profilerEnabledImpl): + (WebCore::InspectorInstrumentation::getCurrentUserInitiatedProfileNameImpl): + * inspector/InspectorInstrumentation.h: + (WebCore::InspectorInstrumentation::addProfile): + (WebCore::InspectorInstrumentation::profilerEnabled): + (WebCore::InspectorInstrumentation::getCurrentUserInitiatedProfileName): + * page/Console.cpp: + (WebCore::Console::profile): + (WebCore::Console::profileEnd): + +2011-01-20 Sam Weinig <sam@webkit.org> + + Reviewed by Gavin Barraclough. + + Fix failing tests from r76291. + + * platform/ScrollView.cpp: + (WebCore::ScrollView::scrollPosition): + (WebCore::ScrollView::updateScrollbars): + Take the scroll origin into account in more places. + +2011-01-20 Kent Tamura <tkent@chromium.org> + + Unreviewed, sorting an Xcode project file. + + * WebCore.xcodeproj/project.pbxproj: + +2011-01-20 Ben Vanik <ben.vanik@gmail.com> + + Reviewed by Kenneth Russell. + + Implementation of the OES_standard_derivatives WebGL extension. + https://bugs.webkit.org/show_bug.cgi?id=51678 + + Changes are modeled off of the existing OESTextureFloat extension. New files, + extension retrieval, etc all match the existing code. + + Changed ANGLEWebKitBridge to allow for multiple sets of the ANGLE shader compiler + options. This supports the enabling of the standard derivatives flag when the + extension is enabled. Refactored the cleanup code to make the destruction of the + compilers (if they had been created) cleaner. + + Tested with the WebGL conformance test: + https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/tests/conformance/oes-standard-derivatives.html + Passes on WebKit/OSX, Chromium/OSX, and Chromium/Windows. + + * CMakeLists.txt: + * DerivedSources.make: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pri: + * WebCore.pro: + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSWebGLRenderingContextCustom.cpp: + (WebCore::toJS): + * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp: + (WebCore::toV8Object): + * html/canvas/OESStandardDerivatives.cpp: Added. + (WebCore::OESStandardDerivatives::OESStandardDerivatives): + (WebCore::OESStandardDerivatives::~OESStandardDerivatives): + (WebCore::OESStandardDerivatives::getName): + (WebCore::OESStandardDerivatives::create): + * html/canvas/OESStandardDerivatives.h: Added. + * html/canvas/OESStandardDerivatives.idl: Added. + * html/canvas/WebGLExtension.h: + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::getExtension): Enable and return the new extension. + (WebCore::WebGLRenderingContext::getParameter): Support extension enum when enabled. + (WebCore::WebGLRenderingContext::getSupportedExtensions): + (WebCore::WebGLRenderingContext::hint): Validate extension enum when enabled. + (WebCore::WebGLRenderingContext::getNumberOfExtensions): + (WebCore::WebGLRenderingContext::getExtensionNumber): + * html/canvas/WebGLRenderingContext.h: + * platform/graphics/ANGLEWebKitBridge.cpp: + (WebCore::ANGLEWebKitBridge::~ANGLEWebKitBridge): Cleaned up compiler cleanup. + (WebCore::ANGLEWebKitBridge::cleanupCompilers): Destruct compilers. + (WebCore::ANGLEWebKitBridge::setResources): Cleanup existing compilers when changing + ANGLE settings. + (WebCore::ANGLEWebKitBridge::validateShaderSource): Cleaned up compiler cleanup on error. + * platform/graphics/ANGLEWebKitBridge.h: + (WebCore::ANGLEWebKitBridge::getResources): + * platform/graphics/Extensions3D.h: Added enumeration for the extension. + * platform/graphics/GraphicsContext3D.h: lumbing for GraphicsContext3D. + * platform/graphics/opengl/Extensions3DOpenGL.cpp: + (WebCore::Extensions3DOpenGL::Extensions3DOpenGL): Plumbed through a pointer to the + GraphicsContext3D to handle resetting the shader compilers. + (WebCore::Extensions3DOpenGL::supports): Desktop GL always supports this extension, + so always return true. + (WebCore::Extensions3DOpenGL::ensureEnabled): Reset shader compilers as required. + * platform/graphics/opengl/Extensions3DOpenGL.h: Plumbing for GraphicsContext3D. + * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: + (WebCore::GraphicsContext3D::getExtensions): Plumbing for GraphicsContext3D to + Extensions3DOpenGL. + +2011-01-20 Xiaomei Ji <xji@chromium.org> + + Reviewed by Dan Bernstein. + + Fix regression(r71566): PDF in RTL block might messes up text directionality. + https://bugs.webkit.org/show_bug.cgi?id=52776 + + Test: fast/dom/52776.html + + * platform/text/BidiResolver.h: + (WebCore::::checkDirectionInLowerRaiseEmbeddingLevel): + (WebCore::::lowerExplicitEmbeddingLevel): + (WebCore::::raiseExplicitEmbeddingLevel): + (WebCore::::createBidiRunsForLine): + +2011-01-20 Beth Dakin <bdakin@apple.com> + + Reviewed by Anders Carlsson. + + Follow-on for <rdar://problem/8890255> + + This fixes a painting error with ScrollbarPainter scrollers + and the new drawing area code path. + * platform/mac/ScrollbarThemeMac.mm: + (WebCore::updateArrowPlacement): + +2011-01-20 Levi Weintraub <leviw@chromium.org> + + Unreviewed. + + Fixing build breakage. + + * editing/SelectionController.cpp: + (WebCore::SelectionController::willBeModified): + +2011-01-20 Levi Weintraub <leviw@chromium.org> + + Reviewed by Ryosuke Niwa. + + RTL: Caret goes to the opposite direction when pressing an arrow key after selection is made + https://bugs.webkit.org/show_bug.cgi?id=49511 + + Test: editing/selection/rtl-move-selection-right-left.html + + * editing/SelectionController.cpp: + (WebCore::SelectionController::willBeModified): + Respecting the direction of the containing block when switching selection base and extent in + RTL content. + + (WebCore::SelectionController::modifyMovingRight): + (WebCore::SelectionController::modifyMovingLeft): + Using directionOfEnclosingBlock when deciding to use the selection start or end to do the + correct thing for RTL. + +2011-01-20 Nate Chapin <japhet@chromium.org> + + Reviewed by Adam Barth. + + Null-check m_frame in DOMWindow::setLocation(), since it's + possible to reach this point without it having been checked + already. + https://bugs.webkit.org/show_bug.cgi?id=52769 + + Test: fast/dom/Window/Location/set-location-after-close.html + + * page/DOMWindow.cpp: + (WebCore::DOMWindow::setLocation): + +2011-01-20 Chang Shu <chang.shu@nokia.com> + + Reviewed by Darin Adler. + + setContentEditable with invalid string should throw exception. + https://bugs.webkit.org/show_bug.cgi?id=52057 + + Implemented exception throwing for setContentEditable according to the following spec: + http://www.whatwg.org/specs/web-apps/current-work/multipage/editing.html#attr-contenteditable + Related quotas: "On setting, if the new value is an ASCII case-insensitive match for the + string 'inherit' then the content attribute must be removed, if the new value is an ASCII + case-insensitive match for the string 'true' then the content attribute must be set to the + string 'true', if the new value is an ASCII case-insensitive match for the string 'false' + then the content attribute must be set to the string 'false', and otherwise the attribute + setter must raise a SYNTAX_ERR exception." + + * html/HTMLElement.cpp: + (WebCore::HTMLElement::setContentEditable): Throw exception on invalid input strings; Make setting values case-insensitive and also convert them to lower cases according to the spec. + * html/HTMLElement.h: Add additional parameter ExceptionCode& for function setContentEditable. + * html/HTMLElement.idl: Add exception throwing support for contentEditable setter. + +2011-01-19 Adrienne Walker <enne@google.com> + + Reviewed by James Robinson. + + [chromium] Composited render surfaces should allow writes to alpha channel. + https://bugs.webkit.org/show_bug.cgi?id=52766 + + Test: LayoutTests/platform/chromium/compositing + + * platform/graphics/chromium/LayerRendererChromium.cpp: + (WebCore::LayerRendererChromium::drawLayers): + +2011-01-14 Jer Noble <jer.noble@apple.com> + + Reviewed by Eric Carlson. + + REGRESSION (r71842): Compass video is not playing in Safari welcome page + https://bugs.webkit.org/show_bug.cgi?id=52506 + + New test: LayoutTests/media/video-currentTime-delay.html + + Call invalidateCachedTime() every time one of the cached property dependencies changes, + i.e. m_paused and m_playbackRate. + + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::prepareForLoad): + (WebCore::HTMLMediaElement::setReadyState): + (WebCore::HTMLMediaElement::setPlaybackRate): + (WebCore::HTMLMediaElement::mediaPlayerRateChanged): + +2011-01-20 Beth Dakin <bdakin@apple.com> + + Reviewed by Geoffrey Garen. + + Fix for <rdar://problem/8890255> + + Allow WebKitSystemInterface to draw scrollbars + when appropriate. + * WebCore.exp.in: + * platform/mac/ScrollbarThemeMac.mm: + (WebCore::scrollbarMap): + (+[ScrollbarPrefsObserver appearancePrefsChanged:]): + (WebCore::ScrollbarThemeMac::registerScrollbar): + (WebCore::ScrollbarThemeMac::unregisterScrollbar): + (WebCore::ScrollbarThemeMac::paint): + * platform/mac/WebCoreSystemInterface.h: + * platform/mac/WebCoreSystemInterface.mm: + +2011-01-20 Sam Weinig <sam@webkit.org> + + Reviewed by Dave Hyatt. + + Cleanup Scrollbar/ScrollbarClient relationship + https://bugs.webkit.org/show_bug.cgi?id=52779 + + Pipe all scrolling through the ScrollbarClient/ScrollAnimator + rather than through the Scrollbar. The Scrollbar now is just + a "view" on the scroll position of the scrollable area it is + attached to. + + There are now two ways to scroll a scrollable area: + - ScrollbarClient::scroll() + - ScrollbarClient::scrollToOffsetWithoutAnimation() + + Both of these go through the ScrollAnimator (updating its state + or starting an animation). The ScrollAnimator, in turn, now calls + ScrollbarClient::setScrollOffsetFromAnimation, which tells the + Scrollbars to pull a new offset (via Scrollbar::offsetDidChange) + and tells the class that derives from ScrollbarClient to scroll + its contents (via ScrollbarClient::setScrollOffset). + + * WebCore.xcodeproj/project.pbxproj: + Move Scrollbar.cpp to the right place. + + * accessibility/AccessibilityScrollbar.cpp: + (WebCore::AccessibilityScrollbar::setValue): + Initiate the scroll through the scrollbar client, rather than the + scrollbar itself. + + * page/FrameView.cpp: + (WebCore::FrameView::scrollTo): + * page/FrameView.h: + Condense the two valueChanged overrides to a single override of the + scrollTo function. + + * platform/ScrollAnimator.cpp: + (WebCore::ScrollAnimator::scroll): + (WebCore::ScrollAnimator::scrollToOffsetWithoutAnimation): + (WebCore::ScrollAnimator::currentPosition): + (WebCore::ScrollAnimator::notityPositionChanged): + * platform/ScrollAnimator.h: + * platform/ScrollAnimatorWin.cpp: + (WebCore::ScrollAnimatorWin::scrollToOffsetWithoutAnimation): + (WebCore::ScrollAnimatorWin::animateScroll): + * platform/ScrollAnimatorWin.h: + * platform/mac/ScrollAnimatorMac.h: + * platform/mac/ScrollAnimatorMac.mm: + (WebCore::ScrollAnimatorMac::scrollToOffsetWithoutAnimation): + (WebCore::ScrollAnimatorMac::immediateScrollToPoint): + Change setScrollPositionAndStopAnimation to scrollToOffsetWithoutAnimation + and bottleneck all client notification of changed position through a new + notityPositionChanged() function. + + * platform/ScrollView.cpp: + (WebCore::ScrollView::setScrollOffset): + (WebCore::ScrollView::scrollTo): + (WebCore::ScrollView::scrollPosition): + (WebCore::ScrollView::scroll): + (WebCore::ScrollView::updateScrollbars): + (WebCore::ScrollView::wheelEvent): + * platform/ScrollView.h: + (WebCore::ScrollView::horizontalScrollbar): + (WebCore::ScrollView::verticalScrollbar): + Update to scroll via the ScrollbarClient rather than the Scrollbar. + + * platform/Scrollbar.cpp: + (WebCore::Scrollbar::offsetDidChange): + (WebCore::Scrollbar::autoscrollPressedPart): + (WebCore::Scrollbar::moveThumb): + (WebCore::Scrollbar::mouseMoved): + * platform/Scrollbar.h: + (WebCore::Scrollbar::setPressedPos): + Change the scrollbar to only updates its offset in response to + an offsetDidChange call. + + * platform/ScrollbarClient.cpp: + (WebCore::ScrollbarClient::scroll): + (WebCore::ScrollbarClient::scrollToOffsetWithoutAnimation): + (WebCore::ScrollbarClient::scrollToXOffsetWithoutAnimation): + (WebCore::ScrollbarClient::scrollToYOffsetWithoutAnimation): + (WebCore::ScrollbarClient::setScrollOffsetFromAnimation): + * platform/ScrollbarClient.h: + (WebCore::ScrollbarClient::horizontalScrollbar): + (WebCore::ScrollbarClient::verticalScrollbar): + Make the increasingly misnamed ScrollbarClient responsible for + scrolling. + + * platform/efl/ScrollbarEfl.cpp: + (scrollbarEflEdjeMessage): + * platform/gtk/MainFrameScrollbarGtk.cpp: + (MainFrameScrollbarGtk::gtkValueChanged): + * platform/qt/ScrollbarQt.cpp: + (WebCore::Scrollbar::contextMenu): + Update to move scrolling through the client. + + * platform/win/PopupMenuWin.cpp: + (WebCore::PopupMenuWin::scrollToRevealSelection): + (WebCore::PopupMenuWin::scrollPosition): + (WebCore::PopupMenuWin::setScrollOffset): + (WebCore::PopupMenuWin::scrollTo): + (WebCore::PopupMenuWin::wndProc): + * platform/win/PopupMenuWin.h: + (WebCore::PopupMenuWin::verticalScrollbar): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::scrollToOffset): + (WebCore::RenderLayer::scrollTo): + (WebCore::RenderLayer::setScrollOffset): + (WebCore::RenderLayer::scrollPosition): + (WebCore::RenderLayer::updateScrollInfoAfterLayout): + (WebCore::RenderLayer::scroll): + * rendering/RenderLayer.h: + * rendering/RenderListBox.cpp: + (WebCore::RenderListBox::scrollToRevealElementAtListIndex): + (WebCore::RenderListBox::scroll): + (WebCore::RenderListBox::logicalScroll): + (WebCore::RenderListBox::scrollPosition): + (WebCore::RenderListBox::setScrollOffset): + (WebCore::RenderListBox::scrollTo): + (WebCore::RenderListBox::setScrollTop): + * rendering/RenderListBox.h: + (WebCore::RenderListBox::verticalScrollbar): + Update to scroll via the ScrollbarClient rather than the Scrollbar. + + * rendering/RenderMarquee.cpp: + (WebCore::RenderMarquee::start): + Simplify initial paint to just do an immediate scroll to the position. + +2011-01-20 Patrick Gansterer <paroga@webkit.org> + + Unreviewed WinCE build fix for r76170. + + * platform/graphics/wince/FontWinCE.cpp: Added a missing include. + * platform/graphics/wince/ImageBufferData.h: Added a missing include and fixed style. + +2011-01-20 James Robinson <jamesr@chromium.org> + + Reviewed by Darin Fisher. + + Implement mozilla's requestAnimationFrame API + https://bugs.webkit.org/show_bug.cgi?id=51218 + + This implements mozilla's proposed requestAnimationFrame API. The idea with this API is that + an author driving an animation from script could use window.requestAnimationFrame(callback) + instead of window.setTimeout(callback, 0) to schedule their update logic and let the browser + decide when to update the animations. This avoids doing unnecessary work when the page content + is offscreen or is being displayed at a different framerate than what the page author expects. + + Mozilla's proposal is here: https://developer.mozilla.org/en/DOM/window.mozRequestAnimationFrame + This implements window.mozRequestAnimationFrame as window.webkitRequestAnimationFrame with the + following changes: + *) Only the callback syntax is supported, there is no before paint event + *) webkitRequestAnimationFrame supports a second parameter Element to let the author indicate + what content they intend to animate. That way if the page is being displayed but the element + in question is offscreen, we can avoid invoking the callback. + *) No timestamp is provided to the caller and there is no window.animationStartTime property + (see https://bugs.webkit.org/show_bug.cgi?id=51952 for discussion of this property) + *) window.webkitRequestAnimationFrame returns a numerical id that can be used to cancel the callback + using window.cancelWebkitRequestAnimationFrame, to parallel window.setTimeout()/window.clearTime(). + + The implementation depends on the embedder scheduling the callbacks since the callback invocation + depends on the page's visibility and the embedder's paint scheduling, neither of which are exposed + to WebCore. The expectation for the embedder is that at some point Chrome::scheduleAnimation() is + called FrameView::serviceScriptedAnimations() should be called for the associated Page's main frame. + Ideally serviceScriptedAnimations() would be called prior to rendering - although in practice the + embedder has to rate limit callbacks and may not be able to tie the callback directly to the + rendering loop. + + Tests: fast/animation/request-animation-frame-cancel.html + fast/animation/request-animation-frame-cancel2.html + fast/animation/request-animation-frame-display.html + fast/animation/request-animation-frame-within-callback.html + fast/animation/request-animation-frame.html + + * WebCore.gypi: + * dom/Document.cpp: + (WebCore::Document::Document): + (WebCore::Document::webkitRequestAnimationFrame): + (WebCore::Document::webkitCancelRequestAnimationFrame): + (WebCore::Document::serviceScriptedAnimations): + * dom/Document.h: + * dom/RequestAnimationFrameCallback.h: Added. + (WebCore::RequestAnimationFrameCallback::~RequestAnimationFrameCallback): + * dom/RequestAnimationFrameCallback.idl: Added. + * loader/EmptyClients.h: + (WebCore::EmptyChromeClient::scheduleAnimation): + * page/Chrome.cpp: + (WebCore::Chrome::scheduleAnimation): + * page/Chrome.h: + * page/ChromeClient.h: + * page/DOMWindow.cpp: + (WebCore::DOMWindow::webkitRequestAnimationFrame): + (WebCore::DOMWindow::webkitCancelRequestAnimationFrame): + * page/DOMWindow.h: + * page/DOMWindow.idl: + * page/FrameView.cpp: + (WebCore::FrameView::scheduleAnimation): + (WebCore::FrameView::serviceScriptedAnimations): + * page/FrameView.h: + * platform/HostWindow.h: + +2011-01-20 James Robinson <jamesr@chromium.org> + + Reviewed by Nate Chapin. + + [v8] CodeGeneratorV8 generates incorrect code for callbacks with no parameters + https://bugs.webkit.org/show_bug.cgi?id=52837 + + When generating code to invoke a callback with no parameters CodeGeneratorV8.pm was generating the following: + v8::Handle<v8::Value> argv[] = {}; which does not compile in visual studio. Instead, if the argument count + is 0, we can just pass a NULL pointer for the argv parameter. + + Test added to bindings/scripts/test/TestCallback.idl and covered by run-bindings-tests. This + patch also includes some spurious changes to the bindings tests golden files (mostly GObject) + because the old golden files were out of date. + + * bindings/scripts/CodeGeneratorV8.pm: + * bindings/scripts/test/CPP/WebDOMTestCallback.cpp: + (WebDOMTestCallback::callbackWithNoParam): + * bindings/scripts/test/CPP/WebDOMTestCallback.h: + * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp: + (webkit_dom_test_callback_callback_with_no_param): + * bindings/scripts/test/GObject/WebKitDOMTestCallback.h: + * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp: + * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp: + * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: + * bindings/scripts/test/JS/JSTestCallback.cpp: + (WebCore::JSTestCallback::callbackWithNoParam): + * bindings/scripts/test/JS/JSTestCallback.h: + * bindings/scripts/test/JS/JSTestInterface.cpp: + * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: + * bindings/scripts/test/JS/JSTestObj.cpp: + * bindings/scripts/test/ObjC/DOMTestCallback.h: + * bindings/scripts/test/ObjC/DOMTestCallback.mm: + (-[DOMTestCallback callbackWithNoParam]): + * bindings/scripts/test/TestCallback.idl: + * bindings/scripts/test/V8/V8TestCallback.cpp: + (WebCore::V8TestCallback::callbackWithNoParam): + * bindings/scripts/test/V8/V8TestCallback.h: + * bindings/scripts/test/V8/V8TestObj.cpp: + (WebCore::TestObjInternal::reflectedUnsignedIntegralAttrAttrGetter): + +2011-01-20 James Robinson <jamesr@chromium.org> + + Reviewed by Eric "Baller" Seidel. + + RenderTableSection's setNeedsCellRecalc needs to null check table() + https://bugs.webkit.org/show_bug.cgi?id=52770 + + Null checks table() before deferencing it in RenderTableSection::setNeedsCellRecalc. + This can be null during detach(). Test constructed by Eric Seidel. + + Test: fast/css-generated-content/table-with-scrollbar-corner.html + + * rendering/RenderTableSection.cpp: + (WebCore::RenderTableSection::setNeedsCellRecalc): + * rendering/RenderTableSection.h: + +2011-01-20 Dirk Schulze <krit@webkit.org> + + Reviewed by Rob Buis. + + SVG Pattern doesn't take preserveAspectRatio of references Pattern + https://bugs.webkit.org/show_bug.cgi?id=52802 + + SVGPattern didn't take preserveAspectRatio of a referenced SVGPattern into account. Store preserveAspectRatio + in PatternAttributes as well, if the attribute was set on the referenced SVGPattern element. + + Test: svg/custom/pattern-referencing-preserve-aspect-ratio.svg + + * rendering/svg/RenderSVGResourcePattern.cpp: + (WebCore::RenderSVGResourcePattern::buildTileImageTransform): + * svg/PatternAttributes.h: + (WebCore::PatternAttributes::PatternAttributes): + (WebCore::PatternAttributes::preserveAspectRatio): + (WebCore::PatternAttributes::setPreserveAspectRatio): + (WebCore::PatternAttributes::hasPreserveAspectRatio): + * svg/SVGPatternElement.cpp: + (WebCore::SVGPatternElement::collectPatternAttributes): + +2011-01-20 Dan Bernstein <mitz@apple.com> + + Reviewed by Adele Peterson. + + <rdar://problem/8765498> REGRESSION (r72141): Cannot order prints with Aperture 3.1 + + <rdar://problem/8884648> REGRESSION (r72141): Safari hangs when visiting a page on www.bfmtv.com + https://bugs.webkit.org/show_bug.cgi?id=52765 + + <rdar://problem/8890909> REGRESSION (r72141): Very Slow Rendering With Certain Markup + https://bugs.webkit.org/show_bug.cgi?id=52265 + + Test: fast/block/line-layout/negative-max-height.html + + Integer overflow detection led to a block having a huge height. This manifested as broken layout + in the first bug and as extreme slowness in the latter bugs because of + https://bugs.webkit.org/show_bug.cgi?id=52832 + + * rendering/RootInlineBox.cpp: + (WebCore::RootInlineBox::alignBoxesInBlockDirection): Clamp maxHeight to 0 so the next line + cannot start above this line. The negative maxHeight also caused the integer overflow detection + logic to give the block a huge height. + +2011-01-20 Yi Shen <yi.4.shen@nokia.com> + + Reviewed by Eric Carlson. + + Clean up the Media Controls CSS for Qt + https://bugs.webkit.org/show_bug.cgi?id=52822 + + Split the audio::-webkit-media-xxx and video::-webkit-media-xxx rules + in mediaControlsQt.css, and remove the duplicate audio::-webkit-media-xxx + rules from mediaControlsQtFullscreen.css. + + * css/mediaControlsQt.css: + (audio::-webkit-media-controls-panel): + (video::-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): + * css/mediaControlsQtFullscreen.css: + (video::-webkit-media-controls-time-remaining-display): + (video::-webkit-media-controls-seek-back-button): + (video::-webkit-media-controls-seek-forward-button): + (video::-webkit-media-controls-rewind-button): + (video::-webkit-media-controls-return-to-realtime-button): + (video::-webkit-media-controls-toggle-closed-captions-button): + +2011-01-20 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: [REGRESSION] Canceling of CSS numeric values increment/decrement is broken + https://bugs.webkit.org/show_bug.cgi?id=52816 + + * inspector/front-end/StylesSidebarPane.js: + (WebInspector.StylePropertyTreeElement.prototype): + +2011-01-20 Dawit Alemayehu <adawit@kde.org> + + Reviewed by Andreas Kling. + + [Qt] Fix Layering violation in MediaPlayerPrivateQt. + https://bugs.webkit.org/show_bug.cgi?id=52733 + + No new tests. no behavioral change. + + * platform/graphics/qt/MediaPlayerPrivateQt.cpp: + (WebCore::MediaPlayerPrivateQt::commitLoad): + +2011-01-20 Nate Chapin <japhet@chromium.org> + + Reviewed by Darin Fisher. + + [V8] Call malloc and memcpy directly instead of + of strdup in convertV8ObjectToNPVariant() when + converting strings. If there is a null character + in the string, our use of strdup causes us to allocate + too little memory, leading to out of bounds reads. + + https://bugs.webkit.org/show_bug.cgi?id=52631 + + * bindings/v8/V8NPUtils.cpp: + (WebCore::convertV8ObjectToNPVariant): + +2011-01-20 Andreas Kling <kling@webkit.org> + + Reviewed by Ariya Hidayat. + + [Qt] Fill shadow scratch buffer with proper transparent pixels + + QImage::fill() has no Qt::GlobalColor overload in Qt 4.7 (coming in 4.8) + so doing QImage::fill(Qt::transparent) will actually fill all pixels with + the RGBA value 0x00000013. + + * platform/graphics/qt/ContextShadowQt.cpp: + (WebCore::ShadowBuffer::scratchImage): + +2011-01-19 Adam Roben <aroben@apple.com> + + Remove WKCACFContextFlusher + + It wasn't doing anything. + + Fixes <http://webkit.org/b/52752> WKCACFContextFlusher is unused + + Reviewed by Simon Fraser. + + * WebCore.vcproj/WebCore.vcproj: Removed WKCACFContextFlusher. Also let VS have its way with + the file. + + * platform/graphics/win/WKCACFContextFlusher.cpp: Removed. + * platform/graphics/win/WKCACFContextFlusher.h: Removed. + + * platform/graphics/win/WKCACFLayerRenderer.cpp: + (WebCore::WKCACFLayerRenderer::~WKCACFLayerRenderer): + (WebCore::WKCACFLayerRenderer::layerTreeDidChange): + Stop telling WKCACFContextFlusher about our context, since it never did anything with it. + +2011-01-19 Adam Roben <aroben@apple.com> + + Only flush our own context when we get resized + + Fixes <http://webkit.org/b/52751> All WKCACFContexts with uncommitted + changes get flushed whenever any composited page is resized + + Reviewed by Simon Fraser. + + * platform/graphics/win/WKCACFLayerRenderer.cpp: + (WebCore::WKCACFLayerRenderer::resize): Just flush our own context, not all contexts + WKCACFContextFlusher knows about. After all, ours is the only one that just got resized! + +2011-01-19 Adam Roben <aroben@apple.com> + + Make WKCACFLayerRenderer ref-counted + + This will be needed to handle cases where the client might release its reference to us while + we're calling out to it. + + WKCACFLayerRenderer now has a setClient function, which is used rather than passing the + client to create(). This allows clients to null out the client pointer when they're done + with the renderer. + + Fixes <http://webkit.org/b/52749> WKCACFLayerRenderer should be + ref-counted + + Reviewed by Simon Fraser. + + * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp: + (WebCore::MediaPlayerPrivateFullscreenWindow::MediaPlayerPrivateFullscreenWindow): + * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h: + Updated for WKCACFLayerRenderer changes. + + * platform/graphics/win/WKCACFLayerRenderer.cpp: + (WebCore::WKCACFLayerRenderer::acceleratedCompositingAvailable): Updated for changes to + create(). + (WebCore::WKCACFLayerRenderer::create): No longer takes a WKCACFLayerRendererClient. Now + returns a PassOwnPtr. + (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): No longer takes a + WKCACFLayerRendererClient. + + * platform/graphics/win/WKCACFLayerRenderer.h: Made WKCACFLayerRenderer inherit from + RefCounted. + (WebCore::WKCACFLayerRenderer::setClient): Added this simple setter. + +2011-01-20 Csaba Osztrogonác <ossy@webkit.org> + + [Qt][V8] Unreviewed buildfix after r76248. + + * bindings/v8/ScriptCachedFrameData.h: Add missing include. + +2011-01-20 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: enable resource agent upon request. + https://bugs.webkit.org/show_bug.cgi?id=52815 + + We should not send network-related notifications unless front-end + is interested. + + * inspector/Inspector.idl: + * inspector/InspectorController.cpp: + (WebCore::InspectorController::restoreInspectorStateFromCookie): + (WebCore::InspectorController::connectFrontend): + (WebCore::InspectorController::resourceAgent): + * inspector/InspectorController.h: + (WebCore::InspectorController::consoleAgent): + (WebCore::InspectorController::cssAgent): + (WebCore::InspectorController::domAgent): + (WebCore::InspectorController::injectedScriptAgent): + (WebCore::InspectorController::runtimeAgent): + (WebCore::InspectorController::databaseAgent): + (WebCore::InspectorController::domStorageAgent): + (WebCore::InspectorController::fileSystemAgent): + * inspector/InspectorInstrumentation.cpp: + (WebCore::InspectorInstrumentation::retrieveResourceAgent): + * inspector/InspectorResourceAgent.cpp: + (WebCore::InspectorResourceAgent::restore): + (WebCore::InspectorResourceAgent::~InspectorResourceAgent): + (WebCore::InspectorResourceAgent::InspectorResourceAgent): + * inspector/InspectorResourceAgent.h: + (WebCore::InspectorResourceAgent::create): + * inspector/InspectorState.cpp: + (WebCore::InspectorState::InspectorState): + * inspector/InspectorState.h: + +2011-01-20 Zoltan Horvath <zoltan@webkit.org> + + Reviewed by Csaba Osztrogonác. + + Refactoring of the custom allocation framework + https://bugs.webkit.org/show_bug.cgi?id=49897 + + Inheriting from FastAllocBase can result in objects getting larger (bug #33896, #46589). + The modification replaces Noncopyable and FastAllocBase classes and these inherits with their + equivalent macro implementation at the necessary places. + +2011-01-20 Mikhail Naganov <mnaganov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: [Chromium] CPU Profiles are cleared when navigating back and forth. + + Profiles are now not cleared unless renderer instance was changed. + + https://bugs.webkit.org/show_bug.cgi?id=52807 + + * inspector/InspectorController.cpp: + (WebCore::InspectorController::restoreProfiler): + * inspector/InspectorProfilerAgent.cpp: + (WebCore::InspectorProfilerAgent::resetState): + (WebCore::InspectorProfilerAgent::resetFrontendProfiles): + * inspector/InspectorProfilerAgent.h: + +2011-01-20 Alexander Pavlov <apavlov@chromium.org> + + Unreviewed, add new JS file refs missing from r76116. + + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * inspector/front-end/WebKit.qrc: + +2011-01-20 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: Crash when adding a rule for an ImageDocument + https://bugs.webkit.org/show_bug.cgi?id=52811 + + * inspector/InspectorCSSAgent.cpp: + (WebCore::InspectorCSSAgent::addRule2): + (WebCore::InspectorCSSAgent::viaInspectorStyleSheet): + +2011-01-20 Ilya Tikhonovsky <loislo@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: cleanup InspectorController's friends list. + We have a plan to extract InspectorAgent from InspectorController. + InspectorAgent will be accessible only from InspectorController. + As result we can simply made some methods public and remove long + friends list. + + https://bugs.webkit.org/show_bug.cgi?id=52806 + + * inspector/InjectedScriptHost.cpp: + (WebCore::InjectedScriptHost::databaseForId): + (WebCore::InjectedScriptHost::selectDatabase): + (WebCore::InjectedScriptHost::selectDOMStorage): + (WebCore::InjectedScriptHost::inspectorDOMAgent): + (WebCore::InjectedScriptHost::frontend): + * inspector/InspectorBrowserDebuggerAgent.cpp: + (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/InspectorController.h: + (WebCore::InspectorController::frontend): + * inspector/InspectorInstrumentation.cpp: + (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl): + (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl): + (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl): + (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl): + (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl): + (WebCore::InspectorInstrumentation::didModifyDOMAttrImpl): + (WebCore::InspectorInstrumentation::characterDataModifiedImpl): + (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl): + (WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl): + (WebCore::InspectorInstrumentation::didFailLoadingImpl): + (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequestImpl): + (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsoleImpl): + (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded): + (WebCore::InspectorInstrumentation::cancelPauseOnNativeEvent): + (WebCore::InspectorInstrumentation::retrieveTimelineAgent): + (WebCore::InspectorInstrumentation::retrieveResourceAgent): + +2011-01-19 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: implement JavaScriptBreakpointsSidebarPane based on events from debugger model. + https://bugs.webkit.org/show_bug.cgi?id=52723 + + Extract all breakpoints-related presentation code from debugger model to JavaScriptBreakpointSidebarPane. + + * inspector/front-end/Breakpoint.js: + (WebInspector.Breakpoint): + (WebInspector.Breakpoint.prototype.get data): + (WebInspector.Breakpoint.prototype.remove): + * inspector/front-end/BreakpointsSidebarPane.js: + (WebInspector.JavaScriptBreakpointsSidebarPane): + (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointAdded): + (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointRemoved): + (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointEnableChanged): + (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointItemCheckboxClicked): + (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._contextMenuEventFired): + (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._debuggerPaused): + (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._debuggerResumed): + (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._addListElement): + (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._removeListElement): + (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._projectChanged): + (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._compare): + (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._compareBreakpoints): + (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._setupBreakpointElement.didGetSourceLine): + (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._setupBreakpointElement): + (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointIdForDebuggerPausedEvent): + (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._setBreakpointEnabled): + (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._removeBreakpoint): + (WebInspector.NativeBreakpointsSidebarPane): + (WebInspector.XHRBreakpointsSidebarPane.prototype.addBreakpointItem): + * inspector/front-end/DebuggerModel.js: + (WebInspector.DebuggerModel.prototype.removeBreakpoint): + (WebInspector.DebuggerModel.prototype.breakpointForId): + (WebInspector.DebuggerModel.prototype._pausedScript): + (WebInspector.DebuggerModel.prototype._resumedScript): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel): + * inspector/front-end/inspector.js: + +2011-01-20 Dirk Schulze <krit@webkit.org> + + Reviewed by Andreas Kling. + + SVG Pattern doesn't take the viewBox of a referenced Pattern + https://bugs.webkit.org/show_bug.cgi?id=52804 + + SVGPattern element didn't use the viewBox of another SVGPattern element, referenced + by xlink:href. Modified PatternAttributes, to take the value of the viewBox of the + SVGPattern element as well, if the attribute was set. + This gets checked by a W3C SVG test case. + + Test: svg/W3C-SVG-1.1-SE/pservers-pattern-04-f.svg + + * rendering/svg/RenderSVGResourcePattern.cpp: + (WebCore::RenderSVGResourcePattern::buildTileImageTransform): + * svg/PatternAttributes.h: + (WebCore::PatternAttributes::PatternAttributes): + (WebCore::PatternAttributes::viewBox): + (WebCore::PatternAttributes::setViewBox): + (WebCore::PatternAttributes::hasViewBox): + * svg/SVGPatternElement.cpp: + (WebCore::SVGPatternElement::collectPatternAttributes): + +2011-01-19 Stephen White <senorblanco@chromium.org> + + [Re-land of r76159 with a compile fix for the Chromium linux shlib + build.] + + Reviewed by James Robinson. + + Implement accelerated path drawing and clipping for the Canvas2D GPU + path. + https://bugs.webkit.org/show_bug.cgi?id=52627 + + This is done with a simple curve interpolator and the GLU tesselator, + which is good enough for a 3-5X speedup on + http://ie.microsoft.com/testdrive/Performance/Galactic/Default.html. + + Covered by canvas/philip/2d.path.clip.basic.html, and many, many more. + All tests canvas/philip and fast/canvas paths pass with no + regressions, although two have minor pixel differences which require + rebaselining. + + * WebCore.gyp/WebCore.gyp: + Add internal_glu include path to chromium build. + * WebCore.gypi: + Add internal_glu files to chromium build. + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::reset): + (WebCore::CanvasRenderingContext2D::platformLayer): + Make CanvasRenderingContext2D more robust against failure to create + a DrawingBuffer. + * platform/graphics/chromium/DrawingBufferChromium.cpp: + (WebCore::DrawingBuffer::DrawingBuffer): + As in DrawingBufferMac.cpp, call reset() from the constructor. + Also initialize size to (-1, -1), so reset() doesn't early-out. + Add initializers for depthBuffer and stencilBuffer, and remove + multisampleDepthStencilBuffer. + * platform/graphics/chromium/GLES2Canvas.cpp: + Remove some unused #includes. + (WebCore::GLES2Canvas::State::State): + Add clipping state, and implement save/restore via the copy constructor. + (WebCore::operator*): + (WebCore::Quadratic::Quadratic): + (WebCore::Quadratic::fromBezier): + (WebCore::Quadratic::evaluate): + Quadratic Bezier curve class. + (WebCore::Cubic::Cubic): + (WebCore::Cubic::fromBezier): + (WebCore::Cubic::evaluate): + Cubic Bezier curve class. + (WebCore::GLES2Canvas::clearRect): + Add clipping support to clearRect(). + (WebCore::GLES2Canvas::fillPath): + Implement fillPath(). + (WebCore::GLES2Canvas::fillRect): + Add clipping support to fillRect(). + (WebCore::GLES2Canvas::clipPath): + Implement clipPath(). + (WebCore::GLES2Canvas::clipOut): + Stub out clipOut() (not called by Canvas 2D). + (WebCore::GLES2Canvas::restore): + When restoring, draw any remaining clipping paths to the stencil buffer. + (WebCore::GLES2Canvas::drawTexturedRect): + Add clipping support. + (WebCore::interpolateQuadratic): + (WebCore::interpolateCubic): + Simple curve interpolation, using the Cubic and Quadratic classes. + (WebCore::PolygonData::PolygonData): + A struct to hold the tesselation data for callbacks. + (WebCore::beginData): + (WebCore::edgeFlagData): + (WebCore::vertexData): + (WebCore::endData): + (WebCore::combineData): + internal_glu tesselation callbacks. + (WebCore::GLES2Canvas::createVertexBufferFromPath): + Build an interpolated, tesselated vertex buffer and element array buffer from a given path, suitable for filling. + (WebCore::GLES2Canvas::beginStencilDraw): + Enable stencilling, and disable draws to the color buffer. + (WebCore::GLES2Canvas::applyClipping): + If clipping is enabled, set the appropriate GL state. + * platform/graphics/chromium/GLES2Canvas.h: + Document the flavours of drawTexturedRect() a bit, so I don't get confused. + * platform/graphics/gpu/DrawingBuffer.cpp: + (WebCore::DrawingBuffer::clear): + (WebCore::DrawingBuffer::createSecondaryBuffers): + (WebCore::DrawingBuffer::resizeDepthStencil): + (WebCore::DrawingBuffer::reset): + * platform/graphics/gpu/DrawingBuffer.h: + Unify m_multisampleDepthStencilBuffer with m_depthStencilBuffer. + Implement separate depth and stencil buffers for when + OES_packed_depth_stencil is not available. Refactor creation of + multisampled and non-multisampled depth and stencil buffers into + resizeDepthStencil(). + * platform/graphics/gpu/SharedGraphicsContext3D.cpp: + (WebCore::SharedGraphicsContext3D::create): + Turn on stencil, turn off depth, turn off antialiasing (for now). + (WebCore::SharedGraphicsContext3D::enableStencil): + * platform/graphics/gpu/SharedGraphicsContext3D.h: + Implement stencil enable/disable. + * platform/graphics/gpu/mac/DrawingBufferMac.mm: + (WebCore::DrawingBuffer::DrawingBuffer): + Remove m_multisampleDepthStencilBuffer. Set the size to (-1, -1) + on creation, so reset() doesn't early-out. Initialize m_depthBuffer + and m_stencilBuffer. + * platform/graphics/skia/GraphicsContextSkia.cpp: + (WebCore::GraphicsContext::canvasClip): + (WebCore::GraphicsContext::clipOut): + (WebCore::GraphicsContext::clipPath): + (WebCore::GraphicsContext::fillPath): + Put in GPU hooks for path clipping, and path drawing. + * platform/graphics/skia/PlatformContextSkia.cpp: + (WebCore::PlatformContextSkia::canAccelerate): + Don't check for clipping paths in canAccelerate() (since we can + now accelerate them). + (WebCore::PlatformContextSkia::uploadSoftwareToHardware): + Don't do clipping when uploading software draws to hardware. + * thirdparty/glu/README.webkit: + * thirdparty/glu/gluos.h: + #undef MIN and MAX, to fix warnings-as-errors in Chrome/Mac build. + * thirdparty/glu/libtess/geom.c: + * thirdparty/glu/libtess/priorityq.c: + * thirdparty/glu/libtess/render.c: + Use do{}while(0) instead of if(1)else construct in macro. + * thirdparty/glu/libtess/sweep.c: + (IsWindingInside): + (DoneEdgeDict): + Fix some warnings treated as errors for the Linux Release build. + + +2011-01-20 Pavel Feldman <pfeldman@chromium.org> + + Web Inspector: move releaseObjectGroup to the new Runtime agent. + https://bugs.webkit.org/show_bug.cgi?id=52803 + (accedentally landed as r76231) + + * inspector/InspectorContorller.h: + * inspector/InspectorContorller.cpp: + * inspector/InspectorRuntimeAgent.h: + * inspector/InspectorRuntimeAgent.cpp: + +2011-01-20 Pavel Feldman <pfeldman@chromium.org> + + Not reviewed: build fix. + + * inspector/InspectorState.h: + (WebCore::InspectorState::setBoolean): + (WebCore::InspectorState::setString): + (WebCore::InspectorState::setLong): + +2011-01-20 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: further simplify InspectorState. + https://bugs.webkit.org/show_bug.cgi?id=52731 + + This change moves XHR logging flag into console agent, + removes InspectorState pushing to the front-end. + + * inspector/Inspector.idl: + * inspector/InspectorConsoleAgent.cpp: + (WebCore::InspectorConsoleAgent::InspectorConsoleAgent): + (WebCore::InspectorConsoleAgent::resourceRetrievedByXMLHttpRequest): + (WebCore::InspectorConsoleAgent::setMonitoringXHREnabled): + (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled): + (WebCore::InspectorConsoleAgent::addConsoleMessage): + * inspector/InspectorConsoleAgent.h: + * inspector/InspectorController.cpp: + (WebCore::InspectorController::InspectorController): + * inspector/InspectorController.h: + (WebCore::InspectorController::state): + (WebCore::InspectorController::settings): + * inspector/InspectorState.cpp: + (WebCore::InspectorState::InspectorState): + (WebCore::InspectorState::registerBoolean): + (WebCore::InspectorState::registerString): + (WebCore::InspectorState::registerLong): + (WebCore::InspectorState::registerObject): + (WebCore::InspectorState::Property::create): + * inspector/InspectorState.h: + * inspector/front-end/ConsoleView.js: + (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.consoleMessagesCleared): + (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.monitoringXHRStateChanged): + (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher): + (WebInspector.ConsoleView.prototype._handleContextMenuEvent): + * inspector/front-end/inspector.js: + +2011-01-20 Csaba Osztrogonác <ossy@webkit.org> + + Unreviewed buildfix. + + [Qt][V8] Remove unnecessary files after r76224. + + * WebCore.pro: + +2011-01-20 Ilya Tikhonovsky <loislo@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: prepare for extracting InspectorAgent from InspectorController. + https://bugs.webkit.org/show_bug.cgi?id=52797 + + * inspector/CodeGeneratorInspector.pm: + * inspector/InspectorController.h: + (WebCore::InspectorController::inspectorAgent): + (WebCore::InspectorController::cssAgent): + (WebCore::InspectorController::injectedScriptAgent): + (WebCore::InspectorController::resourceAgent): + (WebCore::InspectorController::runtimeAgent): + (WebCore::InspectorController::timelineAgent): + (WebCore::InspectorController::databaseAgent): + (WebCore::InspectorController::domStorageAgent): + (WebCore::InspectorController::fileSystemAgent): + (WebCore::InspectorController::browserDebuggerAgent): + (WebCore::InspectorController::debuggerAgent): + (WebCore::InspectorController::profilerAgent): + (WebCore::InspectorController::applicationCacheAgent): + +2011-01-20 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r76215. + http://trac.webkit.org/changeset/76215 + https://bugs.webkit.org/show_bug.cgi?id=52799 + + Caused regressions in Chromium; morrita is going to look at it + tomrorow (Requested by jorlow on #webkit). + + * dom/TextEvent.h: + * dom/TextEventInputType.h: + * editing/CompositeEditCommand.cpp: + (WebCore::CompositeEditCommand::rebalanceWhitespaceAt): + * editing/CompositeEditCommand.h: + * editing/Editor.cpp: + (WebCore::Editor::insertTextWithoutSendingTextEvent): + (WebCore::Editor::confirmComposition): + (WebCore::Editor::setComposition): + * editing/Editor.h: + * editing/InsertTextCommand.cpp: + (WebCore::InsertTextCommand::input): + * editing/InsertTextCommand.h: + * editing/TypingCommand.cpp: + (WebCore::TypingCommand::TypingCommand): + (WebCore::TypingCommand::insertText): + (WebCore::TypingCommand::insertTextRunWithoutNewlines): + * editing/TypingCommand.h: + (WebCore::TypingCommand::create): + +2010-12-14 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Adam Barth. + + [V8] Get rid of delayed exception reporting in V8ConsoleMessage.cpp + https://bugs.webkit.org/show_bug.cgi?id=51044 + + * WebCore.gypi: + * bindings/v8/V8ConsoleMessage.cpp: Removed. + * bindings/v8/V8ConsoleMessage.h: Removed. + * bindings/v8/V8DOMWindowShell.cpp: + (WebCore::v8UncaughtExceptionHandler): + (WebCore::reportUnsafeJavaScriptAccess): + (WebCore::V8DOMWindowShell::initContextIfNeeded): + * bindings/v8/V8Proxy.cpp: + (WebCore::addMessageToConsole): + (WebCore::logInfo): + (WebCore::V8Proxy::reportUnsafeAccessTo): + (WebCore::V8Proxy::runScript): + (WebCore::V8Proxy::callFunction): + (WebCore::V8Proxy::newInstance): + * bindings/v8/V8Proxy.h: + * bindings/v8/WorkerContextExecutionProxy.cpp: + * bindings/v8/specialization/V8BindingState.cpp: + (WebCore::::immediatelyReportUnsafeAccessTo): + +2011-01-19 MORITA Hajime <morrita@google.com> + + Reviewed by Eric Seidel. + + ShadowElement::m_shadowParent should be removed + https://bugs.webkit.org/show_bug.cgi?id=52558 + + No new tests. No behavioral change. + + * rendering/ShadowElement.h: + (WebCore::ShadowElement::ShadowElement): + +2011-01-20 Hans Wennborg <hans@chromium.org> + + Reviewed by Jeremy Orlow. + + IndexedDB: IDBObjectStore.get should fire onsuccess rather than onerror + https://bugs.webkit.org/show_bug.cgi?id=52725 + + Let IDBObjectStore.get() fire the onsuccess handler with the value + 'undefined' for when an object does not exist in the store. + + Update SerializedScriptValue to provide such an undefined value. + + * bindings/v8/SerializedScriptValue.cpp: + (WebCore::SerializedScriptValue::nullValue): + (WebCore::SerializedScriptValue::undefinedValue): + * bindings/v8/SerializedScriptValue.h: + * storage/IDBObjectStoreBackendImpl.cpp: + (WebCore::IDBObjectStoreBackendImpl::getInternal): + +2010-12-27 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + WebCore doesn't fire window.onerror event when uncaught JavaScript exceptions are thrown + https://bugs.webkit.org/show_bug.cgi?id=8519 + + Uncaught exceptions are propagated to window.onerror hander if one is present. + The handler is expected to be a function accepting three arguments: error message, + resource url and line number where the exception occured. + + It was decided to dispatch ErrorEvent to all listeners/handlers no matter if they + were created in the same isolated world where the exception occured or not. + + Tests: fast/events/window-onerror1.html + fast/events/window-onerror10.html + fast/events/window-onerror11.html + fast/events/window-onerror12.html + fast/events/window-onerror2.html + fast/events/window-onerror3.html + fast/events/window-onerror4.html + fast/events/window-onerror5.html + fast/events/window-onerror6.html + fast/events/window-onerror7.html + fast/events/window-onerror8.html + fast/events/window-onerror9.html + http/tests/security/window-onerror-exception-in-iframe.html + userscripts/window-onerror-for-isolated-world-1.html + userscripts/window-onerror-for-isolated-world-2.html + + * Android.jscbindings.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.order: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSBindingsAllInOne.cpp: + * bindings/js/JSDOMBinding.cpp: + (WebCore::reportException): + * bindings/js/JSErrorHandler.cpp: Renamed from WebCore/bindings/js/JSWorkerContextErrorHandler.cpp. + (WebCore::JSErrorHandler::JSErrorHandler): + (WebCore::JSErrorHandler::~JSErrorHandler): + (WebCore::JSErrorHandler::handleEvent): + * bindings/js/JSErrorHandler.h: Copied from WebCore/bindings/js/JSWorkerContextErrorHandler.h. + (WebCore::JSErrorHandler::create): + (WebCore::createJSErrorHandler): + * bindings/js/JSEventListener.h: + * bindings/scripts/CodeGeneratorJS.pm: + * bindings/scripts/CodeGeneratorV8.pm: + * bindings/v8/V8ConsoleMessage.cpp: + (WebCore::V8ConsoleMessage::dispatchNow): + (WebCore::V8ConsoleMessage::handler): the method was changed to use generic WebCore exception + reporting mechanism which is also used by JSC bindings. + * bindings/v8/V8ConsoleMessage.h: + * bindings/v8/V8EventListener.h: + * bindings/v8/V8WindowErrorHandler.cpp: Renamed from WebCore/bindings/js/JSWorkerContextErrorHandler.h. + (WebCore::V8WindowErrorHandler::V8WindowErrorHandler): + (WebCore::V8WindowErrorHandler::callListenerFunction): + * bindings/v8/V8WindowErrorHandler.h: Copied from WebCore/dom/ErrorEvent.cpp. + (WebCore::V8WindowErrorHandler::create): + * bindings/v8/WorkerContextExecutionProxy.cpp: + (WebCore::v8MessageHandler): + * bindings/v8/WorkerScriptController.cpp: + (WebCore::WorkerScriptController::evaluate): + * dom/Document.cpp: + (WebCore::Document::errorEventTarget): + (WebCore::Document::logExceptionToConsole): + (WebCore::Document::addMessage): + * dom/Document.h: + * dom/ErrorEvent.cpp: + * dom/ErrorEvent.h: + * dom/Event.cpp: + (WebCore::Event::isErrorEvent): + * dom/Event.h: + * dom/ScriptExecutionContext.cpp: + (WebCore::ScriptExecutionContext::PendingException::PendingException): + (WebCore::ScriptExecutionContext::ScriptExecutionContext): + (WebCore::ScriptExecutionContext::reportException): this method is not virtual anymore to + ensure that error event dispatching algorithm is the same in WorkerContext and in Document. + (WebCore::ScriptExecutionContext::dispatchErrorEvent): + * dom/ScriptExecutionContext.h: + * websockets/WebSocket.cpp: + (WebCore::WebSocket::connect): + * websockets/WebSocketChannel.cpp: + (WebCore::WebSocketChannel::didOpen): + (WebCore::WebSocketChannel::didFail): + (WebCore::WebSocketChannel::appendToBuffer): + * websockets/WebSocketHandshake.cpp: + (WebCore::WebSocketHandshake::readServerHandshake): + (WebCore::WebSocketHandshake::readStatusLine): + (WebCore::WebSocketHandshake::readHTTPHeaders): + (WebCore::WebSocketHandshake::checkResponseHeaders): + * workers/DefaultSharedWorkerRepository.cpp: + (WebCore::postExceptionTask): + (WebCore::postConsoleMessageTask): + * workers/WorkerContext.cpp: + (WebCore::WorkerContext::WorkerContext): + (WebCore::WorkerContext::errorEventTarget): + (WebCore::WorkerContext::logExceptionToConsole): + (WebCore::WorkerContext::addMessage): + * workers/WorkerContext.h: + * workers/WorkerMessagingProxy.cpp: + (WebCore::WorkerExceptionTask::performTask): + (WebCore::postConsoleMessageTask): + * xml/XMLHttpRequest.cpp: + (WebCore::reportUnsafeUsage): + +2011-01-19 MORITA Hajime <morrita@google.com> + + Reviewed by Ryosuke Niwa. + + Space and tab characters "sent" by an input method give totally different results than typing them directly + https://bugs.webkit.org/show_bug.cgi?id=5241 + + * Introduced TextEvent::InputTypeComposition and TypingCommand::TextCompositionType to + distinguish text input which is originated by composition. + * Generalized rebalanceWhitespaceAt() to rebalanceWhitespaceOnTextSubstring() to rebalancing + range of string on text node, instead of surrounding part of that. + + Test: editing/inserting/insert-composition-whitespace.html + + * dom/TextEvent.h: + (WebCore::TextEvent::isComposition): + * dom/TextEventInputType.h: Added TextEventInputComposition as a member of TextEvent::InputType + * editing/CompositeEditCommand.cpp: + (WebCore::containsOnlyWhitespace): + (WebCore::CompositeEditCommand::shouldRebalanceLeadingWhitespaceFor): + (WebCore::CompositeEditCommand::canRebalance): + (WebCore::CompositeEditCommand::rebalanceWhitespaceAt): + (WebCore::CompositeEditCommand::rebalanceWhitespaceOnTextSubstring): Added: A generalized version of rebalanceWhitespaceAt(), which takes a range inside Text string. + * editing/CompositeEditCommand.h: + * editing/Editor.cpp: + (WebCore::Editor::insertTextForConfirmedComposition): Added. + (WebCore::Editor::insertTextWithoutSendingTextEvent): + (WebCore::Editor::confirmComposition): Now uses insertTextForConfirmedComposition(). + (WebCore::Editor::setComposition): + * editing/Editor.h: + * editing/InsertTextCommand.cpp: + (WebCore::InsertTextCommand::input): + * editing/InsertTextCommand.h: + * editing/TypingCommand.cpp: + (WebCore::TypingCommand::TypingCommand): + (WebCore::TypingCommand::insertText): + (WebCore::TypingCommand::insertTextRunWithoutNewlines): + * editing/TypingCommand.h: Added TypingCommand::m_compositionType and TypingCommand::TextCompositionType + (WebCore::TypingCommand::setCompositionType): Added. + (WebCore::TypingCommand::create): + +2011-01-19 Dominic Cooney <dominicc@google.com> + + Reviewed by Kent Tamura. + + Make <keygen> no longer appear to be a <select> element to script. + https://bugs.webkit.org/show_bug.cgi?id=52557 + + The intent is to put <keygen> options into shadow DOM. This change + takes the first step by hiding the <select> element from + JavaScript. + + Test: fast/dom/HTMLKeygenElement/keygen.html + + * CMakeLists.txt: Adds new IDL-derived wrapper. + * DerivedSources.cpp: + * DerivedSources.make: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pri: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bindings/gobject/GNUmakefile.am: + * bindings/gobject/WebKitHTMLElementWrapperFactory.cpp: + (WebKit::createKeygenWrapper): + (WebKit::createHTMLElementWrapper): + * bindings/objc/DOM.mm: + (WebCore::createElementClassMap): Keygen no longer DOMHTMLSelectElement + * html/HTMLKeygenElement.h: + (WebCore::HTMLKeygenElement::willValidate): Now public. + * html/HTMLKeygenElement.idl: Added. + * html/HTMLTagNames.in: Keygen's wrapper is HTMLKeygenElement. + * page/DOMWindow.idl: Add HTMLKeygenElement constructor. + +2011-01-19 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r76203. + http://trac.webkit.org/changeset/76203 + https://bugs.webkit.org/show_bug.cgi?id=52784 + + Broke Win compile on Chromium bots (Requested by dimich on + #webkit). + + * WebCore.gypi: + * bindings/v8/V8DOMWindowShell.cpp: + (WebCore::reportFatalErrorInV8): + * page/PageGroup.cpp: + (WebCore::PageGroup::isLinkVisited): + * platform/android/PlatformBridge.h: + * platform/audio/chromium/AudioBusChromium.cpp: + (WebCore::createBusFromInMemoryAudioFile): + * platform/chromium/ChromiumBridge.h: Added. + * platform/chromium/ChromiumDataObjectLegacy.cpp: + (WebCore::ChromiumDataObjectLegacy::getData): + * platform/chromium/DragDataChromium.cpp: + (WebCore::DragData::asURL): + * platform/chromium/FileSystemChromium.cpp: + (WebCore::deleteFile): + (WebCore::deleteEmptyDirectory): + (WebCore::getFileSize): + (WebCore::getFileModificationTime): + (WebCore::revealFolderInOS): + (WebCore::directoryName): + (WebCore::pathByAppendingComponent): + (WebCore::makeAllDirectories): + (WebCore::fileExists): + (WebCore::openFile): + (WebCore::closeFile): + (WebCore::seekFile): + (WebCore::truncateFile): + (WebCore::readFromFile): + (WebCore::writeToFile): + * platform/chromium/LanguageChromium.cpp: + (WebCore::platformDefaultLanguage): + * platform/chromium/LinkHashChromium.cpp: + (WebCore::visitedLinkHash): + * platform/chromium/MIMETypeRegistryChromium.cpp: + (WebCore::MIMETypeRegistry::getMIMETypeForExtension): + (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType): + (WebCore::MIMETypeRegistry::isSupportedImageMIMEType): + (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType): + (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType): + * platform/chromium/PasteboardChromium.cpp: + (WebCore::Pasteboard::writeSelection): + (WebCore::Pasteboard::writePlainText): + (WebCore::Pasteboard::writeURL): + (WebCore::Pasteboard::writeImage): + (WebCore::Pasteboard::canSmartReplace): + (WebCore::Pasteboard::plainText): + (WebCore::Pasteboard::documentFragment): + * platform/chromium/PlatformBridge.h: + * platform/chromium/PlatformScreenChromium.cpp: + (WebCore::screenDepth): + (WebCore::screenDepthPerComponent): + (WebCore::screenIsMonochrome): + (WebCore::screenRect): + (WebCore::screenAvailableRect): + * platform/chromium/ReadableDataObject.cpp: + (WebCore::ReadableDataObject::getData): + (WebCore::ReadableDataObject::urlTitle): + (WebCore::ReadableDataObject::htmlBaseUrl): + (WebCore::ReadableDataObject::filenames): + (WebCore::ReadableDataObject::ensureTypeCacheInitialized): + * platform/chromium/SSLKeyGeneratorChromium.cpp: + (WebCore::signedPublicKeyAndChallengeString): + * platform/chromium/ScrollbarThemeChromium.cpp: + * platform/chromium/ScrollbarThemeChromiumLinux.cpp: + (WebCore::ScrollbarThemeChromiumLinux::scrollbarThickness): + (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece): + (WebCore::ScrollbarThemeChromiumLinux::paintButton): + (WebCore::ScrollbarThemeChromiumLinux::paintThumb): + (WebCore::ScrollbarThemeChromiumLinux::buttonSize): + (WebCore::ScrollbarThemeChromiumLinux::minimumThumbLength): + * platform/chromium/ScrollbarThemeChromiumMac.mm: + (WebCore::scrollbarStateToThemeState): + (WebCore::ScrollbarThemeChromiumMac::paint): + * platform/chromium/ScrollbarThemeChromiumWin.cpp: + (WebCore::ScrollbarThemeChromiumWin::scrollbarThickness): + (WebCore::ScrollbarThemeChromiumWin::paintTrackPiece): + (WebCore::ScrollbarThemeChromiumWin::paintButton): + (WebCore::ScrollbarThemeChromiumWin::paintThumb): + (WebCore::ScrollbarThemeChromiumWin::buttonSize): + * platform/chromium/SharedTimerChromium.cpp: + (WebCore::setSharedTimerFiredFunction): + (WebCore::setSharedTimerFireTime): + (WebCore::stopSharedTimer): + * platform/chromium/SuddenTerminationChromium.cpp: + (WebCore::disableSuddenTermination): + (WebCore::enableSuddenTermination): + * platform/chromium/SystemTimeChromium.cpp: + (WebCore::currentTime): + * platform/chromium/WritableDataObject.cpp: + (WebCore::WritableDataObject::setData): + * platform/graphics/chromium/CrossProcessFontLoading.mm: + * platform/graphics/chromium/FontCacheChromiumWin.cpp: + (WebCore::fontContainsCharacter): + (WebCore::FillLogFont): + * platform/graphics/chromium/FontCacheLinux.cpp: + (WebCore::FontCache::getFontDataForCharacters): + * platform/graphics/chromium/FontChromiumWin.cpp: + (WebCore::Font::drawGlyphs): + * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp: + (WebCore::FontPlatformData::scriptFontProperties): + * platform/graphics/chromium/FontPlatformDataLinux.cpp: + (WebCore::FontPlatformData::querySystemForRenderStyle): + * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp: + (WebCore::fillBMPGlyphs): + * platform/graphics/chromium/ImageChromium.cpp: + (WebCore::Image::loadPlatformResource): + * platform/graphics/chromium/ImageChromiumMac.mm: + (WebCore::Image::loadPlatformResource): + * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp: + (WebCore::SimpleFontData::platformInit): + (WebCore::SimpleFontData::determinePitch): + (WebCore::SimpleFontData::platformWidthForGlyph): + * platform/graphics/chromium/UniscribeHelperTextRun.cpp: + (WebCore::UniscribeHelperTextRun::tryToPreloadFont): + * platform/graphics/skia/FontCustomPlatformData.cpp: + (WebCore::FontCustomPlatformData::fontPlatformData): + * platform/network/chromium/CookieJarChromium.cpp: + (WebCore::setCookies): + (WebCore::cookies): + (WebCore::cookieRequestHeaderFieldValue): + (WebCore::cookiesEnabled): + (WebCore::getRawCookies): + (WebCore::deleteCookie): + * platform/network/chromium/DNSChromium.cpp: + (WebCore::prefetchDNS): + * platform/qt/PlatformBridge.h: + * platform/sql/chromium/SQLiteFileSystemChromium.cpp: + (WebCore::SQLiteFileSystem::deleteDatabaseFile): + (WebCore::SQLiteFileSystem::getDatabaseFileSize): + * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp: + (chromiumOpen): + (chromiumDelete): + (chromiumAccess): + * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp: + * plugins/chromium/PluginDataChromium.cpp: + (WebCore::PluginCache::plugins): + * rendering/RenderThemeChromiumMac.mm: + (WebCore::RenderThemeChromiumMac::usesTestModeFocusRingColor): + * rendering/RenderThemeChromiumSkia.cpp: + (WebCore::RenderThemeChromiumSkia::caretBlinkInterval): + * rendering/RenderThemeChromiumWin.cpp: + (WebCore::RenderThemeChromiumWin::platformActiveSelectionBackgroundColor): + (WebCore::RenderThemeChromiumWin::platformInactiveSelectionBackgroundColor): + (WebCore::RenderThemeChromiumWin::platformActiveSelectionForegroundColor): + (WebCore::RenderThemeChromiumWin::systemColor): + (WebCore::RenderThemeChromiumWin::paintButton): + (WebCore::RenderThemeChromiumWin::paintSliderTrack): + (WebCore::menuListButtonWidth): + (WebCore::RenderThemeChromiumWin::paintMenuList): + (WebCore::RenderThemeChromiumWin::paintTextFieldInternal): + (WebCore::RenderThemeChromiumWin::paintInnerSpinButton): + (WebCore::RenderThemeChromiumWin::paintProgressBar): + * storage/chromium/IDBFactoryBackendInterface.cpp: + (WebCore::IDBFactoryBackendInterface::create): + (WebCore::IDBFactoryBackendInterface::~IDBFactoryBackendInterface): + * storage/chromium/IDBKeyPathBackendImpl.cpp: + (WebCore::IDBKeyPathBackendImpl::createIDBKeysFromSerializedValuesAndKeyPath): + +2011-01-19 Helder Correia <helder@sencha.com> + + Reviewed by Andreas Kling. + + [Qt] GraphicsContext::strokePath() paints solid shadows with incorrect alpha + https://bugs.webkit.org/show_bug.cgi?id=52705 + + This is related to bug 52611. The shadow color alpha must be multiplied + by the context pen alpha. Fixing this results in correct behavior for + Canvas path stroke() and strokeRect() [which relies on stroke()]. + + Tests: fast/canvas/canvas-strokePath-alpha-shadow.html + fast/canvas/canvas-strokeRect-alpha-shadow.html + + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContext::strokePath): + +2011-01-19 Darin Fisher <darin@chromium.org> + + Reviewed by Mihai Parparita. + + Re-initialize the HistoryItem fully when navigating to a HistoryItem, + or replacing a HistoryItem, results in a different URL. + + https://bugs.webkit.org/show_bug.cgi?id=49654 + + This patch also forces all HistoryItems to record the post-redirect + URL. Previously, frames would remember the pre-redirect URL. This is + problematic since other members of the HistoryItem correspond to the + post-redirect URL. + + Tests: fast/history/history-replace-updates-current-item.html + http/tests/navigation/redirect-on-back-updates-history-item.html + http/tests/navigation/redirect-on-reload-updates-history-item.html + + * history/HistoryItem.cpp: + (WebCore::HistoryItem::HistoryItem): + (WebCore::HistoryItem::reset): + * history/HistoryItem.h: + * loader/HistoryController.cpp: + (WebCore::HistoryController::updateForBackForwardNavigation): + (WebCore::HistoryController::updateForReload): + (WebCore::HistoryController::updateForStandardLoad): + (WebCore::HistoryController::updateForRedirectWithLockedBackForwardList): + (WebCore::HistoryController::initializeItem): + (WebCore::HistoryController::createItem): + (WebCore::HistoryController::createItemTree): + (WebCore::HistoryController::updateCurrentItem): + * loader/HistoryController.h: + +2011-01-19 Adam Klein <adamk@chromium.org> + + Reviewed by Darin Fisher. + + [chromium] Rename ChromiumBridge to PlatformBridge + https://bugs.webkit.org/show_bug.cgi?id=52471 + + No tests added as this is a rename; no change in behavior. + + * WebCore.gypi: + * bindings/v8/V8DOMWindowShell.cpp: + (WebCore::reportFatalErrorInV8): + * page/PageGroup.cpp: + (WebCore::PageGroup::isLinkVisited): + * platform/android/PlatformBridge.h: + * platform/audio/chromium/AudioBusChromium.cpp: + (WebCore::createBusFromInMemoryAudioFile): + * platform/chromium/ChromiumBridge.h: Removed. + * platform/chromium/ChromiumDataObjectLegacy.cpp: + (WebCore::ChromiumDataObjectLegacy::getData): + * platform/chromium/DragDataChromium.cpp: + (WebCore::DragData::asURL): + * platform/chromium/FileSystemChromium.cpp: + (WebCore::deleteFile): + (WebCore::deleteEmptyDirectory): + (WebCore::getFileSize): + (WebCore::getFileModificationTime): + (WebCore::revealFolderInOS): + (WebCore::directoryName): + (WebCore::pathByAppendingComponent): + (WebCore::makeAllDirectories): + (WebCore::fileExists): + (WebCore::openFile): + (WebCore::closeFile): + (WebCore::seekFile): + (WebCore::truncateFile): + (WebCore::readFromFile): + (WebCore::writeToFile): + * platform/chromium/LanguageChromium.cpp: + (WebCore::platformDefaultLanguage): + * platform/chromium/LinkHashChromium.cpp: + (WebCore::visitedLinkHash): + * platform/chromium/MIMETypeRegistryChromium.cpp: + (WebCore::MIMETypeRegistry::getMIMETypeForExtension): + (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType): + (WebCore::MIMETypeRegistry::isSupportedImageMIMEType): + (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType): + (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType): + * platform/chromium/PasteboardChromium.cpp: + (WebCore::Pasteboard::writeSelection): + (WebCore::Pasteboard::writePlainText): + (WebCore::Pasteboard::writeURL): + (WebCore::Pasteboard::writeImage): + (WebCore::Pasteboard::canSmartReplace): + (WebCore::Pasteboard::plainText): + (WebCore::Pasteboard::documentFragment): + * platform/chromium/PlatformBridge.h: + * platform/chromium/PlatformScreenChromium.cpp: + (WebCore::screenDepth): + (WebCore::screenDepthPerComponent): + (WebCore::screenIsMonochrome): + (WebCore::screenRect): + (WebCore::screenAvailableRect): + * platform/chromium/ReadableDataObject.cpp: + (WebCore::ReadableDataObject::getData): + (WebCore::ReadableDataObject::urlTitle): + (WebCore::ReadableDataObject::htmlBaseUrl): + (WebCore::ReadableDataObject::filenames): + (WebCore::ReadableDataObject::ensureTypeCacheInitialized): + * platform/chromium/SSLKeyGeneratorChromium.cpp: + (WebCore::signedPublicKeyAndChallengeString): + * platform/chromium/ScrollbarThemeChromium.cpp: + * platform/chromium/ScrollbarThemeChromiumLinux.cpp: + (WebCore::ScrollbarThemeChromiumLinux::scrollbarThickness): + (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece): + (WebCore::ScrollbarThemeChromiumLinux::paintButton): + (WebCore::ScrollbarThemeChromiumLinux::paintThumb): + (WebCore::ScrollbarThemeChromiumLinux::buttonSize): + (WebCore::ScrollbarThemeChromiumLinux::minimumThumbLength): + * platform/chromium/ScrollbarThemeChromiumMac.mm: + (WebCore::scrollbarStateToThemeState): + (WebCore::ScrollbarThemeChromiumMac::paint): + * platform/chromium/ScrollbarThemeChromiumWin.cpp: + (WebCore::ScrollbarThemeChromiumWin::scrollbarThickness): + (WebCore::ScrollbarThemeChromiumWin::paintTrackPiece): + (WebCore::ScrollbarThemeChromiumWin::paintButton): + (WebCore::ScrollbarThemeChromiumWin::paintThumb): + (WebCore::ScrollbarThemeChromiumWin::buttonSize): + * platform/chromium/SharedTimerChromium.cpp: + (WebCore::setSharedTimerFiredFunction): + (WebCore::setSharedTimerFireTime): + (WebCore::stopSharedTimer): + * platform/chromium/SuddenTerminationChromium.cpp: + (WebCore::disableSuddenTermination): + (WebCore::enableSuddenTermination): + * platform/chromium/SystemTimeChromium.cpp: + (WebCore::currentTime): + * platform/chromium/WritableDataObject.cpp: + (WebCore::WritableDataObject::setData): + * platform/graphics/chromium/CrossProcessFontLoading.mm: + * platform/graphics/chromium/FontCacheChromiumWin.cpp: + (WebCore::fontContainsCharacter): + (WebCore::FillLogFont): + * platform/graphics/chromium/FontCacheLinux.cpp: + (WebCore::FontCache::getFontDataForCharacters): + * platform/graphics/chromium/FontChromiumWin.cpp: + (WebCore::Font::drawGlyphs): + * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp: + (WebCore::FontPlatformData::scriptFontProperties): + * platform/graphics/chromium/FontPlatformDataLinux.cpp: + (WebCore::FontPlatformData::querySystemForRenderStyle): + * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp: + (WebCore::fillBMPGlyphs): + * platform/graphics/chromium/ImageChromium.cpp: + (WebCore::Image::loadPlatformResource): + * platform/graphics/chromium/ImageChromiumMac.mm: + (WebCore::Image::loadPlatformResource): + * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp: + (WebCore::SimpleFontData::platformInit): + (WebCore::SimpleFontData::determinePitch): + (WebCore::SimpleFontData::platformWidthForGlyph): + * platform/graphics/chromium/UniscribeHelperTextRun.cpp: + (WebCore::UniscribeHelperTextRun::tryToPreloadFont): + * platform/graphics/skia/FontCustomPlatformData.cpp: + (WebCore::FontCustomPlatformData::fontPlatformData): + * platform/network/chromium/CookieJarChromium.cpp: + (WebCore::setCookies): + (WebCore::cookies): + (WebCore::cookieRequestHeaderFieldValue): + (WebCore::cookiesEnabled): + (WebCore::getRawCookies): + (WebCore::deleteCookie): + * platform/network/chromium/DNSChromium.cpp: + (WebCore::prefetchDNS): + * platform/qt/PlatformBridge.h: + * platform/sql/chromium/SQLiteFileSystemChromium.cpp: + (WebCore::SQLiteFileSystem::deleteDatabaseFile): + (WebCore::SQLiteFileSystem::getDatabaseFileSize): + * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp: + (chromiumOpen): + (chromiumDelete): + (chromiumAccess): + * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp: + * plugins/chromium/PluginDataChromium.cpp: + (WebCore::PluginCache::plugins): + * rendering/RenderThemeChromiumMac.mm: + (WebCore::RenderThemeChromiumMac::usesTestModeFocusRingColor): + * rendering/RenderThemeChromiumSkia.cpp: + (WebCore::RenderThemeChromiumSkia::caretBlinkInterval): + * rendering/RenderThemeChromiumWin.cpp: + (WebCore::RenderThemeChromiumWin::platformActiveSelectionBackgroundColor): + (WebCore::RenderThemeChromiumWin::platformInactiveSelectionBackgroundColor): + (WebCore::RenderThemeChromiumWin::platformActiveSelectionForegroundColor): + (WebCore::RenderThemeChromiumWin::systemColor): + (WebCore::RenderThemeChromiumWin::paintButton): + (WebCore::RenderThemeChromiumWin::paintSliderTrack): + (WebCore::menuListButtonWidth): + (WebCore::RenderThemeChromiumWin::paintMenuList): + (WebCore::RenderThemeChromiumWin::paintTextFieldInternal): + (WebCore::RenderThemeChromiumWin::paintInnerSpinButton): + (WebCore::RenderThemeChromiumWin::paintProgressBar): + * storage/chromium/IDBFactoryBackendInterface.cpp: + (WebCore::IDBFactoryBackendInterface::create): + (WebCore::IDBFactoryBackendInterface::~IDBFactoryBackendInterface): + * storage/chromium/IDBKeyPathBackendImpl.cpp: + (WebCore::IDBKeyPathBackendImpl::createIDBKeysFromSerializedValuesAndKeyPath): + +2011-01-19 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r76187. + http://trac.webkit.org/changeset/76187 + https://bugs.webkit.org/show_bug.cgi?id=52778 + + Broke caret-showing tests on SnowLeopard and Chromium + (Requested by dimich on #webkit). + + * rendering/RenderText.cpp: + (WebCore::RenderText::localCaretRect): + +2011-01-19 Yuzo Fujishima <yuzo@google.com> + + Reviewed by Kent Tamura. + + Fix for Bug 52279 - WebCore::RenderBlock::updateFirstLetter crashes for anonymous blocks + https://bugs.webkit.org/show_bug.cgi?id=52279 + + In constructing text fragments to handle first-letter rule, first add + the text for the non-first letters and then remove the original text, + rather than the other way around. Otherwise, the text can be added to + an anoymous block that is different from the original one. This breaks + the assumption that a first letter render object has a non-null sibling + for the non-first letters and causes a crash. + + Test: fast/css/first-letter-anonymous-block-crash.html + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::updateFirstLetter): + +2011-01-19 James Robinson <jamesr@chromium.org> + + Unreviewed, rolling out r76194. + http://trac.webkit.org/changeset/76194 + https://bugs.webkit.org/show_bug.cgi?id=51218 + + Caused mysterious compile failure on the chromium win + build.webkit.org bots + + * WebCore.gypi: + * dom/Document.cpp: + (WebCore::Document::Document): + * dom/Document.h: + * dom/RequestAnimationFrameCallback.h: Removed. + * dom/RequestAnimationFrameCallback.idl: Removed. + * loader/EmptyClients.h: + * page/Chrome.cpp: + * page/Chrome.h: + * page/ChromeClient.h: + * page/DOMWindow.cpp: + * page/DOMWindow.h: + * page/DOMWindow.idl: + * page/FrameView.cpp: + * page/FrameView.h: + * platform/HostWindow.h: + +2011-01-19 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Sam Weinig. + + GraphicsLayers in subframes can get sync'd multiple times + https://bugs.webkit.org/show_bug.cgi?id=52489 + + Some cleanup that will work towards fixing this bug. + + Tested by existing iframe compositing tests. + + * WebCore.exp.in: syncCompositingStateRecursive() + was renamed to syncCompositingStateIncludingSubframes(). + + * page/FrameView.h: + * page/FrameView.cpp: + (WebCore::FrameView::syncCompositingStateForThisFrame): Some + code cleanup: do all the word we need to do for this frame, + including the needsLayout() check. + (WebCore::FrameView::syncCompositingStateIncludingSubframes): + This is no longer recursive; instead, it iterates over descendant + frames via the frame tree, calling syncCompositingStateForThisFrame() + on each Frame's view. + + * rendering/RenderLayerCompositor.h: + (WebCore::RenderLayerCompositor::isFlushingLayers): Getter for the flag. + * rendering/RenderLayerCompositor.cpp: + (WebCore::RenderLayerCompositor::RenderLayerCompositor): + (WebCore::RenderLayerCompositor::flushPendingLayerChanges): Maintain + a flag to say if we're flushing, which allows us to assert on re-entrant flushes. + (WebCore::RenderLayerCompositor::enclosingCompositorFlushingLayers): + Add the ability to get the rootmost compositor that is in the middle + of a flush. + +2011-01-19 James Robinson <jamesr@chromium.org> + + Reviewed by Darin Fisher. + + Implement mozilla's requestAnimationFrame API + https://bugs.webkit.org/show_bug.cgi?id=51218 + + This implements mozilla's proposed requestAnimationFrame API. The idea with this API is that + an author driving an animation from script could use window.requestAnimationFrame(callback) + instead of window.setTimeout(callback, 0) to schedule their update logic and let the browser + decide when to update the animations. This avoids doing unnecessary work when the page content + is offscreen or is being displayed at a different framerate than what the page author expects. + + Mozilla's proposal is here: https://developer.mozilla.org/en/DOM/window.mozRequestAnimationFrame + This implements window.mozRequestAnimationFrame as window.webkitRequestAnimationFrame with the + following changes: + *) Only the callback syntax is supported, there is no before paint event + *) webkitRequestAnimationFrame supports a second parameter Element to let the author indicate + what content they intend to animate. That way if the page is being displayed but the element + in question is offscreen, we can avoid invoking the callback. + *) No timestamp is provided to the caller and there is no window.animationStartTime property + (see https://bugs.webkit.org/show_bug.cgi?id=51952 for discussion of this property) + *) window.webkitRequestAnimationFrame returns a numerical id that can be used to cancel the callback + using window.cancelWebkitRequestAnimationFrame, to parallel window.setTimeout()/window.clearTime(). + + The implementation depends on the embedder scheduling the callbacks since the callback invocation + depends on the page's visibility and the embedder's paint scheduling, neither of which are exposed + to WebCore. The expectation for the embedder is that at some point Chrome::scheduleAnimation() is + called FrameView::serviceScriptedAnimations() should be called for the associated Page's main frame. + Ideally serviceScriptedAnimations() would be called prior to rendering - although in practice the + embedder has to rate limit callbacks and may not be able to tie the callback directly to the + rendering loop. + + Tests: fast/animation/request-animation-frame-cancel.html + fast/animation/request-animation-frame-cancel2.html + fast/animation/request-animation-frame-display.html + fast/animation/request-animation-frame-within-callback.html + fast/animation/request-animation-frame.html + + * WebCore.gypi: + * dom/Document.cpp: + (WebCore::Document::Document): + (WebCore::Document::webkitRequestAnimationFrame): + (WebCore::Document::webkitCancelRequestAnimationFrame): + (WebCore::Document::serviceScriptedAnimations): + * dom/Document.h: + * dom/RequestAnimationFrameCallback.h: Added. + (WebCore::RequestAnimationFrameCallback::~RequestAnimationFrameCallback): + * dom/RequestAnimationFrameCallback.idl: Added. + * loader/EmptyClients.h: + (WebCore::EmptyChromeClient::scheduleAnimation): + * page/Chrome.cpp: + (WebCore::Chrome::scheduleAnimation): + * page/Chrome.h: + * page/ChromeClient.h: + * page/DOMWindow.cpp: + (WebCore::DOMWindow::webkitRequestAnimationFrame): + (WebCore::DOMWindow::webkitCancelRequestAnimationFrame): + * page/DOMWindow.h: + * page/DOMWindow.idl: + * page/FrameView.cpp: + (WebCore::FrameView::scheduleAnimation): + (WebCore::FrameView::serviceScriptedAnimations): + * page/FrameView.h: + * platform/HostWindow.h: + +2011-01-13 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Daniel Bates. + + [GTK] Move progress bar painting out of gtk2drawing.c + https://bugs.webkit.org/show_bug.cgi?id=52385 + + Move progress bar painting to RenderThemeGtk2 and share some animation + logic between the GTK+ 2.x and GTK+ 3.x port. + + No new tests. This should not change functionality. + + * platform/gtk/RenderThemeGtk.cpp: + (WebCore::RenderThemeGtk::animationRepeatIntervalForProgressBar): Moved from RenderThemeGtk3. + (WebCore::RenderThemeGtk::animationDurationForProgressBar): Ditto. + (WebCore::RenderThemeGtk::calculateProgressRect): Calculate the proper rectangle for the + progress indicator given the rect for the maximum size of the indicator. + * platform/gtk/RenderThemeGtk.h: Added calculateProgressRect declaration and + a new widget member for GTK+ 2.x + * platform/gtk/RenderThemeGtk2.cpp: + (WebCore::RenderThemeGtk::platformInit): Added initialization for the new widget member. + (WebCore::RenderThemeGtk::paintProgressBar): Paint the progress bar manually instead of + calling the old Mozilla code. + (WebCore::RenderThemeGtk::gtkProgressBar): Added. + * platform/gtk/RenderThemeGtk3.cpp: + (WebCore::RenderThemeGtk::paintProgressBar): Call calculateProgressRect now to get + the area of the progress indicator. + * platform/gtk/gtk2drawing.c: Remove unused code. + (moz_gtk_get_widget_border): + (moz_gtk_widget_paint): + * platform/gtk/gtkdrawing.h: Ditto. + +2011-01-19 Dmitry Titov <dimich@chromium.org> + + [Chromium] Not reviewed, reverts the following changes: + http://trac.webkit.org/changeset/76164 (build fix) + http://trac.webkit.org/changeset/76159 (main change) + + The change broke Chromium Linux-shlib build. + + Original issue: + Accelerated canvas2D has bad clipping performance. + https://bugs.webkit.org/show_bug.cgi?id=52627 + + * WebCore.gyp/WebCore.gyp: + * WebCore.gypi: + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::reset): + (WebCore::CanvasRenderingContext2D::platformLayer): + * platform/graphics/chromium/DrawingBufferChromium.cpp: + (WebCore::DrawingBuffer::DrawingBuffer): + * platform/graphics/chromium/GLES2Canvas.cpp: + (WebCore::GLES2Canvas::State::State): + (WebCore::GLES2Canvas::clearRect): + (WebCore::GLES2Canvas::fillRect): + (WebCore::GLES2Canvas::restore): + (WebCore::GLES2Canvas::drawTexturedRect): + * platform/graphics/chromium/GLES2Canvas.h: + * platform/graphics/gpu/DrawingBuffer.cpp: + (WebCore::DrawingBuffer::clear): + (WebCore::DrawingBuffer::createSecondaryBuffers): + (WebCore::DrawingBuffer::reset): + * platform/graphics/gpu/DrawingBuffer.h: + * platform/graphics/gpu/SharedGraphicsContext3D.cpp: + (WebCore::SharedGraphicsContext3D::create): + * platform/graphics/gpu/SharedGraphicsContext3D.h: + * platform/graphics/gpu/mac/DrawingBufferMac.mm: + (WebCore::DrawingBuffer::DrawingBuffer): + * platform/graphics/skia/GraphicsContextSkia.cpp: + (WebCore::GraphicsContext::canvasClip): + (WebCore::GraphicsContext::clipOut): + (WebCore::GraphicsContext::clipPath): + (WebCore::GraphicsContext::fillPath): + * platform/graphics/skia/PlatformContextSkia.cpp: + (WebCore::PlatformContextSkia::canAccelerate): + (WebCore::PlatformContextSkia::uploadSoftwareToHardware): + * thirdparty/glu/README.webkit: + * thirdparty/glu/gluos.h: + * thirdparty/glu/libtess/geom.c: + * thirdparty/glu/libtess/priorityq.c: + * thirdparty/glu/libtess/render.c: + * thirdparty/glu/libtess/sweep.c: + (IsWindingInside): + (DoneEdgeDict): + +2011-01-19 Levi Weintraub <leviw@google.com> + + Reviewed by Darin Adler. + + Re-committing this with the proper expected results. + + Changing RenderText::localCaretRect to clip to its containing block's logicalLeft and + logicalRightLayoutOverflow instead of simply using logicalLeft and logicalRight, as this + resulted in the caret being placed incorrectly in overflowing editable IFrame content. + + Long lines in non-white-space-pre editable documents show cursor in wrong place + https://bugs.webkit.org/show_bug.cgi?id=48132 + + Test: editing/selection/caret-painting-in-overflowing-autowrap-content.html + + * rendering/RenderText.cpp: + (WebCore::RenderText::localCaretRect): + +2011-01-18 MORITA Hajime <morrita@google.com> + + Reviewed by David Levin. + + ElementRareData::m_shadowRoot should not be RefPtr. + https://bugs.webkit.org/show_bug.cgi?id=51914 + + Makes ElementRareData::m_shadowRoot a raw pointer because + ElementRareData::m_shadowRoot should be like a + ContaineNode::m_firstChild, which is also a raw pointer. + pointer. Which also means that both the shadow root and the shadow + host reference each other as a parent-and-child relationship, via + a raw pointer. + + Note that it is safe not to manipulate the ref-count of + m_shadowRoot because Node::m_parent of the shadow root points its + shadow host, and the object isn't deleted even if the refcount is + zero, as long as the node has non-null m_parent. (See TreeShared.) + + The shadow root node is finally destroyed inside + removeShadowRoot(), where we store the root node into a local + RefPtr, then make the node's m_parent null, which results the + destroy the node, at the end of the function, by RefPtr::~RefPtr. + + No new tests. No behavioral change. + + * dom/Element.cpp: + (WebCore::Element::~Element): + (WebCore::Element::shadowRoot): + (WebCore::Element::setShadowRoot): + (WebCore::Element::removeShadowRoot): + * dom/ElementRareData.h: + (WebCore::ElementRareData::ElementRareData): + (WebCore::ElementRareData::~ElementRareData): + +2011-01-12 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Gustavo Noronha Silva. + + [GTK] Move text field painting out of gtk2drawing.c + https://bugs.webkit.org/show_bug.cgi?id=52327 + + No new tests. This should not change behavior. + + * platform/gtk/RenderThemeGtk2.cpp: + (WebCore::RenderThemeGtk::paintButton): Use the setWidgetHasFocus helper. + (WebCore::RenderThemeGtk::paintTextField): Do this manually now instead + of calling into the Mozilla code. + * platform/gtk/WidgetRenderingContext.cpp: Added a couple more wrappers + for GTK+ theme functions. + (WebCore::WidgetRenderingContext::gtkPaintFlatBox): + (WebCore::WidgetRenderingContext::gtkPaintShadow): + * platform/gtk/WidgetRenderingContext.h: Added new method declarations. + * platform/gtk/gtk2drawing.c: Remove unused code. + (moz_gtk_get_widget_border): + (moz_gtk_widget_paint): + * platform/gtk/gtkdrawing.h: + +2011-01-19 Antti Koivisto <antti@apple.com> + + Reviewed by Oliver Hunt. + + Cache function offsets to speed up javascript parsing + https://bugs.webkit.org/show_bug.cgi?id=52622 + + Use cache to save function offsets and some other info. + This avoids quite a bit of work when reparsing the source. + + * bindings/js/CachedScriptSourceProvider.h: + (WebCore::CachedScriptSourceProvider::cache): + (WebCore::CachedScriptSourceProvider::cacheSizeChanged): + (WebCore::CachedScriptSourceProvider::CachedScriptSourceProvider): + * bindings/js/ScriptSourceProvider.h: + (WebCore::ScriptSourceProvider::ScriptSourceProvider): + * loader/cache/CachedScript.cpp: + (WebCore::CachedScript::destroyDecodedData): + (WebCore::CachedScript::sourceProviderCache): + (WebCore::CachedScript::sourceProviderCacheSizeChanged): + * loader/cache/CachedScript.h: + +2011-01-11 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Gustavo Noronha Silva. + + [GTK] Move toggle button rendering out of gtk2drawing.c + https://bugs.webkit.org/show_bug.cgi?id=52258 + + * platform/gtk/RenderThemeGtk.h: + * platform/gtk/RenderThemeGtk2.cpp: + (WebCore::RenderThemeGtk::platformInit): Initialize new button members. + (WebCore::adjustRectForFocus): Added this function which inflates a rect based + on a widget's exterior focus. + (WebCore::RenderThemeGtk::adjustRepaintRect): Account for exterior focus. + (WebCore::setToggleSize): Only listen to indicator-size to properly size + checkboxes and radio buttons. + (WebCore::RenderThemeGtk::setCheckboxSize): Call new setToggleSize properly. + (WebCore::paintToggle): Added. + (WebCore::RenderThemeGtk::paintCheckbox): Call paintToggle. + (WebCore::RenderThemeGtk::setRadioSize): Call new setToggleSize properly. + (WebCore::RenderThemeGtk::paintRadio): Call paintToggle. + (WebCore::RenderThemeGtk::gtkRadioButton): Added. + (WebCore::RenderThemeGtk::gtkCheckButton): Added. + * platform/gtk/WidgetRenderingContext.cpp: + (WebCore::WidgetRenderingContext::WidgetRenderingContext): Use a static extra space + variable. This is good enough for all themes that I've tested and prevents having to + pass information from RenderThemeGtk about every single type of widget. + (WebCore::WidgetRenderingContext::gtkPaintFocus): Use the paintRect + to draw instead of m_paintRect. This is important when we're painting + something that isn't the size of the total rect. + (WebCore::WidgetRenderingContext::gtkPaintCheck): Added. + (WebCore::WidgetRenderingContext::gtkPaintOption): Added. + * platform/gtk/WidgetRenderingContext.h: Updated to reflect new methods. + * platform/gtk/gtkdrawing.h: Remove newly unused code. + * platform/gtk/gtk2drawing.c: Ditto. + +2011-01-19 Tony Gentilcore <tonyg@chromium.org> + + Unreviewed build fix. + + Build fix for r76170 + https://bugs.webkit.org/show_bug.cgi?id=52758 + + * platform/graphics/chromium/UniscribeHelperTextRun.cpp: + +2011-01-19 David D. Kilzer <ddkilzer@apple.com> + + <http://webkit.org/b/52687> Clean up FrameLoader methods for PLUGIN_PROXY_FOR_VIDEO + + Reviewed by Eric Carlson. + + * loader/FrameLoader.cpp: Declare the methods here. + (WebCore::FrameLoader::hideMediaPlayerProxyPlugin): + (WebCore::FrameLoader::showMediaPlayerProxyPlugin): + * loader/FrameLoader.cpp: Moved methods to here... + (WebCore::FrameLoader::hideMediaPlayerProxyPlugin): + (WebCore::FrameLoader::showMediaPlayerProxyPlugin): + * loader/SubframeLoader.cpp: ...from here. + (WebCore::FrameLoader::hideMediaPlayerProxyPlugin): + (WebCore::FrameLoader::showMediaPlayerProxyPlugin): + +2011-01-19 Tony Gentilcore <tonyg@chromium.org> + + Reviewed by Mihai Parparita. + + Perform some forward declaration + https://bugs.webkit.org/show_bug.cgi?id=52522 + + No new tests because no new functionality. + + * accessibility/AccessibilityObject.h: + * css/WebKitCSSMatrix.cpp: + * html/HTMLAreaElement.cpp: + * html/canvas/CanvasRenderingContext2D.cpp: + * inspector/InspectorController.cpp: + * platform/graphics/FloatPoint.cpp: + * platform/graphics/Font.cpp: + * platform/graphics/Font.h: + * platform/graphics/FontFastPath.cpp: + * platform/graphics/GraphicsContext.cpp: + * platform/graphics/ImageBuffer.h: + * platform/graphics/StringTruncator.cpp: + * platform/graphics/WidthIterator.cpp: + * platform/graphics/mac/ComplexTextController.cpp: + * platform/graphics/mac/ComplexTextControllerCoreText.cpp: + * platform/graphics/mac/FontComplexTextMac.cpp: + * platform/graphics/transforms/TransformationMatrix.cpp: + * platform/graphics/transforms/TransformationMatrix.h: + * rendering/EllipsisBox.cpp: + * rendering/InlineTextBox.cpp: + * rendering/RenderBlock.cpp: + * rendering/RenderBlockLineLayout.cpp: + * rendering/RenderEmbeddedObject.cpp: + * rendering/RenderFileUploadControl.cpp: + * rendering/RenderFlexibleBox.cpp: + * rendering/RenderImage.cpp: + * rendering/RenderListBox.cpp: + * rendering/RenderListMarker.cpp: + * rendering/RenderMenuList.cpp: + * rendering/RenderObject.h: + * rendering/RenderText.cpp: + * rendering/RenderTextControl.cpp: + * rendering/svg/SVGInlineTextBox.cpp: + * rendering/svg/SVGMarkerLayoutInfo.h: + * rendering/svg/SVGTextMetrics.cpp: + * svg/SVGFont.cpp: + +2011-01-19 Adrienne Walker <enne@google.com> + + Reviewed by Kenneth Russell. + + [chromium] Tiled compositor should use texture manager + https://bugs.webkit.org/show_bug.cgi?id=52418 + + Test: compositing/ + + * platform/graphics/chromium/LayerRendererChromium.cpp: + (WebCore::LayerRendererChromium::~LayerRendererChromium): + (WebCore::LayerRendererChromium::cleanupSharedObjects): + * platform/graphics/chromium/LayerTilerChromium.cpp: + (WebCore::LayerTilerChromium::LayerTilerChromium): + (WebCore::LayerTilerChromium::reset): + (WebCore::LayerTilerChromium::createTile): + (WebCore::LayerTilerChromium::update): + (WebCore::LayerTilerChromium::draw): + * platform/graphics/chromium/LayerTilerChromium.h: + (WebCore::LayerTilerChromium::Tile::Tile): + (WebCore::LayerTilerChromium::Tile::texture): + +2011-01-19 Stephen White <senorblanco@chromium.org> + + Unreviewed; build fix for chromium. + + * platform/graphics/chromium/GLES2Canvas.cpp: + (WebCore::GLES2Canvas::fillPath): + +2011-01-18 Stephen White <senorblanco@chromium.org> + + Reviewed by James Robinson. + + Implement accelerated path drawing and clipping for the Canvas2D GPU + path. + https://bugs.webkit.org/show_bug.cgi?id=52627 + + This is done with a simple curve interpolator and the GLU tesselator, + which is good enough for a 3-5X speedup on + http://ie.microsoft.com/testdrive/Performance/Galactic/Default.html. + + Covered by canvas/philip/2d.path.clip.basic.html, and many, many more. + All tests canvas/philip and fast/canvas paths pass with no + regressions, although two have minor pixel differences which require + rebaselining. + + * WebCore.gyp/WebCore.gyp: + Add internal_glu include path to chromium build. + * WebCore.gypi: + Add internal_glu files to chromium build. + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::reset): + (WebCore::CanvasRenderingContext2D::platformLayer): + Make CanvasRenderingContext2D more robust against failure to create + a DrawingBuffer. + * platform/graphics/chromium/DrawingBufferChromium.cpp: + (WebCore::DrawingBuffer::DrawingBuffer): + As in DrawingBufferMac.cpp, call reset() from the constructor. + Also initialize size to (-1, -1), so reset() doesn't early-out. + Add initializers for depthBuffer and stencilBuffer, and remove + multisampleDepthStencilBuffer. + * platform/graphics/chromium/GLES2Canvas.cpp: + Remove some unused #includes. + (WebCore::GLES2Canvas::State::State): + Add clipping state, and implement save/restore via the copy constructor. + (WebCore::operator*): + (WebCore::Quadratic::Quadratic): + (WebCore::Quadratic::fromBezier): + (WebCore::Quadratic::evaluate): + Quadratic Bezier curve class. + (WebCore::Cubic::Cubic): + (WebCore::Cubic::fromBezier): + (WebCore::Cubic::evaluate): + Cubic Bezier curve class. + (WebCore::GLES2Canvas::clearRect): + Add clipping support to clearRect(). + (WebCore::GLES2Canvas::fillPath): + Implement fillPath(). + (WebCore::GLES2Canvas::fillRect): + Add clipping support to fillRect(). + (WebCore::GLES2Canvas::clipPath): + Implement clipPath(). + (WebCore::GLES2Canvas::clipOut): + Stub out clipOut() (not called by Canvas 2D). + (WebCore::GLES2Canvas::restore): + When restoring, draw any remaining clipping paths to the stencil buffer. + (WebCore::GLES2Canvas::drawTexturedRect): + Add clipping support. + (WebCore::interpolateQuadratic): + (WebCore::interpolateCubic): + Simple curve interpolation, using the Cubic and Quadratic classes. + (WebCore::PolygonData::PolygonData): + A struct to hold the tesselation data for callbacks. + (WebCore::beginData): + (WebCore::edgeFlagData): + (WebCore::vertexData): + (WebCore::endData): + (WebCore::combineData): + internal_glu tesselation callbacks. + (WebCore::GLES2Canvas::createVertexBufferFromPath): + Build an interpolated, tesselated vertex buffer and element array buffer from a given path, suitable for filling. + (WebCore::GLES2Canvas::beginStencilDraw): + Enable stencilling, and disable draws to the color buffer. + (WebCore::GLES2Canvas::applyClipping): + If clipping is enabled, set the appropriate GL state. + * platform/graphics/chromium/GLES2Canvas.h: + Document the flavours of drawTexturedRect() a bit, so I don't get confused. + * platform/graphics/gpu/DrawingBuffer.cpp: + (WebCore::DrawingBuffer::clear): + (WebCore::DrawingBuffer::createSecondaryBuffers): + (WebCore::DrawingBuffer::resizeDepthStencil): + (WebCore::DrawingBuffer::reset): + * platform/graphics/gpu/DrawingBuffer.h: + Unify m_multisampleDepthStencilBuffer with m_depthStencilBuffer. + Implement separate depth and stencil buffers for when + OES_packed_depth_stencil is not available. Refactor creation of + multisampled and non-multisampled depth and stencil buffers into + resizeDepthStencil(). + * platform/graphics/gpu/SharedGraphicsContext3D.cpp: + (WebCore::SharedGraphicsContext3D::create): + Turn on stencil, turn off depth, turn off antialiasing (for now). + (WebCore::SharedGraphicsContext3D::enableStencil): + * platform/graphics/gpu/SharedGraphicsContext3D.h: + Implement stencil enable/disable. + * platform/graphics/gpu/mac/DrawingBufferMac.mm: + (WebCore::DrawingBuffer::DrawingBuffer): + Remove m_multisampleDepthStencilBuffer. Set the size to (-1, -1) + on creation, so reset() doesn't early-out. Initialize m_depthBuffer + and m_stencilBuffer. + * platform/graphics/skia/GraphicsContextSkia.cpp: + (WebCore::GraphicsContext::canvasClip): + (WebCore::GraphicsContext::clipOut): + (WebCore::GraphicsContext::clipPath): + (WebCore::GraphicsContext::fillPath): + Put in GPU hooks for path clipping, and path drawing. + * platform/graphics/skia/PlatformContextSkia.cpp: + (WebCore::PlatformContextSkia::canAccelerate): + Don't check for clipping paths in canAccelerate() (since we can + now accelerate them). + (WebCore::PlatformContextSkia::uploadSoftwareToHardware): + Don't do clipping when uploading software draws to hardware. + * thirdparty/glu/README.webkit: + * thirdparty/glu/gluos.h: + #undef MIN and MAX, to fix warnings-as-errors in Chrome/Mac build. + * thirdparty/glu/libtess/geom.c: + * thirdparty/glu/libtess/priorityq.c: + * thirdparty/glu/libtess/render.c: + Use do{}while(0) instead of if(1)else construct in macro. + * thirdparty/glu/libtess/sweep.c: + (IsWindingInside): + (DoneEdgeDict): + Fix some warnings treated as errors for the Linux Release build. + +2011-01-19 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r76144. + http://trac.webkit.org/changeset/76144 + https://bugs.webkit.org/show_bug.cgi?id=52737 + + Broke tests on multiple bots, mostly Chromium Canaries + (Requested by dimich on #webkit). + + * rendering/RenderText.cpp: + (WebCore::RenderText::localCaretRect): + +2011-01-19 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Adam Roben. + + [CSS Gradients] Crash due to out-of-memory with repeating-linear-gradient and latter stop positioned before former + https://bugs.webkit.org/show_bug.cgi?id=52732 + + When repeating gradient stops, make sure that the first and last stops are not at the same + place, otherwise we'll add stops indefinitely and run out of memory. + + Test: fast/gradients/zero-range-repeating-gradient-hang.html + + * css/CSSGradientValue.cpp: + (WebCore::CSSGradientValue::addStops): + +2011-01-14 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Darin Adler. + + Remove event forwarding logic from input[type=range], simplify event flow and thumb positioning logic. + https://bugs.webkit.org/show_bug.cgi?id=52464 + + This change has two parts: + + 1) Utilize shadow DOM event retargeting to get rid of forwarding events + via render tree; + 2) Move thumb positioning logic from RenderSlider to SliderThumbElement. + + These two are highly co-dependent. It looked ugly when I tried to + separate them. + + No change in behavior, covered by existing tests. + + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::defaultEventHandler): Added invocation of + InputType::handleMouseDownEvent. + * html/InputType.cpp: + (WebCore::InputType::handleMouseDownEvent): Added empty decl. + * html/InputType.h: Added def. + * html/RangeInputType.cpp: + (WebCore::RangeInputType::handleMouseDownEvent): Added to handle the case + when the user clicks on the track of the slider. Also removed the + forwardEvent method. + * html/RangeInputType.h: Added/removed defs. + * html/shadow/SliderThumbElement.cpp: + (WebCore::SliderThumbElement::dragFrom): Added a helper method to start + dragging from any position. + (WebCore::SliderThumbElement::dragTo): Added a helper method to drag to + specified position. + (WebCore::SliderThumbElement::setPosition): Collapsed most of the positioning + logic in RenderSlider into this method, which is now a simple calculation + and adjusting of thumb position based on supplied coordinates. + (WebCore::SliderThumbElement::startDragging): Added. + (WebCore::SliderThumbElement::stopDragging): Added. + (WebCore::SliderThumbElement::defaultEventHandler): Removed most of the + old position-sniffing logic and replaced with simple calls to start, + stop, and drag the thumb. + * html/shadow/SliderThumbElement.h: Added defs. + * rendering/RenderSlider.cpp: Removed a bunch of code that is no longer + necessary. + * rendering/RenderSlider.h: Removed defs, removed now-unnecessary friendliness. + +2011-01-19 Shane Stephens <shanestephens@google.com> + + Reviewed by Chris Marrin. + + Make AffineTransform and TransformationMatrix do matrix multiplication in the correct order (Column Major) + https://bugs.webkit.org/show_bug.cgi?id=48031 + + Fixed reversal, renamed matrix methods to be clearer, found all examples of operator* and + operator*= usage and switched operand order. + + No new tests as this refactor doesn't add functionality. + + * html/HTMLCanvasElement.cpp: + (WebCore::HTMLCanvasElement::baseTransform): + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::transform): + (WebCore::CanvasRenderingContext2D::setTransform): + * platform/graphics/cg/PatternCG.cpp: + (WebCore::Pattern::createPlatformPattern): + * platform/graphics/chromium/GLES2Canvas.cpp: + (WebCore::GLES2Canvas::fillRect): + (WebCore::GLES2Canvas::concatCTM): + (WebCore::GLES2Canvas::drawQuad): + * platform/graphics/chromium/TransparencyWin.cpp: + (WebCore::TransparencyWin::setupLayerForOpaqueCompositeLayer): + (WebCore::TransparencyWin::setupTransformForKeepTransform): + * platform/graphics/transforms/AffineTransform.cpp: + (WebCore::AffineTransform::multiply): + (WebCore::AffineTransform::rotate): + * platform/graphics/transforms/AffineTransform.h: + (WebCore::AffineTransform::operator*=): + (WebCore::AffineTransform::operator*): + * platform/graphics/wince/GraphicsContextWinCE.cpp: + (WebCore::GraphicsContextPlatformPrivate::concatCTM): + * platform/graphics/wince/SharedBitmap.cpp: + (WebCore::SharedBitmap::drawPattern): + * rendering/svg/RenderSVGResourceContainer.cpp: + (WebCore::RenderSVGResourceContainer::transformOnNonScalingStroke): + * rendering/svg/RenderSVGResourceGradient.cpp: + (WebCore::clipToTextMask): + (WebCore::RenderSVGResourceGradient::applyResource): + * rendering/svg/RenderSVGResourcePattern.cpp: + (WebCore::RenderSVGResourcePattern::applyResource): + * rendering/svg/RenderSVGRoot.cpp: + (WebCore::RenderSVGRoot::localToBorderBoxTransform): + * rendering/svg/SVGImageBufferTools.cpp: + (WebCore::SVGImageBufferTools::calculateTransformationToOutermostSVGCoordinateSystem): + (WebCore::SVGImageBufferTools::renderSubtreeToImageBuffer): + * rendering/svg/SVGTextLayoutEngine.cpp: + (WebCore::SVGTextLayoutEngine::finalizeTransformMatrices): + * svg/SVGLocatable.cpp: + (WebCore::SVGLocatable::computeCTM): + (WebCore::SVGLocatable::getTransformToElement): + * svg/SVGMatrix.h: + (WebCore::SVGMatrix::multiply): + * svg/SVGSVGElement.cpp: + (WebCore::SVGSVGElement::localCoordinateSpaceTransform): + (WebCore::SVGSVGElement::viewBoxToViewTransform): + * svg/SVGStyledTransformableElement.cpp: + (WebCore::SVGStyledTransformableElement::animatedLocalTransform): + * svg/SVGTextElement.cpp: + (WebCore::SVGTextElement::animatedLocalTransform): + * svg/SVGTransformList.cpp: + (WebCore::SVGTransformList::concatenate): + +2011-01-19 Chang Shu <chang.shu@nokia.com> + + Reviewed by Darin Adler. + + The return value of contentEditable() function should depend on the DOM attribute + instead of render style userModify. The code change fixed test cases in the bug + and partially fixed test cases in other contentEditable bugs; + + https://bugs.webkit.org/show_bug.cgi?id=52056 + + * html/HTMLElement.cpp: + (WebCore::HTMLElement::contentEditable): + +2011-01-19 Levi Weintraub <leviw@chromium.org> + + Reviewed by Darin Adler. + + Changing RenderText::localCaretRect to clip to its containing block's logicalLeft and + logicalRightLayoutOverflow instead of simply using logicalLeft and logicalRight, as this + resulted in the caret being placed incorrectly in overflowing editable IFrame content. + + Long lines in non-white-space-pre editable documents show cursor in wrong place + https://bugs.webkit.org/show_bug.cgi?id=48132 + + Test: editing/selection/caret-painting-in-overflowing-autowrap-content.html + + * rendering/RenderText.cpp: + (WebCore::RenderText::localCaretRect): + +2011-01-19 Chris Marrin <cmarrin@apple.com> + + Reviewed by Simon Fraser. + + WK2 - Multiple crashes in PlatformCALayer::replaceSublayer + https://bugs.webkit.org/show_bug.cgi?id=52695 + + Added ASSERTs to the places we assume a non-null superlayer. + + * platform/graphics/ca/GraphicsLayerCA.cpp: + (WebCore::GraphicsLayerCA::ensureStructuralLayer): + (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer): + +2011-01-18 Beth Dakin <bdakin@apple.com> + + Reviewed by Maciej Stachowiak. + + Fix for <rdar://problem/8882916> Overlay scrollers require + content to layout underneath the scrollbar area + + The render tree should not include scrollbar size for + overlay scrollers. This patch will allow scrollers on + the WebView to behave like overflow:overlay. + + Treat overlay scrollers the same way as the !includeScrollbars + case. + * platform/ScrollView.cpp: + (WebCore::ScrollView::visibleContentRect): + + No corner rect for overlay scrollers. + (WebCore::ScrollView::scrollCornerRect): + + usesOverlayScrollbars() currently always returns no. + * platform/ScrollbarTheme.h: + (WebCore::ScrollbarTheme::usesOverlayScrollbars): + * platform/mac/ScrollbarThemeMac.h: + * platform/mac/ScrollbarThemeMac.mm: + (WebCore::ScrollbarThemeMac::usesOverlayScrollbars): + + includeVerticalScrollbarSize() and includeHorizontalScrollbarSize() + should return false for overlay scrollers. They already return + false for overflow:overlay. + * rendering/RenderBox.cpp: + (WebCore::RenderBox::includeVerticalScrollbarSize): + (WebCore::RenderBox::includeHorizontalScrollbarSize): + * rendering/RenderBox.h: + + In the render tree, always treat overlay scrollers like + they have a width and height of 0. + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::verticalScrollbarWidth): + (WebCore::RenderLayer::horizontalScrollbarHeight): + * rendering/RenderListBox.cpp: + (WebCore::RenderListBox::verticalScrollbarWidth): + +2011-01-18 Evan Martin <evan@chromium.org> + + Reviewed by Tony Chang. + + [chromium] simplify complex text code, fixing a handful of layout tests + https://bugs.webkit.org/show_bug.cgi?id=52661 + + Change ComplexTextControllerLinux to lay out RTL text to the left from + the starting point. (Previously it always went to the right.) This allows + us to map pixel offsets more directly into offsets within the text runs, + simplifying a few of the text-fiddling functions (they no longer need to + track the current position, as ComplexTextController now does it). + + * platform/graphics/chromium/ComplexTextControllerLinux.cpp: + (WebCore::ComplexTextController::ComplexTextController): + (WebCore::ComplexTextController::reset): + (WebCore::ComplexTextController::setGlyphXPositions): + * platform/graphics/chromium/ComplexTextControllerLinux.h: + (WebCore::ComplexTextController::offsetX): + * platform/graphics/chromium/FontLinux.cpp: + (WebCore::Font::drawComplexText): + (WebCore::Font::floatWidthForComplexText): + (WebCore::glyphIndexForXPositionInScriptRun): + (WebCore::Font::offsetForPositionForComplexText): + (WebCore::Font::selectionRectForComplexText): + +2011-01-19 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: move methods from InjectedScript domain into DOM, + Runtime and Debugger domains. Introduce InspectorRuntimeAgent. + https://bugs.webkit.org/show_bug.cgi?id=52717 + + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * inspector/CodeGeneratorInspector.pm: + * inspector/InjectedScript.cpp: + (WebCore::InjectedScript::evaluateOnCallFrame): + (WebCore::InjectedScript::getCompletions): + (WebCore::InjectedScript::getCompletionsOnCallFrame): + * inspector/InjectedScript.h: + * inspector/InjectedScriptHost.cpp: + (WebCore::InjectedScriptHost::injectedScriptForMainWorld): + * inspector/InjectedScriptHost.h: + * inspector/InjectedScriptSource.js: + (.): + (): + * inspector/Inspector.idl: + * inspector/InspectorController.cpp: + (WebCore::InspectorController::connectFrontend): + (WebCore::InspectorController::releaseFrontendLifetimeAgents): + * inspector/InspectorController.h: + * inspector/InspectorDOMAgent.cpp: + (WebCore::InspectorDOMAgent::InspectorDOMAgent): + (WebCore::InspectorDOMAgent::resolveNode): + (WebCore::InspectorDOMAgent::getNodeProperties): + (WebCore::InspectorDOMAgent::getNodePrototypes): + (WebCore::InspectorDOMAgent::injectedScriptForNodeId): + * inspector/InspectorDOMAgent.h: + (WebCore::EventListenerInfo::EventListenerInfo): + (WebCore::InspectorDOMAgent::DOMListener::~DOMListener): + (WebCore::InspectorDOMAgent::create): + (WebCore::InspectorDOMAgent::cast): + (WebCore::InspectorDOMAgent::documents): + * inspector/InspectorDebuggerAgent.cpp: + (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame): + (WebCore::InspectorDebuggerAgent::getCompletionsOnCallFrame): + (WebCore::InspectorDebuggerAgent::injectedScriptForCallFrameId): + * inspector/InspectorDebuggerAgent.h: + * inspector/InspectorRuntimeAgent.cpp: Added. + (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent): + (WebCore::InspectorRuntimeAgent::~InspectorRuntimeAgent): + (WebCore::InspectorRuntimeAgent::evaluate): + (WebCore::InspectorRuntimeAgent::getCompletions): + (WebCore::InspectorRuntimeAgent::getProperties): + (WebCore::InspectorRuntimeAgent::setPropertyValue): + (WebCore::InspectorRuntimeAgent::pushNodeToFrontend): + (WebCore::InspectorRuntimeAgent::injectedScriptForObjectId): + * inspector/InspectorRuntimeAgent.h: Copied from Source/WebCore/inspector/InjectedScript.h. + (WebCore::InspectorRuntimeAgent::create): + * inspector/front-end/ConsoleView.js: + (WebInspector.ConsoleView.prototype.completions): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame): + +2011-01-18 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: add UglifyJS parser and formatter files + https://bugs.webkit.org/show_bug.cgi?id=51702 + + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * inspector/front-end/ScriptFormatter.js: + (WebInspector.ScriptFormatter.positionToLocation): + (WebInspector.ScriptFormatter.prototype.format.messageHandler): + (WebInspector.ScriptFormatter.prototype.format): + (WebInspector.ScriptFormatter.prototype._buildMapping): + (WebInspector.ScriptFormatter.prototype._convertPosition): + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrame.prototype.formatSource.didFormat): + (WebInspector.SourceFrame.prototype.formatSource): + * inspector/front-end/WebKit.qrc: + * inspector/front-end/parse-js.js: Added. UglifyJS parser. + * inspector/front-end/process.js: Added. UglifyJS formatter. + * inspector/front-end/scriptFormatterWorker.js: Added. Worker script that wraps UglifyJS code. + (onmessage): + (beautify): + (loadModule): + (require): + * inspector/front-end/utilities.js: + (): + +2011-01-19 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: [JSC] scripts have incorrect starting line (always 1). + https://bugs.webkit.org/show_bug.cgi?id=52721 + + Test: inspector/debugger-scripts.html + + * bindings/js/ScriptDebugServer.cpp: + (WebCore::ScriptDebugServer::dispatchDidParseSource): + (WebCore::ScriptDebugServer::dispatchFailedToParseSource): + (WebCore::ScriptDebugServer::sourceParsed): + * bindings/js/ScriptDebugServer.h: + * bindings/js/ScriptSourceCode.h: + (WebCore::ScriptSourceCode::ScriptSourceCode): + * bindings/js/StringSourceProvider.h: + (WebCore::StringSourceProvider::create): + (WebCore::StringSourceProvider::startPosition): + (WebCore::StringSourceProvider::StringSourceProvider): + +2011-01-19 Satish Sampath <satish@chromium.org> + + Reviewed by Jeremy Orlow. + + Send origin/url as part of speech input requests to the embedder. + https://bugs.webkit.org/show_bug.cgi?id=52718 + + * page/SpeechInput.cpp: + (WebCore::SpeechInput::startRecognition): Pass up additional origin parameter. + * page/SpeechInput.h: + * page/SpeechInputClient.h: + * platform/mock/SpeechInputClientMock.cpp: + (WebCore::SpeechInputClientMock::startRecognition): Updated prototype. + * platform/mock/SpeechInputClientMock.h: + * rendering/TextControlInnerElements.cpp: + (WebCore::InputFieldSpeechButtonElement::defaultEventHandler): Pass the frame origin to speech input request. + +2011-01-19 Hans Wennborg <hans@chromium.org> + + Reviewed by Jeremy Orlow. + + IndexedDB: Support auto-increment keys + https://bugs.webkit.org/show_bug.cgi?id=52576 + + Add support for auto-increment keys. + + Test: storage/indexeddb/objectstore-autoincrement.html + + * storage/IDBDatabase.cpp: + (WebCore::IDBDatabase::createObjectStore): + * storage/IDBObjectStoreBackendImpl.cpp: + (WebCore::genAutoIncrementKey): + (WebCore::IDBObjectStoreBackendImpl::putInternal): + +2011-01-19 Csaba Osztrogonác <ossy@webkit.org> + + Reviewed by Laszlo Gombos and Tor Arne Vestbø. + + [Qt] Remove unnecessary "../Source" from paths + after moving source files into Source is finished. + + * WebCore.pri: + * WebCore.pro: + +2011-01-19 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: Employ TextPrompt for CSS property name/value autocompletion + https://bugs.webkit.org/show_bug.cgi?id=52212 + + WebInspector.CSSKeywordCompletions contains a hand-written list of accepted CSS property value keywords + for each property. WebInspector.TextPrompt is used to suggest both the name and value keywords while + editing styles, in place of the old custom suggestion code. + + * inspector/front-end/CSSCompletions.js: + (WebInspector.CSSCompletions.prototype.startsWith): Fix array-out-of-bounds error. + * inspector/front-end/CSSKeywordCompletions.js: Added. + (WebInspector.CSSKeywordCompletions.forProperty): + * inspector/front-end/StylesSidebarPane.js: + (WebInspector.StylePropertyTreeElement.prototype.updateTitle): + (WebInspector.StylePropertyTreeElement.prototype): + (): + * inspector/front-end/TextPrompt.js: + (WebInspector.TextPrompt): + (WebInspector.TextPrompt.prototype.removeFromElement): + (WebInspector.TextPrompt.prototype._onKeyDown): + (WebInspector.TextPrompt.prototype.tabKeyPressed): + (WebInspector.TextPrompt.prototype.upKeyPressed): + (WebInspector.TextPrompt.prototype.downKeyPressed): + (WebInspector.TextPrompt.prototype._moveBackInHistory): + (WebInspector.TextPrompt.prototype._moveForwardInHistory): + * inspector/front-end/inspector.css: + (.auto-complete-text, .editing .auto-complete-text): + * inspector/front-end/inspector.html: + +2011-01-19 Dai Mikurube <dmikurube@google.com> + + Reviewed by Kent Tamura. + + Implement onformchange and onforminput event handlers + https://bugs.webkit.org/show_bug.cgi?id=26141 + + Tests: fast/forms/formchange-event.html + fast/forms/forminput-event.html + + * bindings/scripts/CodeGeneratorGObject.pm: Added event names. + * dom/Document.h: Added event definitions. + * dom/Document.idl: Added event definitions. + * dom/Element.h: Added event definitions. + * dom/Element.idl: Added event definitions. + * dom/Event.cpp: + (WebCore::Event::fromUserGesture): Added a condition for a formchange event in handling user gestures. + * dom/EventNames.h: Added event definitions. + * dom/InputElement.cpp: + (WebCore::InputElement::setValueFromRenderer): Replaced a direct dispatchEvent() call into dispatchInputEvents(), a virtual function which broadcasts forminput events for HTML elements. + * dom/Node.cpp: + (WebCore::Node::dispatchInputEvents): Defined basic dispatchInputEvents() described above. + (WebCore::Node::dispatchChangeEvents): Defined basic dispatchChangeEvents() described above. + (WebCore::Node::defaultEventHandler): Replaced a direct dispatchEvent() call into dispatchInputEvents(). + * dom/Node.h: + * html/FormAssociatedElement.h: Added isResettable() to check the element is resettable or not. + * html/HTMLAttributeNames.in: Added event names. + * html/HTMLElement.cpp: + (WebCore::HTMLElement::parseMappedAttribute): Added event handling. + (WebCore::HTMLElement::shadowAncestorOwnerForm): Added to get an ancestor <form> element from a shadow element. + (WebCore::HTMLElement::dispatchChangeEvents): Defined dispatchChangeEvents() for HTML elements described above. + (WebCore::HTMLElement::dispatchInputEvents): Defined dispatchInputEvents() for HTML elements described above. + * html/HTMLElement.h: + * html/HTMLFormControlElement.cpp: + (WebCore::HTMLFormControlElement::dispatchFormControlChangeEvent): Added calling dispatchFormChange() to broadcast formchange events. + (WebCore::HTMLFormControlElement::dispatchFormControlInputEvent): Defined newly to dispatch an input event with broadcasting forminput events. + * html/HTMLFormControlElement.h: Added isResettable(). + * html/HTMLFormElement.cpp: + (WebCore::HTMLFormElement::broadcastFormEvent): Added to broadcast forminput or formchange events. + (WebCore::HTMLFormElement::dispatchFormInput): Defined newly to broadcast forminput events. + (WebCore::HTMLFormElement::dispatchFormChange): Defined newly to broadcast formchange events. + * html/HTMLFormElement.h: + * html/HTMLFormElement.idl: Added dispatchFormInput() and dispatchFormChange() DOM API definitions. + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::stepUpFromRenderer): Replaced a direct dispatchEvent() call into dispatchInputEvents(). + * html/HTMLInputElement.h: Added isResettable(). + * html/HTMLKeygenElement.h: Added isResettable(). + * html/HTMLObjectElement.h: Added isResettable(). + * html/HTMLOutputElement.h: Added isResettable(). + * html/HTMLSelectElement.h: Added isResettable(). + * html/HTMLTextAreaElement.h: Added isResettable(). + * page/DOMWindow.h: Added event definitions. + * page/DOMWindow.idl: Added event definitions. + * rendering/TextControlInnerElements.cpp: + (WebCore::SearchFieldCancelButtonElement::defaultEventHandler): Replaced a direct dispatchEvent() call into dispatchInputEvents(). + +2011-01-19 Andrey Kosyakov <caseq@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: [Extensions API] delete pending callback from callback map before invoking it + https://bugs.webkit.org/show_bug.cgi?id=52707 + + * inspector/front-end/ExtensionAPI.js: + (WebInspector.injectedExtensionAPI.ExtensionServerClient.prototype._onCallback): + +2011-01-19 Levi Weintraub <leviw@google.com> + + Reviewed by Ryosuke Niwa. + + Replaced rangeCompliantEquivalent with Position::parentAnchoredEquivalent + and simplified the logic a bit. Unfortunately, Tables and some legacy + editing positions still need to be handled specifically. + + remove rangeCompliantEquivalent and replace it with Position methods + https://bugs.webkit.org/show_bug.cgi?id=25057 + + No new tests as this is a refactor that doesn't change behavior. + + * WebCore.exp.in: + * dom/Document.cpp: + (WebCore::Document::caretRangeFromPoint): + * dom/Position.cpp: + (WebCore::Position::parentAnchoredEquivalent): + * dom/Position.h: + * editing/ApplyStyleCommand.cpp: + (WebCore::ApplyStyleCommand::applyBlockStyle): + * editing/CompositeEditCommand.cpp: + (WebCore::CompositeEditCommand::insertNodeAt): + (WebCore::CompositeEditCommand::moveParagraphs): + * editing/DeleteSelectionCommand.cpp: + (WebCore::DeleteSelectionCommand::initializePositionData): + (WebCore::DeleteSelectionCommand::mergeParagraphs): + * editing/Editor.cpp: + (WebCore::Editor::textDirectionForSelection): + (WebCore::Editor::advanceToNextMisspelling): + * editing/InsertLineBreakCommand.cpp: + (WebCore::InsertLineBreakCommand::shouldUseBreakElement): + * editing/InsertParagraphSeparatorCommand.cpp: + (WebCore::InsertParagraphSeparatorCommand::doApply): + * editing/ReplaceSelectionCommand.cpp: + (WebCore::handleStyleSpansBeforeInsertion): + * editing/VisiblePosition.cpp: + (WebCore::makeRange): + (WebCore::setStart): + (WebCore::setEnd): + * editing/VisibleSelection.cpp: + (WebCore::VisibleSelection::firstRange): + (WebCore::VisibleSelection::toNormalizedRange): + (WebCore::makeSearchRange): + * editing/htmlediting.cpp: + (WebCore::indexForVisiblePosition): + * editing/htmlediting.h: + * editing/visible_units.cpp: + (WebCore::previousBoundary): + (WebCore::nextBoundary): + * page/DOMSelection.cpp: + (WebCore::anchorPosition): + (WebCore::focusPosition): + (WebCore::basePosition): + (WebCore::extentPosition): + +2011-01-19 Peter Rybin <peter.rybin@gmail.com> + + Reviewed by Yury Semikhatsky. + + Web Inspector: script column offset is incorrect + https://bugs.webkit.org/show_bug.cgi?id=52580 + + Column is updated in 3 places, 2 less probable places contained error. + Fixed now. + + * platform/text/SegmentedString.cpp: + (WebCore::SegmentedString::advanceSlowCase): + * platform/text/SegmentedString.h: + (WebCore::SegmentedString::advancePastNewline): + +2011-01-18 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: make InjectedScriptAccess API a part of Web Inspector protocol. + https://bugs.webkit.org/show_bug.cgi?id=52652 + + Calls served by the InjectedScript should be first class protocol + citizens, not dispatched via single protocol message. + + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * inspector/CodeGeneratorInspector.pm: + * inspector/InjectedScript.cpp: + (WebCore::InjectedScript::evaluate): + (WebCore::InjectedScript::evaluateInCallFrame): + (WebCore::InjectedScript::evaluateOnSelf): + (WebCore::InjectedScript::getCompletions): + (WebCore::InjectedScript::getProperties): + (WebCore::InjectedScript::pushNodeToFrontend): + (WebCore::InjectedScript::resolveNode): + (WebCore::InjectedScript::getNodeProperties): + (WebCore::InjectedScript::getNodePrototypes): + (WebCore::InjectedScript::setPropertyValue): + (WebCore::InjectedScript::makeCall): + * inspector/InjectedScript.h: + * inspector/InjectedScriptHost.cpp: + (WebCore::InjectedScriptHost::evaluate): + (WebCore::InjectedScriptHost::evaluateInCallFrame): + (WebCore::InjectedScriptHost::evaluateOnSelf): + (WebCore::InjectedScriptHost::getCompletions): + (WebCore::InjectedScriptHost::getProperties): + (WebCore::InjectedScriptHost::pushNodeToFrontend): + (WebCore::InjectedScriptHost::resolveNode): + (WebCore::InjectedScriptHost::getNodeProperties): + (WebCore::InjectedScriptHost::getNodePrototypes): + (WebCore::InjectedScriptHost::setPropertyValue): + (WebCore::InjectedScriptHost::injectedScriptForObjectId): + (WebCore::InjectedScriptHost::injectedScriptForNodeId): + (WebCore::InjectedScriptHost::injectedScriptForMainWorld): + * inspector/InjectedScriptHost.h: + * inspector/InjectedScriptSource.js: + (.): + * inspector/Inspector.idl: + * inspector/InspectorController.cpp: + * inspector/InspectorController.h: + * inspector/InspectorValues.cpp: + (WebCore::InspectorObject::getNumber): + * inspector/InspectorValues.h: + * inspector/front-end/AuditRules.js: + (WebInspector.AuditRules.evaluateInTargetWindow): + * inspector/front-end/ConsoleView.js: + (WebInspector.ConsoleView.prototype.completions): + (WebInspector.ConsoleView.prototype.doEvalInWindow): + * inspector/front-end/ElementsTreeOutline.js: + (WebInspector.ElementsTreeElement.prototype._createTooltipForNode): + * inspector/front-end/ExtensionPanel.js: + (WebInspector.ExtensionWatchSidebarPane.prototype.setExpression): + * inspector/front-end/ExtensionServer.js: + (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage): + * inspector/front-end/InjectedScriptAccess.js: Removed. + * inspector/front-end/PropertiesSidebarPane.js: + (WebInspector.PropertiesSidebarPane.prototype.update.callback): + (WebInspector.PropertiesSidebarPane.prototype.update): + * inspector/front-end/RemoteObject.js: + (WebInspector.RemoteObject.resolveNode): + (WebInspector.RemoteObject.prototype.getProperties): + (WebInspector.RemoteObject.prototype.setPropertyValue): + (WebInspector.RemoteObject.prototype.pushNodeToFrontend): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame): + * inspector/front-end/WebKit.qrc: + * inspector/front-end/inspector.html: + +2011-01-18 Anton Muhin <antonm@chromium.org> + + Reviewed by Adam Barth. + + [v8] Minor cleanup: make 2nd argument of removeIfPresnt accept only a value type stored in the DOM map + https://bugs.webkit.org/show_bug.cgi?id=51683 + + Covered by the existing tests. + + * bindings/v8/DOMDataStore.cpp: + (WebCore::DOMDataStore::weakNodeCallback): + (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::removeIfPresent): + * bindings/v8/DOMDataStore.h: + * bindings/v8/V8DOMMap.h: + (WebCore::WeakReferenceMap::removeIfPresent): + +2011-01-18 MORITA Hajime <morrita@google.com> + + Reviewed by Ryosuke Niwa. + + Refactoring: EventHandler::handleTextInputEvent should accept an enum instead of bools. + https://bugs.webkit.org/show_bug.cgi?id=52608 + + No new tests. no behavioral change. + + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * dom/TextEvent.cpp: + (WebCore::TextEvent::create): + (WebCore::TextEvent::createForDrop): + (WebCore::TextEvent::TextEvent): + * dom/TextEvent.h: + (WebCore::TextEvent::isLineBreak): + (WebCore::TextEvent::isBackTab): + (WebCore::TextEvent::isPaste): + (WebCore::TextEvent::isDrop): + * dom/TextEventInputType.h: Added. Extracted from TextEvent::TextInputType. + * editing/EditorCommand.cpp: + (WebCore::executeInsertBacktab): + (WebCore::executeInsertLineBreak): + (WebCore::executeInsertNewline): + (WebCore::executeInsertTab): + * page/EventHandler.cpp: + (WebCore::EventHandler::handleTextInputEvent): + * page/EventHandler.h: + +2011-01-18 Ben Vanik <ben.vanik@gmail.com> + + Reviewed by Kenneth Russell. + + Updating ANGLE in WebKit to r533. + https://bugs.webkit.org/show_bug.cgi?id=47194 + + * platform/graphics/ANGLEWebKitBridge.cpp: + (WebCore::ANGLEWebKitBridge::ANGLEWebKitBridge): + (WebCore::ANGLEWebKitBridge::~ANGLEWebKitBridge): + (WebCore::ANGLEWebKitBridge::validateShaderSource): + Update to new ANGLE API for shader validation. + * platform/graphics/ANGLEWebKitBridge.h: + (WebCore::ANGLEWebKitBridge::setResources): + Renaming types to new names. + * platform/graphics/mac/GraphicsContext3DMac.mm: + (WebCore::GraphicsContext3D::GraphicsContext3D): + Initialize ANGLEResources with ANGLE init call to prevent uninitialized variables. + +2011-01-18 MORITA Hajime <morrita@google.com> + + Reviewed by Simon Fraser. + + Refactoring: Extract RoundedIntRect class + https://bugs.webkit.org/show_bug.cgi?id=51664 + + RoundedIntRect is a pair of rect and four IntSize objects which represent + corner radii of the rectangle. IntSize is grouped into RoundedIntRect::Radii. + Now RenderStyle::getRoundedBorderFor() and RenderStyle::getRoundedInnerBorderWithBorderWidths() + return RoundedIntRect and GraphicsContext::addRoundedRectClip(), GraphicsContext::fillRoundedRect() + and other functions accept RoundedIntRect as an argument. + + * Android.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * platform/graphics/GraphicsContext.cpp: + (WebCore::GraphicsContext::addRoundedRectClip): + (WebCore::GraphicsContext::clipOutRoundedRect): + (WebCore::GraphicsContext::fillRoundedRect): + * platform/graphics/GraphicsContext.h: + * platform/graphics/RoundedIntRect.cpp: Added. + (WebCore::RoundedIntRect::Radii::isZero): + (WebCore::RoundedIntRect::Radii::scale): + (WebCore::RoundedIntRect::Radii::expand): + (WebCore::RoundedIntRect::Radii::includeLogicalEdges): + (WebCore::RoundedIntRect::Radii::excludeLogicalEdges): + (WebCore::RoundedIntRect::RoundedIntRect): + (WebCore::RoundedIntRect::includeLogicalEdges): + (WebCore::RoundedIntRect::excludeLogicalEdges): + * platform/graphics/RoundedIntRect.h: Added. + (WebCore::RoundedIntRect::Radii::Radii): + (WebCore::RoundedIntRect::Radii::setTopLeft): + (WebCore::RoundedIntRect::Radii::setTopRight): + (WebCore::RoundedIntRect::Radii::setBottomLeft): + (WebCore::RoundedIntRect::Radii::setBottomRight): + (WebCore::RoundedIntRect::Radii::topLeft): + (WebCore::RoundedIntRect::Radii::topRight): + (WebCore::RoundedIntRect::Radii::bottomLeft): + (WebCore::RoundedIntRect::Radii::bottomRight): + (WebCore::RoundedIntRect::Radii::expand): + (WebCore::RoundedIntRect::Radii::shrink): + (WebCore::RoundedIntRect::rect): + (WebCore::RoundedIntRect::radii): + (WebCore::RoundedIntRect::isRounded): + (WebCore::RoundedIntRect::isEmpty): + (WebCore::RoundedIntRect::setRect): + (WebCore::RoundedIntRect::setRadii): + (WebCore::RoundedIntRect::move): + (WebCore::RoundedIntRect::inflate): + (WebCore::RoundedIntRect::inflateWithRadii): + (WebCore::RoundedIntRect::expandRadii): + (WebCore::RoundedIntRect::shrinkRadii): + * rendering/RenderBox.cpp: + (WebCore::RenderBox::pushContentsClip): + * rendering/RenderBoxModelObject.cpp: + (WebCore::RenderBoxModelObject::paintFillLayerExtended): + (WebCore::RenderBoxModelObject::paintBorder): + (WebCore::RenderBoxModelObject::clipBorderSidePolygon): + (WebCore::RenderBoxModelObject::paintBoxShadow): + * rendering/RenderBoxModelObject.h: + * rendering/RenderObject.cpp: + (WebCore::RenderObject::drawBoxSideFromPath): + * rendering/RenderReplaced.cpp: + (WebCore::RenderReplaced::paint): + * rendering/RenderThemeChromiumWin.cpp: + (WebCore::RenderThemeChromiumWin::paintTextFieldInternal): + * rendering/RenderThemeMac.mm: + (WebCore::RenderThemeMac::paintMenuListButtonGradients): + (WebCore::RenderThemeMac::paintSliderTrack): + * rendering/RenderThemeSafari.cpp: + (WebCore::RenderThemeSafari::paintMenuListButtonGradients): + (WebCore::RenderThemeSafari::paintSliderTrack): + * rendering/RenderThemeWinCE.cpp: + (WebCore::RenderThemeWinCE::paintSearchFieldCancelButton): + * rendering/RenderWidget.cpp: + (WebCore::RenderWidget::paint): + * rendering/style/BorderData.h: + * rendering/style/RenderStyle.cpp: + (WebCore::calcRadiiFor): + (WebCore::calcConstraintScaleFor): + (WebCore::RenderStyle::getRoundedBorderFor): + (WebCore::RenderStyle::getRoundedInnerBorderWithBorderWidths): + * rendering/style/RenderStyle.h: + (WebCore::InheritedFlags::setBorderRadius): + +2011-01-18 MORITA Hajime <morrita@google.com> + + Reviewed by Simon Fraser. + + Refactoring: Extract RoundedIntRect class + https://bugs.webkit.org/show_bug.cgi?id=51664 + + RoundedIntRect is a pair of rect and four IntSize objects which represent + corner radii of the rectangle. IntSize is grouped into RoundedIntRect::Radii. + Now RenderStyle::getRoundedBorderFor() and RenderStyle::getRoundedInnerBorderWithBorderWidths() + return RoundedIntRect and GraphicsContext::addRoundedRectClip(), GraphicsContext::fillRoundedRect() + and other functions accept RoundedIntRect as an argument. + + No new tests. No behavioral change. + + * Android.mk: + * CMakeLists.txt: + * WebCore.gypi: + * WebCore.pro: + * WebCore.xcodeproj/project.pbxproj: + * platform/graphics/GraphicsContext.cpp: + (WebCore::GraphicsContext::addRoundedRectClip): + (WebCore::GraphicsContext::clipOutRoundedRect): + (WebCore::GraphicsContext::fillRoundedRect): + * platform/graphics/GraphicsContext.h: + * platform/graphics/RoundedIntRect.cpp: Added. + (WebCore::RoundedIntRect::Radii::isZero): + (WebCore::RoundedIntRect::Radii::scale): + (WebCore::RoundedIntRect::Radii::expand): + (WebCore::RoundedIntRect::Radii::includeLogicalEdges): + (WebCore::RoundedIntRect::Radii::excludeLogicalEdges): + (WebCore::RoundedIntRect::RoundedIntRect): + (WebCore::RoundedIntRect::includeLogicalEdges): + (WebCore::RoundedIntRect::excludeLogicalEdges): + * platform/graphics/RoundedIntRect.h: Added. + (WebCore::RoundedIntRect::Radii::Radii): + (WebCore::RoundedIntRect::Radii::setTopLeft): + (WebCore::RoundedIntRect::Radii::setTopRight): + (WebCore::RoundedIntRect::Radii::setBottomLeft): + (WebCore::RoundedIntRect::Radii::setBottomRight): + (WebCore::RoundedIntRect::Radii::topLeft): + (WebCore::RoundedIntRect::Radii::topRight): + (WebCore::RoundedIntRect::Radii::bottomLeft): + (WebCore::RoundedIntRect::Radii::bottomRight): + (WebCore::RoundedIntRect::Radii::expand): + (WebCore::RoundedIntRect::Radii::shrink): + (WebCore::RoundedIntRect::rect): + (WebCore::RoundedIntRect::radii): + (WebCore::RoundedIntRect::isRounded): + (WebCore::RoundedIntRect::isEmpty): + (WebCore::RoundedIntRect::setRect): + (WebCore::RoundedIntRect::setRadii): + (WebCore::RoundedIntRect::move): + (WebCore::RoundedIntRect::inflate): + (WebCore::RoundedIntRect::inflateWithRadii): + (WebCore::RoundedIntRect::expandRadii): + (WebCore::RoundedIntRect::shrinkRadii): + * rendering/RenderBox.cpp: + (WebCore::RenderBox::pushContentsClip): + * rendering/RenderBoxModelObject.cpp: + (WebCore::RenderBoxModelObject::paintFillLayerExtended): + (WebCore::RenderBoxModelObject::paintBorder): + (WebCore::RenderBoxModelObject::clipBorderSidePolygon): + (WebCore::RenderBoxModelObject::paintBoxShadow): + * rendering/RenderBoxModelObject.h: + * rendering/RenderObject.cpp: + (WebCore::RenderObject::drawBoxSideFromPath): + * rendering/RenderReplaced.cpp: + (WebCore::RenderReplaced::paint): + * rendering/RenderThemeChromiumWin.cpp: + (WebCore::RenderThemeChromiumWin::paintTextFieldInternal): + * rendering/RenderThemeMac.mm: + (WebCore::RenderThemeMac::paintMenuListButtonGradients): + (WebCore::RenderThemeMac::paintSliderTrack): + * rendering/RenderThemeSafari.cpp: + (WebCore::RenderThemeSafari::paintMenuListButtonGradients): + (WebCore::RenderThemeSafari::paintSliderTrack): + * rendering/RenderThemeWinCE.cpp: + (WebCore::RenderThemeWinCE::paintSearchFieldCancelButton): + * rendering/RenderWidget.cpp: + (WebCore::RenderWidget::paint): + * rendering/style/BorderData.h: + * rendering/style/RenderStyle.cpp: + (WebCore::calcRadiiFor): + (WebCore::calcConstraintScaleFor): + (WebCore::RenderStyle::getRoundedBorderFor): + (WebCore::RenderStyle::getRoundedInnerBorderWithBorderWidths): + * rendering/style/RenderStyle.h: + (WebCore::InheritedFlags::setBorderRadius): + +2011-01-18 Victoria Kirst <vrk@chromium.org> + + Reviewed by Kenneth Russell. + + [chromium] Adding support for YV16 video frame formats. + https://bugs.webkit.org/show_bug.cgi?id=52345 + + * platform/graphics/chromium/VideoLayerChromium.cpp: + (WebCore::VideoLayerChromium::determineTextureFormat): + (WebCore::VideoLayerChromium::draw): + +2011-01-18 David Hyatt <hyatt@apple.com> + + Reviewed by Dan Bernstein. + + <rdar://problem/8479998> REGRESSION (r67660): broken button layout at devforums.apple.com + + Exclude floating objects from shrinking to avoid floats. They should never do this. Timing-related bugs could + occur as a result of this mistake, and the change to rewrite pagination to defer layout of floats until they + got encountered on the correct line exposed this issue. + + Added /fast/block/float/float-overflow-hidden-containing-block-width.html. + + * rendering/RenderBox.cpp: + (WebCore::RenderBox::shrinkToAvoidFloats): + +2011-01-18 Zhenyao Mo <zmo@google.com> + + Reviewed by Kenneth Russell. + + Make CheckedInt<long> and CheckedInt<unsigned long> work + https://bugs.webkit.org/show_bug.cgi?id=52401 + + * html/canvas/CheckedInt.h: + (WebCore::CheckedInt::CheckedInt): Merge with the patch provided by Benoit Jacob. + * html/canvas/WebGLBuffer.cpp: + (WebCore::WebGLBuffer::associateBufferDataImpl): Use CheckedInt<long> instead of CheckedInt<int>. + (WebCore::WebGLBuffer::associateBufferSubDataImpl): Ditto. + +2011-01-18 Kenneth Russell <kbr@google.com> + + Reviewed by David Levin. + + Must strip comments from WebGL shaders before enforcing character set + https://bugs.webkit.org/show_bug.cgi?id=52390 + + Strip comments from incoming shaders, preserving line numbers, + before validating that they conform to the ESSL character set. + Revert changes from http://trac.webkit.org/changeset/75735 which + allowed invalid characters to be passed to certain APIs. + + Tested with WebGL layout tests, conformance test suite and several + WebGL demos in both Safari and Chromium. + + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::StripComments::StripComments::process): + (WebCore::WebGLRenderingContext::shaderSource): + +2011-01-18 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Eric Seidel. + + Stop instantiating legacy editing positions in DeleteSelectionCommand, IndentOudentCommand, + InsertLineBreakCommand, InsertListCOmmand.cpp, InsertParagraphSeparatorCommand, and htmlediting.cpp + https://bugs.webkit.org/show_bug.cgi?id=52644 + + This is a cleanup to stop instantiating legacy editing positions in the following tests. + firstDeepEditingPositionForNode and lastDeepEditingPositionForNode in htmlediting.h are not updated + because doing so requires significant code changes. They are tracked on the bug 52642. + + * editing/DeleteSelectionCommand.cpp: + (WebCore::DeleteSelectionCommand::initializeStartEnd): + (WebCore::updatePositionForNodeRemoval): + (WebCore::DeleteSelectionCommand::removeNode): + (WebCore::updatePositionForTextRemoval): + (WebCore::DeleteSelectionCommand::handleGeneralDelete): + * editing/IndentOutdentCommand.cpp: + (WebCore::IndentOutdentCommand::outdentParagraph): + * editing/InsertLineBreakCommand.cpp: + (WebCore::InsertLineBreakCommand::doApply): + * editing/InsertListCommand.cpp: + (WebCore::InsertListCommand::doApplyForSingleParagraph): + (WebCore::InsertListCommand::unlistifyParagraph): + (WebCore::InsertListCommand::listifyParagraph): + * editing/InsertParagraphSeparatorCommand.cpp: + (WebCore::InsertParagraphSeparatorCommand::doApply): + * editing/htmlediting.cpp: + (WebCore::enclosingBlock): + (WebCore::enclosingList): + (WebCore::enclosingListChild): + (WebCore::indexForVisiblePosition): + (WebCore::isNodeVisiblyContainedWithin): + (WebCore::avoidIntersectionWithNode): + +2011-01-18 Benjamin Kalman <kalman@chromium.org> + + Reviewed by Ryosuke Niwa. + + Tweak style in visible_units.cpp and TextIterator.cpp in preparation for another patch + https://bugs.webkit.org/show_bug.cgi?id=52610 + + This is a purely aesthetic change. + + * editing/TextIterator.cpp: + (WebCore::SimplifiedBackwardsTextIterator::advance): + * editing/visible_units.cpp: + (WebCore::previousBoundary): + +2011-01-18 Adam Klein <adamk@chromium.org> + + Reviewed by Darin Fisher. + + [Chromium] Replace ChromiumBridge::widgetSetCursor with ChromeClient::setCursor + https://bugs.webkit.org/show_bug.cgi?id=42236 + + * platform/chromium/ChromiumBridge.h: + * platform/chromium/WidgetChromium.cpp: + (WebCore::Widget::setCursor): + +2011-01-18 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Darin Adler. + + REGRESSION: A problem with Voiceover and finding links + https://bugs.webkit.org/show_bug.cgi?id=52324 + + Fallout from recent change to make WebCore return its own scroll view. + 1) There were two scroll views in the hierarchy, one which no needed to be ignored. + 2) Hit tests for sub frames needed to be offset. + 3) The check for whether an attachment is ignored must happen earlier than using + the helpText to determine if an element should be ignored. + + Test: platform/mac/accessibility/iframe-with-title-correct-hierarchy.html + + * accessibility/AccessibilityObject.cpp: + (WebCore::AccessibilityObject::elementAccessibilityHitTest): + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): + * accessibility/mac/AccessibilityObjectWrapper.mm: + (-[AccessibilityObjectWrapper scrollViewParent]): + +2011-01-18 Adam Roben <aroben@apple.com> + + Call alternate CFHTTPCookie functions if available + + Fixes <http://webkit.org/b/52637> <rdar://problem/8878984>. + + Reviewed by Darin Adler. + + * platform/network/cf/CookieJarCFNet.cpp: Added soft-linking macros to + pull in the alternate CFHTTPCookie functions. + + (WebCore::cookieDomain): + (WebCore::cookieExpirationTime): + (WebCore::cookieName): + (WebCore::cookiePath): + (WebCore::cookieValue): + Added these wrappers around the CFHTTPCookie functions. We call the + alternate functions if they exist, otherwise fall back to the current + functions. + + (WebCore::filterCookies): + (WebCore::getRawCookies): + (WebCore::deleteCookie): + Changed to use the wrapper functions. + +2011-01-18 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Eric Seidel. + + [GTK] Filenames are converted to URLs during edit drags + https://bugs.webkit.org/show_bug.cgi?id=52096 + + * platform/gtk/DragDataGtk.cpp: Only advertise and deliver filenames as URLs if the + conversion policy allows it. + (WebCore::DragData::containsURL): Ditto. + (WebCore::DragData::asURL): Ditto. + +2011-01-18 Helder Correia <helder@sencha.com> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Incorrect shadow alpha with semi-transparent solid fillStyle + https://bugs.webkit.org/show_bug.cgi?id=52611 + + This is related to bug 52559. The shadow color alpha must be multiplied + by the context brush alpha. + + Test: fast/canvas/canvas-fillPath-alpha-shadow.html + + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContext::fillPath): + +2011-01-18 Andrey Kosyakov <caseq@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: fail resource.requestContent() immediately for WebSocket resources + https://bugs.webkit.org/show_bug.cgi?id=52628 + + * English.lproj/localizedStrings.js: Rename WebSocket -> WebSockets in resource catetegories (rest are in plural, too) + * inspector/front-end/ExtensionServer.js: Do not expose webInspector.resources.Types in extensions API (obsolete) + (WebInspector.ExtensionServer.prototype._buildExtensionAPIInjectedScript): + * inspector/front-end/Resource.js: + (WebInspector.Resource.Type.toUIString): Remove ResourceType.Media as it's not used. + (WebInspector.Resource.Type.toString): ditto. + (WebInspector.Resource.prototype.requestContent): Fail immediately for WebSocket resources. + * inspector/front-end/inspector.js: Rename WebSocket -> WebSockets in resource catetegories (rest are in plural, too) + +2011-01-18 Helder Correia <helder@sencha.com> + + Reviewed by Dirk Schulze. + + REGRESSION(75139): SVG gradients are not applied to texts + https://bugs.webkit.org/show_bug.cgi?id=52531 + + r75139 caused a problem with filling and stroking text with a gradient + fill in SVG. The order of CGContextConcatCTM and CGContextClipToRect + was mixed up. + + Test: svg/css/text-gradient-shadow.svg + + * platform/graphics/cg/GraphicsContextCG.cpp: + (WebCore::GraphicsContext::fillRect): + +2011-01-18 Leo Yang <leo.yang@torchmobile.com.cn> + + Reviewed by Nikolas Zimmermann. + + Unable to indirectly animate visibility of SVGUseElement + https://bugs.webkit.org/show_bug.cgi?id=50240 + + SVGUseElement::recalcStyle should take care of its shadow + tree's style recalculation when it is called with change >= Inherit + or when childNeedsStyleRecalc() is true because in these two + cases needStyleRecalc() may not be true. + + Test: svg/custom/use-inherit-style.svg + + * svg/SVGUseElement.cpp: + (WebCore::SVGUseElement::recalcStyle): + +2011-01-18 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: provide script length to frontend. + https://bugs.webkit.org/show_bug.cgi?id=52620 + + * inspector/Inspector.idl: + * inspector/InspectorDebuggerAgent.cpp: + (WebCore::InspectorDebuggerAgent::didParseSource): + * inspector/front-end/DebuggerModel.js: + (WebInspector.DebuggerModel.prototype._parsedScriptSource): + (WebInspector.DebuggerDispatcher.prototype.parsedScriptSource): + * inspector/front-end/Script.js: + (WebInspector.Script): + +2011-01-18 Zoltan Herczeg <zherczeg@webkit.org> + + Rubber-stamped by Csaba Osztrogonác + + Fixing ChangeLog + + Removing a line introduced by + http://trac.webkit.org/changeset/75743/trunk/Source/WebCore/ChangeLog + Removing an unnecessary space before a time stamp. + +2011-01-17 Andrey Kosyakov <caseq@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: [refactoring] use events to notify NetworkManager clients + https://bugs.webkit.org/show_bug.cgi?id=52588 + + * inspector/front-end/AuditLauncherView.js: + (WebInspector.AuditLauncherView): Do not expose public interface to resource count. Do not reset resource count upon reset(). + (WebInspector.AuditLauncherView.prototype._resetResourceCount): + (WebInspector.AuditLauncherView.prototype._onResourceStarted): + (WebInspector.AuditLauncherView.prototype._onResourceFinished): + * inspector/front-end/AuditsPanel.js: Do not expose public interface to resource start/finish events. + * inspector/front-end/ExtensionServer.js: + (WebInspector.ExtensionServer): + (WebInspector.ExtensionServer.prototype._notifyResourceFinished): + (WebInspector.ExtensionServer.prototype.initExtensions): + * inspector/front-end/NetworkManager.js: Dispatch events rather than directly call clients. + (WebInspector.NetworkManager): + (WebInspector.NetworkManager.prototype.willSendRequest): + (WebInspector.NetworkManager.prototype.markResourceAsCached): + (WebInspector.NetworkManager.prototype.didReceiveResponse): + (WebInspector.NetworkManager.prototype.didReceiveContentLength): + (WebInspector.NetworkManager.prototype.setInitialContent): + (WebInspector.NetworkManager.prototype.didCommitLoadForFrame): + (WebInspector.NetworkManager.prototype.willSendWebSocketHandshakeRequest): + (WebInspector.NetworkManager.prototype.didReceiveWebSocketHandshakeResponse): + (WebInspector.NetworkManager.prototype._startResource): + (WebInspector.NetworkManager.prototype._finishResource): + * inspector/front-end/NetworkPanel.js: + (WebInspector.NetworkPanel): + (WebInspector.NetworkPanel.prototype._onResourceStarted): + (WebInspector.NetworkPanel.prototype._appendResource): + (WebInspector.NetworkPanel.prototype._onResourceUpdated): + (WebInspector.NetworkPanel.prototype._refreshResource): + (WebInspector.NetworkPanel.prototype._onMainResourceChanged): + * inspector/front-end/ResourcesPanel.js: + (WebInspector.ResourcesPanel): + (WebInspector.ResourcesPanel.prototype._refreshResource): + +2011-01-18 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: preserve pause on exception state in settings. + https://bugs.webkit.org/show_bug.cgi?id=52619 + + * inspector/InspectorController.cpp: + (WebCore::InspectorController::getInspectorState): + * inspector/InspectorDebuggerAgent.cpp: + (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState): + * inspector/InspectorDebuggerAgent.h: + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel): + (WebInspector.ScriptsPanel.prototype.debuggerWasEnabled): + (WebInspector.ScriptsPanel.prototype._updatePauseOnExceptionsState): + (WebInspector.ScriptsPanel.prototype._togglePauseOnExceptions): + (WebInspector.ScriptsPanel.prototype._setPauseOnExceptions): + * inspector/front-end/Settings.js: + (WebInspector.Settings): + * inspector/front-end/inspector.js: + (WebInspector.doLoadedDone.populateInspectorState): + +2011-01-18 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: [REGRESSION] JavaScript exceptions aren't shown in source frame. + https://bugs.webkit.org/show_bug.cgi?id=52623 + + * inspector/front-end/ConsoleView.js: + (WebInspector.ConsoleMessage): + (WebInspector.ConsoleMessage.prototype._formatMessage): + +2011-01-18 Pavel Feldman <pfeldman@chromium.org> + + Revert r76017. No need to guard InspectorInstrumentation:: in WebCore. + + * page/Page.cpp: + (WebCore::networkStateChanged): + +2011-01-18 Konstantin Tokarev <annulen@yandex.ru> + + Reviewed by Kent Tamura. + + Fixed compilation when Inspector is disabled + https://bugs.webkit.org/show_bug.cgi?id=52564 + + * page/Page.cpp: + (WebCore::networkStateChanged): Added ENABLE(INSPECTOR) guard + +2011-01-18 MORITA Hajime <morrita@google.com> + + Unreviewed, rolling out r76004, r76005, r76007, and r76011. + http://trac.webkit.org/changeset/76004 + http://trac.webkit.org/changeset/76005 + http://trac.webkit.org/changeset/76007 + http://trac.webkit.org/changeset/76011 + https://bugs.webkit.org/show_bug.cgi?id=51664 + + The r76004 broke pixel tests. + (The failure was missed due to the tolerance.) + + * Android.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * platform/graphics/GraphicsContext.cpp: + (WebCore::GraphicsContext::addRoundedRectClip): + (WebCore::GraphicsContext::clipOutRoundedRect): + * platform/graphics/GraphicsContext.h: + * platform/graphics/RoundedIntRect.cpp: Removed. + * platform/graphics/RoundedIntRect.h: Removed. + * rendering/RenderBox.cpp: + (WebCore::RenderBox::pushContentsClip): + * rendering/RenderBoxModelObject.cpp: + (WebCore::RenderBoxModelObject::paintFillLayerExtended): + (WebCore::RenderBoxModelObject::paintBorder): + (WebCore::RenderBoxModelObject::clipBorderSidePolygon): + (WebCore::uniformlyExpandBorderRadii): + (WebCore::RenderBoxModelObject::paintBoxShadow): + * rendering/RenderBoxModelObject.h: + * rendering/RenderObject.cpp: + (WebCore::RenderObject::drawBoxSideFromPath): + * rendering/RenderReplaced.cpp: + (WebCore::RenderReplaced::paint): + * rendering/RenderThemeChromiumWin.cpp: + (WebCore::RenderThemeChromiumWin::paintTextFieldInternal): + * rendering/RenderThemeMac.mm: + (WebCore::RenderThemeMac::paintMenuListButtonGradients): + (WebCore::RenderThemeMac::paintSliderTrack): + * rendering/RenderThemeSafari.cpp: + (WebCore::RenderThemeSafari::paintMenuListButtonGradients): + (WebCore::RenderThemeSafari::paintSliderTrack): + * rendering/RenderThemeWinCE.cpp: + (WebCore::RenderThemeWinCE::paintSearchFieldCancelButton): + * rendering/RenderWidget.cpp: + (WebCore::RenderWidget::paint): + * rendering/style/BorderData.h: + * rendering/style/RenderStyle.cpp: + (WebCore::constrainCornerRadiiForRect): + (WebCore::RenderStyle::getBorderRadiiForRect): + (WebCore::RenderStyle::getInnerBorderRadiiForRectWithBorderWidths): + * rendering/style/RenderStyle.h: + +2011-01-17 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: add source column field to debugger call frames. + https://bugs.webkit.org/show_bug.cgi?id=52443 + + * bindings/js/JavaScriptCallFrame.cpp: + (WebCore::JavaScriptCallFrame::JavaScriptCallFrame): + * bindings/js/JavaScriptCallFrame.h: + (WebCore::JavaScriptCallFrame::create): + (WebCore::JavaScriptCallFrame::line): + (WebCore::JavaScriptCallFrame::column): + (WebCore::JavaScriptCallFrame::update): + * bindings/js/ScriptDebugServer.cpp: + (WebCore::ScriptDebugServer::createCallFrameAndPauseIfNeeded): + (WebCore::ScriptDebugServer::updateCallFrameAndPauseIfNeeded): + (WebCore::ScriptDebugServer::callEvent): + (WebCore::ScriptDebugServer::atStatement): + (WebCore::ScriptDebugServer::returnEvent): + (WebCore::ScriptDebugServer::exception): + (WebCore::ScriptDebugServer::willExecuteProgram): + (WebCore::ScriptDebugServer::didExecuteProgram): + (WebCore::ScriptDebugServer::didReachBreakpoint): + * bindings/js/ScriptDebugServer.h: + * bindings/v8/DebuggerScript.js: + (): + * bindings/v8/JavaScriptCallFrame.cpp: + (WebCore::JavaScriptCallFrame::column): + * bindings/v8/JavaScriptCallFrame.h: + * inspector/InjectedScriptSource.js: + (): + * inspector/JavaScriptCallFrame.idl: + +2011-01-18 Antti Koivisto <antti@apple.com> + + Reviewed by Dave Hyatt. + + https://bugs.webkit.org/show_bug.cgi?id=52370 + <rdar://problem/8856808> + Style sharing optimization no longer works on major web sites + + The code in CSSStyleSelector::locateSharedStyle() that tries to share style information between element has been defeated + by widespread use of certain CSS selectors (:first-child pseudo class and similar). The current implementation disables + the sharing optimization for the whole page if one of these constructs is seen in any style sheet used by the page. + + This patch gets the style sharing back to 25-40% range on most web sites. + + * css/CSSMutableStyleDeclaration.h: + (WebCore::CSSMutableStyleDeclaration::propertiesEqual): + + Needed to improve equality checking in NamedNodeMap::mappedMapsEquivalent. + + * css/CSSSelector.h: + (WebCore::CSSSelector::isSiblingSelector): + + Test for selectors that are affected by the sibling elements. + + * css/CSSStyleSelector.cpp: + (WebCore::elementCanUseSimpleDefaultStyle): + (WebCore::collectSiblingRulesInDefaultStyle): + (WebCore::assertNoSiblingRulesInDefaultStyle): + + Extract sibling rules from the MathML default stylesheet. + Assert that no other default stylesheet has them. + + (WebCore::CSSStyleSelector::CSSStyleSelector): + (WebCore::CSSStyleSelector::locateCousinList): + (WebCore::CSSStyleSelector::matchesSiblingRules): + (WebCore::CSSStyleSelector::canShareStyleWithElement): + (WebCore::CSSStyleSelector::locateSharedStyle): + (WebCore::CSSStyleSelector::styleForElement): + (WebCore::collectIdsAndSiblingRulesFromList): + (WebCore::CSSRuleSet::collectIdsAndSiblingRules): + + Track sibling rules and ids used in the stylesheets to allow much more fine-grained rejection of cases + where style sharing can't be used. + + * css/CSSStyleSelector.h: + * dom/NamedNodeMap.cpp: + (WebCore::NamedNodeMap::mappedMapsEquivalent): + + Check also for CSSValue mutation from DOM. + + * mathml/MathMLMathElement.cpp: + (WebCore::MathMLMathElement::insertedIntoDocument): + * mathml/MathMLMathElement.h: + + MathML default style sheet has sibling rules which don't get noticed by the normal document + stylesheet parsing. + + * rendering/style/RenderStyle.h: + (WebCore::InheritedFlags::setFirstChildState): + (WebCore::InheritedFlags::setLastChildState): + (WebCore::InheritedFlags::setChildIndex): + + These all make style non-shareable (unique). + +2011-01-18 MORITA Hajime <morrita@google.com> + + Unreviewed crash fix on release builds. + + * rendering/RenderBoxModelObject.cpp: + (WebCore::RenderBoxModelObject::paintFillLayerExtended): + +2011-01-18 Pavel Podivilov <podivilov@chromium.org> + + Unreviewed, update localizedStrings.js. + + * English.lproj/localizedStrings.js: + +2011-01-11 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: implement script beautifier prototype. + https://bugs.webkit.org/show_bug.cgi?id=51588 + + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * inspector/front-end/ScriptFormatter.js: Added. + (WebInspector.ScriptFormatter): Implements JavaScript source beautification and conversion between original and + formatted line numbers + (WebInspector.ScriptFormatter.findLineEndings): + (WebInspector.ScriptFormatter.locationToPosition): + (WebInspector.ScriptFormatter.positionToLocation): + (WebInspector.ScriptFormatter.upperBound): + (WebInspector.ScriptFormatter.prototype.format): + (WebInspector.ScriptFormatter.prototype.originalLineNumberToFormattedLineNumber): + (WebInspector.ScriptFormatter.prototype.formattedLineNumberToOriginalLineNumber): + (WebInspector.ScriptFormatter.prototype.originalPositionToFormattedLineNumber): + (WebInspector.ScriptFormatter.prototype.formattedLineNumberToOriginalPosition): + (WebInspector.ScriptFormatter.prototype._convertPosition): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel): + (WebInspector.ScriptsPanel.prototype._clearCurrentExecutionLine): + (WebInspector.ScriptsPanel.prototype._callFrameSelected): + (WebInspector.ScriptsPanel.prototype._formatScript): + * inspector/front-end/SourceFrame.js: Convert original line numbers to UI line numbers and vice versa + * inspector/front-end/WebKit.qrc: + * inspector/front-end/inspector.html: + +2011-01-18 Philippe Normand <pnormand@igalia.com> + + Unreviewed, GTK build fix as follow-up of r76004. + + * GNUmakefile.am: Include RoundedIntRect files in the build + +2011-01-18 Philippe Normand <pnormand@igalia.com> + + Unreviewed, rolling out r76002. + http://trac.webkit.org/changeset/76002 + https://bugs.webkit.org/show_bug.cgi?id=49790 + + breaks a bunch of fast/forms tests on mac and GTK + + * html/HTMLOptionElement.cpp: + (WebCore::HTMLOptionElement::setRenderStyle): + +2011-01-18 MORITA Hajime <morrita@google.com> + + Unreviewed windows build fix. + + * WebCore.vcproj/WebCore.vcproj: + +2011-01-17 MORITA Hajime <morrita@google.com> + + Reviewed by Simon Fraser. + + Refactoring: Extract RoundedIntRect class + https://bugs.webkit.org/show_bug.cgi?id=51664 + + RoundedIntRect is a pair of rect and four IntSize objects which represent + corner radii of the rectangle. IntSize is grouped into RoundedIntRect::Radii. + Now RenderStyle::getRoundedBorderFor() and RenderStyle::getRoundedInnerBorderWithBorderWidths() + return RoundedIntRect and GraphicsContext::addRoundedRectClip(), GraphicsContext::fillRoundedRect() + and other functions accept RoundedIntRect as an argument. + + No new tests. No behavioral change. + + * Android.mk: + * CMakeLists.txt: + * WebCore.gypi: + * WebCore.pro: + * WebCore.xcodeproj/project.pbxproj: + * platform/graphics/GraphicsContext.cpp: + (WebCore::GraphicsContext::addRoundedRectClip): + (WebCore::GraphicsContext::clipOutRoundedRect): + (WebCore::GraphicsContext::fillRoundedRect): + * platform/graphics/GraphicsContext.h: + * platform/graphics/RoundedIntRect.cpp: Added. + (WebCore::RoundedIntRect::Radii::isZero): + (WebCore::RoundedIntRect::Radii::scale): + (WebCore::RoundedIntRect::Radii::expand): + (WebCore::RoundedIntRect::Radii::includeLogicalEdges): + (WebCore::RoundedIntRect::Radii::excludeLogicalEdges): + (WebCore::RoundedIntRect::RoundedIntRect): + (WebCore::RoundedIntRect::includeLogicalEdges): + (WebCore::RoundedIntRect::excludeLogicalEdges): + * platform/graphics/RoundedIntRect.h: Added. + (WebCore::RoundedIntRect::Radii::Radii): + (WebCore::RoundedIntRect::Radii::setTopLeft): + (WebCore::RoundedIntRect::Radii::setTopRight): + (WebCore::RoundedIntRect::Radii::setBottomLeft): + (WebCore::RoundedIntRect::Radii::setBottomRight): + (WebCore::RoundedIntRect::Radii::topLeft): + (WebCore::RoundedIntRect::Radii::topRight): + (WebCore::RoundedIntRect::Radii::bottomLeft): + (WebCore::RoundedIntRect::Radii::bottomRight): + (WebCore::RoundedIntRect::Radii::expand): + (WebCore::RoundedIntRect::Radii::shrink): + (WebCore::RoundedIntRect::location): + (WebCore::RoundedIntRect::size): + (WebCore::RoundedIntRect::x): + (WebCore::RoundedIntRect::y): + (WebCore::RoundedIntRect::width): + (WebCore::RoundedIntRect::height): + (WebCore::RoundedIntRect::right): + (WebCore::RoundedIntRect::bottom): + (WebCore::RoundedIntRect::rect): + (WebCore::RoundedIntRect::radii): + (WebCore::RoundedIntRect::isRounded): + (WebCore::RoundedIntRect::isEmpty): + (WebCore::RoundedIntRect::setRect): + (WebCore::RoundedIntRect::setRadii): + (WebCore::RoundedIntRect::move): + (WebCore::RoundedIntRect::inflate): + (WebCore::RoundedIntRect::inflateWithRadii): + (WebCore::RoundedIntRect::expandRadii): + (WebCore::RoundedIntRect::shrinkRadii): + * rendering/RenderBox.cpp: + (WebCore::RenderBox::pushContentsClip): + * rendering/RenderBoxModelObject.cpp: + (WebCore::RenderBoxModelObject::paintFillLayerExtended): + (WebCore::RenderBoxModelObject::paintBorder): + (WebCore::RenderBoxModelObject::clipBorderSidePolygon): + (WebCore::RenderBoxModelObject::paintBoxShadow): + * rendering/RenderBoxModelObject.h: + * rendering/RenderObject.cpp: + (WebCore::RenderObject::drawBoxSideFromPath): + * rendering/RenderReplaced.cpp: + (WebCore::RenderReplaced::paint): + * rendering/RenderThemeChromiumWin.cpp: + (WebCore::RenderThemeChromiumWin::paintTextFieldInternal): + * rendering/RenderThemeMac.mm: + (WebCore::RenderThemeMac::paintMenuListButtonGradients): + (WebCore::RenderThemeMac::paintSliderTrack): + * rendering/RenderThemeSafari.cpp: + (WebCore::RenderThemeSafari::paintMenuListButtonGradients): + (WebCore::RenderThemeSafari::paintSliderTrack): + * rendering/RenderThemeWinCE.cpp: + (WebCore::RenderThemeWinCE::paintSearchFieldCancelButton): + * rendering/RenderWidget.cpp: + (WebCore::RenderWidget::paint): + * rendering/style/BorderData.h: + * rendering/style/RenderStyle.cpp: + (WebCore::calcRadiiFor): + (WebCore::calcConstraintScaleFor): + (WebCore::RenderStyle::getRoundedBorderFor): + (WebCore::RenderStyle::getRoundedInnerBorderWithBorderWidths): + * rendering/style/RenderStyle.h: + (WebCore::InheritedFlags::setBorderRadius): + +2011-01-17 Rob Buis <rwlbuis@gmail.com> + + Reviewed by Kent Tamura. + + Color changes to option elements in a select multiple aren't drawn immediately + https://bugs.webkit.org/show_bug.cgi?id=49790 + + Redirect style changes on <option> element to the owner <select> element. + + Tests: fast/forms/select-option-background-color-change.html + fast/forms/select-option-color-change.html + fast/forms/select-option-visibility-change.html + + * html/HTMLOptionElement.cpp: + (WebCore::HTMLOptionElement::setRenderStyle): + +2011-01-17 MORITA Hajime <morrita@google.com> + + Unreviewed, rolling out r75995. + http://trac.webkit.org/changeset/75995 + https://bugs.webkit.org/show_bug.cgi?id=51914 + + Causes assertion failures. + + * dom/Element.cpp: + (WebCore::Element::shadowRoot): + (WebCore::Element::setShadowRoot): + (WebCore::Element::removeShadowRoot): + * dom/ElementRareData.h: + (WebCore::ElementRareData::ElementRareData): + +2011-01-17 MORITA Hajime <morrita@google.com> + + Unreviewed, rolling out r75999. + http://trac.webkit.org/changeset/75999 + + * dom/Element.cpp: + (WebCore::Element::removeShadowRoot): + +2011-01-17 MORITA Hajime <morrita@google.com> + + Unreviewed crash fix, which introduced at r75995 + + * dom/Element.cpp: + (WebCore::Element::removeShadowRoot): + +2011-01-17 MORITA Hajime <morrita@google.com> + + Reviewed by Dimitri Glazkov. + + ElementRareData::m_shadowRoot should not be RefPtr. + https://bugs.webkit.org/show_bug.cgi?id=51914 + + This change makes m_shadowRoot a raw pointer, as Node::m_parent is. + This change is safe because shadow host pointer is stored as TreeShared::m_parent + which prevents deletion unless set to null. + + No test, no behavioral change. + + * dom/Element.cpp: + (WebCore::Element::shadowRoot): + (WebCore::Element::setShadowRoot): + (WebCore::Element::removeShadowRoot): + * dom/ElementRareData.h: + (WebCore::ElementRareData::ElementRareData): + +2011-01-17 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Dan Bernstein. + + Some WebKit2 layout tests crash due to focus being on a frame in the page cache + https://bugs.webkit.org/show_bug.cgi?id=52607 + + No new tests. Existing tests crash in WebKit2 without this fix. + + I suspect there are other consequences besides the WebKit2 crash, but I + was unable to identify any for certain. + + * history/CachedFrame.cpp: + (WebCore::CachedFrame::CachedFrame): If a frame still has focus when its page + goes in the page cache, reset focus to the main frame. + +2011-01-17 Adam Roben <aroben@apple.com> + + 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 <http://webkit.org/b/52587> 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 <aroben@apple.com> + + 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 <http://webkit.org/b/52582> 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 <aroben@apple.com> + + 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 <http://webkit.org/b/52573> 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 <aroben@apple.com> + + 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 <http://webkit.org/b/52597> 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 <takano.naoki@gmail.com> + + 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 <mrowe@apple.com> + + Fix the 32-bit build. + + * WebCore.exp.in: + +2011-01-17 Dan Bernstein <mitz@apple.com> + + 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 <ddkilzer@apple.com> + + <http://webkit.org/b/52596> 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 <helder@sencha.com> + + 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 <mrobinson@igalia.com> + + 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 <tonyg@chromium.org> + + 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 <pfeldman@chromium.org> + + 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 <svillar@igalia.com> + + 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 <jberlin@apple.com> + + 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 <pfeldman@chromium.org> + + Not reviewed: fixing typo in r75952. + + * inspector/front-end/NetworkPanel.js: + (WebInspector.NetworkDataGridNode.prototype._refreshNameCell): + +2011-01-17 Enrica Casucci <enrica@apple.com> + + 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 <mitz@apple.com> + + 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 <ap@apple.com> + + Leopard build fix. + + * page/PrintContext.cpp: GCC complained about shortening a double value to float. + +2011-01-17 Alexey Proskuryakov <ap@apple.com> + + 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 <pfeldman@chromium.org> + + 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 <caseq@chromium.org> + + 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 <pfeldman@chromium.org> + + 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 <ossy@webkit.org> + + Unreviewed buildfix after r75944. + + * WebCore.pro: + +2011-01-17 Yi Shen <yi.4.shen@nokia.com> + + 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 <rik@webkit.org> + + 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 <pfeldman@chromium.org> + + 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 <podivilov@chromium.org> + + 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 <jknotten@chromium.org> + + 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 <pfeldman@chromium.org> + + Not reviewed: Qt build fix. + + * inspector/InspectorInstrumentation.h: + +2011-01-16 Pavel Feldman <pfeldman@chromium.org> + + 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 <gyuyoung.kim@samsung.com> + + Unreviewed, rolling out r75923. + + GTK guy rolls out the r75914. + + * platform/efl/ScrollViewEfl.cpp: + (WebCore::ScrollView::platformInit): + +2011-01-17 Helder Correia <helder@sencha.com> + + 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 <noam.rosenthal@nokia.com> + + 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 <laszlo.1.gombos@nokia.com> + + 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 <pnormand@igalia.com> + + 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 <gyuyoung.kim@samsung.com> + + 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 <mitz@apple.com> + + Reviewed by Sam Weinig. + + <rdar://problem/8871903> 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 <mrobinson@igalia.com> + + 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 <yuzo@google.com> + + 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 <abarth@webkit.org> + + 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 <simon.fraser@apple.com> + + 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 <simon.fraser@apple.com> + + Keep Leopard build happy. + + * platform/mac/WidgetMac.mm: + (WebCore::Widget::setBoundsSize): + +2011-01-16 Robert Hogan <robert@webkit.org> + + 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 <simon.fraser@apple.com> + + Reviewed by Dan Bernstein. + + Issues with iframes and plugins when the WebView is scaled. + <rdar://problem/6213380> + + 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 <simon.fraser@apple.com> + + 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 <webkit.review.bot@gmail.com> + + 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 <ddkilzer@apple.com> + + <http://webkit.org/b/52512> 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 <abarth@webkit.org> + + 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 <joone.hur@collabora.co.uk> + + 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 <smagnuso@gmail.com> + + 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 <tony@chromium.org> + + 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 <yuzo@google.com> + + 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 <mitz@apple.com> + + Reviewed by Simon Fraser. + + WebCore part of <rdar://problem/8441312> 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 <tonyg@chromium.org> + + 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 <tonyg@chromium.org> + + 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 <tonyg@chromium.org> + + 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 <tonyg@chromium.org> + + 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 <tonyg@chromium.org> + + 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 <tonyg@chromium.org> + + 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 <tonyg@chromium.org> + + 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 <rniwa@webkit.org> + + 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 <helder@sencha.com> + + 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 <simon.fraser@apple.com> + + 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 <inferno@chromium.org> + + 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 <adamk@chromium.org> + + 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 <satish@chromium.org> + + 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 <inferno@chromium.org> + + 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 <pfeldman@chromium.org> + + 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 <simon.fraser@apple.com> + + 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 <simon.fraser@apple.com> + + Let Xcode have it's way with the project file. + + * WebCore.xcodeproj/project.pbxproj: + +2011-01-14 Simon Fraser <simon.fraser@apple.com> + + 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 <ostapenko.viatcheslav@nokia.com> + + 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 <cgarcia@igalia.com> + + 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 <joone.hur@collabora.co.uk> + + 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 <podivilov@chromium.org> + + 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 <podivilov@chromium.org> + + 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 <loislo@chromium.org> + + 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 <yurys@chromium.org> + + 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 <pfeldman@chromium.org> + + 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 <ossy@webkit.org> + + [Qt][V8] Unreviewed buildfix after r75788. + + * inspector/InspectorBrowserDebuggerAgent.cpp: + +2011-01-12 Ilya Tikhonovsky <loislo@chromium.org> + + 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 <caseq@chromium.org> + + 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 <webkit.review.bot@gmail.com> + + 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 <loislo@chromium.org> + + 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 <pfeldman@chromium.org> + + Not reviewed: build fix. + + * WebCore.vcproj/WebCore.vcproj: + +2011-01-14 Pavel Feldman <pfeldman@chromium.org> + + 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 <webkit.review.bot@gmail.com> + + 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 <loislo@chromium.org> + + 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 <tkent@chromium.org> + + 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 <the number of characters> / 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 <mitz@apple.com> + + Reviewed by Alexey Proskuryakov. + + <rdar://problem/8827065> 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 <mitz@apple.com> + + Reviewed by Mark Rowe. + + Don’t try to compile InjectedScriptSource.js into WebCore. + + * WebCore.xcodeproj/project.pbxproj: + +2011-01-13 Mike Thole <mthole@apple.com> + + 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 + <rdar://problem/8714412> + + * 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 <evan@chromium.org> + + 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 <dglazkov@chromium.org> + + 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 <abarth@webkit.org> + + 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 <dglazkov@chromium.org> + + 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 <enrica@apple.com> + + Reviewed by Darin Adler. + + WebKit2: Add support for drag and drop + https://bugs.webkit.org/show_bug.cgi?id=52343 + <rdar://problem/7660558> + + 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 <ddkilzer@apple.com> + + 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 <zmo@google.com> + + 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 <jianli@chromium.org> + + 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 <eae@chromium.org> + + Reviewed by Dimitri Glazkov. + + Setting outerText should convert CR/LF to <br> + 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 <zmo@google.com> + + 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: + +2011-01-13 Adrienne Walker <enne@google.com> + + 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 <dglazkov@chromium.org> + + 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 <dglazkov@chromium.org> + + 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 <mitz@apple.com> + + Reviewed by Simon Fraser. + + <rdar://problem/8098442> 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 <ossy@webkit.org> + + Unreviewed buildfix after r75715. + + * WebCore.pri: + * WebCore.pro: + +2011-01-13 Pavel Feldman <pfeldman@chromium.org> + + Not reviewed: Qt build fix. + + * WebCore.pri: + +2011-01-12 Pavel Feldman <pfeldman@chromium.org> + + 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 <mnaganov@chromium.org> + + 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 <ostapenko.viatcheslav@nokia.com> + + 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 <yi.4.shen@nokia.com> + + 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 <yi.4.shen@nokia.com> + + 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 <cgarcia@igalia.com> + + 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 <yi.4.shen@nokia.com> + + 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 <mitz@apple.com> + + Reviewed by Dave Hyatt. + + <rdar://problem/8858548> 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 <ossy@webkit.org> + + 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 <rniwa@webkit.org> + + 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 <bashi@google.com> + + 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 <bashi@google.com> + + 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 <rniwa@webkit.org> + + 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 <sam@webkit.org> + + Another build fix. + + * platform/mac/WheelEventMac.mm: + (WebCore::phaseForEvent): + +2011-01-12 Sam Weinig <sam@webkit.org> + + Fix build. + + * platform/mac/WheelEventMac.mm: + (WebCore::phaseForEvent): + +2011-01-12 Adam Barth <abarth@webkit.org> + + 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 <bdakin@apple.com> + + Reviewed by Anders Carlsson. + + Add-on for https://bugs.webkit.org/show_bug.cgi?id=52309 + Expose fixed layout through WebKit SPI + -and corresponding- + <rdar://problem/8844464> + + And now with getters! + * WebCore.exp.in: + +2011-01-12 Sam Weinig <sam@webkit.org> + + 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 <cmarrin@apple.com> + + 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 <cmarrin@apple.com> + + 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 <cmarrin@apple.com> + + Unreviewed. + + Another fix for Gtk + + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::paintsWithTransform): + +2011-01-12 Chris Marrin <cmarrin@apple.com> + + 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 <cmarrin@apple.com> + + UNreviewed. + + Fix for the Windows build + + * platform/graphics/ca/win/PlatformCALayerWin.cpp: + (contentsScale): + (setContentsScale): + +2011-01-12 Chris Marrin <cmarrin@apple.com> + + 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 <mdelaney@apple.com> + + 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 <dbates@rim.com> + And Benjamin C Meyer <bmeyer@rim.com> + + Build fix when building with Inspector disabled + https://bugs.webkit.org/show_bug.cgi?id=52313 + + After changeset 75604 <http://trac.webkit.org/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 <cmarrin@apple.com> + + 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 <cmarrin@apple.com> + + 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 <cmarrin@apple.com> + + 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 <senorblanco@chromium.org> + + 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 <bdakin@apple.com> + + Reviewed by Anders Carlsson. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=52309 Expose + fixed layout through WebKit SPI + -and corresponding- + <rdar://problem/8844464> + + Export symbols for ScrollView::setUseFixedLayout() and + ScrollView::setFixedLayoutSize() + * WebCore.exp.in: + +2011-01-12 Robert Hogan <robert@webkit.org> + + 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 <caseq@chromium.org> + + 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 <koansin.tan@gmail.com> + + 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 <libintl.h> or <glib/gi18n-lib.h>. + On Mac, <libintl.h> includes <xlocale.h>. <xclocale.h> includes + <xlocale/_ctype.h>, which uses isacii(). + * platform/UUID.cpp: + (WebCore::createCanonicalUUIDString): For OS(DARWIN) && !PLATFORM(CF) + use the Chromium Linux UUID generation. + +2011-01-12 Simon Fraser <simon.fraser@apple.com> + + 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 <mnaganov@chromium.org> + + 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 <yurys@chromium.org> + + 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 <jschuh@chromium.org> + + 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 <yurys@chromium.org> + + 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 <podivilov@chromium.org> + + 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 <jorlow@chromium.org> + + 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 <pnormand@igalia.com> + + 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 <pnormand@igalia.com> + + 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 <simon.fraser@apple.com> + + 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 <aestes@apple.com> + + Reviewed by Darin Adler. + + REGRESSION (r71562): servePendingRequests() no longer called when + resources are done loading. + https://bugs.webkit.org/show_bug.cgi?id=52264 + <rdar://problem/8767429> + + 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 <paroga@webkit.org> + + 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 <bfulgham@webkit.org> + + 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 <nicolas.dufresne@collabora.co.uk> + + 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 <OBJECT> parameters or <EMBED> 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 <simonjam@chromium.org> + + 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 <abarth@webkit.org> + + 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 <mihaip@chromium.org> + + 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 <paroga@webkit.org> + + Unreviewed WinCE build fix for r75523. + + * platform/wince/DragDataWinCE.cpp: Added missing include. + +2011-01-11 Abhishek Arya <inferno@chromium.org> + + 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 <dglazkov@chromium.org> + + 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 <dino@apple.com> + + 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 <jamesr@chromium.org> + + 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 <dglazkov@chromium.org> + + 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 <ostapenko.viatcheslav@nokia.com> + + 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 <zmo@google.com> + + 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 <enrica@apple.com> + + 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 <inferno@chromium.org> + + 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 <cgarcia@igalia.com> + + Reviewed by Martin Robinson. + + [GTK] Add support for <meter> element + https://bugs.webkit.org/show_bug.cgi?id=48713 + + * GNUmakefile.am: Enable meter element. + +2011-01-11 Csaba Osztrogonác <ossy@webkit.org> + + Unreviewed buildfix. + + [Qt][V8] Add missing include for debug build. + + * loader/cache/CachedResourceLoader.cpp: + +2011-01-11 Pavel Feldman <pfeldman@chromium.org> + + 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 <jocelyn.turcotte@nokia.com> + + 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 <podivilov@chromium.org> + + 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 <podivilov@chromium.org> + + 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 <apavlov@chromium.org> + + 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 <podivilov@chromium.org> + + 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 <loislo@chromium.org> + + 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 <aroben@apple.com> + + 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 <pfeldman@chromium.org> + + 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 <noel.gordon@gmail.com> + + 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 <pfeldman@chromium.org> + + 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 <pfeldman@chromium.org> + + 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 <cgarcia@igalia.com> + + 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 <hyatt@apple.com> + + 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 <senorblanco@chromium.org> + + 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 <laszlo.1.gombos@nokia.com> + + 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 <jmason@rim.com> + + 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 <abarth@webkit.org> + + 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 <jer.noble@apple.com> + + 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 + <script> tags, though all the explicit tests were passing. This was caused by + the document's render tree being left in an inconsistent state when a full screen + element's ancestor was removed from the DOM. + + In nodeWillBeRemoved(), match the code in webkitDidExitFullScreen(). + Don't detach the documentElement, but rather simply call recalcStyle(Force). + + * dom/Document.cpp: + (WebCore::Document::nodeWillBeRemoved): + * rendering/RenderFullScreen.cpp: + (RenderFullScreen::setAnimating): #if ENABLED -> # if USE + * rendering/RenderFullScreen.h: + (WebCore::RenderFullScreen::RenderFullScreen): RenderFullScreen should be an anonymous renderer. + +2011-01-10 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Xan Lopez. + + [GTK] Remove use of deprecated GTK+ methods before the 1.3.10 release + https://bugs.webkit.org/show_bug.cgi?id=52173 + + No new tests. This is only a build fix. + + * platform/gtk/GRefPtrGtk.cpp: Guard the GdkCursor specialization against GTK+ 3.x. + In GTK+ 3.x, GdkCursor is just a GObject. + * platform/gtk/GRefPtrGtk.h: Ditto. + +2011-01-10 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Oliver Hunt. + + Moved Collector.* => Heap.*, since the file contains a class named "Heap". + + * ForwardingHeaders/runtime/Collector.h: Removed. + * ForwardingHeaders/runtime/Heap.h: Copied from WebCore/ForwardingHeaders/runtime/Collector.h. + * WebCore.vcproj/WebCore.vcproj: + * bindings/js/GCController.cpp: + * bindings/js/ScriptGCEvent.cpp: + +2011-01-10 Leonid Ebril <leonid.ebril@nokia.com> + + Reviewed by Kenneth Rohde Christiansen. + + https://bugs.webkit.org/show_bug.cgi?id=51879 + + Set the PluginQuirkDontSetNullWindowHandleOnDestroy for Adobe Lite + plugin if Flash 10 or newer (for Symbian platform), setting a nulled + window handler on destroy crashes WebKit. + + * plugins/symbian/PluginPackageSymbian.cpp: + (WebCore::PluginPackage::fetchInfo): + (WebCore::PluginPackage::determineQuirks): + +2011-01-10 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Xan Lopez. + + [GTK] Remove unecessary RenderThemeGtk and WidgetRenderingContext code + https://bugs.webkit.org/show_bug.cgi?id=52170 + + Remove unnecessary code from RenderThemeGtk3 and RenderThemeGtk now that the + GtkStyleContext port is complete. Also remove WidgetRenderingContextGtk3 and + move WidgetRenderingRenderingContextGtk2 to WidgetRenderingContext and make it + GTK+ 2.x only. Some methods have been moved to RenderThemeGtk2 since they are + GTK+ 2.x only now. + + No new tests. This should not change functionality. + + * GNUmakefile.am: Remove WidgetRenderingContextGtk3 and gtk3drawing.c + * platform/gtk/RenderThemeGtk.cpp: + (WebCore::RenderThemeGtk::RenderThemeGtk): + (WebCore::gtkIconState): Made this method static. It isn't used outside RenderThemeGtk. + (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration): Updated to refelct gtkIconState change. + (WebCore::RenderThemeGtk::paintSearchFieldCancelButton): Ditto. + (WebCore::RenderThemeGtk::paintMediaButton): Ditto + * platform/gtk/RenderThemeGtk.h: Move a few methods which are now GTK+ 2.x only. + * platform/gtk/RenderThemeGtk2.cpp: + (WebCore::RenderThemeGtk::platformInit): Added this platform initialization method + that is only used for GTK+ 2.x at the moment. + (WebCore::RenderThemeGtk::~RenderThemeGtk): Added. + (WebCore::getGtkStateType): Made this method static. + (WebCore::RenderThemeGtk::getIndicatorMetrics): Moved this here from RenderThemeGtk. + (WebCore::setToggleSize): Updated to reflect changes to getGtkStateType. + (WebCore::RenderThemeGtk::paintButton): Ditto. + (WebCore::RenderThemeGtk::paintSliderTrack): Ditto. + (WebCore::RenderThemeGtk::paintSliderThumb): Ditto. + * platform/gtk/RenderThemeGtk3.cpp: + (WebCore::RenderThemeGtk::gtkScrollbarStyle): Moved to the top of the file. + (WebCore::RenderThemeGtk::platformInit): Added. + (WebCore::RenderThemeGtk::~RenderThemeGtk): Added. + (WebCore::RenderThemeGtk::initMediaColors): Changed to use the GtkStyleContext API to + fetch these colors. This was the last dependency on the old API. + * platform/gtk/WidgetRenderingContext.cpp: Renamed from Source/WebCore/platform/gtk/WidgetRenderingContextGtk2.cpp. + * platform/gtk/WidgetRenderingContext.h: Made GTK+ 2.x only. + * platform/gtk/WidgetRenderingContextGtk3.cpp: Removed. + * platform/gtk/gtk3drawing.c: Removed. + * platform/gtk/gtkdrawing.h: Made GTK+ 2.x only. + +2011-01-10 Benjamin Poulain <benjamin.poulain@nokia.com> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Navigator.cookiesEnabled return true for Qt even if there is no cookie jar + https://bugs.webkit.org/show_bug.cgi?id=52081 + + Test for the availability of cookie jar to return if cookies are enabled or not. + + * platform/qt/CookieJarQt.cpp: + (WebCore::cookiesEnabled): + +2011-01-10 W. James MacLean <wjmaclean@chromium.org> + + Reviewed by Kenneth Russell. + + [chromium] Enable reuse of RenderSurface for drawing. + https://bugs.webkit.org/show_bug.cgi?id=51928 + + Modifies RenderSurfaceChromium::prepareContentsTexture to avoid trying to 'reserve' a texture + that is already reserved, should an attempt be made to re-select a previously drawn render surface + in order to continue drawing to it. This use case appears when compositing into an offscreen texture. + + Covered by existing test (compositing/geometry/fixed-position.html) when offscreen compositing enabled. + + * platform/graphics/chromium/LayerTexture.h: + (WebCore::LayerTexture::isReserved): + * platform/graphics/chromium/RenderSurfaceChromium.cpp: + (WebCore::RenderSurfaceChromium::prepareContentsTexture): + * platform/graphics/chromium/TextureManager.cpp: + (WebCore::TextureManager::isProtected): + * platform/graphics/chromium/TextureManager.h: + +2011-01-10 Carlos Garcia Campos <cgarcia@igalia.com> + + Reviewed by Xan Lopez. + + [GTK] Port combo box painting to GtkStyleContext + https://bugs.webkit.org/show_bug.cgi?id=51828 + + Use GtkStyleContext API to paint combo boxes when building with + GTK+ 3.x. Method paintButton() has been factored out and the new + static method renderButton() is used by both paintButton() and + paintMenuList(). + + No new tests. This should not change functionality. + + * platform/gtk/RenderThemeGtk3.cpp: + (WebCore::RenderThemeGtk::adjustRepaintRect): + (WebCore::renderButton): + (WebCore::RenderThemeGtk::paintButton): + (WebCore::getComboBoxMetrics): + (WebCore::RenderThemeGtk::popupInternalPaddingLeft): + (WebCore::RenderThemeGtk::popupInternalPaddingRight): + (WebCore::RenderThemeGtk::popupInternalPaddingTop): + (WebCore::RenderThemeGtk::popupInternalPaddingBottom): + (WebCore::RenderThemeGtk::paintMenuList): + +2011-01-10 Evan Martin <evan@chromium.org> + + Reviewed by Tony Chang. + + [chromium] simplify complex glyph positioning code + https://bugs.webkit.org/show_bug.cgi?id=52159 + + Before, we had roughly same code duplicated for RTL and LTR. + Now, use the same code for both directions by being careful about + flipping signs where appropriate. + + * platform/graphics/chromium/ComplexTextControllerLinux.cpp: + (WebCore::ComplexTextController::shapeGlyphs): + (WebCore::ComplexTextController::setGlyphXPositions): + +2011-01-10 Alejandro G. Castro <alex@igalia.com> + + Reviewed by Xan Lopez. + + [GTK] Fix gtk2 compilation for master + https://bugs.webkit.org/show_bug.cgi?id=51885 + + * platform/gtk/GtkVersioning.h: Replaced the 2.24.0 check with + 2.23.0 to avoid using the old symbols in the 2.23 releases. Added + support for gdk_pixmap_get_size before the 2.23.4. + * platform/gtk/WidgetRenderingContextGtk2.cpp: + (WebCore::WidgetRenderingContext::WidgetRenderingContext): + Replaced the old gdk_drawable_get_size with gdk_pixmap_get_size. + +2011-01-10 Ryosuke Niwa <rniwa@webkit.org> + + Unreviewed; build fix for r75385. + + * rendering/mathml/RenderMathMLFraction.cpp: + (WebCore::RenderMathMLFraction::paint): + +2011-01-10 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r75341. + http://trac.webkit.org/changeset/75341 + https://bugs.webkit.org/show_bug.cgi?id=52157 + + Regressions on several pixel tests (Requested by jorlow on + #webkit). + + * platform/graphics/cg/GraphicsContextCG.cpp: + (WebCore::GraphicsContext::fillPath): + +2011-01-10 Carlos Garcia Campos <cgarcia@igalia.com> + + Reviewed by Martin Robinson. + + [GTK] Port check and radio button painting to GtkStyleContext + https://bugs.webkit.org/show_bug.cgi?id=51815 + + Use GtkStyleContext API to paint check and radio buttons when + building with GTK+ 3.x. + + No new tests. This should not change functionality. + + * platform/gtk/RenderThemeGtk3.cpp: + (WebCore::RenderThemeGtk::adjustRepaintRect): + (WebCore::setToggleSize): + (WebCore::paintToggle): + (WebCore::RenderThemeGtk::setCheckboxSize): + (WebCore::RenderThemeGtk::paintCheckbox): + (WebCore::RenderThemeGtk::setRadioSize): + (WebCore::RenderThemeGtk::paintRadio): + +2011-01-10 François Sausset <sausset@gmail.com> + + Reviewed by Kenneth Rohde Christiansen. + + MathML: vertical alignment & bar thickness adjustments of fractions. + https://bugs.webkit.org/show_bug.cgi?id=50018 + + The fraction bar thickness default value should follow the w3c MathML 3 recommendation: + http://www.w3.org/TR/MathML3/chapter3.html#presm.mfrac + The vertical alignment of the fraction bar should be more accurate, specially with operators (+,=,...). + + Test: mathml/presentation/fractions.xhtml + + * rendering/mathml/RenderMathMLFraction.cpp: + (WebCore::RenderMathMLFraction::RenderMathMLFraction): + (WebCore::RenderMathMLFraction::updateFromElement): + (WebCore::RenderMathMLFraction::layout): + (WebCore::RenderMathMLFraction::paint): + (WebCore::RenderMathMLFraction::baselinePosition): + * rendering/mathml/RenderMathMLFraction.h: + +2011-01-10 Antti Koivisto <antti@apple.com> + + Reviewed by Alexey Proskuryakov. + + https://bugs.webkit.org/show_bug.cgi?id=52044 + REGRESSION(r74807): No-store is ignored within a document + + Don't use cached resources with Cache-control: no-store (unless cache policy is CachePolicyHistoryBuffer). + This matches a behavior that got lost in r74807. + + Test: http/tests/misc/script-no-store.html + (by Alexey Proskuryakov) + + * loader/cache/CachedResourceLoader.cpp: + (WebCore::CachedResourceLoader::determineRevalidationPolicy): + +2011-01-10 Patrick Gansterer <paroga@webkit.org> + + Reviewed by Laszlo Gombos. + + [WIN] Add ProxyServerWin.cpp + https://bugs.webkit.org/show_bug.cgi?id=52031 + + Add stub implementation to fix ENABLE_NETSCAPE_PLUGIN_API on WinCE. + + * CMakeLists.txt: + * CMakeListsWinCE.txt: + * platform/network/win/ProxyServerWin.cpp: Added. + (WebCore::proxyServersForURL): + +2011-01-10 Alejandro G. Castro <alex@igalia.com> + + Reviewed by Martin Robinson. + + [cairo] Rendering a lot of arcs on top of each other causes time + outs in some tests + https://bugs.webkit.org/show_bug.cgi?id=50869 + + We avoid the situation where we have to render the same arc + multiple times over itself. Now it renders just one oval and + moves to the end angle. + + * platform/graphics/cairo/PathCairo.cpp: + (WebCore::Path::addArc): + +2011-01-10 Carlos Garcia Campos <cgarcia@igalia.com> + + Reviewed by Martin Robinson. + + [GTK] Port text input control painting to GtkStyleContext + https://bugs.webkit.org/show_bug.cgi?id=51870 + + Use GtkStyleContext API to paint text input controls when building + with GTK+ 3.x. + + No new tests. This should not change functionality. + + * platform/gtk/RenderThemeGtk3.cpp: + (WebCore::RenderThemeGtk::adjustRepaintRect): + (WebCore::RenderThemeGtk::paintTextField): + +2011-01-09 Tony Gentilcore <tonyg@chromium.org> + + Reviewed by Alexey Proskuryakov. + + Forward declare some headers where possible + https://bugs.webkit.org/show_bug.cgi?id=52133 + + No new tests because no new functionality. + + * css/CSSValue.h: + * dom/BeforeLoadEvent.h: + * dom/Event.cpp: + * dom/Event.h: + * dom/StyledElement.cpp: + * dom/StyledElement.h: + * loader/DocumentLoader.h: + * loader/FrameLoader.h: + * page/Frame.h: + * platform/graphics/GraphicsContext.cpp: + * platform/graphics/GraphicsContext.h: + * platform/graphics/filters/FEBlend.cpp: + * platform/graphics/filters/FEColorMatrix.cpp: + * platform/graphics/filters/FEComponentTransfer.cpp: + * platform/graphics/filters/FEComposite.cpp: + * platform/graphics/filters/FEConvolveMatrix.cpp: + * platform/graphics/filters/FEDiffuseLighting.cpp: + * platform/graphics/filters/FEDisplacementMap.cpp: + * platform/graphics/filters/FEFlood.cpp: + * platform/graphics/filters/FEGaussianBlur.cpp: + * platform/graphics/filters/FEMerge.cpp: + * platform/graphics/filters/FEMorphology.cpp: + * platform/graphics/filters/FEOffset.cpp: + * platform/graphics/filters/FESpecularLighting.cpp: + * platform/graphics/filters/FETile.cpp: + * platform/graphics/filters/FETurbulence.cpp: + * platform/graphics/filters/FilterEffect.cpp: + * platform/graphics/filters/FilterEffect.h: + * platform/graphics/filters/SourceAlpha.cpp: + * platform/graphics/filters/SourceGraphic.cpp: + * svg/SVGElement.cpp: + * svg/SVGElement.h: + * svg/SVGFEBlendElement.cpp: + * svg/SVGFEColorMatrixElement.cpp: + * svg/SVGFEComponentTransferElement.cpp: + * svg/SVGFECompositeElement.cpp: + * svg/SVGFEConvolveMatrixElement.cpp: + * svg/SVGFEConvolveMatrixElement.h: + * svg/SVGFEDiffuseLightingElement.cpp: + * svg/SVGFEDisplacementMapElement.cpp: + * svg/SVGFEGaussianBlurElement.cpp: + * svg/SVGFEImageElement.h: + * svg/SVGFEMergeElement.cpp: + * svg/SVGFEMorphologyElement.cpp: + * svg/SVGFEOffsetElement.cpp: + * svg/SVGFESpecularLightingElement.cpp: + * svg/SVGFETileElement.cpp: + * svg/SVGFETurbulenceElement.h: + * svg/SVGFilterPrimitiveStandardAttributes.cpp: + * svg/SVGFilterPrimitiveStandardAttributes.h: + * svg/SVGTextContentElement.cpp: + * svg/graphics/filters/SVGFEImage.cpp: + * svg/graphics/filters/SVGFEImage.h: + +2011-01-10 Adam Roben <aroben@apple.com> + + Windows build fix after r75313 + + * WebCore.vcproj/build-generated-files.sh: Updated for the change in + this script's path. + +2011-01-10 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: make properties on Array's prototype non-enumerable. + https://bugs.webkit.org/show_bug.cgi?id=51776 + + * inspector/front-end/utilities.js: + (): + +2011-01-10 Yael Aharon <yael.aharon@nokia.com> + + Reviewed by Simon Fraser. + + Specificity of negated selectors apparently miscalculated + https://bugs.webkit.org/show_bug.cgi?id=41206 + + Give negated selectors the specificity of the selector they are negating. + This is the same as the behavior of other browsers. + + Test: fast/css/pseudo-not.html + + * css/CSSSelector.cpp: + (WebCore::CSSSelector::specificityForOneSelector): + +2011-01-10 Adam Roben <aroben@apple.com> + + Windows build fix after r75353 + + * WebCore.vcproj/WebCoreCommon.vsprops: Added rendering/mathml to the + include path. + +2011-01-10 John Knottenbelt <jknotten@chromium.org> + + Reviewed by Jeremy Orlow. + + [Chromium] Remove non-client-based Geolocation code + https://bugs.webkit.org/show_bug.cgi?id=50921 + + Code clean up, covered by existing tests. + + * WebCore.gyp/WebCore.gyp: + * WebCore.gypi: + * platform/chromium/ChromiumBridge.h: + * platform/chromium/GeolocationServiceChromium.cpp: Removed. + * platform/chromium/GeolocationServiceChromium.h: Removed. + +2011-01-10 Ilya Tikhonovsky <loislo@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: protocol related change. Rename stepIntoStatement, stepOutOfFunction, stepOverStatement. + stepIntoStatement => stepInto + stepOutOfFunction => stepOut + stepOverStatement => stepOver + + https://bugs.webkit.org/show_bug.cgi?id=52142 + + * inspector/Inspector.idl: + * inspector/InspectorDebuggerAgent.cpp: + (WebCore::InspectorDebuggerAgent::stepOver): + (WebCore::InspectorDebuggerAgent::stepInto): + (WebCore::InspectorDebuggerAgent::stepOut): + * inspector/InspectorDebuggerAgent.h: + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel.prototype._stepOverClicked): + (WebInspector.ScriptsPanel.prototype._stepIntoClicked): + (WebInspector.ScriptsPanel.prototype._stepOutClicked): + +2011-01-10 Carlos Garcia Campos <cgarcia@igalia.com> + + Reviewed by Martin Robinson. + + [GTK] Port progressbar painting to GtkStyleContext + https://bugs.webkit.org/show_bug.cgi?id=52054 + + Use GtkStyleContext API to paint progressbars when building with + GTK+ 3.x. Also add support for indeterminate progressbars. + + No new tests. This should not change functionality. + + * platform/gtk/RenderThemeGtk.cpp: + * platform/gtk/RenderThemeGtk2.cpp: + (WebCore::RenderThemeGtk::animationRepeatIntervalForProgressBar): + (WebCore::RenderThemeGtk::animationDurationForProgressBar): + * platform/gtk/RenderThemeGtk3.cpp: + (WebCore::RenderThemeGtk::animationRepeatIntervalForProgressBar): + (WebCore::RenderThemeGtk::animationDurationForProgressBar): + (WebCore::RenderThemeGtk::paintProgressBar): + +2011-01-10 Andreas Kling <kling@webkit.org> + + Reviewed by Darin Adler. + + Remove unused class "Pen" in WebCore/platform/graphics + https://bugs.webkit.org/show_bug.cgi?id=49955 + + * Android.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * platform/graphics/Pen.cpp: Removed. + * platform/graphics/Pen.h: Removed. + * platform/graphics/haiku/GraphicsContextHaiku.cpp: + * platform/graphics/wx/GraphicsContextWx.cpp: + * platform/graphics/wx/PenWx.cpp: Removed. + +2011-01-10 Xan Lopez <xlopez@igalia.com> + + Reviewed by Martin Robinson. + + [GTK] Create intermediate libWebCore library + https://bugs.webkit.org/show_bug.cgi?id=52116 + + Create intermediate libWebCore.la to avoid overflowing the linker + in the final link stage. + + * GNUmakefile.am: define the new library. + +2011-01-09 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r75337. + http://trac.webkit.org/changeset/75337 + https://bugs.webkit.org/show_bug.cgi?id=52137 + + It made fast/dom/navigator-detached-no-crash.html crash + (Requested by Ossy on #webkit). + + * platform/qt/CookieJarQt.cpp: + (WebCore::cookiesEnabled): + +2011-01-09 Mark Rowe <mrowe@apple.com> + + Fix the build. + + * WebCore.xcodeproj/project.pbxproj: Copy SVGResourcesCache.h in to PrivateHeaders + once more. + +2011-01-09 Dan Bernstein <mitz@apple.com> + + Reviewed by Sam Weinig. + + <rdar://problem/8765555> WebKit2: Search field focus ring is missing + + Provide a focus ring visible rect to AppKit. + + * platform/mac/ThemeMac.mm: + (-[WebCoreFlippedView _focusRingVisibleRect]): + (-[WebCoreFlippedView _focusRingClipAncestor]): + +2011-01-09 Dirk Schulze <krit@webkit.org> + + Reviewed by Rob Buis. + + Move MathML renderer to rendering/mathml + https://bugs.webkit.org/show_bug.cgi?id=52131 + + Move all renderer of MathML to WebCore/rendering/mathml + + No change of functionality, no new tests added. + + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * mathml/RenderMathMLBlock.cpp: Removed. + * mathml/RenderMathMLBlock.h: Removed. + * mathml/RenderMathMLFenced.cpp: Removed. + * mathml/RenderMathMLFenced.h: Removed. + * mathml/RenderMathMLFraction.cpp: Removed. + * mathml/RenderMathMLFraction.h: Removed. + * mathml/RenderMathMLMath.cpp: Removed. + * mathml/RenderMathMLMath.h: Removed. + * mathml/RenderMathMLOperator.cpp: Removed. + * mathml/RenderMathMLOperator.h: Removed. + * mathml/RenderMathMLRoot.cpp: Removed. + * mathml/RenderMathMLRoot.h: Removed. + * mathml/RenderMathMLRow.cpp: Removed. + * mathml/RenderMathMLRow.h: Removed. + * mathml/RenderMathMLSquareRoot.cpp: Removed. + * mathml/RenderMathMLSquareRoot.h: Removed. + * mathml/RenderMathMLSubSup.cpp: Removed. + * mathml/RenderMathMLSubSup.h: Removed. + * mathml/RenderMathMLUnderOver.cpp: Removed. + * mathml/RenderMathMLUnderOver.h: Removed. + * rendering/mathml: Added. + * rendering/mathml/RenderMathMLBlock.cpp: Copied from Source/WebCore/mathml/RenderMathMLBlock.cpp. + * rendering/mathml/RenderMathMLBlock.h: Copied from Source/WebCore/mathml/RenderMathMLBlock.h. + * rendering/mathml/RenderMathMLFenced.cpp: Copied from Source/WebCore/mathml/RenderMathMLFenced.cpp. + * rendering/mathml/RenderMathMLFenced.h: Copied from Source/WebCore/mathml/RenderMathMLFenced.h. + * rendering/mathml/RenderMathMLFraction.cpp: Copied from Source/WebCore/mathml/RenderMathMLFraction.cpp. + * rendering/mathml/RenderMathMLFraction.h: Copied from Source/WebCore/mathml/RenderMathMLFraction.h. + * rendering/mathml/RenderMathMLMath.cpp: Copied from Source/WebCore/mathml/RenderMathMLMath.cpp. + * rendering/mathml/RenderMathMLMath.h: Copied from Source/WebCore/mathml/RenderMathMLMath.h. + * rendering/mathml/RenderMathMLOperator.cpp: Copied from Source/WebCore/mathml/RenderMathMLOperator.cpp. + * rendering/mathml/RenderMathMLOperator.h: Copied from Source/WebCore/mathml/RenderMathMLOperator.h. + * rendering/mathml/RenderMathMLRoot.cpp: Copied from Source/WebCore/mathml/RenderMathMLRoot.cpp. + * rendering/mathml/RenderMathMLRoot.h: Copied from Source/WebCore/mathml/RenderMathMLRoot.h. + * rendering/mathml/RenderMathMLRow.cpp: Copied from Source/WebCore/mathml/RenderMathMLRow.cpp. + * rendering/mathml/RenderMathMLRow.h: Copied from Source/WebCore/mathml/RenderMathMLRow.h. + * rendering/mathml/RenderMathMLSquareRoot.cpp: Copied from Source/WebCore/mathml/RenderMathMLSquareRoot.cpp. + * rendering/mathml/RenderMathMLSquareRoot.h: Copied from Source/WebCore/mathml/RenderMathMLSquareRoot.h. + * rendering/mathml/RenderMathMLSubSup.cpp: Copied from Source/WebCore/mathml/RenderMathMLSubSup.cpp. + * rendering/mathml/RenderMathMLSubSup.h: Copied from Source/WebCore/mathml/RenderMathMLSubSup.h. + * rendering/mathml/RenderMathMLUnderOver.cpp: Copied from Source/WebCore/mathml/RenderMathMLUnderOver.cpp. + * rendering/mathml/RenderMathMLUnderOver.h: Copied from Source/WebCore/mathml/RenderMathMLUnderOver.h. + +2011-01-08 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Alexey Proskuryakov. + + HTMLStyleElement.disabled doesn't work (affects jQuery) + https://bugs.webkit.org/show_bug.cgi?id=25287 + + Fix the disabled property of a HTMLStyleElement to reflect, + and set the disabled state of its style sheet, as required + by DOM1 etc. + + Based on initial patch by Tarun Nainani. + + Test: fast/html/disable-style-element.html + + * dom/StyleElement.h: + (WebCore::StyleElement::sheet): Make const. + + * html/HTMLStyleElement.h: + * html/HTMLStyleElement.idl: + * html/HTMLStyleElement.cpp: + (WebCore::HTMLStyleElement::disabled): + (WebCore::HTMLStyleElement::setDisabled): Getter and setter for disabled + call through to the sheet (if any). + +2011-01-09 Dirk Schulze <krit@webkit.org> + + Reviewed by Nikolas Zimmermann. + + Rename RenderForeignObject to RenderSVGForeignObject + https://bugs.webkit.org/show_bug.cgi?id=52129 + + Rename RenderForeignObject to RenderSVGForeignObject to match the naming schema in render/svg. + + No change of functionality, no new tests. + + * Android.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.xcodeproj/project.pbxproj: + * rendering/RenderingAllInOne.cpp: + * rendering/svg/RenderForeignObject.cpp: Removed. + * rendering/svg/RenderForeignObject.h: Removed. + * rendering/svg/RenderSVGAllInOne.cpp: + * rendering/svg/RenderSVGBlock.cpp: + (WebCore::RenderSVGBlock::updateBoxModelInfoFromStyle): + * rendering/svg/RenderSVGForeignObject.cpp: Copied from Source/WebCore/rendering/svg/RenderForeignObject.cpp. + (WebCore::RenderSVGForeignObject::RenderSVGForeignObject): + (WebCore::RenderSVGForeignObject::~RenderSVGForeignObject): + (WebCore::RenderSVGForeignObject::paint): + (WebCore::RenderSVGForeignObject::clippedOverflowRectForRepaint): + (WebCore::RenderSVGForeignObject::computeRectForRepaint): + (WebCore::RenderSVGForeignObject::localToParentTransform): + (WebCore::RenderSVGForeignObject::computeLogicalWidth): + (WebCore::RenderSVGForeignObject::computeLogicalHeight): + (WebCore::RenderSVGForeignObject::layout): + (WebCore::RenderSVGForeignObject::nodeAtFloatPoint): + (WebCore::RenderSVGForeignObject::nodeAtPoint): + (WebCore::RenderSVGForeignObject::mapLocalToContainer): + * rendering/svg/RenderSVGForeignObject.h: Copied from Source/WebCore/rendering/svg/RenderForeignObject.h. + (WebCore::RenderSVGForeignObject::renderName): + * svg/SVGForeignObjectElement.cpp: + (WebCore::SVGForeignObjectElement::createRenderer): + +2011-01-09 Dirk Schulze <krit@webkit.org> + + Reviewed by Nikolas Zimmermann. + + Move all SVG renderer to WebCore/rendering/svg + https://bugs.webkit.org/show_bug.cgi?id=52087 + + No change of functionality. Just moved all SVG renderer to WebCore/rendering/svg. + + * Android.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vjproj/project.vjproj: + * WebCore.xcodeproj/project.pbxproj: + * rendering/RenderForeignObject.cpp: Removed. + * rendering/RenderForeignObject.h: Removed. + * rendering/RenderSVGAllInOne.cpp: Removed. + * rendering/RenderSVGBlock.cpp: Removed. + * rendering/RenderSVGBlock.h: Removed. + * rendering/RenderSVGContainer.cpp: Removed. + * rendering/RenderSVGContainer.h: Removed. + * rendering/RenderSVGGradientStop.cpp: Removed. + * rendering/RenderSVGGradientStop.h: Removed. + * rendering/RenderSVGHiddenContainer.cpp: Removed. + * rendering/RenderSVGHiddenContainer.h: Removed. + * rendering/RenderSVGImage.cpp: Removed. + * rendering/RenderSVGImage.h: Removed. + * rendering/RenderSVGModelObject.cpp: Removed. + * rendering/RenderSVGModelObject.h: Removed. + * rendering/RenderSVGResource.cpp: Removed. + * rendering/RenderSVGResource.h: Removed. + * rendering/RenderSVGResourceClipper.cpp: Removed. + * rendering/RenderSVGResourceClipper.h: Removed. + * rendering/RenderSVGResourceContainer.cpp: Removed. + * rendering/RenderSVGResourceContainer.h: Removed. + * rendering/RenderSVGResourceFilter.cpp: Removed. + * rendering/RenderSVGResourceFilter.h: Removed. + * rendering/RenderSVGResourceFilterPrimitive.cpp: Removed. + * rendering/RenderSVGResourceFilterPrimitive.h: Removed. + * rendering/RenderSVGResourceGradient.cpp: Removed. + * rendering/RenderSVGResourceGradient.h: Removed. + * rendering/RenderSVGResourceLinearGradient.cpp: Removed. + * rendering/RenderSVGResourceLinearGradient.h: Removed. + * rendering/RenderSVGResourceMarker.cpp: Removed. + * rendering/RenderSVGResourceMarker.h: Removed. + * rendering/RenderSVGResourceMasker.cpp: Removed. + * rendering/RenderSVGResourceMasker.h: Removed. + * rendering/RenderSVGResourcePattern.cpp: Removed. + * rendering/RenderSVGResourcePattern.h: Removed. + * rendering/RenderSVGResourceRadialGradient.cpp: Removed. + * rendering/RenderSVGResourceRadialGradient.h: Removed. + * rendering/RenderSVGResourceSolidColor.cpp: Removed. + * rendering/RenderSVGResourceSolidColor.h: Removed. + * rendering/RenderSVGRoot.cpp: Removed. + * rendering/RenderSVGRoot.h: Removed. + * rendering/RenderSVGShadowTreeRootContainer.cpp: Removed. + * rendering/RenderSVGShadowTreeRootContainer.h: Removed. + * rendering/RenderSVGTransformableContainer.cpp: Removed. + * rendering/RenderSVGTransformableContainer.h: Removed. + * rendering/RenderSVGViewportContainer.cpp: Removed. + * rendering/RenderSVGViewportContainer.h: Removed. + * rendering/SVGImageBufferTools.cpp: Removed. + * rendering/SVGImageBufferTools.h: Removed. + * rendering/SVGMarkerData.h: Removed. + * rendering/SVGMarkerLayoutInfo.cpp: Removed. + * rendering/SVGMarkerLayoutInfo.h: Removed. + * rendering/SVGRenderSupport.cpp: Removed. + * rendering/SVGRenderSupport.h: Removed. + * rendering/SVGRenderTreeAsText.cpp: Removed. + * rendering/SVGRenderTreeAsText.h: Removed. + * rendering/SVGResources.cpp: Removed. + * rendering/SVGResources.h: Removed. + * rendering/SVGResourcesCache.cpp: Removed. + * rendering/SVGResourcesCache.h: Removed. + * rendering/SVGResourcesCycleSolver.cpp: Removed. + * rendering/SVGResourcesCycleSolver.h: Removed. + * rendering/SVGShadowTreeElements.cpp: Removed. + * rendering/SVGShadowTreeElements.h: Removed. + * rendering/svg/RenderForeignObject.cpp: Copied from Source/WebCore/rendering/RenderForeignObject.cpp. + * rendering/svg/RenderForeignObject.h: Copied from Source/WebCore/rendering/RenderForeignObject.h. + * rendering/svg/RenderSVGAllInOne.cpp: Copied from Source/WebCore/rendering/RenderSVGAllInOne.cpp. + * rendering/svg/RenderSVGBlock.cpp: Copied from Source/WebCore/rendering/RenderSVGBlock.cpp. + * rendering/svg/RenderSVGBlock.h: Copied from Source/WebCore/rendering/RenderSVGBlock.h. + * rendering/svg/RenderSVGContainer.cpp: Copied from Source/WebCore/rendering/RenderSVGContainer.cpp. + * rendering/svg/RenderSVGContainer.h: Copied from Source/WebCore/rendering/RenderSVGContainer.h. + * rendering/svg/RenderSVGGradientStop.cpp: Copied from Source/WebCore/rendering/RenderSVGGradientStop.cpp. + * rendering/svg/RenderSVGGradientStop.h: Copied from Source/WebCore/rendering/RenderSVGGradientStop.h. + * rendering/svg/RenderSVGHiddenContainer.cpp: Copied from Source/WebCore/rendering/RenderSVGHiddenContainer.cpp. + * rendering/svg/RenderSVGHiddenContainer.h: Copied from Source/WebCore/rendering/RenderSVGHiddenContainer.h. + * rendering/svg/RenderSVGImage.cpp: Copied from Source/WebCore/rendering/RenderSVGImage.cpp. + * rendering/svg/RenderSVGImage.h: Copied from Source/WebCore/rendering/RenderSVGImage.h. + * rendering/svg/RenderSVGModelObject.cpp: Copied from Source/WebCore/rendering/RenderSVGModelObject.cpp. + * rendering/svg/RenderSVGModelObject.h: Copied from Source/WebCore/rendering/RenderSVGModelObject.h. + * rendering/svg/RenderSVGResource.cpp: Copied from Source/WebCore/rendering/RenderSVGResource.cpp. + * rendering/svg/RenderSVGResource.h: Copied from Source/WebCore/rendering/RenderSVGResource.h. + * rendering/svg/RenderSVGResourceClipper.cpp: Copied from Source/WebCore/rendering/RenderSVGResourceClipper.cpp. + * rendering/svg/RenderSVGResourceClipper.h: Copied from Source/WebCore/rendering/RenderSVGResourceClipper.h. + * rendering/svg/RenderSVGResourceContainer.cpp: Copied from Source/WebCore/rendering/RenderSVGResourceContainer.cpp. + * rendering/svg/RenderSVGResourceContainer.h: Copied from Source/WebCore/rendering/RenderSVGResourceContainer.h. + * rendering/svg/RenderSVGResourceFilter.cpp: Copied from Source/WebCore/rendering/RenderSVGResourceFilter.cpp. + * rendering/svg/RenderSVGResourceFilter.h: Copied from Source/WebCore/rendering/RenderSVGResourceFilter.h. + * rendering/svg/RenderSVGResourceFilterPrimitive.cpp: Copied from Source/WebCore/rendering/RenderSVGResourceFilterPrimitive.cpp. + * rendering/svg/RenderSVGResourceFilterPrimitive.h: Copied from Source/WebCore/rendering/RenderSVGResourceFilterPrimitive.h. + * rendering/svg/RenderSVGResourceGradient.cpp: Copied from Source/WebCore/rendering/RenderSVGResourceGradient.cpp. + * rendering/svg/RenderSVGResourceGradient.h: Copied from Source/WebCore/rendering/RenderSVGResourceGradient.h. + * rendering/svg/RenderSVGResourceLinearGradient.cpp: Copied from Source/WebCore/rendering/RenderSVGResourceLinearGradient.cpp. + * rendering/svg/RenderSVGResourceLinearGradient.h: Copied from Source/WebCore/rendering/RenderSVGResourceLinearGradient.h. + * rendering/svg/RenderSVGResourceMarker.cpp: Copied from Source/WebCore/rendering/RenderSVGResourceMarker.cpp. + * rendering/svg/RenderSVGResourceMarker.h: Copied from Source/WebCore/rendering/RenderSVGResourceMarker.h. + * rendering/svg/RenderSVGResourceMasker.cpp: Copied from Source/WebCore/rendering/RenderSVGResourceMasker.cpp. + * rendering/svg/RenderSVGResourceMasker.h: Copied from Source/WebCore/rendering/RenderSVGResourceMasker.h. + * rendering/svg/RenderSVGResourcePattern.cpp: Copied from Source/WebCore/rendering/RenderSVGResourcePattern.cpp. + * rendering/svg/RenderSVGResourcePattern.h: Copied from Source/WebCore/rendering/RenderSVGResourcePattern.h. + * rendering/svg/RenderSVGResourceRadialGradient.cpp: Copied from Source/WebCore/rendering/RenderSVGResourceRadialGradient.cpp. + * rendering/svg/RenderSVGResourceRadialGradient.h: Copied from Source/WebCore/rendering/RenderSVGResourceRadialGradient.h. + * rendering/svg/RenderSVGResourceSolidColor.cpp: Copied from Source/WebCore/rendering/RenderSVGResourceSolidColor.cpp. + * rendering/svg/RenderSVGResourceSolidColor.h: Copied from Source/WebCore/rendering/RenderSVGResourceSolidColor.h. + * rendering/svg/RenderSVGRoot.cpp: Copied from Source/WebCore/rendering/RenderSVGRoot.cpp. + * rendering/svg/RenderSVGRoot.h: Copied from Source/WebCore/rendering/RenderSVGRoot.h. + * rendering/svg/RenderSVGShadowTreeRootContainer.cpp: Copied from Source/WebCore/rendering/RenderSVGShadowTreeRootContainer.cpp. + * rendering/svg/RenderSVGShadowTreeRootContainer.h: Copied from Source/WebCore/rendering/RenderSVGShadowTreeRootContainer.h. + * rendering/svg/RenderSVGTransformableContainer.cpp: Copied from Source/WebCore/rendering/RenderSVGTransformableContainer.cpp. + * rendering/svg/RenderSVGTransformableContainer.h: Copied from Source/WebCore/rendering/RenderSVGTransformableContainer.h. + * rendering/svg/RenderSVGViewportContainer.cpp: Copied from Source/WebCore/rendering/RenderSVGViewportContainer.cpp. + * rendering/svg/RenderSVGViewportContainer.h: Copied from Source/WebCore/rendering/RenderSVGViewportContainer.h. + * rendering/svg/SVGImageBufferTools.cpp: Copied from Source/WebCore/rendering/SVGImageBufferTools.cpp. + * rendering/svg/SVGImageBufferTools.h: Copied from Source/WebCore/rendering/SVGImageBufferTools.h. + * rendering/svg/SVGMarkerData.h: Copied from Source/WebCore/rendering/SVGMarkerData.h. + * rendering/svg/SVGMarkerLayoutInfo.cpp: Copied from Source/WebCore/rendering/SVGMarkerLayoutInfo.cpp. + * rendering/svg/SVGMarkerLayoutInfo.h: Copied from Source/WebCore/rendering/SVGMarkerLayoutInfo.h. + * rendering/svg/SVGRenderSupport.cpp: Copied from Source/WebCore/rendering/SVGRenderSupport.cpp. + * rendering/svg/SVGRenderSupport.h: Copied from Source/WebCore/rendering/SVGRenderSupport.h. + * rendering/svg/SVGRenderTreeAsText.cpp: Copied from Source/WebCore/rendering/SVGRenderTreeAsText.cpp. + * rendering/svg/SVGRenderTreeAsText.h: Copied from Source/WebCore/rendering/SVGRenderTreeAsText.h. + * rendering/svg/SVGResources.cpp: Copied from Source/WebCore/rendering/SVGResources.cpp. + * rendering/svg/SVGResources.h: Copied from Source/WebCore/rendering/SVGResources.h. + * rendering/svg/SVGResourcesCache.cpp: Copied from Source/WebCore/rendering/SVGResourcesCache.cpp. + * rendering/svg/SVGResourcesCache.h: Copied from Source/WebCore/rendering/SVGResourcesCache.h. + * rendering/svg/SVGResourcesCycleSolver.cpp: Copied from Source/WebCore/rendering/SVGResourcesCycleSolver.cpp. + * rendering/svg/SVGResourcesCycleSolver.h: Copied from Source/WebCore/rendering/SVGResourcesCycleSolver.h. + * rendering/svg/SVGShadowTreeElements.cpp: Copied from Source/WebCore/rendering/SVGShadowTreeElements.cpp. + * rendering/svg/SVGShadowTreeElements.h: Copied from Source/WebCore/rendering/SVGShadowTreeElements.h. + +2011-01-09 Xianzhu Wang <phnixwxz@gmail.com> + + Reviewed by Darin Fisher. + + https://bugs.webkit.org/show_bug.cgi?id=41441 + createWindow method should only do window-creating without URL navigation. + Let client APIs know which URL a new window will start with + + * loader/FrameLoader.cpp: + (WebCore::createWindow): + * page/ContextMenuController.cpp: + (WebCore::openNewWindow): + * page/DOMWindow.cpp: + (WebCore::DOMWindow::createWindow): + +2011-01-09 Dirk Schulze <krit@webkit.org> + + Unreviewed sort of Xcode project file. + + * WebCore.xcodeproj/project.pbxproj: + +2011-01-09 Amruth Raj <amruthraj@motorola.com> and Ravi Phaneendra Kasibhatla <ravi.kasibhatla@motorola.com> + + Reviewed by Martin Robinson. + + Changes to add Process Launcher and Thread Launcher implementation to the WebKit2 GTK port. + https://bugs.webkit.org/show_bug.cgi?id=48511 + + * platform/FileSystem.h: + * platform/gtk/FileSystemGtk.cpp: Implement function to get a binary's path + (WebCore::applicationDirectoryPath): + +2011-01-08 Martin Robinson <mrobinson@igalia.com> + + GTK+ Build fix. Add missing headers to the source list, fixing make dist. + + No new tests. This is only a build change. + + * GNUmakefile.am: Add missing headers to the source list. + +2011-01-08 Amruth Raj <amruthraj@motorola.com> and Ravi Phaneendra Kasibhatla <ravi.kasibhatla@motorola.com> + + Reviewed by Martin Robinson. + + [GTK] WebKit2 GNUmakefile is out of date from trunk + https://bugs.webkit.org/show_bug.cgi?id=51883 + + Added stubs for WebKit2 compilation. + + * platform/gtk/ContextMenuGtk.cpp: + (WebCore::contextMenuItemVector): + * platform/gtk/ContextMenuItemGtk.cpp: + (WebCore::ContextMenuItem::ContextMenuItem): + (WebCore::ContextMenuItem::checked): + (WebCore::ContextMenuItem::enabled): + * platform/network/soup/AuthenticationChallenge.h: + (WebCore::AuthenticationChallenge::authenticationClient): + +2011-01-08 Helder Correia <helder@sencha.com> + + 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-08 Benjamin Poulain <benjamin.poulain@nokia.com> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] PasteboardQt.cpp has coding-style errors + https://bugs.webkit.org/show_bug.cgi?id=39771 + + Update the code to follow the coding style. + + * platform/qt/PasteboardQt.cpp: + (WebCore::Pasteboard::writeSelection): + (WebCore::Pasteboard::plainText): + (WebCore::Pasteboard::writePlainText): + (WebCore::Pasteboard::writeURL): + +2011-01-08 Tony Gentilcore <tonyg@chromium.org> + + Reviewed by Eric Seidel. + + HTML5 Conformance Test failure: approved/xhtml5/html_style_in_comment.xhtml + https://bugs.webkit.org/show_bug.cgi?id=48593 + + XHTML <style> blocks, unlike HTML <style> blocks, should respect HTML + comments. + + Test: fast/parser/xhtml-html-comment-in-style-block.xhtml + + * dom/StyleElement.cpp: + (WebCore::isValidStyleChild): Remove the COMMENT_NODE check as the HTML parser doesn't add COMMENT_NODEs as children of style blocks. + (WebCore::StyleElement::process): Factored out a condition that must remain in sync. + +2011-01-08 Benjamin Poulain <benjamin.poulain@nokia.com> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Navigator.cookiesEnabled return true for Qt even if there is no cookie jar + https://bugs.webkit.org/show_bug.cgi?id=52081 + + Test for the availability of cookie jar to return if cookies are enabled or not. The network access + manager always exist, not the cookie jar. + + * platform/qt/CookieJarQt.cpp: + (WebCore::cookiesEnabled): + +2011-01-08 Charlie Reis <creis@chromium.org> + + Reviewed by Mihai Parparita. + + Canceled frame loads can corrupt back forward list + https://bugs.webkit.org/show_bug.cgi?id=50254 + + Avoids changing m_currentItem until the navigation commits. + Also resets top-level history items if a subframe navigation is canceled. + + * WebCore/loader/FrameLoader.cpp: + (WebCore::FrameLoader::checkLoadCompleteForThisFrame): + * WebCore/loader/HistoryController.cpp: + * WebCore/loader/HistoryController.h: + +2011-01-08 Chang Shu <chang.shu@nokia.com> + + Reviewed by Kenneth Rohde Christiansen. + + Support createTouchList with Touch list for test automation. + Implemented JS/V8 custom functions for createTouchList. + https://bugs.webkit.org/show_bug.cgi?id=51196 + + * bindings/js/JSDocumentCustom.cpp: + (WebCore::JSDocument::createTouchList): + * bindings/v8/custom/V8DocumentCustom.cpp: + (WebCore::V8Document::createTouchListCallback): + * dom/Document.idl: + * dom/TouchEvent.cpp: + (WebCore::TouchEvent::initTouchEvent): + +2011-01-08 Benjamin Poulain <benjamin.poulain@nokia.com> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] CookieJarQt.cpp has coding-style errors + https://bugs.webkit.org/show_bug.cgi?id=39778 + + Improve the coding style of CookieJarQt.cpp. + + * platform/qt/CookieJarQt.cpp: + (WebCore::networkAccessManager): + (WebCore::cookiesEnabled): + +2011-01-08 Jeff Miller <jeffm@apple.com> + + Rubber-stamped by Dan Bernstein. + + Fix QTMovieWin.vcproj to account for moving WebCore to Source\WebCore + https://bugs.webkit.org/show_bug.cgi?id=52114 + + * WebCore.vcproj/QTMovieWin.vcproj: + Add an extra .. to some InheritedPropertySheets entries since WebCore is now one level deeper. + +2011-01-08 Dirk Schulze <krit@webkit.org> + + Reviewed by Mihai Parparita. + + SVG rendering clean up according to the webkit style rules 2 + https://bugs.webkit.org/show_bug.cgi?id=52112 + + Modified the style of the license of all files in WebCore/rendering/svg to match the style + in WebCore/svg. Cleaned up the code according to the webkit style rules. + + No change of functionality. No test added. + + * rendering/svg/RenderSVGInline.cpp: + * rendering/svg/RenderSVGInline.h: + * rendering/svg/RenderSVGInlineText.cpp: + * rendering/svg/RenderSVGInlineText.h: + * rendering/svg/RenderSVGPath.cpp: + * rendering/svg/RenderSVGPath.h: + * rendering/svg/RenderSVGTSpan.cpp: + * rendering/svg/RenderSVGTSpan.h: + * rendering/svg/RenderSVGText.cpp: + * rendering/svg/RenderSVGText.h: + * rendering/svg/RenderSVGTextPath.cpp: + * rendering/svg/RenderSVGTextPath.h: + * rendering/svg/SVGInlineFlowBox.cpp: + * rendering/svg/SVGInlineFlowBox.h: + * rendering/svg/SVGInlineTextBox.cpp: + * rendering/svg/SVGInlineTextBox.h: + * rendering/svg/SVGRootInlineBox.cpp: + * rendering/svg/SVGRootInlineBox.h: + * rendering/svg/SVGTextLayoutEngineBaseline.cpp: Brace was misplaced accoring to check-webkit-style. + (WebCore::SVGTextLayoutEngineBaseline::calculateGlyphOrientationAngle): + * rendering/svg/SVGTextQuery.cpp: + * rendering/svg/SVGTextQuery.h: + +2011-01-08 Dirk Schulze <krit@webkit.org> + + Reviewed by Mihai Parparita. + + SVG rendering clean up according to the webkit style rules + https://bugs.webkit.org/show_bug.cgi?id=52107 + + Cleanup of the SVG rendering code according to the webbkit style rules. + Changed style of licensing texts to match the style in WebCore/svg, no change + of the licensing text itself. + + * rendering/RenderForeignObject.cpp: + * rendering/RenderForeignObject.h: + * rendering/RenderSVGBlock.cpp: + * rendering/RenderSVGBlock.h: + * rendering/RenderSVGContainer.cpp: + * rendering/RenderSVGContainer.h: + * rendering/RenderSVGGradientStop.cpp: + * rendering/RenderSVGGradientStop.h: + * rendering/RenderSVGHiddenContainer.cpp: + * rendering/RenderSVGHiddenContainer.h: + (WebCore::RenderSVGHiddenContainer::renderName): + (WebCore::RenderSVGHiddenContainer::isSVGHiddenContainer): + (WebCore::RenderSVGHiddenContainer::requiresLayer): + (WebCore::RenderSVGHiddenContainer::clippedOverflowRectForRepaint): + * rendering/RenderSVGImage.cpp: + * rendering/RenderSVGImage.h: + * rendering/RenderSVGModelObject.h: + * rendering/RenderSVGResource.cpp: + * rendering/RenderSVGResource.h: + * rendering/RenderSVGResourceClipper.cpp: + * rendering/RenderSVGResourceClipper.h: + * rendering/RenderSVGResourceContainer.cpp: + * rendering/RenderSVGResourceContainer.h: + * rendering/RenderSVGResourceFilter.cpp: + * rendering/RenderSVGResourceFilter.h: + * rendering/RenderSVGResourceFilterPrimitive.cpp: + * rendering/RenderSVGResourceFilterPrimitive.h: + * rendering/RenderSVGResourceGradient.cpp: + * rendering/RenderSVGResourceGradient.h: + * rendering/RenderSVGResourceLinearGradient.cpp: + * rendering/RenderSVGResourceLinearGradient.h: + * rendering/RenderSVGResourceMarker.cpp: + * rendering/RenderSVGResourceMarker.h: + * rendering/RenderSVGResourceMasker.cpp: + * rendering/RenderSVGResourceMasker.h: + * rendering/RenderSVGResourcePattern.cpp: + * rendering/RenderSVGResourcePattern.h: + * rendering/RenderSVGResourceRadialGradient.cpp: + * rendering/RenderSVGResourceRadialGradient.h: + * rendering/RenderSVGResourceSolidColor.cpp: + * rendering/RenderSVGResourceSolidColor.h: + * rendering/RenderSVGRoot.cpp: + (WebCore::RenderSVGRoot::nodeAtPoint): + * rendering/RenderSVGRoot.h: + * rendering/RenderSVGShadowTreeRootContainer.cpp: + * rendering/RenderSVGShadowTreeRootContainer.h: + * rendering/RenderSVGTransformableContainer.cpp: + (WebCore::RenderSVGTransformableContainer::calculateLocalTransform): + * rendering/RenderSVGTransformableContainer.h: + (WebCore::RenderSVGTransformableContainer::localToParentTransform): + (WebCore::RenderSVGTransformableContainer::setNeedsTransformUpdate): + (WebCore::RenderSVGTransformableContainer::localTransform): + * rendering/RenderSVGViewportContainer.cpp: + * rendering/RenderSVGViewportContainer.h: + * rendering/SVGImageBufferTools.cpp: + * rendering/SVGImageBufferTools.h: + * rendering/SVGMarkerData.h: + * rendering/SVGMarkerLayoutInfo.cpp: + * rendering/SVGMarkerLayoutInfo.h: + * rendering/SVGRenderSupport.cpp: + * rendering/SVGRenderSupport.h: + * rendering/SVGRenderTreeAsText.cpp: + (WebCore::operator<<): + * rendering/SVGRenderTreeAsText.h: + * rendering/SVGResources.cpp: + * rendering/SVGResources.h: + * rendering/SVGResourcesCache.cpp: + * rendering/SVGResourcesCache.h: + * rendering/SVGResourcesCycleSolver.cpp: + * rendering/SVGResourcesCycleSolver.h: + * rendering/SVGShadowTreeElements.cpp: + * rendering/SVGShadowTreeElements.h: + +2011-01-07 Adam Barth <abarth@webkit.org> + + Rubber-stamped by Eric Seidel. + + Move WebCore to Source + https://bugs.webkit.org/show_bug.cgi?id=52050 + + Update project files to understand WebCore's new location. I suspect + there will be some follow-up patches after we land this patch. + + * Android.derived.jscbindings.mk: + * Android.jscbindings.mk: + * Android.v8bindings.mk: + * GNUmakefile.am: + * WebCore.gyp/WebCore.gyp: + * WebCore.pri: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.vcproj/WebCoreGeneratedCairo.vsprops: + * WebCore.vcproj/WebCoreGeneratedCommon.vsprops: + +2011-01-07 Justin Garcia <justin.garcia@apple.com> + + Reviewed by Dan Bernstein. + + https://bugs.webkit.org/show_bug.cgi?id=51851 + Implement RenderSVGInlineText::localCaretRect() + + * rendering/svg/RenderSVGInlineText.cpp: + (WebCore::RenderSVGInlineText::localCaretRect): Implemented. + +2011-01-07 Ryosuke Niwa <rniwa@webkit.org> + + Unreviewed; Added the missing null pointer check for r75293. + + * dom/Document.cpp: + (WebCore::Document::adoptNode): + +2011-01-07 Stephanie Lewis <slewis@apple.com> + + Reviewed by Geoff Garen. + + <rdar://problem/8649617> Migrate memory tracking from Safari to WebKit + https://bugs.webkit.org/show_bug.cgi?id=50799 Add Memory Sampler to WebKit + + Add a sampler for printing off process memory statistics. + Export file mode. + + * WebCore.exp.in: + +2011-01-06 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Adam Barth. + + onbeforeunload is broken for framesets + https://bugs.webkit.org/show_bug.cgi?id=19418 + + Added beforeunload event support for sub frames. WebKit's implementation tries to match + that of Internet Explorer as much as possible. beforeunload event is fired for each and + every descendent of a frame that is about to navigate. + + When a value other than null is returned by a beforeunload handler, a confirmation dialog + is shown for each handler (calls chrome's runBeforeUnloadConfirmPanel) just like it is done + for main frames. + + In addition, navigation is forbidden while beforeunload handlers are being called. + Setting values to location.href, location.reload, and other means of navigations are thus + ignored while beforeunload event handler is being ran, matching Internet Explorer's behavior. + + Because navigation needs to prevented globally, NavigationDisablerForBeforeUnload is added to + NavigationScheduler.h, which is instantiated as a RAII object in FrameLoader::shouldClose. + + Tests: fast/events/before-unload-adopt-subframe-to-outside.html + fast/events/before-unload-adopt-within-subframes.html + fast/events/before-unload-forbidden-navigation.html + fast/events/before-unload-in-multiple-subframes.html + fast/events/before-unload-in-subframe.html + fast/events/before-unload-javascript-navigation.html + fast/events/before-unload-remove-and-add-subframe.html + fact/events/before-unload-remove-itself.html + fast/events/before-unload-with-subframes.html + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::shouldClose): Calls fireBeforeUnloadEvent on m_frame and m_frame's + descendents. Returns true only if every call to fireBeforeUnloadEvent returned true. + (WebCore::FrameLoader::fireBeforeUnloadEvent): Fires a beforeunload event and calls + chrome's runBeforeUnloadConfirmPanel as needed. + (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): Calls shouldClose for all frames. + * loader/FrameLoader.h: + * loader/NavigationScheduler.cpp: + (WebCore::NavigationScheduler::shouldScheduleNavigation): Checks the nullity of Page and calls + NavigationDisablerForBeforeUnload::isNavigationAllowed when url is not javascript scheme. + (WebCore::NavigationScheduler::scheduleRedirect): Calls shouldScheduleNavigation. + (WebCore::NavigationScheduler::scheduleLocationChange): Ditto. + (WebCore::NavigationScheduler::scheduleRefresh): Ditto. + (WebCore::NavigationScheduler::scheduleHistoryNavigation): Ditto. + * loader/NavigationScheduler.h: + (WebCore::NavigationDisablerForBeforeUnload::NavigationDisablerForBeforeUnload): Disables navigation. + (WebCore::NavigationDisablerForBeforeUnload::~NavigationDisablerForBeforeUnload): Enables navigation + when called on the last instance of NavigationDisablerForBeforeUnload. + (WebCore::NavigationDisablerForBeforeUnload::isNavigationAllowed): Returns true if there are no instance + of NavigationDisablerForBeforeUnload left on the stack. + +2011-01-07 Martin Robinson <mrobinson@igalia.com> + + Build fix for GTK+. + + * GNUmakefile.am: Add RenderFullScreen.cpp to the sources list. + * rendering/RenderFullScreen.cpp: + (RenderFullScreen::setAnimating): Guard the call to contentChanged + with ENABLED(ACCELERATED_COMPOSITING). + +2011-01-07 Ryosuke Niwa <rniwa@webkit.org> + + Unreviewed; speculative fix for Windows debug build. + + * bindings/js/JSBindingsAllInOne.cpp: + +2011-01-07 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Ojan Vafai. + + Adopting an iframe to a child frame results in stack overflow + https://bugs.webkit.org/show_bug.cgi?id=52018 + + Throws an exception when a document adopts an iframe that is an ancestor + of the document in the frame hierarchy. New behavior matches that of Firefox. + + Test: fast/html/adopt-parent-frame.html + + * dom/Document.cpp: + (WebCore::Document::adoptNode): + +2011-01-07 Mihai Parparita <mihaip@chromium.org> + + Reviewed by Darin Fisher. + + [Chromium] Scrollbar code cleanup + https://bugs.webkit.org/show_bug.cgi?id=52073 + + Scrollbar code cleanup: + - Remove ScrollbarThemeMac.{mm|h} from the mac sources list, we use + ScrollbarThemeChromiumMac.{mm|h} + - Remove USE_WEB_THEME_ENGINE_TO_PAINT_THUMB #define now that switch to + WebThemeEngine is permanent + - Fix typo in Linux scrollbar enum name + + No new tests (compiles). + + * WebCore.gypi: + * platform/chromium/ChromiumBridge.h: + * platform/chromium/ScrollbarThemeChromiumLinux.cpp: + (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece): + * platform/chromium/ScrollbarThemeChromiumMac.mm: + (WebCore::scrollbarStateToThemeState): + (WebCore::ScrollbarThemeChromiumMac::paint): + +2011-01-07 Jer Noble <jer.noble@apple.com> + + GTK Linux build fix: isDocumentRunningFullScreenAnimation should + be protected both by ENABLE(FULLSCREEN_API) && USE(ACCELERATED_COMPOSITING) + + * page/FrameView.cpp: + +2011-01-07 Rafael Weinstein <rafaelw@chromium.org> + + Reviewed by Eric Seidel. + + Cleanup: Fold shadowParentNode into shadowHost + https://bugs.webkit.org/show_bug.cgi?id=51059 + + Replaces all uses of shadowParentNode. + + No new tests because no behavior has changed. + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::initForStyleResolve): + * dom/Node.cpp: + (WebCore::Node::shadowHost): + (WebCore::Node::shadowAncestorNode): + (WebCore::eventTargetRespectingSVGTargetRules): + (WebCore::Node::getEventAncestors): + * dom/Node.h: + * editing/Editor.cpp: + (WebCore::Editor::findString): + * page/DragController.cpp: + (WebCore::asFileInput): + * page/EventHandler.cpp: + (WebCore::EventHandler::handleMousePressEvent): + (WebCore::instanceAssociatedWithShadowTreeElement): + (WebCore::EventHandler::dispatchMouseEvent): + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::hasLineIfEmpty): + * rendering/RenderSVGShadowTreeRootContainer.cpp: + (WebCore::RenderSVGShadowTreeRootContainer::updateFromElement): + * svg/SVGStyledElement.cpp: + (WebCore::SVGStyledElement::title): + +2011-01-07 Chris Marrin <cmarrin@apple.com> + + Unreviewed. + + I mistakenly included a Windows only file in a + cross platform file. + + * platform/graphics/ca/GraphicsLayerCA.cpp: + +2011-01-07 Chris Marrin <cmarrin@apple.com> + + Unreviewed. + + Get rid of include of <QuartzCore/QuartzCore.h> + + * platform/graphics/ca/GraphicsLayerCA.cpp: + +2011-01-07 Jer Noble <jer.noble@apple.com> + + Further build fixes. Add a ENABLE(FULLSCREEN_API) guard around + the implementation of requiresCompositingfForFullScreen. + + * rendering/RenderLayerCompositor.cpp: + (WebCore::RenderLayerCompositor::requiresCompositingForFullScreen): + +2011-01-07 Jer Noble <jer.noble@apple.com> + + No review, build fix only. Removed parameter who was causing + a warning in Release builds. + + * dom/Document.cpp: + (WebCore::Document::webkitDidExitFullScreenForElement): + +2011-01-07 Chris Marrin <cmarrin@apple.com> + + Unreviewed. + + Use new wkCACFLayerGetContextUserData function + + * platform/graphics/ca/win/PlatformCALayerWin.cpp: + +2011-01-07 James Robinson <jamesr@chromium.org> + + Fix compile bustage due to bad merge in 75276. + + * page/animation/AnimationController.cpp: + (WebCore::AnimationControllerPrivate::beginAnimationUpdateTime): + +2010-12-17 Jer Noble <jer@kokode.apple.com> + + Reviewed by Simon Fraser. + + Implement WebKit Full Screen support. + https://bugs.webkit.org/show_bug.cgi?id=49481 + rdar://problem/8247444 + + Mark for export all those WebCore functions needed by WebFullscreenController. + + * WebCore.exp.in: + +2010-12-17 Jer Noble <jer@kokode.apple.com> + + Reviewed by Simon Fraser. + + Implement WebKit Full Screen support. + https://bugs.webkit.org/show_bug.cgi?id=49481 + rdar://problem/8247444 + + screenRect is useful for more than just HTMLMediaElements. Promote it into + Element. + + * dom/Element.cpp: Moved into Element from HTMLMediaElement. + * dom/Element.h: Ditto. + * dom/Node.cpp: + * html/HTMLMediaElement.cpp: Moved screenRect into Element. + * html/HTMLMediaElement.h: Ditto. + * WebCore.exp.in: Modify the exports list to reflect the new symbol name. + +2010-12-17 Jer Noble <jer@kokode.apple.com> + + Reviewed by Simon Fraser. + + Implement WebKit Full Screen support. + https://bugs.webkit.org/show_bug.cgi?id=49481 + rdar://problem/8247444 + + The RenderFullScreen is intended to be used by clients of that API to allow a DOM subtree to + be rendered outside its original Frame. Because of this, there are a few areas of the + rendering code which need to be special cased: RenderFullScreen layers should not be clipped + to the viewport, as they will almost always be rendering outside the viewport area; + RenderFullScreen graphics layers should not be reparented by the RenderLayerCompositor, as + the client will likely want to reparent the platformLayer into their own fullscreen platform + window; the FrameView must update the RenderFullScreen graphics layer tree separately from + the root layer, as the two trees are disconnected. + + * page/FrameView.cpp: + (WebCore::FrameView::updateCompositingLayers): Special treatment for fullscreen renderer. + (WebCore::FrameView::syncCompositingStateRecursive): Ditto. + (WebCore::FrameView::paintContents): Ditto. + * rendering/RenderLayer.h: Add a new ContentChangeType enum entry for FullScreen. + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::contentChanged): Add support for above. + * rendering/RenderLayerBacking.cpp: + (WebCore::layerOrAncestorIsFullScreen): New function. + (WebCore::RenderLayerBacking::updateCompositedBounds): Do not clip if the layerOrAncestorIsFullScreen. + * rendering/RenderLayerCompositor.cpp: + (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Special treatment for fullscreen renderer. + (WebCore::RenderLayerCompositor::requiresCompositingLayer): Ditto. + (WebCore::RenderLayerCompositor::requiresCompositingForFullScreen): Ditto. + * rendering/RenderLayerCompositor.h: + +2010-12-17 Jer Noble <jer@kokode.apple.com> + + Reviewed by Simon Fraser. + + Implemented non-accelerated fullscreen support. The Document will now vend a RenderFullScreen object for clients to + use to relocate the fullscreen element subtree. + + https://bugs.webkit.org/show_bug.cgi?id=49481 + rdar://problem/8247444 + + * css/CSSStyleSelector.cpp: + (WebCore::loadFullScreenRulesIfNeeded): Change webkitFullScreen -> webkitIsFullScreen. + (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Ditto. + * dom/Document.cpp: + (WebCore::Document::Document): Initialize m_fullScreenRenderer. + (WebCore::Document::detach): Call setFullScreenRenderer(0). + (WebCore::Document::nodeWillBeRemoved): Replicate the logic in webkitWillEnterFullScreenForElement. + (WebCore::Document::webkitWillEnterFullScreenForElement): Detach the fullscreen element to cause + a new RenderFullScreen renderer to be created with the new fullscreen element. + (WebCore::Document::webkitDidEnterFullScreenForElement): Notify clients of a fullscreen change + here, rather in "willEnter", to avoid reentrancy problems when clients remove nodes in response + to webkitfullscreenchange events. + (WebCore::Document::webkitWillExitFullScreenForElement): Recalculate the fullscreen element's style. + (WebCore::Document::webkitDidExitFullScreenForElement): Ditto. + (WebCore::Document::setFullScreenRenderer): Accessor for m_fullScreenRenderer. + (WebCore::Document::setFullScreenRendererSize): Set the style on the m_fullScreenRenderer with a new + size; this keeps clients from having to access the renderer's style directly. + (WebCore::Document::setFullScreenRendererBackgroundColor): Ditto. + * dom/Document.h: + (WebCore::Document::webkitIsFullScreen): Change webkitFullScreen -> webkitIsFullScreen. + (WebCore::Document::fullScreenRenderer): Accessor. + * dom/Document.idl: + * dom/Node.cpp: + (WebCore::Node::createRendererIfNeeded): If the document is in fullscreen mode, create a RenderFullScreen + object to insert between the fullscreen element and its parent. + * page/ChromeClient.h: + (WebCore::ChromeClient::fullScreenRendererChanged): Added. + * rendering/MediaControlElements.cpp: + (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler): Change webkitFullScreen -> webkitIsFullScreen. + +2010-12-17 Jer Noble <jer@kokode.apple.com> + + Reviewed by Simon Fraser. + + Implement WebKit Full Screen support. + https://bugs.webkit.org/show_bug.cgi?id=49481 + rdar://problem/8247444 + + This patch introduces a new RenderObject type: RenderFullScreen. The RenderFullScreen renderer + will be used to implement new FullScreen APIs. Because the RenderFullScreen object will be the + parent of the current fullscreen element, the style rules for fullscreen objects must change to + match. + + * WebCore.xcodeproj/project.pbxproj: + * rendering/RenderFullScreen.cpp: Added. + (RenderFullScreen::setAnimating): Sets the m_isAnimating flag. + (RenderFullScreen::createFullScreenStyle): Returns a new RenderStyle containing the default stye + for RenderFullScreen objects. + * rendering/RenderFullScreen.h: Added. + (WebCore::RenderFullScreen::isRenderFullScreen): Added. Overrides the RenderObject version. + * rendering/RenderObject.h: + (WebCore::RenderObject::isRenderFullScreen): Added. Used for type-checking RenderFullScreen objects. + * css/fullscreen.css: Modified the contained fullscreen styles. + + +2011-01-07 James Robinson <jamesr@chromium.org> + + Revert "Implement mozilla's animationTime property" + https://bugs.webkit.org/show_bug.cgi?id=51952 + + This approach isn't quite right. + + * Android.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.exp.in: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * page/DOMWindow.cpp: + * page/DOMWindow.h: + * page/DOMWindow.idl: + * page/Frame.cpp: + * page/Frame.h: + * page/Page.cpp: + (WebCore::Page::Page): + * page/Page.h: + * page/animation/AnimationController.cpp: + (WebCore::AnimationControllerPrivate::beginAnimationUpdateTime): + * page/animation/AnimationTimeController.cpp: Removed. + * page/animation/AnimationTimeController.h: Removed. + +2011-01-07 Jan Erik Hanssen <jhanssen@sencha.com> + + Reviewed by Andreas Kling. + + [Qt] Black text on black buttons using a dark theme + https://bugs.webkit.org/show_bug.cgi?id=35024 + + Implement RenderThemeQt::systemColor to apply the correct colors from the current Qt style. + + * platform/qt/RenderThemeQt.cpp: + (WebCore::RenderThemeQt::systemColor): + * platform/qt/RenderThemeQt.h: + +2011-01-05 Adrienne Walker <enne@google.com> + + Reviewed by Kenneth Russell. + + Add WEBKIT_lose_context WebGL extension. + https://bugs.webkit.org/show_bug.cgi?id=51492 + + Tests: fast/canvas/webgl/context-lost-restored.html + fast/canvas/webgl/context-lost.html + + * CMakeLists.txt: + * DerivedSources.make: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pri: + * WebCore.pro: + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSWebGLRenderingContextCustom.cpp: + (WebCore::toJS): + (WebCore::JSWebGLRenderingContext::getSupportedExtensions): + * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp: + (WebCore::toV8Object): + (WebCore::V8WebGLRenderingContext::getSupportedExtensionsCallback): + * html/canvas/WebGLExtension.h: + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::WebGLRenderingContextRestoreTimer::fired): + (WebCore::WebGLRenderingContext::getExtension): + (WebCore::WebGLRenderingContext::getSupportedExtensions): + (WebCore::WebGLRenderingContext::forceLostContext): + (WebCore::WebGLRenderingContext::onLostContext): + (WebCore::WebGLRenderingContext::getNumberOfExtensions): + (WebCore::WebGLRenderingContext::getExtensionNumber): + * html/canvas/WebGLRenderingContext.h: + * html/canvas/WebKitLoseContext.cpp: Copied from WebCore/html/canvas/WebGLExtension.h. + (WebCore::WebKitLoseContext::WebKitLoseContext): + (WebCore::WebKitLoseContext::~WebKitLoseContext): + (WebCore::WebKitLoseContext::getName): + (WebCore::WebKitLoseContext::create): + (WebCore::WebKitLoseContext::loseContext): + * html/canvas/WebKitLoseContext.h: Copied from WebCore/html/canvas/WebGLExtension.h. + * html/canvas/WebKitLoseContext.idl: Copied from WebCore/html/canvas/WebGLExtension.h. + +2011-01-07 Chris Marrin <cmarrin@apple.com> + + Unreviewed. + + Build fix for Chromium. Missing include. + + * page/animation/AnimationBase.cpp: + +2011-01-07 Chris Marrin <cmarrin@apple.com> + + Unreviewed. + + Build fix. + + * platform/graphics/ca/win/PlatformCALayerWin.cpp: + +2011-01-06 Gavin Barraclough <barraclough@apple.com> + + Reviewed by Geoff Garen. + + Bug 52035 - Unregistering DOMWrapperWorlds is unsafe + + The method DOMWrapperWorld::unregisterWorld() effectively calls the DOMWrapperWorld's + destructor early, in order to release wrappers once we know we no longer intend to use them. + Whilst it is okay to have a method to throw away wrappers (assuming we know we're willing to + lose any state stored on them) it is not okay to deregister the world from the JSGlobalData. + A sequence of events that triggers the bug would look like this: + + (1) Create a DOMWrapperWorld. + (2) Register a timer in the world. + (3) Call unregisterWorld() on the world. + (4) Timer goes off, code is executed in the world, creates a Node not attached to a Document. + (5) We attempt to lookup a wrapper map for the world on the JSGlobalData, but because we've + called forgetWorld() none exists. + (6) Attempt to add a wrapper to a NULL map. + + Fix the problem by not removing the JSGlobalData's wrapper map until the world really goes away. + + * WebCore.exp.in: + * bindings/js/DOMWrapperWorld.cpp: + (WebCore::DOMWrapperWorld::DOMWrapperWorld): + (WebCore::DOMWrapperWorld::~DOMWrapperWorld): + (WebCore::DOMWrapperWorld::clearWrappers): + * bindings/js/DOMWrapperWorld.h: + +2011-01-07 Chris Marrin <cmarrin@apple.com> + + Rubber-stamped by Simon Fraser. + + Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations + https://bugs.webkit.org/show_bug.cgi?id=49388 + + Final step in unifying GraphicsLayer logic across Win and Mac. This + implements the Windows side classes for PlatformCALayer and supporting + classes. Also changed MediaPlayer to use new PlatformCALayerClient + so it can use PlatformCALayer directly rather than a dummy GraphicsLayer. + WKCACFLayerRenderer now does the task of notifying animations of their + start time. Also commented out an assert in AnimationBase because + AnimationController's frame time is not in sync with the new + AnimationTimeController. I've opened a new bug for that issue: + + https://bugs.webkit.org/show_bug.cgi?id=52037 + + This also includes the Mac side changes backed out in + http://trac.webkit.org/changeset/75227. + + * WebCore.vcproj/WebCore.vcproj: + * WebCore.vcproj/WebCoreCommon.vsprops: + * WebCore.vcproj/copyForwardingHeaders.cmd: + * WebCore.xcodeproj/project.pbxproj: + * config.h: + * page/animation/AnimationBase.cpp: + (WebCore::AnimationBase::freezeAtTime): + (WebCore::AnimationBase::getElapsedTime): + * page/animation/AnimationController.cpp: + (WebCore::AnimationControllerPrivate::beginAnimationUpdateTime): + * page/animation/KeyframeAnimation.cpp: + (WebCore::KeyframeAnimation::fetchIntervalEndpointsForProperty): + * platform/graphics/GraphicsLayer.h: + (WebCore::GraphicsLayer::layerDidDisplay): + (WebCore::GraphicsLayer::showDebugBorders): + (WebCore::GraphicsLayer::showRepaintCounter): + * platform/graphics/ca/GraphicsLayerCA.cpp: + (WebCore::GraphicsLayerCA::platformCALayerAnimationStarted): + (WebCore::GraphicsLayerCA::setContentsToImage): + (WebCore::GraphicsLayerCA::setContentsToMedia): + (WebCore::GraphicsLayerCA::layerDidDisplay): + (WebCore::GraphicsLayerCA::updateSublayerList): + * platform/graphics/ca/GraphicsLayerCA.h: + (WebCore::GraphicsLayerCA::platformCALayer): + (WebCore::GraphicsLayerCA::platformCALayerLayoutSublayersOfLayer): + (WebCore::GraphicsLayerCA::platformCALayerRespondsToLayoutChanges): + (WebCore::GraphicsLayerCA::platformCALayerContentsOrientation): + (WebCore::GraphicsLayerCA::platformCALayerPaintContents): + (WebCore::GraphicsLayerCA::platformCALayerShowDebugBorders): + (WebCore::GraphicsLayerCA::platformCALayerShowRepaintCounter): + (WebCore::GraphicsLayerCA::platformCALayerIncrementRepaintCount): + (WebCore::GraphicsLayerCA::platformCALayerContentsOpaque): + (WebCore::GraphicsLayerCA::platformCALayerDrawsContent): + (WebCore::GraphicsLayerCA::platformCALayerLayerDidDisplay): + * platform/graphics/ca/PlatformCAAnimation.h: + * platform/graphics/ca/PlatformCALayer.h: + (WebCore::PlatformCALayer::owner): + (WebCore::PlatformCALayer::animationStarted): + * platform/graphics/ca/PlatformCALayerClient.h: Copied from WebCore/platform/graphics/ca/PlatformCALayerClient.h. + * platform/graphics/ca/mac/PlatformCALayerMac.mm: + (PlatformCALayer::setOwner): + (PlatformCALayer::create): + (PlatformCALayer::PlatformCALayer): + (PlatformCALayer::contents): + (PlatformCALayer::setContents): + * platform/graphics/ca/win: Added. + * platform/graphics/ca/win/PlatformCAAnimationWin.cpp: Added. + * platform/graphics/ca/win/PlatformCALayerWin.cpp: Added. + * platform/graphics/ca/win/PlatformCALayerWinInternal.cpp: Added. + * platform/graphics/ca/win/PlatformCALayerWinInternal.h: Added. + (WebCore::PlatformCALayerWinInternal::owner): + * platform/graphics/mac/WebGLLayer.mm: + (-[WebGLLayer display]): + * platform/graphics/mac/WebLayer.h: + * platform/graphics/mac/WebLayer.mm: + (drawLayerContents): + (setLayerNeedsDisplayInRect): + (-[WebLayer setNeedsDisplay]): + (-[WebLayer display]): + * platform/graphics/mac/WebTiledLayer.mm: + (-[WebTiledLayer setNeedsDisplay]): + (-[WebTiledLayer display]): + * platform/graphics/win/GraphicsContextCGWin.cpp: + (WebCore::CGContextWithHDC): + * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp: + (WebCore::MediaPlayerPrivateFullscreenWindow::setRootChildLayer): + (WebCore::MediaPlayerPrivateFullscreenWindow::wndProc): + * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h: + (WebCore::MediaPlayerPrivateFullscreenWindow::rootChildLayer): + * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: + (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::~LayerClient): + (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerRespondsToLayoutChanges): + (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerAnimationStarted): + (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerContentsOrientation): + (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerPaintContents): + (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerShowDebugBorders): + (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerShowRepaintCounter): + (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerIncrementRepaintCount): + (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerContentsOpaque): + (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerDrawsContent): + (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerLayerDidDisplay): + (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerLayoutSublayersOfLayer): + (WebCore::MediaPlayerPrivateQuickTimeVisualContext::MediaPlayerPrivateQuickTimeVisualContext): + (WebCore::MediaPlayerPrivateQuickTimeVisualContext::platformMedia): + (WebCore::MediaPlayerPrivateQuickTimeVisualContext::retrieveCurrentImage): + (WebCore::MediaPlayerPrivateQuickTimeVisualContext::createLayerForMovie): + * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h: + * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: + (WebCore::MediaPlayerPrivate::movieNewImageAvailable): + (WebCore::MediaPlayerPrivate::createLayerForMovie): + * platform/graphics/win/WKCACFLayerRenderer.cpp: + (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): + (WebCore::WKCACFLayerRenderer::rootLayer): + (WebCore::WKCACFLayerRenderer::addPendingAnimatedLayer): + (WebCore::WKCACFLayerRenderer::setRootChildLayer): + (WebCore::WKCACFLayerRenderer::setNeedsDisplay): + (WebCore::WKCACFLayerRenderer::destroyRenderer): + (WebCore::WKCACFLayerRenderer::render): + * platform/graphics/win/WKCACFLayerRenderer.h: + (WebCore::WKCACFLayerRendererClient::animationsStarted): + (WebCore::WKCACFLayerRendererClient::syncCompositingState): + * rendering/RenderLayerBacking.cpp: + (WebCore::RenderLayerBacking::showDebugBorders): + (WebCore::RenderLayerBacking::showRepaintCounter): + * rendering/RenderLayerCompositor.cpp: + (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): + * rendering/RenderLayerCompositor.h: + (WebCore::RenderLayerCompositor::compositorShowDebugBorders): + (WebCore::RenderLayerCompositor::compositorShowRepaintCounter): + (WebCore::RenderLayerCompositor::notifyAnimationStarted): + (WebCore::RenderLayerCompositor::notifySyncRequired): + (WebCore::RenderLayerCompositor::paintContents): + (WebCore::RenderLayerCompositor::showDebugBorders): + (WebCore::RenderLayerCompositor::showRepaintCounter): + +2011-01-07 Nate Chapin <japhet@chromium.org> + + Reviewed by Darin Fisher. + + Let PingLoader send cookies if FrameLoaderClient permits it. + https://bugs.webkit.org/show_bug.cgi?id=51898 + + Test: http/tests/navigation/ping-cookie.html + + * loader/PingLoader.cpp: + (WebCore::PingLoader::PingLoader): Set m_shouldUseCredentialStorage + at load start time, since we won't be able to call + FrameLoaderClient::shouldUseCredentialStorage() later. + * loader/PingLoader.h: + (WebCore::PingLoader::shouldUseCredentialStorage): + +2011-01-07 Xan Lopez <xlopez@igalia.com> + + Unreviewed, rolling out r75256. + http://trac.webkit.org/changeset/75256 + https://bugs.webkit.org/show_bug.cgi?id=50869 + + Broke GTK+ canvas tests + + * platform/graphics/cairo/PathCairo.cpp: + (WebCore::Path::addArc): + +2011-01-07 Carlos Garcia Campos <cgarcia@igalia.com> + + Reviewed by Martin Robinson. + + [GTK] Port scrollbar painting to GtkStyleContext + https://bugs.webkit.org/show_bug.cgi?id=52051 + + Use GtkStyleContext API to paint scrollbars when building with + GTK+ 3.x. + + No new tests. This should not change functionality. + + * platform/gtk/RenderThemeGtk.h: + * platform/gtk/RenderThemeGtk3.cpp: + (WebCore::RenderThemeGtk::gtkScrollbarStyle): + * platform/gtk/ScrollbarThemeGtk.cpp: + * platform/gtk/ScrollbarThemeGtk.h: + * platform/gtk/ScrollbarThemeGtk2.cpp: + (WebCore::gtkStyleSetCallback): + (WebCore::ScrollbarThemeGtk::ScrollbarThemeGtk): + * platform/gtk/ScrollbarThemeGtk3.cpp: + (WebCore::gtkStyleChangedCallback): + (WebCore::ScrollbarThemeGtk::ScrollbarThemeGtk): + (WebCore::ScrollbarThemeGtk::updateThemeProperties): + (WebCore::ScrollbarThemeGtk::paintTrackBackground): + (WebCore::ScrollbarThemeGtk::paintScrollbarBackground): + (WebCore::ScrollbarThemeGtk::paintThumb): + (WebCore::ScrollbarThemeGtk::paintButton): + +2011-01-07 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + <rdar://problem/8783318> Text emphasis marks should not appear over characters that have ruby annotations + https://bugs.webkit.org/show_bug.cgi?id=51267 + + Test: fast/text/emphasis-avoid-ruby.html + + * rendering/InlineFlowBox.cpp: + (WebCore::InlineFlowBox::placeBoxesInBlockDirection): Use getEmphasisMarkPosition() to check if + there are text emphasis marks. + (WebCore::InlineFlowBox::addTextBoxVisualOverflow): Ditto. + (WebCore::InlineFlowBox::computeOverAnnotationAdjustment): Ditto. + * rendering/InlineTextBox.cpp: + (WebCore::InlineTextBox::getEmphasisMarkPosition): Added. Returns true and sets the emphasis mark + position if the text is style with emphasis marks and there isn’t a ruby annotation that should + suppress them. Otherwise returns false. + (WebCore::InlineTextBox::paint): Use getEmphasisMarkPosition() to check if emphasis marks should + be painted. + * rendering/InlineTextBox.h: + +2011-01-07 Alejandro G. Castro <alex@igalia.com> + + Reviewed by Martin Robinson. + + [cairo] Rendering a lot of arcs on top of each other causes time + outs in some tests + https://bugs.webkit.org/show_bug.cgi?id=50869 + + We avoid the situation where we have to render the same arc + multiple times over itself. Now it renders just one oval and + moves to the end angle. + + * platform/graphics/cairo/PathCairo.cpp: + (WebCore::Path::addArc): + +2011-01-07 Carlos Garcia Campos <cgarcia@igalia.com> + + Reviewed by Martin Robinson. + + [GTK] Port buttons painting to GtkStyleContext + https://bugs.webkit.org/show_bug.cgi?id=51812 + + Use GtkStyleContext API to paint buttons when building with GTK+ + 3.x. + + No new tests. This should not change functionality. + + * platform/gtk/RenderThemeGtk3.cpp: + (WebCore::adjustRectForFocus): + (WebCore::RenderThemeGtk::adjustRepaintRect): + (WebCore::RenderThemeGtk::paintButton): + +2011-01-07 Zhenyao Mo <zmo@google.com> + + Unreviewed, build fix. + + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::copyTexSubImage2D): + +2011-01-06 Zhenyao Mo <zmo@google.com> + + Reviewed by Kenneth Russell. + + copyTexSubImage2D shouldn't have undefined pixels + https://bugs.webkit.org/show_bug.cgi?id=51559 + + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::copyTexImage2D): Refactor to share some code with copyTexSubImage2D through helper function clip2D. + (WebCore::WebGLRenderingContext::copyTexSubImage2D): Initialize undefined pixels to 0. + (WebCore::WebGLRenderingContext::validateTexFuncLevel): Seperate the validation of level from validateTexFuncParameters. + (WebCore::WebGLRenderingContext::validateTexFuncParameters): Ditto. + * html/canvas/WebGLRenderingContext.h: + * html/canvas/WebGLTexture.cpp: + (WebCore::WebGLTexture::getType): Expose the type of a texture. + * html/canvas/WebGLTexture.h: + +2011-01-07 Takashi Toyoshima <toyoshim@google.com> + + Reviewed by Kenneth Russell. + + cleanupAfterGraphicsCall() is never called in + WebGLRenderingContext::checkFramebufferStatus() + https://bugs.webkit.org/show_bug.cgi?id=51668 + + No new tests. This is a trivial bug. + + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::checkFramebufferStatus): + +2011-01-07 Mario Sanchez Prada <msanchez@igalia.com> + + Reviewed by Chris Fleizach. + + GTK: AX: atk tests need to be updated after recent changes + https://bugs.webkit.org/show_bug.cgi?id=51932 + + Make sure we can always get the right accesssible parent for an + AtkObject when traversing the hierarchy bottom up. + + * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: + (isRootObject): New function to check whether an + AccessibilityObject is the root one or not, according to the + latest changes in the hierarchy. + (atkParentOfRootObject): Gets the appropriate AtkObject from GTK's + GAIL as the parent of the root AtkObject from WebCore. + (webkit_accessible_get_parent): Use atkParentOfRootObject. + (webkit_accessible_get_index_in_parent): Ditto. + (atkRole): Expose AccessibilityObjects with ScrollAreaRole as + AtkObject's of role ATK_ROLE_SCROLLED_PANE. + +2011-01-07 Zhenyao Mo <zmo@google.com> + + Unreviewed, Mac 32-bit build fix. + Use float instead of double in GL function arguments to avoid implicit type down casting. + + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::blendColor): + (WebCore::WebGLRenderingContext::clearColor): + (WebCore::WebGLRenderingContext::clearDepth): + (WebCore::WebGLRenderingContext::depthRange): + (WebCore::WebGLRenderingContext::lineWidth): + (WebCore::WebGLRenderingContext::polygonOffset): + (WebCore::WebGLRenderingContext::sampleCoverage): + * html/canvas/WebGLRenderingContext.h: + * html/canvas/WebGLRenderingContext.idl: + +2011-01-07 Carlos Garcia Campos <cgarcia@igalia.com> and Martin Robinson <mrobinson@igalia.com> + + Reviewed by Xan Lopez. + + [GTK] Port slider painting to GtkStyleContext + https://bugs.webkit.org/show_bug.cgi?id=51874 + + Use GtkStyleContext API to paint sliders when building with GTK+ + 3.x. Also move the code to adjust media slider to its own method + in RenderThemeGtk.cpp since it's common to both gtk 2 and 3. + + No new tests. This should not change functionality. + + * platform/gtk/RenderThemeGtk.cpp: + (WebCore::RenderThemeGtk::adjustMediaSliderThumbSize): + * platform/gtk/RenderThemeGtk.h: + * platform/gtk/RenderThemeGtk2.cpp: + (WebCore::RenderThemeGtk::adjustSliderThumbSize): + * platform/gtk/RenderThemeGtk3.cpp: + (WebCore::RenderThemeGtk::paintSliderTrack): + (WebCore::RenderThemeGtk::paintSliderThumb): + (WebCore::RenderThemeGtk::adjustSliderThumbSize): + +2011-01-07 Benjamin Poulain <benjamin.poulain@nokia.com> + + Reviewed by Andreas Kling. + + [Qt] [WK2] QtWebKit does not build in debug, FileReader.cpp does not compile + https://bugs.webkit.org/show_bug.cgi?id=51992 + + Add the missing header. CString is used in debug by the calls to LOG(). + + * fileapi/FileReader.cpp: + +2011-01-07 Alejandro G. Castro <alex@igalia.com> + + Reviewed by Martin Robinson. + + Cairo's ContextShadow may mis-render some box shadows + https://bugs.webkit.org/show_bug.cgi?id=51374 + + The space required for the internal shadow of the corners was not + correctly considered. + + * platform/graphics/cairo/ContextShadowCairo.cpp: + (WebCore::ContextShadow::drawRectShadow): + +2011-01-06 Adam Barth <abarth@webkit.org> + + Reviewed by Darin Adler. + + REGRESSION (r74663): ASSERTION FAILED: m_tokenizer->lineNumber() == line.zeroBasedInt() + https://bugs.webkit.org/show_bug.cgi?id=52013 + + When excluding line numbers for composite strings, we forgot to exclude + the line number for the current string! + + Test: fast/parser/line-number-composite-segmented-string.html + + * platform/text/SegmentedString.cpp: + (WebCore::SegmentedString::setExcludeLineNumbers): + +2011-01-06 Chris Marrin <cmarrin@apple.com> + + Unreviewed. + + Back out changes in http://trac.webkit.org/changeset/75199 + This breaks the Windows build. Fixing it on that side. Until + then I'll back this out. + +2011-01-06 Jenn Braithwaite <jennb@chromium.org> + + Reviewed by Dmitry Titov. + + When a live frame is moved between pages, some plug-in DOM methods cease to function + https://bugs.webkit.org/show_bug.cgi?id=45770 + + Test: fast/frames/iframe-reparenting-plugins.html + + * page/Frame.cpp: + (WebCore::Frame::~Frame): + (WebCore::Frame::addObserver): + (WebCore::Frame::removeObserver): + * page/Frame.h: + (WebCore::FrameDestructionObserver::~FrameDestructionObserver): + Added observer to be notified when frame is destroyed. + * page/Page.cpp: + (WebCore::Page::~Page): + (WebCore::Page::refreshPlugins): + PluginData no longer stores page pointer. + * plugins/DOMMimeType.cpp: + (WebCore::DOMMimeType::DOMMimeType): + (WebCore::DOMMimeType::~DOMMimeType): + (WebCore::DOMMimeType::enabledPlugin): + * plugins/DOMMimeType.h: + (WebCore::DOMMimeType::create): + (WebCore::DOMMimeType::frameDestroyed): + Store frame instead of page pointer in DOMMimeType. + * plugins/DOMMimeTypeArray.cpp: + (WebCore::DOMMimeTypeArray::item): + (WebCore::DOMMimeTypeArray::namedItem): + Provide frame to create DOMMimeType. + * plugins/DOMPlugin.cpp: + (WebCore::DOMPlugin::DOMPlugin): + (WebCore::DOMPlugin::~DOMPlugin): + (WebCore::DOMPlugin::item): + (WebCore::DOMPlugin::namedItem): + * plugins/DOMPlugin.h: + (WebCore::DOMPlugin::create): + (WebCore::DOMPlugin::frameDestroyed): + Store frame instead of page pointer in DOMPlugin. + * plugins/DOMPluginArray.cpp: + (WebCore::DOMPluginArray::item): + (WebCore::DOMPluginArray::namedItem): + Provide frame to create DOMPlugin. + * plugins/PluginData.cpp: + (WebCore::PluginData::PluginData): + (WebCore::PluginData::initPlugins): + * plugins/PluginData.h: + No longer stores a pointer to the page. + Added page parameter to initPlugins. + * plugins/PluginDataNone.cpp: + (WebCore::PluginData::initPlugins): + * plugins/chromium/PluginDataChromium.cpp: + (WebCore::PluginData::initPlugins): + * plugins/gtk/PluginDataGtk.cpp: + (WebCore::PluginData::initPlugins): + * plugins/wx/PluginDataWx.cpp: + (WebCore::PluginData::initPlugins): + Updated platforms to add (unused) page parameter to initPlugins. + +2011-01-05 Zhenyao Mo <zmo@google.com> + + Reviewed by Kenneth Russell. + + Define GC3D types to match GL types and use them in GraphicsContext3D + https://bugs.webkit.org/show_bug.cgi?id=45557 + + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::readPixels): + (WebCore::WebGLRenderingContext::validateTexFuncData): + * platform/graphics/GraphicsContext3D.cpp: + (WebCore::GraphicsContext3D::texImage2DResourceSafe): + (WebCore::GraphicsContext3D::computeFormatAndTypeParameters): + (WebCore::GraphicsContext3D::extractImageData): + (WebCore::GraphicsContext3D::extractTextureData): + * platform/graphics/GraphicsContext3D.h: + * platform/graphics/cg/GraphicsContext3DCG.cpp: + (WebCore::GraphicsContext3D::getImageData): + * platform/graphics/gpu/SharedGraphicsContext3D.cpp: + (WebCore::SharedGraphicsContext3D::enable): + (WebCore::SharedGraphicsContext3D::disable): + (WebCore::SharedGraphicsContext3D::clear): + (WebCore::SharedGraphicsContext3D::drawArrays): + (WebCore::SharedGraphicsContext3D::getError): + (WebCore::SharedGraphicsContext3D::getIntegerv): + (WebCore::SharedGraphicsContext3D::createFramebuffer): + (WebCore::SharedGraphicsContext3D::createTexture): + (WebCore::SharedGraphicsContext3D::deleteFramebuffer): + (WebCore::SharedGraphicsContext3D::deleteTexture): + (WebCore::SharedGraphicsContext3D::framebufferTexture2D): + (WebCore::SharedGraphicsContext3D::texParameteri): + (WebCore::SharedGraphicsContext3D::texImage2D): + (WebCore::SharedGraphicsContext3D::texSubImage2D): + (WebCore::SharedGraphicsContext3D::readPixels): + (WebCore::SharedGraphicsContext3D::setActiveTexture): + (WebCore::SharedGraphicsContext3D::bindTexture): + (WebCore::SharedGraphicsContext3D::bindFramebuffer): + * platform/graphics/gpu/SharedGraphicsContext3D.h: + * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: + (WebCore::GraphicsContext3D::activeTexture): + (WebCore::GraphicsContext3D::attachShader): + (WebCore::GraphicsContext3D::bindAttribLocation): + (WebCore::GraphicsContext3D::bindBuffer): + (WebCore::GraphicsContext3D::bindFramebuffer): + (WebCore::GraphicsContext3D::bindRenderbuffer): + (WebCore::GraphicsContext3D::bindTexture): + (WebCore::GraphicsContext3D::blendColor): + (WebCore::GraphicsContext3D::blendEquation): + (WebCore::GraphicsContext3D::blendEquationSeparate): + (WebCore::GraphicsContext3D::blendFunc): + (WebCore::GraphicsContext3D::blendFuncSeparate): + (WebCore::GraphicsContext3D::bufferData): + (WebCore::GraphicsContext3D::bufferSubData): + (WebCore::GraphicsContext3D::checkFramebufferStatus): + (WebCore::GraphicsContext3D::clearColor): + (WebCore::GraphicsContext3D::clear): + (WebCore::GraphicsContext3D::clearDepth): + (WebCore::GraphicsContext3D::clearStencil): + (WebCore::GraphicsContext3D::colorMask): + (WebCore::GraphicsContext3D::compileShader): + (WebCore::GraphicsContext3D::copyTexImage2D): + (WebCore::GraphicsContext3D::copyTexSubImage2D): + (WebCore::GraphicsContext3D::cullFace): + (WebCore::GraphicsContext3D::depthFunc): + (WebCore::GraphicsContext3D::depthMask): + (WebCore::GraphicsContext3D::depthRange): + (WebCore::GraphicsContext3D::detachShader): + (WebCore::GraphicsContext3D::disable): + (WebCore::GraphicsContext3D::disableVertexAttribArray): + (WebCore::GraphicsContext3D::drawArrays): + (WebCore::GraphicsContext3D::drawElements): + (WebCore::GraphicsContext3D::enable): + (WebCore::GraphicsContext3D::enableVertexAttribArray): + (WebCore::GraphicsContext3D::framebufferRenderbuffer): + (WebCore::GraphicsContext3D::framebufferTexture2D): + (WebCore::GraphicsContext3D::frontFace): + (WebCore::GraphicsContext3D::generateMipmap): + (WebCore::GraphicsContext3D::getActiveAttrib): + (WebCore::GraphicsContext3D::getActiveUniform): + (WebCore::GraphicsContext3D::getAttachedShaders): + (WebCore::GraphicsContext3D::getAttribLocation): + (WebCore::GraphicsContext3D::getError): + (WebCore::GraphicsContext3D::getString): + (WebCore::GraphicsContext3D::hint): + (WebCore::GraphicsContext3D::isBuffer): + (WebCore::GraphicsContext3D::isEnabled): + (WebCore::GraphicsContext3D::isFramebuffer): + (WebCore::GraphicsContext3D::isProgram): + (WebCore::GraphicsContext3D::isRenderbuffer): + (WebCore::GraphicsContext3D::isShader): + (WebCore::GraphicsContext3D::isTexture): + (WebCore::GraphicsContext3D::lineWidth): + (WebCore::GraphicsContext3D::linkProgram): + (WebCore::GraphicsContext3D::pixelStorei): + (WebCore::GraphicsContext3D::polygonOffset): + (WebCore::GraphicsContext3D::readPixels): + (WebCore::GraphicsContext3D::renderbufferStorage): + (WebCore::GraphicsContext3D::sampleCoverage): + (WebCore::GraphicsContext3D::scissor): + (WebCore::GraphicsContext3D::stencilFunc): + (WebCore::GraphicsContext3D::stencilFuncSeparate): + (WebCore::GraphicsContext3D::stencilMask): + (WebCore::GraphicsContext3D::stencilMaskSeparate): + (WebCore::GraphicsContext3D::stencilOp): + (WebCore::GraphicsContext3D::stencilOpSeparate): + (WebCore::GraphicsContext3D::texParameterf): + (WebCore::GraphicsContext3D::texParameteri): + (WebCore::GraphicsContext3D::uniform1f): + (WebCore::GraphicsContext3D::uniform1fv): + (WebCore::GraphicsContext3D::uniform2f): + (WebCore::GraphicsContext3D::uniform2fv): + (WebCore::GraphicsContext3D::uniform3f): + (WebCore::GraphicsContext3D::uniform3fv): + (WebCore::GraphicsContext3D::uniform4f): + (WebCore::GraphicsContext3D::uniform4fv): + (WebCore::GraphicsContext3D::uniform1i): + (WebCore::GraphicsContext3D::uniform1iv): + (WebCore::GraphicsContext3D::uniform2i): + (WebCore::GraphicsContext3D::uniform2iv): + (WebCore::GraphicsContext3D::uniform3i): + (WebCore::GraphicsContext3D::uniform3iv): + (WebCore::GraphicsContext3D::uniform4i): + (WebCore::GraphicsContext3D::uniform4iv): + (WebCore::GraphicsContext3D::uniformMatrix2fv): + (WebCore::GraphicsContext3D::uniformMatrix3fv): + (WebCore::GraphicsContext3D::uniformMatrix4fv): + (WebCore::GraphicsContext3D::useProgram): + (WebCore::GraphicsContext3D::validateProgram): + (WebCore::GraphicsContext3D::vertexAttrib1f): + (WebCore::GraphicsContext3D::vertexAttrib1fv): + (WebCore::GraphicsContext3D::vertexAttrib2f): + (WebCore::GraphicsContext3D::vertexAttrib2fv): + (WebCore::GraphicsContext3D::vertexAttrib3f): + (WebCore::GraphicsContext3D::vertexAttrib3fv): + (WebCore::GraphicsContext3D::vertexAttrib4f): + (WebCore::GraphicsContext3D::vertexAttrib4fv): + (WebCore::GraphicsContext3D::vertexAttribPointer): + (WebCore::GraphicsContext3D::viewport): + (WebCore::GraphicsContext3D::getBooleanv): + (WebCore::GraphicsContext3D::getBufferParameteriv): + (WebCore::GraphicsContext3D::getFloatv): + (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv): + (WebCore::GraphicsContext3D::getIntegerv): + (WebCore::GraphicsContext3D::getProgramiv): + (WebCore::GraphicsContext3D::getProgramInfoLog): + (WebCore::GraphicsContext3D::getRenderbufferParameteriv): + (WebCore::GraphicsContext3D::getShaderiv): + (WebCore::GraphicsContext3D::getShaderInfoLog): + (WebCore::GraphicsContext3D::getTexParameterfv): + (WebCore::GraphicsContext3D::getTexParameteriv): + (WebCore::GraphicsContext3D::getUniformfv): + (WebCore::GraphicsContext3D::getUniformiv): + (WebCore::GraphicsContext3D::getUniformLocation): + (WebCore::GraphicsContext3D::getVertexAttribfv): + (WebCore::GraphicsContext3D::getVertexAttribiv): + (WebCore::GraphicsContext3D::getVertexAttribOffset): + (WebCore::GraphicsContext3D::texImage2D): + (WebCore::GraphicsContext3D::texSubImage2D): + (WebCore::GraphicsContext3D::createBuffer): + (WebCore::GraphicsContext3D::createFramebuffer): + (WebCore::GraphicsContext3D::createProgram): + (WebCore::GraphicsContext3D::createRenderbuffer): + (WebCore::GraphicsContext3D::createShader): + (WebCore::GraphicsContext3D::createTexture): + (WebCore::GraphicsContext3D::deleteBuffer): + (WebCore::GraphicsContext3D::deleteFramebuffer): + (WebCore::GraphicsContext3D::deleteProgram): + (WebCore::GraphicsContext3D::deleteRenderbuffer): + (WebCore::GraphicsContext3D::deleteShader): + (WebCore::GraphicsContext3D::deleteTexture): + (WebCore::GraphicsContext3D::sizeInBytes): + (WebCore::GraphicsContext3D::synthesizeGLError): + * platform/graphics/qt/GraphicsContext3DQt.cpp: + (WebCore::GraphicsContext3D::activeTexture): + (WebCore::GraphicsContext3D::attachShader): + (WebCore::GraphicsContext3D::getAttachedShaders): + (WebCore::GraphicsContext3D::bindAttribLocation): + (WebCore::GraphicsContext3D::bindBuffer): + (WebCore::GraphicsContext3D::bindFramebuffer): + (WebCore::GraphicsContext3D::bindRenderbuffer): + (WebCore::GraphicsContext3D::bindTexture): + (WebCore::GraphicsContext3D::blendColor): + (WebCore::GraphicsContext3D::blendEquation): + (WebCore::GraphicsContext3D::blendEquationSeparate): + (WebCore::GraphicsContext3D::blendFunc): + (WebCore::GraphicsContext3D::blendFuncSeparate): + (WebCore::GraphicsContext3D::bufferData): + (WebCore::GraphicsContext3D::bufferSubData): + (WebCore::GraphicsContext3D::checkFramebufferStatus): + (WebCore::GraphicsContext3D::clearColor): + (WebCore::GraphicsContext3D::clear): + (WebCore::GraphicsContext3D::clearDepth): + (WebCore::GraphicsContext3D::clearStencil): + (WebCore::GraphicsContext3D::colorMask): + (WebCore::GraphicsContext3D::compileShader): + (WebCore::GraphicsContext3D::copyTexImage2D): + (WebCore::GraphicsContext3D::copyTexSubImage2D): + (WebCore::GraphicsContext3D::cullFace): + (WebCore::GraphicsContext3D::depthFunc): + (WebCore::GraphicsContext3D::depthMask): + (WebCore::GraphicsContext3D::depthRange): + (WebCore::GraphicsContext3D::detachShader): + (WebCore::GraphicsContext3D::disable): + (WebCore::GraphicsContext3D::disableVertexAttribArray): + (WebCore::GraphicsContext3D::drawArrays): + (WebCore::GraphicsContext3D::drawElements): + (WebCore::GraphicsContext3D::enable): + (WebCore::GraphicsContext3D::enableVertexAttribArray): + (WebCore::GraphicsContext3D::framebufferRenderbuffer): + (WebCore::GraphicsContext3D::framebufferTexture2D): + (WebCore::GraphicsContext3D::frontFace): + (WebCore::GraphicsContext3D::generateMipmap): + (WebCore::GraphicsContext3D::getActiveAttrib): + (WebCore::GraphicsContext3D::getActiveUniform): + (WebCore::GraphicsContext3D::getAttribLocation): + (WebCore::GraphicsContext3D::getError): + (WebCore::GraphicsContext3D::getString): + (WebCore::GraphicsContext3D::hint): + (WebCore::GraphicsContext3D::isBuffer): + (WebCore::GraphicsContext3D::isEnabled): + (WebCore::GraphicsContext3D::isFramebuffer): + (WebCore::GraphicsContext3D::isProgram): + (WebCore::GraphicsContext3D::isRenderbuffer): + (WebCore::GraphicsContext3D::isShader): + (WebCore::GraphicsContext3D::isTexture): + (WebCore::GraphicsContext3D::linkProgram): + (WebCore::GraphicsContext3D::pixelStorei): + (WebCore::GraphicsContext3D::polygonOffset): + (WebCore::GraphicsContext3D::readPixels): + (WebCore::GraphicsContext3D::renderbufferStorage): + (WebCore::GraphicsContext3D::sampleCoverage): + (WebCore::GraphicsContext3D::scissor): + (WebCore::GraphicsContext3D::stencilFunc): + (WebCore::GraphicsContext3D::stencilFuncSeparate): + (WebCore::GraphicsContext3D::stencilMask): + (WebCore::GraphicsContext3D::stencilMaskSeparate): + (WebCore::GraphicsContext3D::stencilOp): + (WebCore::GraphicsContext3D::stencilOpSeparate): + (WebCore::GraphicsContext3D::texParameterf): + (WebCore::GraphicsContext3D::texParameteri): + (WebCore::GraphicsContext3D::uniform1f): + (WebCore::GraphicsContext3D::uniform1fv): + (WebCore::GraphicsContext3D::uniform2f): + (WebCore::GraphicsContext3D::uniform2fv): + (WebCore::GraphicsContext3D::uniform3f): + (WebCore::GraphicsContext3D::uniform3fv): + (WebCore::GraphicsContext3D::uniform4f): + (WebCore::GraphicsContext3D::uniform4fv): + (WebCore::GraphicsContext3D::uniform1i): + (WebCore::GraphicsContext3D::uniform1iv): + (WebCore::GraphicsContext3D::uniform2i): + (WebCore::GraphicsContext3D::uniform2iv): + (WebCore::GraphicsContext3D::uniform3i): + (WebCore::GraphicsContext3D::uniform3iv): + (WebCore::GraphicsContext3D::uniform4i): + (WebCore::GraphicsContext3D::uniform4iv): + (WebCore::GraphicsContext3D::uniformMatrix2fv): + (WebCore::GraphicsContext3D::uniformMatrix3fv): + (WebCore::GraphicsContext3D::uniformMatrix4fv): + (WebCore::GraphicsContext3D::useProgram): + (WebCore::GraphicsContext3D::validateProgram): + (WebCore::GraphicsContext3D::vertexAttrib1f): + (WebCore::GraphicsContext3D::vertexAttrib1fv): + (WebCore::GraphicsContext3D::vertexAttrib2f): + (WebCore::GraphicsContext3D::vertexAttrib2fv): + (WebCore::GraphicsContext3D::vertexAttrib3f): + (WebCore::GraphicsContext3D::vertexAttrib3fv): + (WebCore::GraphicsContext3D::vertexAttrib4f): + (WebCore::GraphicsContext3D::vertexAttrib4fv): + (WebCore::GraphicsContext3D::vertexAttribPointer): + (WebCore::GraphicsContext3D::viewport): + (WebCore::GraphicsContext3D::getBooleanv): + (WebCore::GraphicsContext3D::getBufferParameteriv): + (WebCore::GraphicsContext3D::getFloatv): + (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv): + (WebCore::GraphicsContext3D::getIntegerv): + (WebCore::GraphicsContext3D::getProgramiv): + (WebCore::GraphicsContext3D::getProgramInfoLog): + (WebCore::GraphicsContext3D::getRenderbufferParameteriv): + (WebCore::GraphicsContext3D::getShaderiv): + (WebCore::GraphicsContext3D::getShaderInfoLog): + (WebCore::GraphicsContext3D::getShaderSource): + (WebCore::GraphicsContext3D::getTexParameterfv): + (WebCore::GraphicsContext3D::getTexParameteriv): + (WebCore::GraphicsContext3D::getUniformfv): + (WebCore::GraphicsContext3D::getUniformiv): + (WebCore::GraphicsContext3D::getUniformLocation): + (WebCore::GraphicsContext3D::getVertexAttribfv): + (WebCore::GraphicsContext3D::getVertexAttribiv): + (WebCore::GraphicsContext3D::getVertexAttribOffset): + (WebCore::GraphicsContext3D::texImage2D): + (WebCore::GraphicsContext3D::texSubImage2D): + (WebCore::GraphicsContext3D::createBuffer): + (WebCore::GraphicsContext3D::createFramebuffer): + (WebCore::GraphicsContext3D::createProgram): + (WebCore::GraphicsContext3D::createRenderbuffer): + (WebCore::GraphicsContext3D::createShader): + (WebCore::GraphicsContext3D::createTexture): + (WebCore::GraphicsContext3D::deleteBuffer): + (WebCore::GraphicsContext3D::deleteFramebuffer): + (WebCore::GraphicsContext3D::deleteProgram): + (WebCore::GraphicsContext3D::deleteRenderbuffer): + (WebCore::GraphicsContext3D::deleteShader): + (WebCore::GraphicsContext3D::deleteTexture): + (WebCore::GraphicsContext3D::sizeInBytes): + (WebCore::GraphicsContext3D::synthesizeGLError): + (WebCore::GraphicsContext3D::getImageData): + * platform/graphics/skia/GraphicsContext3DSkia.cpp: + (WebCore::GraphicsContext3D::getImageData): + +2011-01-06 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Eric Seidel. + + [GTK] Initial build support for WebGL + https://bugs.webkit.org/show_bug.cgi?id=51716 + + Add initial build support for WebGL and insert bits of implementation + necessary for clean compilation into GraphicsContext3D. + + No new tests. This is just a build change. + + * GNUmakefile.am: Add missing files to the source lists. + * platform/graphics/GraphicsContext3D.h: Include IntSize.h as it's used below. + Include typedefs necessary for WebGL on GTK+ and consolidate typdefs which are the + same across different platforms. X11 headers define the VERSION symbol, so it's + necessary to undefine it, since it's used as an enum value. + +2011-01-06 Helder Correia <helder@sencha.com> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] GraphicsContext::drawConvexPolygon() has unnecessary code for shadow + https://bugs.webkit.org/show_bug.cgi?id=52014 + + The function is only used by RenderObject to draw box sides. + The shadow branch is never used and thus can be removed. + + No new tests are necessary. + + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContext::drawConvexPolygon): + +2011-01-06 Laszlo Gombos <laszlo.1.gombos@nokia.com> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Make sure touch is disabled in the minimal configuration + https://bugs.webkit.org/show_bug.cgi?id=51316 + + No new tests as there is no new functionality. + + * features.pri: + +2011-01-06 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Eric Seidel. + + [GTK] Freetype backend does not support WOFF + https://bugs.webkit.org/show_bug.cgi?id=51904 + + * CMakeListsEfl.txt: Add WOFF support to the sources list. + * GNUmakefile.am: Add WOFF support to the sources list. + * platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp: + (WebCore::createFontCustomPlatformData): Call the WOFF decoder when appropriate. + (WebCore::FontCustomPlatformData::supportsFormat): Advertise support for WOFF. + +2011-01-06 James Simonsen <simonjam@chromium.org> + + Reviewed by Darin Fisher. + + [Web Timing] Remove vendor prefix + https://bugs.webkit.org/show_bug.cgi?id=48922 + + * page/DOMWindow.cpp: + (WebCore::DOMWindow::performance): Rename to performance. + * page/DOMWindow.h: + * page/DOMWindow.idl: Rename to performance and make replaceable. + +2011-01-06 Chris Marrin <cmarrin@apple.com> + + Reviewed by Simon Fraser. + + Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations + https://bugs.webkit.org/show_bug.cgi?id=49388 + + Changed PlatformCALayer API. Added PlatformCALayerClient abstract class which is + used to communicate from PlatformCALayer to the owner. This replaces passing + GraphicsLayerCA pointer when creating PlatformCALayer. It also includes the + API that used to be in PlatformCALayerLayout. GraphicsLayerCA now implements + the PlatformCALayerClient API. + + This change has little impact on the Mac side but makes the Windows + interface simpler, especially when handling video layers on Windows. + + * WebCore.xcodeproj/project.pbxproj: + * config.h: + * platform/graphics/GraphicsLayer.h: + (WebCore::GraphicsLayer::layerDidDisplay): + (WebCore::GraphicsLayer::showDebugBorders): + (WebCore::GraphicsLayer::showRepaintCounter): + * platform/graphics/ca/GraphicsLayerCA.cpp: + (WebCore::GraphicsLayerCA::platformCALayerAnimationStarted): + (WebCore::GraphicsLayerCA::setContentsToImage): + (WebCore::GraphicsLayerCA::setContentsToMedia): + (WebCore::GraphicsLayerCA::layerDidDisplay): + (WebCore::GraphicsLayerCA::updateSublayerList): + * platform/graphics/ca/GraphicsLayerCA.h: + (WebCore::GraphicsLayerCA::platformCALayerLayoutSublayersOfLayer): + (WebCore::GraphicsLayerCA::platformCALayerRespondsToLayoutChanges): + (WebCore::GraphicsLayerCA::platformCALayerContentsOrientation): + (WebCore::GraphicsLayerCA::platformCALayerPaintContents): + (WebCore::GraphicsLayerCA::platformCALayerShowDebugBorders): + (WebCore::GraphicsLayerCA::platformCALayerShowRepaintCounter): + (WebCore::GraphicsLayerCA::platformCALayerIncrementRepaintCount): + (WebCore::GraphicsLayerCA::platformCALayerContentsOpaque): + (WebCore::GraphicsLayerCA::platformCALayerDrawsContent): + (WebCore::GraphicsLayerCA::platformCALayerLayerDidDisplay): + (WebCore::GraphicsLayerCA::platformCALayer): + * platform/graphics/ca/PlatformCALayer.h: + (WebCore::PlatformCALayer::owner): + (WebCore::PlatformCALayer::animationStarted): + * platform/graphics/ca/PlatformCALayerClient.h: Added. + (WebCore::PlatformCALayerClient::~PlatformCALayerClient): + * platform/graphics/ca/mac/PlatformCALayerMac.mm: + (PlatformCALayer::setOwner): + (PlatformCALayer::create): + (PlatformCALayer::PlatformCALayer): + (PlatformCALayer::contents): + (PlatformCALayer::setContents): + * platform/graphics/mac/WebGLLayer.mm: + (-[WebGLLayer display]): + * platform/graphics/mac/WebLayer.h: + * platform/graphics/mac/WebLayer.mm: + (drawLayerContents): + (setLayerNeedsDisplayInRect): + (-[WebLayer setNeedsDisplay]): + (-[WebLayer display]): + * platform/graphics/mac/WebTiledLayer.mm: + (-[WebTiledLayer setNeedsDisplay]): + (-[WebTiledLayer display]): + * rendering/RenderLayerBacking.cpp: + (WebCore::RenderLayerBacking::showDebugBorders): + (WebCore::RenderLayerBacking::showRepaintCounter): + * rendering/RenderLayerCompositor.cpp: + (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): + * rendering/RenderLayerCompositor.h: + (WebCore::RenderLayerCompositor::compositorShowDebugBorders): + (WebCore::RenderLayerCompositor::compositorShowRepaintCounter): + (WebCore::RenderLayerCompositor::notifyAnimationStarted): + (WebCore::RenderLayerCompositor::notifySyncRequired): + (WebCore::RenderLayerCompositor::paintContents): + (WebCore::RenderLayerCompositor::showDebugBorders): + (WebCore::RenderLayerCompositor::showRepaintCounter): + +2011-01-06 Tony Gentilcore <tonyg@chromium.org> + + Reviewed by Eric Seidel. + + Allow framesets after hidden inputs + https://bugs.webkit.org/show_bug.cgi?id=51998 + + This implements the HTML5 spec update in response to: + http://www.w3.org/Bugs/Public/show_bug.cgi?id=11156 + + * html/parser/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processStartTagForInBody): + +2010-12-29 Zhenyao Mo <zmo@google.com> + + Reviewed by Kenneth Russell. + + vertexAttribPointer should raise INVALID_OPERATION if stride/offset is not multiple of the type size + https://bugs.webkit.org/show_bug.cgi?id=51725 + + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::vertexAttribPointer): + +2011-01-06 Patrick Gansterer <paroga@webkit.org> + + Reviewed by Eric Seidel. + + [WINCE] Remove JSC::g_stackBase + https://bugs.webkit.org/show_bug.cgi?id=51779 + + * platform/wince/SharedTimerWinCE.cpp: + (WebCore::TimerWindowWndProc): + +2011-01-06 Robert Hogan <robert@webkit.org> + + Reviewed by Antonio Gomes. + + [Qt] Introduce QDRTNode for passing WebCore::Node across JS bridge + + This allows LayoutTestController to pass WebCore::Node back to + layout tests. + + Also amend nodesFromRect-links-and-text.html and + nodesFromRect-inner-documents.html so that they do not produce + platform-specific results. + + Unskip: + fast/dom/nodesFromRect-links-and-text.html + fast/dom/nodesFromRect-inner-documents.html + + https://bugs.webkit.org/show_bug.cgi?id=48957 + + * bridge/qt/qt_runtime.cpp: + (JSC::Bindings::QtDRTNodeRuntime::create): + (JSC::Bindings::QtDRTNodeRuntime::get): + (JSC::Bindings::convertValueToQVariant): + (JSC::Bindings::convertQVariantToValue): + +2011-01-06 Joone Hur <joone.hur@collabora.co.uk> + + Reviewed by Eric Seidel. + + WML Parser should treat line/column number in a consistent way + https://bugs.webkit.org/show_bug.cgi?id=51601 + + XML Parser treats line/column number as 1-based values, but WML ErrorHandler treat them as 0-based. + Therefore, this patch allows WML ErrorHandler to use 1-based values. + + * dom/XMLDocumentParser.cpp: + (WebCore::XMLDocumentParser::handleError): Treat line/column number as 1 based values. + * dom/XMLDocumentParser.h: Make textPositionOneBased public and Add TextPosition1(m_lastErrorPosition) to keep error line/column number. + * dom/XMLDocumentParserLibxml2.cpp: + (WebCore::XMLDocumentParser::XMLDocumentParser): Initialize m_lastErrorPosition. + * dom/XMLDocumentParserQt.cpp: + (WebCore::XMLDocumentParser::XMLDocumentParser): Initialize m_lastErrorPosition. + * wml/WMLErrorHandling.cpp: + (WebCore::reportWMLError): Use 1 based value instead of 0 based value to report error line/column number. + +2011-01-05 Adam Roben <aroben@apple.com> + + Remove some dead code from WKCACFLayerRenderer + + Fixes <http://webkit.org/b/51954> WKCACFLayerRenderer has dead and + redundant code for reacting to changes to the layer tree + + Reviewed by Sam Weinig. + + * platform/graphics/win/WKCACFLayerRenderer.cpp: + * platform/graphics/win/WKCACFLayerRenderer.h: + Removed didFlushContext and the HashMap it depended on. We react to + changes to the layer tree in layerTreeDidChange instead. + +2011-01-06 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Beth Dakin. + + AX: "AXExpanded" not exposed on most ARIA roles that use aria-expanded + https://bugs.webkit.org/show_bug.cgi?id=51995 + + Test: platform/mac/accessibility/aria-expanded-standard-items.html + + * accessibility/AccessibilityObject.cpp: + (WebCore::AccessibilityObject::supportsARIAExpanded): + (WebCore::AccessibilityObject::isExpanded): + * accessibility/AccessibilityObject.h: + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::isVisited): + * accessibility/AccessibilityRenderObject.h: + * accessibility/mac/AccessibilityObjectWrapper.mm: + (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]): + +2010-12-28 Zhenyao Mo <zmo@google.com> + + Reviewed by Kenneth Russell. + + Must generate INVALID_VALUE errors for strings containing out-of-range characters + https://bugs.webkit.org/show_bug.cgi?id=50929 + + * html/canvas/WebGLRenderingContext.cpp: Validate characters according to GLSL ES 1.0 spec section 3.1. + (WebCore::WebGLRenderingContext::bindAttribLocation): + (WebCore::WebGLRenderingContext::getAttribLocation): + (WebCore::WebGLRenderingContext::getUniformLocation): + (WebCore::WebGLRenderingContext::shaderSource): + (WebCore::WebGLRenderingContext::validateString): Helper function to perform the character validation. + * html/canvas/WebGLRenderingContext.h: Declare validateString(). + +2011-01-06 Yong Li <yoli@rim.com> + + Reviewed by Adam Barth. + Add the test case that is missed in r75066. + https://bugs.webkit.org/show_bug.cgi?id=48077 + + Test case: WebCore/manual-tests/bugzilla-48077.html. + +2011-01-06 James Robinson <jamesr@chromium.org> + + Reviewed by Simon Fraser. + + Implement mozilla's animationTime property + https://bugs.webkit.org/show_bug.cgi?id=51952 + + Implements mozilla's animationTime property as described here: + https://developer.mozilla.org/en/DOM/window.mozAnimationStartTime + and http://hacks.mozilla.org/2010/08/more-efficient-javascript-animations-with-mozrequestanimationframe/ + The property is called webkitAnimationTime as calling it the 'Start' time is not very informative. + This property exposes a notion of a 'current' time to use for declarative animations and allows + scripts to synchronize imperative animations with declarative ones if they choose to. Once queried + this time is saved and used for all declarative animation updates until the embedder paints/composites + the next frame and clears it, or 15ms elapse (in case the embedder isn't producing frames, for example + if the page is in a background tab). + + This patch also ensures that all declarative animations started in the same script execution block + are synchronized even if some time elapses while script is running. + + Test: fast/animation/animation-time.html + + * WebCore.gypi: + * page/DOMWindow.cpp: + (WebCore::DOMWindow::webkitAnimationTime): + * page/DOMWindow.h: + * page/DOMWindow.idl: + * page/Frame.cpp: + (WebCore::Frame::currentAnimationTime): + * page/Frame.h: + * page/Page.cpp: + (WebCore::Page::Page): + * page/Page.h: + (WebCore::Page::animationTime): + * page/animation/AnimationController.cpp: + (WebCore::AnimationControllerPrivate::beginAnimationUpdateTime): + * page/animation/AnimationTimeController.cpp: Added. + (WebCore::AnimationTimeController::AnimationTimeController): + (WebCore::AnimationTimeController::~AnimationTimeController): + (WebCore::AnimationTimeController::currentAnimationTime): + (WebCore::AnimationTimeController::clearCurrentAnimationTime): + (WebCore::AnimationTimeController::clearCurrentAnimationTimeTimerFired): + * page/animation/AnimationTimeController.h: Added. + (WebCore::AnimationTimeController::create): + +2011-01-06 Abhishek Arya <inferno@chromium.org> + + Reviewed by Simon Fraser. + + Null out the parent stylesheet pointer when a css rule is removed. + https://bugs.webkit.org/show_bug.cgi?id=51993 + + Tests: fast/dom/StyleSheet/removed-media-rule-deleted-parent-crash.html + fast/dom/StyleSheet/removed-stylesheet-rule-deleted-parent-crash.html + + * css/CSSRuleList.cpp: + (WebCore::CSSRuleList::deleteRule): + * css/CSSStyleSheet.cpp: + (WebCore::CSSStyleSheet::deleteRule): + +2011-01-04 Adrienne Walker <enne@google.com> + + Reviewed by Kenneth Russell. + + NaN in a TypedArray should be converted to zero only for Float32Array. + https://bugs.webkit.org/show_bug.cgi?id=46990 + + Test: LayoutTests/fast/canvas/webgl/array-unit-tests.html + + * bindings/js/JSArrayBufferViewHelper.h: + (WebCore::convertArrayValue): + (WebCore::constructArrayBufferView): + * html/canvas/Float32Array.h: + (WebCore::Float32Array::set): + (WebCore::Float32Array::item): + +2011-01-06 Patrick Gansterer <paroga@webkit.org> + + Unreviewed Windows build fix for r75161. + + * platform/graphics/cg/GraphicsContextCG.cpp: Missing include added. + +2011-01-06 Patrick Gansterer <paroga@webkit.org> + + Unreviewed WinCE build fix for r75139. + + Try to remove include after adding forward-declaration in r75145. + + * platform/graphics/Gradient.h: + +2011-01-06 Renata Hodovan <reni@webkit.org> + + Reviewed by Andreas Kling. + + https://bugs.webkit.org/show_bug.cgi?id=51811 + Merge m_height and m_width members of ImageData into the new m_size member. + + Image (BitmapImage, ImageSource) types in WebKit use IntSize to store their + width and height argument, except ImageData. This patch refactors ImageData + to follow the style of other Image types in WebKit. + Using of PassRefPtrs other than argument passing is not allowed in WebKit anymore. + This patch also refactors the PassRefPtr usages of ImageData. + + It's just a refactoring, so we don't need any new tests. + + * bindings/js/SerializedScriptValue.cpp: + (WebCore::CloneSerializer::write): + (WebCore::CloneDeserializer::readTerminal): + * bindings/v8/SerializedScriptValue.cpp: + (WebCore::ZigZag::Reader::readImageData): + * html/ImageData.cpp: + (WebCore::ImageData::create): + (WebCore::ImageData::ImageData): + * html/ImageData.h: + (WebCore::ImageData::size): + (WebCore::ImageData::width): + (WebCore::ImageData::height): + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::createEmptyImageData): + (WebCore::CanvasRenderingContext2D::createImageData): + (WebCore::CanvasRenderingContext2D::getImageData): + * html/canvas/CanvasRenderingContext2D.h: + * platform/graphics/haiku/ImageBufferHaiku.cpp: + (WebCore::getImageData): + +2011-01-06 Yael Aharon <yael.aharon@nokia.com> + + Reviewed by Darin Adler. + + document.querySelector(':nth-child(foo)') should throw a syntax error + https://bugs.webkit.org/show_bug.cgi?id=51231 + + Also fixes + CSSNthSelector parsing code is illegible and buggy (allows "n3" as a valid selector) + https://bugs.webkit.org/show_bug.cgi?id=21815 + + Add a check in the parser that other than an+b, only "odd" or "even" would be allowed + as parameters to nth selector. + + Tests: fast/css/css3-nth-tokens-script.html + fast/css/css3-nth-tokens-style.html + + * css/CSSGrammar.y: + * css/CSSParser.cpp: + (WebCore::isValidNthToken): + * css/CSSParser.h: + +2011-01-06 Jan Erik Hanssen <jhanssen@sencha.com> + + Reviewed by Andreas Kling. + + [Qt] crash in QNetworkReplyHandler::sendResponseIfNeeded() + https://bugs.webkit.org/show_bug.cgi?id=51453 + + Check if m_reply is NULL before accessing. + + * manual-tests/load-deferrer-resume-crash.html: Added. + * platform/network/qt/QNetworkReplyHandler.cpp: + (WebCore::QNetworkReplyHandler::setLoadMode): + (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): + +2011-01-06 Andras Becsi <abecsi@webkit.org> + + Reviewed by Csaba Osztrogonác. + + [Qt][V8] Fix the build when DEVICE_ORIENTATION is enabled. + + No new tests needed. + + * WebCore.pro: remove duplications and globally add RuntimeEnabledFeatures. + +2011-01-06 Helder Correia <helder@sencha.com> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt][GTK] Use GraphicsContext::hasShadow() in port-specific code + https://bugs.webkit.org/show_bug.cgi?id=51985 + + r75139 introduced GraphicsContext::hasShadow(). This can now simplify + and unify some code in the Qt and GTK ports. + + No new tests necessary for this refactoring. + + * platform/graphics/cairo/GraphicsContextCairo.cpp: + (WebCore::GraphicsContext::fillRect): + (WebCore::GraphicsContext::fillRoundedRect): + * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h: + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContext::drawConvexPolygon): + (WebCore::GraphicsContext::fillPath): + (WebCore::GraphicsContext::strokePath): + (WebCore::GraphicsContext::fillRect): + (WebCore::GraphicsContext::fillRoundedRect): + +2011-01-05 Darin Adler <darin@apple.com> + + Fix Chromium Mac build. + + * platform/graphics/Gradient.h: Forward-declare CGContextRef. + This might even make it possible to remove the include of + <CoreGraphics/CoreGraphics.h> for PLATFORM(WIN), but I did not + do that at this time because I don't want to break the Windows + build when fixing the Chromium build. + +2011-01-05 Xianzhu Wang <wangxianzhu@google.com> + + Reviewed by David Levin. + + Implement RemoteFontStream's skip behavior (in FontCustomPlatformData.cpp) + https://bugs.webkit.org/show_bug.cgi?id=51736 + + No new tests. This change has potential effect on @font-face CSS feature + on ports using Skia. Tested on Chromium that this change won't break + fast/css/font-face-remote.html. This change can make the test pass on + other ports using Skia. + + * platform/graphics/skia/FontCustomPlatformData.cpp: + (WebCore::RemoteFontStream::read): + +2011-01-05 Helder Correia <helder@sencha.com> + + Reviewed by Simon Fraser. + + Shadows are not drawn when filling a rect with a gradient fillStyle on Mac and Chromium-Mac + https://bugs.webkit.org/show_bug.cgi?id=51869 + + GraphicsContext::fillRect(const FloatRect&) is clipping to the rect. + The shadow is being drawn, but getting clipped to the rect being filled. + The solution is to draw the gradient into a CGLayer (when a shadow is + required), then render the layer to the GraphicsContext. + + This patch also fixes: + canvas/philip/tests/2d.shadow.gradient.alpha.html + canvas/philip/tests/2d.shadow.gradient.basic.html + canvas/philip/tests/2d.shadow.gradient.transparent.2.html + + Test: fast/canvas/canvas-fillRect-gradient-shadow.html + + * platform/graphics/Gradient.h: + * platform/graphics/cg/GradientCG.cpp: + (WebCore::Gradient::paint): + * platform/graphics/cg/GraphicsContextCG.cpp: + (WebCore::GraphicsContext::fillRect): + +2011-01-05 Steve Falkenburg <sfalken@apple.com> + + Reviewed by Darin Adler. + + Debug and Release builds on Windows clobber each other + https://bugs.webkit.org/show_bug.cgi?id=49185 + + Changes the structure of WebKitBuild build products directory so we + completely separate each build configuration into independent directories. + + Although we previously had per-configuration directories for obj, this change adds + per-configuration directories for bin, lib, obj, and include. Each configuration's + build products are stored within a directory inside of WebKitBuild. + + Most use of $(WebKitOutputDir) in the build files has been replaced by $(ConfigurationBuildDir), + defined in common.vsprops to be $(WebKitOutputDir)\$(ConfigurationName). + + * WebCore.vcproj/QTMovieWinCommon.vsprops: + * WebCore.vcproj/QTMovieWinPostBuild.cmd: + * WebCore.vcproj/QTMovieWinPreBuild.cmd: + * WebCore.vcproj/WebCore.make: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.vcproj/WebCoreCommon.vsprops: + * WebCore.vcproj/WebCoreGeneratedCairo.vsprops: + * WebCore.vcproj/WebCoreGeneratedCommon.vsprops: + * WebCore.vcproj/WebCoreMediaQT.vsprops: + * WebCore.vcproj/WebCorePostBuild.cmd: + * WebCore.vcproj/WebCorePreBuild.cmd: + * WebCore.vcproj/copyForwardingHeaders.cmd: + * WebCore.vcproj/copyInspectorFiles.cmd: + +2011-01-05 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Ariya Hidayat. + + Directly composited SVG images fail to render + https://bugs.webkit.org/show_bug.cgi?id=51975 + + There was already code, added in r67900, to detect whether an image + may be directly composited, by checking to see if it's a bitmap image. + + However, CachedImage::image() returns the nullImage() if m_image is null, + which is a BitmapImage, confusing this test. + + Test: compositing/images/direct-svg-image.html + + * loader/cache/CachedImage.cpp: Remove nullImage(), since Image has + exactly the same method. + (WebCore::CachedImage::image): Use Image::nullImage(). + * loader/cache/CachedImage.h: + (WebCore::CachedImage::hasImage): New method to ask whether the m_image is + non-null. + * rendering/RenderLayerBacking.cpp: + (WebCore::RenderLayerBacking::isDirectlyCompositedImage): Use hasImage() + so that we don't test the nullImage. + +2011-01-05 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Darin Adler. + + Fix percentage values in radius of radial gradients + https://bugs.webkit.org/show_bug.cgi?id=51979 + + Handle percentage values for the ending size of radial gradients. + + Test: fast/gradients/css3-radial-gradients3.html + + * css/CSSGradientValue.cpp: + (WebCore::CSSRadialGradientValue::resolveRadius): Add parameter for height or width, which is + non-null if percentage values are allowed, and compute percentage values when we see them. + (WebCore::CSSRadialGradientValue::createGradient): Pass height or width down to say that + percentages are OK when resolving end radii. + * css/CSSGradientValue.h: New parameter for resolveRadius. + +2011-01-05 James Simonsen <simonjam@chromium.org> + + Reviewed by Adam Barth. + + [Web Timing] Zero out some values on cross-origin redirects + https://bugs.webkit.org/show_bug.cgi?id=49294 + + Tests: http/tests/misc/webtiming-cross-origin-redirect.php + http/tests/misc/webtiming-origins.html + + * loader/DocumentLoadTiming.h: + (WebCore::DocumentLoadTiming::DocumentLoadTiming): Add flags for cross-origin redirects and same-origin navigation. + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::~FrameLoader): + (WebCore::FrameLoader::stopLoading): Don't overwrite previous unload times. + (WebCore::FrameLoader::completed): + (WebCore::FrameLoader::loadWithDocumentLoader): Remember previous URL to see if navigation is same-origin. + (WebCore::FrameLoader::commitProvisionalLoad): Set flag if navigation is same-origin. + * loader/FrameLoader.h: + * loader/MainResourceLoader.cpp: + (WebCore::MainResourceLoader::willSendRequest): Set flag on cross-origin redirects. + * page/PerformanceNavigation.cpp: + (WebCore::PerformanceNavigation::redirectCount): Clear if cross-origin redirect flag is set. + * page/PerformanceTiming.cpp: + (WebCore::PerformanceTiming::redirectStart): Ditto. + (WebCore::PerformanceTiming::redirectEnd): Ditto. + (WebCore::PerformanceTiming::unloadEventStart): Clear if cross-origin navigation is set. + (WebCore::PerformanceTiming::unloadEventEnd): Ditto. + +2011-01-05 Helder Correia <helder@sencha.com> + + Reviewed by Ariya Hidayat. + + [Qt] Default focus ring is too wide + https://bugs.webkit.org/show_bug.cgi?id=51854 + + This is an intermediate step to solve this bug. Use QPalette::Highlight + instead of default half-transparent black as the focus ring color. + + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::drawFocusRingForPath): + * platform/qt/RenderThemeQt.cpp: + (WebCore::RenderThemeQt::platformFocusRingColor): + * platform/qt/RenderThemeQt.h: + +2011-01-05 James Simonsen <simonjam@chromium.org> + + Reviewed by Darin Fisher. + + [Web Timing] requestStart and responseStart should be available even if the document is still loading + https://bugs.webkit.org/show_bug.cgi?id=51368 + + Test: http/tests/misc/webtiming-slow-load.php + + * page/PerformanceTiming.cpp: + (WebCore::getPossiblySkewedTimeInKnownRange): Handle case where response is not yet complete. + (WebCore::PerformanceTiming::resourceLoadTimeRelativeToAbsolute): Use full upper bound. + +2011-01-05 Chris Rogers <crogers@google.com> + + Reviewed by Darin Fisher. + + Add WebKitClient::createAudioDevice() for Chromium port of web audio API + https://bugs.webkit.org/show_bug.cgi?id=51424 + + No new tests since audio API is not yet implemented. + + * WebCore.gyp/WebCore.gyp: + * WebCore.gypi: + +2011-01-05 Anders Carlsson <andersca@apple.com> + + Try again. + + * WebCore.exp.in: + +2011-01-05 Anders Carlsson <andersca@apple.com> + + Attempt to fix Leopard build. + + * WebCore.exp.in: + +2011-01-05 Evan Martin <evan@chromium.org> + + Reviewed by Tony Chang. + + [chromium] refactor complex text on Linux + https://bugs.webkit.org/show_bug.cgi?id=51956 + + Pull out TextRunWalker from FontLinux.cpp. Put it in its own file. + Rename it to ComplexTextController, to match platform/graphics/mac + more closely. + + No tests because the change is just renaming a class. + + * WebCore.gyp/WebCore.gyp: + * platform/graphics/chromium/ComplexTextControllerLinux.cpp: Added. + (WebCore::ComplexTextController::ComplexTextController): + (WebCore::ComplexTextController::~ComplexTextController): + (WebCore::ComplexTextController::isWordBreak): + (WebCore::ComplexTextController::determineWordBreakSpacing): + (WebCore::ComplexTextController::setPadding): + (WebCore::ComplexTextController::reset): + (WebCore::ComplexTextController::setBackwardsIteration): + (WebCore::ComplexTextController::nextScriptRun): + (WebCore::ComplexTextController::widthOfFullRun): + (WebCore::ComplexTextController::setupFontForScriptRun): + (WebCore::ComplexTextController::allocHarfbuzzFont): + (WebCore::ComplexTextController::deleteGlyphArrays): + (WebCore::ComplexTextController::createGlyphArrays): + (WebCore::ComplexTextController::resetGlyphArrays): + (WebCore::ComplexTextController::shapeGlyphs): + (WebCore::ComplexTextController::setGlyphXPositions): + (WebCore::ComplexTextController::normalizeSpacesAndMirrorChars): + (WebCore::ComplexTextController::getNormalizedTextRun): + * platform/graphics/chromium/ComplexTextControllerLinux.h: Added. + (WebCore::ComplexTextController::setWordSpacingAdjustment): + (WebCore::ComplexTextController::setLetterSpacingAdjustment): + (WebCore::ComplexTextController::letterSpacing): + (WebCore::ComplexTextController::setXOffsetToZero): + (WebCore::ComplexTextController::rtl): + (WebCore::ComplexTextController::glyphs): + (WebCore::ComplexTextController::length): + (WebCore::ComplexTextController::xPositions): + (WebCore::ComplexTextController::advances): + (WebCore::ComplexTextController::width): + (WebCore::ComplexTextController::logClusters): + (WebCore::ComplexTextController::numCodePoints): + (WebCore::ComplexTextController::fontPlatformDataForScriptRun): + (WebCore::ComplexTextController::isCodepointSpace): + * platform/graphics/chromium/FontLinux.cpp: + (WebCore::Font::drawComplexText): + (WebCore::Font::floatWidthForComplexText): + (WebCore::glyphIndexForXPositionInScriptRun): + (WebCore::Font::offsetForPositionForComplexText): + (WebCore::Font::selectionRectForComplexText): + +2011-01-05 Pratik Solanki <psolanki@apple.com> + + Reviewed by Darin Adler. + + Merge cf and mac header files with same name + https://bugs.webkit.org/show_bug.cgi?id=51916 + + Since most of the code in the header files is identical, we can merge them and have #if + USE(CFNETWORK) to separate out the network specific parts. + + * WebCore.xcodeproj/project.pbxproj: + * platform/network/cf/AuthenticationChallenge.h: + (WebCore::AuthenticationChallenge::sender): + (WebCore::AuthenticationChallenge::nsURLAuthenticationChallenge): + * platform/network/cf/ResourceError.h: + (WebCore::ResourceError::ResourceError): + * platform/network/cf/ResourceRequest.h: + (WebCore::ResourceRequest::ResourceRequest): + * platform/network/cf/ResourceResponse.h: + (WebCore::ResourceResponse::ResourceResponse): + * platform/network/mac/AuthenticationChallenge.h: Removed. + * platform/network/mac/ResourceError.h: Removed. + * platform/network/mac/ResourceRequest.h: Removed. + * platform/network/mac/ResourceResponse.h: Removed. + +2011-01-05 Anders Carlsson <andersca@apple.com> + + Reviewed by Adele Peterson. + + Implement word transformation + https://bugs.webkit.org/show_bug.cgi?id=51943 + + Export Editor functions needed by WebKit2. + + * WebCore.exp.in: + +2011-01-05 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dave Hyatt. + + Implement repeating CSS3 gradients + https://bugs.webkit.org/show_bug.cgi?id=51843 + + Add support for repeating gradients, via the new gradient functions + -webkit-repeating-linear-gradient and -webkit-repeating-radial-gradient. + + Tests: fast/gradients/css3-repeating-linear-gradients.html + fast/gradients/css3-repeating-radial-gradients.html + + * css/CSSGradientValue.h: + (WebCore::CSSGradientValue::isRepeating): Accessor for whethe the gradient repeats. + (WebCore::CSSGradientValue::CSSGradientValue): Pass CSSGradientRepeat in. + (WebCore::CSSLinearGradientValue::create): Pass CSSGradientRepeat. + (WebCore::CSSLinearGradientValue::CSSLinearGradientValue): Ditto + (WebCore::CSSRadialGradientValue::create): Ditto. + (WebCore::CSSRadialGradientValue::CSSRadialGradientValue): Ditto. + + * css/CSSGradientValue.cpp: + (WebCore::CSSGradientValue::addStops): Pass maxLengthForRepeat, which + is used for repeating radial gradients. Add code to repeat the stops, + adding stops before the start, and after the end until the 0-N range is + covered, where N is large enough to ensure the box is covered. Fix an issue + with repeating gradients where if both stops were < 0, it would fail to clamp + them to 0. + + (WebCore::CSSLinearGradientValue::cssText): Output strings for repeating gradients. + (WebCore::CSSLinearGradientValue::createGradient): maxExtent for linear gradients is 1, + because they are guaranteed to fill the box already. + (WebCore::CSSRadialGradientValue::cssText): Output strings for repeating gradients. + (WebCore::CSSRadialGradientValue::createGradient): Compute the distance to the furthest + corner in order to inform addStops() how much additional extent is required. + + * css/CSSParser.cpp: + (WebCore::CSSParser::parseDeprecatedGradient): Old gradients never repeat. + (WebCore::CSSParser::parseLinearGradient): Pass down CSSGradientRepeat. + (WebCore::CSSParser::parseRadialGradient): Ditto. + (WebCore::CSSParser::isGeneratedImageValue): Add repeating gradient functions. + (WebCore::CSSParser::parseGeneratedImage): Ditto. + * css/CSSParser.h: Pass CSSGradientRepeat to gradient functions. + * platform/graphics/cg/GradientCG.cpp: Remove unused #include. + +2011-01-05 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Ariya Hidayat. + + ContextShadow::blurLayerImage() not endian-safe + https://bugs.webkit.org/show_bug.cgi?id=51822 + + Correct the channel map in ContextShadow to reflect the different + ordering of pixels on processors with different endianness. + + No new tests. This is covered by the existing shadow tests. It was + not discovered, because all of the bots using ContextShadow are + little-endian. + + * platform/graphics/ContextShadow.cpp: + (WebCore::ContextShadow::blurLayerImage): Initialize the channel mapping + based on machine endianness. + +2011-01-05 Mihai Parparita <mihaip@chromium.org> + + Reviewed by Nate Chapin. + + [Chromium] Crash when drawing PDF plug-in scrollbars + https://bugs.webkit.org/show_bug.cgi?id=51942 + + Pepper plug-in scrollbars don't have a parent, guard against that before + seeing if the parent is a FrameView. + + Not testable via layout tests, verified fix by hand. + + * platform/chromium/ScrollbarThemeChromiumMac.mm: + (WebCore::ScrollbarThemeChromiumMac::paint): + +2011-01-05 Abhishek Arya <inferno@chromium.org> + + Unreviewed. + + Update FIXME comment to sound better. Also initialize the block to fix compile. + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::removeChild): + +2011-01-05 Abhishek Arya <inferno@chromium.org> + + Reviewed by Dave Hyatt. + + Do not merge anonymous blocks when one of them is the one getting removed. + https://bugs.webkit.org/show_bug.cgi?id=51919 + + Test: fast/block/merge-anonymous-block-remove-child-crash.html + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::removeChild): + +2011-01-05 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Eric Seidel. + + ApplyStyleCommand::applyRelativeFontStyleChange should take EditingStyle* + https://bugs.webkit.org/show_bug.cgi?id=50641 + + Modified applyRelativeFontStyleChange to take EditingStyle instead of CSSMutableStyleDeclaration. + Also extracted the logic to obtain the font size delta from ApplyStyleCommand to EditingStyle. + The font size delta is now stored as a member variable of EditingStyle as supposed to a property + in CSSMutableStyleDeclration as soon as EditingStyle is instantiated. + + No new tests are added since this is a refactoring. + + * editing/ApplyStyleCommand.cpp: + (WebCore::ApplyStyleCommand::doApply): Calls applyRelativeFontStyleChange. + (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange): Takes EditingStyle. + * editing/ApplyStyleCommand.h: + * editing/EditingStyle.cpp: + (WebCore::EditingStyle::EditingStyle): Initializes m_fontSizeDelta. + (WebCore::EditingStyle::init): Ditto. + (WebCore::EditingStyle::extractFontSizeDelta): Extracted from applyRelativeFontStyleChange. + (WebCore::EditingStyle::isEmpty): Takes care of m_fontSizeDelta. + (WebCore::EditingStyle::setStyle): Calls extractFontSizeDelta. + (WebCore::EditingStyle::overrideWithStyle): Ditto. + (WebCore::EditingStyle::clear): Initializes m_fontSizeDelta. + (WebCore::EditingStyle::copy): Calls extractFontSizeDelta. + * editing/EditingStyle.h: + (WebCore::EditingStyle::fontSizeDelta): Added. + (WebCore::EditingStyle::hasFontSizeDelta): Added. + * editing/Editor.h: + +2011-01-05 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + <rdar://problem/8799835> hyphenate-character: auto should fall back to hyphen-minus if the primary font lacks a hyphen glyph + https://bugs.webkit.org/show_bug.cgi?id=51915 + + This changes the results of existing tests in fast/text. + + * platform/graphics/Font.h: + * platform/graphics/FontFastPath.cpp: + (WebCore::Font::primaryFontHasGlyphForCharacter): Added. + * rendering/style/RenderStyle.cpp: + * platform/graphics/qt/FontQt.cpp: + (WebCore::Font::primaryFontHasGlyphForCharacter): Added a stub. + (WebCore::RenderStyle::hyphenString): For hyphenate-character: auto, return a + hyphen only if the primary font has a hyphen glyph, and otherwise return a + hyphen-minus. + +2011-01-05 Laszlo Gombos <laszlo.1.gombos@nokia.com> + + Reviewed by Ariya Hidayat. + + [Qt] [Symbian] Make CONFIG-=def_files the default configuration for trunk builds + https://bugs.webkit.org/show_bug.cgi?id=51888 + + Overrule Qt's default from qconfig.pri for non-production builds so + that CONFIG(def_files) evaluates to false and QtWebKit trunk builds succeed. + + No new tests as there is no new functionality. + + * WebCore.pro: + +2011-01-05 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r74778. + http://trac.webkit.org/changeset/74778 + https://bugs.webkit.org/show_bug.cgi?id=51930 + + Android and QtWebKit-V8 uses V8DOMWindowShell::setContext. + (Requested by bbandix on #webkit). + + * bindings/v8/V8DOMWindowShell.cpp: + (WebCore::V8DOMWindowShell::setContext): + * bindings/v8/V8DOMWindowShell.h: + +2011-01-05 Yi Shen <yi.4.shen@nokia.com> + + Reviewed by Andreas Kling. + + [Qt] Animated GIF images does not animate 10x as expected by default. + https://bugs.webkit.org/show_bug.cgi?id=36818 + + Add a test animated GIF which should be displayed 2 times and stop. + + * manual-tests/animated-gif-looping.html: + * manual-tests/resources/animated-2x.gif: Added. + +2011-01-05 Carlos Garcia Campos <cgarcia@igalia.com> + + Reviewed by Martin Robinson. + + [GTK] Fork code of ScrollbarThemeGtk that will differ for GTK+ 3 + https://bugs.webkit.org/show_bug.cgi?id=51923 + + Split out pieces of ScrollbarThemeGtk into ScrollbarThemeGtk2 and + ScrollbarThemeGtk3 that will differ between GTK+ 2 and GTK+ 3. + + No new tests. This should not change functionality. + + * GNUmakefile.am: Add ScrollbarThemeGtk2.cpp and ScrollbarThemeGtk3.cpp + * platform/gtk/ScrollbarThemeGtk.cpp: + (WebCore::ScrollbarThemeGtk::updateScrollbarsFrameThickness): + * platform/gtk/ScrollbarThemeGtk.h: + * platform/gtk/ScrollbarThemeGtk2.cpp: Added. + (WebCore::ScrollbarThemeGtk::updateThemeProperties): + (WebCore::ScrollbarThemeGtk::paintTrackBackground): + (WebCore::ScrollbarThemeGtk::paintScrollbarBackground): + (WebCore::ScrollbarThemeGtk::paintThumb): + (WebCore::ScrollbarThemeGtk::paintButton): + * platform/gtk/ScrollbarThemeGtk3.cpp: Added. + (WebCore::ScrollbarThemeGtk::updateThemeProperties): + (WebCore::ScrollbarThemeGtk::paintTrackBackground): + (WebCore::ScrollbarThemeGtk::paintScrollbarBackground): + (WebCore::ScrollbarThemeGtk::paintThumb): + (WebCore::ScrollbarThemeGtk::paintButton): + +2011-01-05 Patrick Gansterer <paroga@webkit.org> + + Reviewed by Andreas Kling. + + [CMake] Fix the usage of SOURCE_GROUP + https://bugs.webkit.org/show_bug.cgi?id=51739 + + * CMakeLists.txt: + +2011-01-05 Andras Becsi <abecsi@webkit.org> + + Reviewed by Csaba Osztrogonác. + + [Qt][V8] Fix the build after recent changes. + + No new tests needed. + + * WebCore.pro: Add missing files, and remove obsolete ones. + +2011-01-05 Yong Li <yoli@rim.com> + + Reviewed by Adam Barth. + + Suspend HTMLParserScheduler when page load is deferred to + avoid potential JS re-entrancy. Otherwise, when JS execution is triggered + from an external script or by events, and is blocked by a modal dialog, + WebKit can parse more HTML source and also start another JS execution. + + https://bugs.webkit.org/show_bug.cgi?id=48077 + + Test case: WebCore/manual-tests/bugzilla-48077.html. + + * dom/DocumentParser.cpp: + (WebCore::DocumentParser::suspendScheduledTasks): + (WebCore::DocumentParser::resumeScheduledTasks): + * dom/DocumentParser.h: + * html/parser/HTMLDocumentParser.cpp: + (WebCore::HTMLDocumentParser::suspendScheduledTasks): + (WebCore::HTMLDocumentParser::resumeScheduledTasks): + * html/parser/HTMLParserScheduler.cpp: + (WebCore::HTMLParserScheduler::HTMLParserScheduler): + (WebCore::HTMLParserScheduler::suspend): + (WebCore::HTMLParserScheduler::resume): + * html/parser/HTMLParserScheduler.h: + (WebCore::HTMLParserScheduler::isScheduledForResume): + * page/PageGroupLoadDeferrer.cpp: + (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): + (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer): + +2011-01-05 Simon Hausmann <simon.hausmann@nokia.com> + + Reviewed by Kenneth Rohde Christiansen, Gustavo Noronha Silva + + [GStreamer] MediaPlayerPrivateGStreamer::totalBytes() does not work reliably + https://bugs.webkit.org/show_bug.cgi?id=51926 + + Work around potential upstream bug: Querying a GstBin for the duration, + will forward the query to all sink children. Our WebKitWebSrc however + is a bin with only source children, therefore the query fails. Until + this is changed upstream, this patch works around it as follows, + based on suggestion by Philippe Normand and Sebastian Dröge: + + When the initial query fails, attempt the same query on all source + pads and take the maximum length reported. + + * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: + (WebCore::MediaPlayerPrivateGStreamer::totalBytes): + +2011-01-05 Philippe Normand <pnormand@igalia.com> + + Rubber-stamped by Eric Seidel. + + [GStreamer] build fails with gstreamer core 0.10.31 and -plugins-base 0.10.30 + https://bugs.webkit.org/show_bug.cgi?id=51810 + + Based on a patch by Mart Raudsepp. + + No new tests, build fix only. + + * platform/graphics/gstreamer/GStreamerGWorld.cpp: + (WebCore::GStreamerGWorld::setWindowOverlay): Use the new xoverlay + API if the GST_CHECK_PLUGINS_BASE_VERSION macro is defined. It was + introduced in same version as the xoverlay API change. + +2011-01-05 Leo Yang <leo.yang@torchmobile.com.cn> + + Reviewed by Dirk Schulze. + + Malformed SVG causes crash in updateContainerOffset + https://bugs.webkit.org/show_bug.cgi?id=44610 + + We should check recursive <use> at the begining of + WebCore::SVGUseElement::buildInstanceTree instead + of at the end of it because the target element's + children may cause infinite recursive <use>. + + Test: svg/custom/recursive-use.svg + + * svg/SVGUseElement.cpp: + (WebCore::SVGUseElement::buildInstanceTree): + (WebCore::SVGUseElement::hasCycleUseReferencing): + * svg/SVGUseElement.h: + +2011-01-04 Antti Koivisto <antti@apple.com> + + Reviewed by Dan Bernstein. + + https://bugs.webkit.org/show_bug.cgi?id=51907 + Style selector should only be recalculated when the pending sheet count goes to zero + + Shark says this is a significant performance improvement on some sites with lots of stylesheets. + + * dom/Document.cpp: + (WebCore::Document::removePendingSheet): + +2011-01-05 Carlos Garcia Campos <cgarcia@igalia.com> + + Reviewed by Martin Robinson. + + [GTK] Use GtkStyleContext to get platform colors + https://bugs.webkit.org/show_bug.cgi?id=51830 + + Use GtkStyleContext API to get platform colors when building with + GTK+ 3.x. + + No new tests. This should not change functionality. + + * platform/graphics/Color.h: Add specialized constructor for GdkRGBA. + * platform/graphics/gtk/ColorGtk.cpp: + (WebCore::Color::Color): + (WebCore::Color::operator GdkRGBA): + * platform/gtk/RenderThemeGtk3.cpp: + (WebCore::RenderThemeGtk::platformActiveSelectionBackgroundColor): + (WebCore::RenderThemeGtk::platformInactiveSelectionBackgroundColor): + (WebCore::RenderThemeGtk::platformActiveSelectionForegroundColor): + (WebCore::RenderThemeGtk::platformInactiveSelectionForegroundColor): + (WebCore::RenderThemeGtk::activeListBoxSelectionBackgroundColor): + (WebCore::RenderThemeGtk::inactiveListBoxSelectionBackgroundColor): + (WebCore::RenderThemeGtk::activeListBoxSelectionForegroundColor): + (WebCore::RenderThemeGtk::inactiveListBoxSelectionForegroundColor): + (WebCore::RenderThemeGtk::systemColor): + +2011-01-05 Carlos Garcia Campos <cgarcia@igalia.com> + + Unreviewed. Build fix for GTK when using gtk+-3 after r75009. + + * platform/gtk/RenderThemeGtk3.cpp: + (WebCore::RenderThemeGtk::getStockIcon): Use adoptGRef instead of + adoptGRefPtr which doesn't exist. + +2011-01-05 Alexey Proskuryakov <ap@apple.com> + + Reviewed by Sam Weinig. + + https://bugs.webkit.org/show_bug.cgi?id=51903 + Tell UI process which subframe is largest + + * WebCore.exp.in: Exported FrameView::contentsSize(). + +2011-01-04 Chris Fleizach <cfleizach@apple.com> + + Unreviewed. GTK build fix. + + WK2: Support Accessibility + https://bugs.webkit.org/show_bug.cgi?id=51859 + + * page/FrameView.cpp: + (WebCore::FrameView::axObjectCache): + +2011-01-04 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r74992. + http://trac.webkit.org/changeset/74992 + https://bugs.webkit.org/show_bug.cgi?id=51917 + + Crash in HTMLDocumentParser::suspendScheduledTasks() + (Requested by tkent on #webkit). + + * dom/DocumentParser.cpp: + * dom/DocumentParser.h: + * html/parser/HTMLDocumentParser.cpp: + * html/parser/HTMLDocumentParser.h: + * html/parser/HTMLParserScheduler.cpp: + (WebCore::HTMLParserScheduler::HTMLParserScheduler): + * html/parser/HTMLParserScheduler.h: + (WebCore::HTMLParserScheduler::isScheduledForResume): + * page/PageGroupLoadDeferrer.cpp: + (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): + (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer): + +2011-01-04 Benjamin Poulain <benjamin.poulain@nokia.com> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] [WK2] Add support for non-trivial context menu action + https://bugs.webkit.org/show_bug.cgi?id=51902 + + Fix the preprocessor guard for ContextMenuItemTagSelectAll in + the implementation of ContextMenuController::contextMenuItemSelected(). The guard was + inconsistent with what is defined in ContextMenuItem.h. + + * page/ContextMenuController.cpp: + (WebCore::ContextMenuController::contextMenuItemSelected): + +2011-01-04 Tony Gentilcore <tonyg@chromium.org> + + Reviewed by Ryosuke Niwa. + + Avoid manual ref/deref in AsyncScriptRunner by using PendingScript + https://bugs.webkit.org/show_bug.cgi?id=51723 + + ScriptElement should also be able to keep its Element+CachedScript in + a PendingScript, and then executeScriptSoon can accept a PendingScript. + Once HTMLScriptRunner, ScriptElement, and AsyncScriptRunner all use + PendingScripts, then generic request and execute which operate on + PendingScripts can be factored out to avoid code duplicate that we have. + + No new tests because no new functionality. + + * dom/AsyncScriptRunner.cpp: + (WebCore::AsyncScriptRunner::~AsyncScriptRunner): + (WebCore::AsyncScriptRunner::executeScriptSoon): + (WebCore::AsyncScriptRunner::timerFired): + * dom/AsyncScriptRunner.h: + * dom/PendingScript.h: Add ctor which sets element and cachedScript. Rename adoptElement->setElement. + * dom/HTMLScriptRunner.cpp: + (WebCore::HTMLScriptRunner::requestPendingScript): + +2011-01-04 Jeff Miller <jeffm@apple.com> + + Reviewed by Darin Adler. + + Member variable and method naming cleanup to be consistent with WebKit2. + https://bugs.webkit.org/show_bug.cgi?id=51228 + + * page/win/EventHandlerWin.cpp: + (WebCore::EventHandler::eventActivatedView): + Rename activatedWebView() to didActivateWebView(). + + * platform/PlatformMouseEvent.h: + Rename m_activatedWebView to m_didActivateWebView. + + (WebCore::PlatformMouseEvent::PlatformMouseEvent): + Initialize platform-specific member variables in PlatformMouseEvent constructors. + + (WebCore::PlatformMouseEvent::didActivateWebView): + Rename activatedWebView() to didActivateWebView(). + + * platform/win/PlatformMouseEventWin.cpp: + (WebCore::PlatformMouseEvent::PlatformMouseEvent): + Rename m_activatedWebView to m_didActivateWebView. + +2011-01-04 Yael Aharon <yael.aharon@nokia.com> + + Reviewed by Darin Adler. + + CSS3 :nth-child selector and valid whitespace test fails + https://bugs.webkit.org/show_bug.cgi?id=36279 + + Teach the tokenizer to allow white spaces around [+/-] signs in nth constructs. + + Test: fast/css/css3-nth-space.html + + * css/tokenizer.flex: + +2011-01-04 Chris Fleizach <cfleizach@apple.com> + + Unreviewed. Build fix. + + WK2: Support Accessibility + https://bugs.webkit.org/show_bug.cgi?id=51859 + + * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: + (fallbackObject): + +2011-01-04 Cosmin Truta <ctruta@chromium.org> + + Reviewed by Eric Seidel. + + [chromium] PNG compression settings optimized for speed + https://bugs.webkit.org/show_bug.cgi?id=51719 + + Although Z_HUFFMAN_ONLY is the fastest on hard-to-compress images, + it is also the slowest, by a wide margin, on easy-to-compress images. + Use a more balanced configuration, based on the libpng compression defaults, + but with a faster compression level (3 instead of 6), and a faster filter + ("sub" instead of "all"). + + No change in behaviour, so no new tests. + + * platform/image-encoders/skia/PNGImageEncoder.cpp: + (WebCore::PNGImageEncoder::encode): + +2011-01-04 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Sam Weinig. + + WK2: Support Accessibility + https://bugs.webkit.org/show_bug.cgi?id=51859 + + WK2 doesn't use platform scroll views anymore. Accessibility code + needs to have its own scroll views. + + Test: platform/mac/accessibility/webkit-scrollarea.html + + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.exp.in: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * accessibility/AXObjectCache.cpp: + (WebCore::AXObjectCache::AXObjectCache): + (WebCore::AXObjectCache::get): + (WebCore::AXObjectCache::getOrCreate): + (WebCore::AXObjectCache::rootObject): + (WebCore::AXObjectCache::remove): + (WebCore::AXObjectCache::handleScrollbarUpdate): + * accessibility/AXObjectCache.h: + (WebCore::AXObjectCache::handleScrollbarUpdate): + * accessibility/AccessibilityARIAGrid.h: + * accessibility/AccessibilityAllInOne.cpp: + * accessibility/AccessibilityImageMapLink.cpp: + * accessibility/AccessibilityImageMapLink.h: + * accessibility/AccessibilityListBoxOption.cpp: + * accessibility/AccessibilityListBoxOption.h: + * accessibility/AccessibilityObject.cpp: + (WebCore::AccessibilityObject::updateChildrenIfNecessary): + (WebCore::AccessibilityObject::elementAccessibilityHitTest): + (WebCore::AccessibilityObject::axObjectCache): + (WebCore::AccessibilityObject::focusedUIElement): + * accessibility/AccessibilityObject.h: + (WebCore::AccessibilityObject::isAccessibilityScrollView): + (WebCore::AccessibilityObject::isScrollView): + (WebCore::AccessibilityObject::canSetNumericValue): + (WebCore::AccessibilityObject::scrollBar): + (WebCore::AccessibilityObject::size): + (WebCore::AccessibilityObject::setValue): + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::parentObject): + (WebCore::AccessibilityRenderObject::accessibilityHitTest): + (WebCore::AccessibilityRenderObject::updateChildrenIfNecessary): + (WebCore::AccessibilityRenderObject::addChildren): + * accessibility/AccessibilityRenderObject.h: + * accessibility/AccessibilityScrollView.cpp: Added. + (WebCore::AccessibilityScrollView::AccessibilityScrollView): + (WebCore::AccessibilityScrollView::create): + (WebCore::AccessibilityScrollView::scrollBar): + (WebCore::AccessibilityScrollView::children): + (WebCore::AccessibilityScrollView::updateChildrenIfNecessary): + (WebCore::AccessibilityScrollView::removeChildScrollbar): + (WebCore::AccessibilityScrollView::addChildScrollbar): + (WebCore::AccessibilityScrollView::addChildren): + (WebCore::AccessibilityScrollView::webAreaObject): + (WebCore::AccessibilityScrollView::accessibilityHitTest): + (WebCore::AccessibilityScrollView::document): + (WebCore::AccessibilityScrollView::elementRect): + (WebCore::AccessibilityScrollView::parentObject): + * accessibility/AccessibilityScrollView.h: Added. + (WebCore::AccessibilityScrollView::roleValue): + (WebCore::AccessibilityScrollView::scrollView): + (WebCore::AccessibilityScrollView::accessibilityIsIgnored): + (WebCore::AccessibilityScrollView::isAccessibilityScrollView): + (WebCore::toAccessibilityScrollView): + * accessibility/AccessibilityScrollbar.cpp: + (WebCore::AccessibilityScrollbar::AccessibilityScrollbar): + (WebCore::AccessibilityScrollbar::create): + (WebCore::AccessibilityScrollbar::elementRect): + (WebCore::AccessibilityScrollbar::document): + (WebCore::AccessibilityScrollbar::orientation): + (WebCore::AccessibilityScrollbar::isEnabled): + (WebCore::AccessibilityScrollbar::valueForRange): + (WebCore::AccessibilityScrollbar::setValue): + * accessibility/AccessibilityScrollbar.h: + (WebCore::AccessibilityScrollbar::setParent): + (WebCore::AccessibilityScrollbar::canSetValueAttribute): + (WebCore::AccessibilityScrollbar::canSetNumericValue): + (WebCore::AccessibilityScrollbar::isAccessibilityScrollbar): + (WebCore::AccessibilityScrollbar::parentObject): + (WebCore::AccessibilityScrollbar::roleValue): + * accessibility/mac/AccessibilityObjectMac.mm: + (WebCore::AccessibilityObject::accessibilityIgnoreAttachment): + * accessibility/mac/AccessibilityObjectWrapper.mm: + (-[AccessibilityObjectWrapper accessibilityAttributeNames]): + (-[AccessibilityObjectWrapper remoteAccessibilityParentObject]): + (-[AccessibilityObjectWrapper position]): + (-[AccessibilityObjectWrapper scrollViewParent]): + (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): + (-[AccessibilityObjectWrapper accessibilityHitTest:]): + (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]): + * dom/Document.cpp: + (WebCore::Document::axObjectCache): + * loader/EmptyClients.h: + (WebCore::EmptyFrameLoaderClient::accessibilityRemoteObject): + * loader/FrameLoaderClient.h: + * page/FrameView.cpp: + (WebCore::FrameView::~FrameView): + (WebCore::FrameView::axObjectCache): + * page/FrameView.h: + * platform/ScrollView.cpp: + (WebCore::ScrollView::setHasHorizontalScrollbar): + (WebCore::ScrollView::setHasVerticalScrollbar): + * platform/Scrollbar.cpp: + (WebCore::Scrollbar::~Scrollbar): + (WebCore::Scrollbar::scroll): + (WebCore::Scrollbar::axObjectCache): + * platform/Scrollbar.h: + * platform/Widget.h: + (WebCore::Widget::axObjectCache): + +2011-01-04 W. James MacLean <wjmaclean@chromium.org> + + Reviewed by Kenneth Russell. + + [chromium] Add support to compositor to composite to offscreen texture. + https://bugs.webkit.org/show_bug.cgi?id=50833 + + A patch to extend compositor to be able to composite into an offscreen texture instead + of just directly to the display buffer. Builds on RenderSurfaceChromium support. + Explicitly resets alpha channel before rendering to display. + + * platform/graphics/chromium/LayerRendererChromium.cpp: + (WebCore::LayerRendererChromium::LayerRendererChromium): + (WebCore::LayerRendererChromium::updateAndDrawRootLayer): + (WebCore::LayerRendererChromium::drawLayers): + (WebCore::LayerRendererChromium::setCompositeOffscreen): + (WebCore::LayerRendererChromium::useRenderSurface): + (WebCore::LayerRendererChromium::setScissorToRect): + * platform/graphics/chromium/LayerRendererChromium.h: + (WebCore::LayerRendererChromium::isCompositingOffscreen): + (WebCore::LayerRendererChromium::getOffscreenLayerTexture): + +2011-01-04 Evan Martin <evan@chromium.org> + + Reviewed by Tony Chang. + + [chromium] depend on harfbuzz explicitly + https://bugs.webkit.org/show_bug.cgi?id=51895 + + platform/graphics/chromium uses Harfbuzz directly. Rather than + expecting Skia to adjust the include paths, be explicit about + the dependency. + + * WebCore.gyp/WebCore.gyp: + +2011-01-04 Darin Adler <darin@apple.com> + + Reviewed by Brady Eidson. + + Add back/forward encoding and decoding to WebKit2 + https://bugs.webkit.org/show_bug.cgi?id=51901 + + * WebCore.exp.in: Export functions used in WebKit2. + + * history/HistoryItem.cpp: + (WebCore::HistoryItem::encodeBackForwardTree): Use references instead of pointers. + (WebCore::HistoryItem::encodeBackForwardTreeNode): Ditto. + (WebCore::HistoryItem::decodeBackForwardTree): Ditto. + * history/HistoryItem.h: Ditto. + * platform/network/FormData.cpp: + (WebCore::encode): Ditto. + (WebCore::decode): Ditto. + (WebCore::FormData::encodeForBackForward): Ditto. + (WebCore::FormData::decodeForBackForward): Ditto. + * platform/network/FormData.h: Ditto. + +2011-01-04 Xiaomei Ji <xji@chromium.org> + + Reviewed by Dan Bernstein. + + Implement sel.modify('move', 'left'/'right', 'lineBoundary'). + https://bugs.webkit.org/show_bug.cgi?id=33435 + + * editing/SelectionController.cpp: + (WebCore::SelectionController::modifyMovingRight): + (WebCore::SelectionController::modifyMovingLeft): + * editing/visible_units.cpp: + (WebCore::logicalStartOfLine): + (WebCore::logicalEndOfLine): + (WebCore::leftBoundaryOfLine): + (WebCore::rightBoundaryOfLine): + * editing/visible_units.h: + +2011-01-04 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Xan Lopez. + + [GTK] Use the default CSS text input control border width of relying on the GTK+ theme + https://bugs.webkit.org/show_bug.cgi?id=51887 + + Do not rely on the GTK+ theme to determine text control borders. This simplifies + the RenderTheme code, prevents metrics differences between GTK+ 2.x and 3.x and + doesn't break the rendering of any theme that I've encountered. + + * platform/gtk/RenderThemeGtk.cpp: + (WebCore::RenderThemeGtk::adjustSearchFieldStyle): No longer call setTextInputBorders, but + still disable any border radius. + * platform/gtk/RenderThemeGtk.h: Remove setTextInputBorders and no longer override the + default style of text areas and text input controls. + * platform/gtk/RenderThemeGtk2.cpp: Ditto. + * platform/gtk/RenderThemeGtk3.cpp: Ditto. + +2011-01-03 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Darin Adler. + + Remove the last non-GObject usage of PlatformRefPtr and move the code to GRefPtr + https://bugs.webkit.org/show_bug.cgi?id=51846 + + No new tests. This should not introduce any functional changes. + + Changed all references to PlatformRefPtr in GTK+ code to GRefPtr. Changed + all references to PlatformRefPtr in Brew code to RefPtr. + +2011-01-04 David Kilzer <ddkilzer@apple.com> + + <http://webkit.org/b/51890> Move ResourceLoadPriority.h into WebCore/platform/network + + Reviewed by Antti Koivisto. + + This is needed to prevent a WebCore/platform policy violation in + my next patch. + + * WebCore.gypi: Updated for moved header. + * WebCore.pro: Ditto. + * WebCore.vcproj/WebCore.vcproj: Ditto. + * WebCore.xcodeproj/project.pbxproj: Ditto. + * platform/network/ResourceLoadPriority.h: Renamed from WebCore/loader/ResourceLoadPriority.h. + +2011-01-04 Brady Eidson <beidson@apple.com> + + Reviewed by a spell checker. + + * storage/StorageMap.h: mesured? Really? + +2011-01-04 Carlos Garcia Campos <cgarcia@igalia.com> and Martin Robinson <mrobinson@igalia.com> + + Reviewed by Xan Lopez. + + [GTK] Port stock icon painting to GtkStyleContext + https://bugs.webkit.org/show_bug.cgi?id=51764 + + Port stock icon painting for media and search input elements to + GtkStyleContext. Also create the initial machinery for accessing + style contexts for all GTK+ 3.x based widgets. + + No new tests. This should not change functionality. + + * platform/gtk/RenderThemeGtk.cpp: + (WebCore::paintGdkPixbuf): + (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration): + (WebCore::RenderThemeGtk::paintSearchFieldCancelButton): + (WebCore::RenderThemeGtk::paintMediaButton): + * platform/gtk/RenderThemeGtk.h: + * platform/gtk/RenderThemeGtk2.cpp: + (WebCore::RenderThemeGtk::getStockIcon): + * platform/gtk/RenderThemeGtk3.cpp: + (WebCore::gtkStyleChangedCallback): + (WebCore::styleContextMap): + (WebCore::getStyleContext): + (WebCore::RenderThemeGtk::paintMenuList): + +2010-12-31 Antti Koivisto <antti@apple.com> + + Reviewed by Dave Hyatt. + + Scripts should not be executed before preceding stylesheets are loaded + https://bugs.webkit.org/show_bug.cgi?id=8852 + + Block inline script execution on pending stylesheet loads. This matches + other browsers and HTML5. + + Tests: fast/tokenizer/inline-script-stylesheet-write.html + fast/tokenizer/inline-script-stylesheet.html + + * dom/PendingScript.cpp: + (WebCore::PendingScript::releaseElementAndClear): + * dom/PendingScript.h: + (WebCore::PendingScript::PendingScript): + (WebCore::PendingScript::operator=): + (WebCore::PendingScript::startingPosition): + (WebCore::PendingScript::setStartingPosition): + * html/HTMLLinkElement.cpp: + (WebCore::HTMLLinkElement::process): + + This fixes an unrelated bug with beforeload events that was exposed by the other + changes (fast/dom/beforeload/remove-link-in-beforeload-listener.html). + + * html/parser/HTMLScriptRunner.cpp: + (WebCore::HTMLScriptRunner::sourceFromPendingScript): + (WebCore::HTMLScriptRunner::runScript): + +2011-01-04 Xianzhu Wang <wangxianzhu@google.com> + + Reviewed by Darin Adler. + + Let DataView.getInt8() and DataView.setInt8() use int8_t instead of + ambiguous 'char' to fix fast/canvas/webgl/data-view-test.html failure + on ARM. + https://bugs.webkit.org/show_bug.cgi?id=51861 + + By the way, changed other getIntXX() and setIntXX() methods to use + more precise integer types. + + * bindings/js/JSDataViewCustom.cpp: + (WebCore::setDataViewMember): + * bindings/v8/custom/V8DataViewCustom.cpp: + (WebCore::V8DataView::getInt8Callback): + (WebCore::V8DataView::setInt8Callback): + * html/canvas/DataView.cpp: + (WebCore::DataView::getInt8): + (WebCore::DataView::setInt8): + * html/canvas/DataView.h: + * html/canvas/DataView.idl: + +2011-01-04 Yong Li <yoli@rim.com> + + Reviewed by Adam Barth. + + Suspend HTMLParserScheduler when page load is deferred to + avoid potential JS re-entrancy. Otherwise, when JS execution is triggered + from an external script or by events, and is blocked by a modal dialog, + WebKit can parse more HTML source and also start another JS execution. + + https://bugs.webkit.org/show_bug.cgi?id=48077 + + Test case: WebCore/manual-tests/bugzilla-48077.html. + + * dom/DocumentParser.cpp: + (WebCore::DocumentParser::suspendScheduledTasks): + (WebCore::DocumentParser::resumeScheduledTasks): + * dom/DocumentParser.h: + * html/parser/HTMLDocumentParser.cpp: + (WebCore::HTMLDocumentParser::suspendScheduledTasks): + (WebCore::HTMLDocumentParser::resumeScheduledTasks): + * html/parser/HTMLParserScheduler.cpp: + (WebCore::HTMLParserScheduler::HTMLParserScheduler): + (WebCore::HTMLParserScheduler::suspend): + (WebCore::HTMLParserScheduler::resume): + * html/parser/HTMLParserScheduler.h: + (WebCore::HTMLParserScheduler::isScheduledForResume): + * page/PageGroupLoadDeferrer.cpp: + (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): + (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer): + +2011-01-04 Tony Gentilcore <tonyg@chromium.org> + + Unreviewed build fix. + + Include glib-object.h for GObject + https://bugs.webkit.org/show_bug.cgi?id=51876 + + * bindings/gobject/DOMObjectCache.cpp: + +2011-01-04 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Dan Bernstein. + + Clicking on the first or the last letter of LTR/RTL text in a RTL/LTR block puts caret on the opposite side. + https://bugs.webkit.org/show_bug.cgi?id=50992 + + Fixed the bug by interchanging the offset when the direction of inline text box and the containing block + does not match. Reused the code added by http://trac.webkit.org/changeset/73553. + + Test: editing/selection/caret-bidi-first-and-last-letters.html + + * rendering/InlineTextBox.cpp: + (WebCore::InlineTextBox::offsetForPosition): + +2010-12-29 Tony Gentilcore <tonyg@chromium.org> + + Reviewed by Darin Adler. + + Remove 2 unnecessary includes from Document.h + https://bugs.webkit.org/show_bug.cgi?id=51727 + + No new tests because no changed functionality. + + * dom/Document.cpp: + * dom/Document.h: + * editing/Editor.cpp: + * editing/SpellChecker.h: + * editing/SplitTextNodeCommand.cpp: + * editing/TextCheckingHelper.cpp: + * page/FrameView.cpp: + * page/Page.cpp: + * rendering/HitTestResult.cpp: + * rendering/InlineTextBox.cpp: + * rendering/InlineTextBox.h: + * rendering/svg/SVGInlineFlowBox.cpp: + +2011-01-04 Patrick Gansterer <paroga@webkit.org> + + Unreviewed WinCE build fix. + + * CMakeListsWinCE.txt: Added missing include directories, files and libraries. + +2011-01-04 Yi Shen <yi.4.shen@nokia.com> + + Reviewed by Simon Hausmann. + + Provide an interface to require using fullscreen mediaplayer + https://bugs.webkit.org/show_bug.cgi?id=51133 + + Only video should be displayed in fullscreen when + requiresFullscreenForVideoPlayback is specified. + + No new tests because no client implements requiresFullscreenForVideoPlayback yet. + + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::updatePlayState): + +2011-01-04 Benjamin Poulain <benjamin.poulain@nokia.com> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] [WK2] create an initial implementation of the context menu handling for WebKit 2 + https://bugs.webkit.org/show_bug.cgi?id=51825 + + Implement contextMenuItemVector() for Qt, this method is used in WebKit 2 to get the + platform independent menu informations. + + * platform/qt/ContextMenuQt.cpp: + (WebCore::contextMenuItemVector): + +2011-01-04 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r74960. + http://trac.webkit.org/changeset/74960 + https://bugs.webkit.org/show_bug.cgi?id=51868 + + Rollout since we hit an assert after this patch. (Requested by + krit on #webkit). + + * svg/SVGUseElement.cpp: + (WebCore::SVGUseElement::buildInstanceTree): + +2011-01-04 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r74961. + http://trac.webkit.org/changeset/74961 + https://bugs.webkit.org/show_bug.cgi?id=51867 + + breaks 32/64-bits debug bots build (Requested by philn-tp on + #webkit). + + * platform/graphics/gstreamer/GStreamerGWorld.cpp: + (WebCore::GStreamerGWorld::setWindowOverlay): + +2011-01-03 Philippe Normand <pnormand@igalia.com> + + Rubber-stamped by Eric Seidel. + + [GStreamer] build fails with gstreamer core 0.10.31 and -plugins-base 0.10.30 + https://bugs.webkit.org/show_bug.cgi?id=51810 + + Based on a patch by Mart Raudsepp. + + No new tests, build fix only. + + * platform/graphics/gstreamer/GStreamerGWorld.cpp: + (WebCore::GStreamerGWorld::setWindowOverlay): Use the new xoverlay + API if the GST_CHECK_PLUGINS_BASE_VERSION macro is defined. It was + introduced in same version as the xoverlay API change. + +2011-01-04 Leo Yang <leo.yang@torchmobile.com.cn> + + Reviewed by Dirk Schulze. + + Malformed SVG causes crash in updateContainerOffset + https://bugs.webkit.org/show_bug.cgi?id=44610 + + We should check recursive <use> at the begining of + WebCore::SVGUseElement::buildInstanceTree instead + of at the end of it because the target element's + children may cause infinite recursive <use>. + + Test: svg/custom/recursive-use.svg + + * svg/SVGUseElement.cpp: + (WebCore::SVGUseElement::buildInstanceTree): + +2011-01-04 Kent Tamura <tkent@chromium.org> + + Unreviewed, build fix. + + Try to fix Clang build. + + * css/CSSParser.cpp: + (WebCore::valueFromSideKeyword): + (WebCore::CSSParser::parseLinearGradient): + +2011-01-03 Julie-Jeongeun-Kim <Jeongeun.Kim@obigo.com> + + Reviewed by Darin Adler. + + HTML5 Conformance Test failure: approved/xhtml5/object_border_pixel.xhtml + https://bugs.webkit.org/show_bug.cgi?id=48596 + + border attribute was not parsed in HTMLObjectElement. + I added code for it as HTMLImageElement handled. + + new test:fast/html/object-border.html + + * html/HTMLObjectElement.cpp: + (WebCore::HTMLObjectElement::parseMappedAttribute): + +2011-01-03 Darin Adler <darin@apple.com> + + Try to fix Chromium build. + + * history/HistoryItem.cpp: + (WebCore::HistoryItem::encodeBackForwardTreeNode): Added a V8 case here. + Not sure this ever will be used with V8. + (WebCore::HistoryItem::decodeBackForwardTree): Ditto. + +2011-01-03 Darin Adler <darin@apple.com> + + Try to fix Leopard build. + + * history/HistoryItem.cpp: Use a consistent type, uint64_t, for the + size variable. + +2011-01-03 Abhishek Arya <inferno@chromium.org> + + Reviewed by Darin Adler. + + Fixes before child calculation when adding anonymous childs to table parts. + https://bugs.webkit.org/show_bug.cgi?id=50932 + + Fix in r74364 was incomplete. When before child is equal to the table part(to + which the new child is getting added), it confuses the table part to add it + incorrectly as an after child. The patch fixes by passing the before child as + the table part's first child. + + Tests: fast/css-generated-content/table-before-after-child-add.html + fast/css-generated-content/table-cell-before-after-child-add.html + fast/css-generated-content/table-row-before-after-child-add.html + fast/css-generated-content/table-row-before-after-child-add.html + + * rendering/RenderTable.cpp: + (WebCore::RenderTable::addChild): + * rendering/RenderTableRow.cpp: + (WebCore::RenderTableRow::addChild): + * rendering/RenderTableSection.cpp: + (WebCore::RenderTableSection::addChild): + +2011-01-03 Dan Bernstein <mitz@apple.com> + + Reviewed by Simon Fraser. + + Shrink HTMLTableCellElement + https://bugs.webkit.org/show_bug.cgi?id=51858 + + * html/HTMLTableCellElement.cpp: + (WebCore::HTMLTableCellElement::HTMLTableCellElement): Removed intialization of m_row and + m_col. + * html/HTMLTableCellElement.h: Removed m_row and m_col and their accessors. + +2011-01-03 Darin Adler <darin@apple.com> + + Fix build. + + * platform/network/FormData.cpp: + (WebCore::FormData::create): Roll back uint8_t change. + (WebCore::FormData::flatten): Ditto. + (WebCore::FormData::flattenToString): Ditto. + (WebCore::encode): Ditto. + (WebCore::decode): Ditto. + (WebCore::FormData::encodeForBackForward): + * platform/network/FormData.h: Ditto. + * platform/network/mac/FormDataStreamMac.mm: + (WebCore::advanceCurrentStream): Ditto. + +2011-01-03 Darin Adler <darin@apple.com> + + Reviewed by Brady Eidson. + + Add code to encode/decode the back/forward tree + https://bugs.webkit.org/show_bug.cgi?id=51853 + + * history/HistoryItem.cpp: + (WebCore::HistoryItem::encodeBackForwardTree): Added. + (WebCore::HistoryItem::encodeBackForwardTreeNode): Added. + (WebCore::HistoryItem::decodeBackForwardTree): Added. + * history/HistoryItem.h: Added functions above. + + * platform/network/FormData.cpp: + (WebCore::FormData::create): Changed type to Vector<uint8_t> instead of + Vector<char>. This type is used in our newer code for vectors of bytes. + (WebCore::FormData::flatten): Ditto. + (WebCore::FormData::flattenToString): Ditto. Had to add a cast here. + (WebCore::FormData::encodeForBackForward): Added. + (WebCore::FormData::decodeForBackForward): Added. + * platform/network/FormData.h: Changed type to Vector<uint8_t> instead of + Vector<char>. Also made some single-argument constructors explicit. + Also added the new functions. + + * platform/network/mac/FormDataStreamMac.mm: + (WebCore::advanceCurrentStream): Changed to use uint8_t to match above. + +2011-01-03 Simon Fraser <simon.fraser@apple.com> + + Attempt to fix GTK build. + + * platform/graphics/gtk/FontGtk.cpp: + (WebCore::drawGlyphsShadow): + +2011-01-03 Helder Correia <helder@sencha.com> + + Reviewed by Simon Fraser. + + ContextShadow can avoid code duplication for getting the CTM + https://bugs.webkit.org/show_bug.cgi?id=51799 + + ContextShadow defines its own getTransformationMatrixFromContext() + which does exactly the same as GraphicsContext::getCTM(). + + Existing tests: fast/canvas/canvas*shadow*html + + * platform/graphics/ContextShadow.cpp: + (WebCore::ContextShadow::mustUseContextShadow): + (WebCore::ContextShadow::adjustBlurDistance): + (WebCore::ContextShadow::calculateLayerBoundingRect): + * platform/graphics/ContextShadow.h: + * platform/graphics/cairo/ContextShadowCairo.cpp: + (WebCore::ContextShadow::beginShadowLayer): + (WebCore::ContextShadow::endShadowLayer): + (WebCore::ContextShadow::drawRectShadowWithoutTiling): + * platform/graphics/cairo/FontCairo.cpp: + (WebCore::drawGlyphsShadow): + * platform/graphics/cairo/GraphicsContextCairo.cpp: + (WebCore::drawPathShadow): + * platform/graphics/cairo/ImageCairo.cpp: + (WebCore::BitmapImage::draw): + * platform/graphics/gtk/FontGtk.cpp: + (WebCore::drawGlyphsShadow): + * platform/graphics/qt/ContextShadowQt.cpp: + (WebCore::ContextShadow::beginShadowLayer): + (WebCore::ContextShadow::endShadowLayer): + * platform/graphics/qt/FontQt.cpp: + (WebCore::drawTextCommon): + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContext::fillPath): + (WebCore::GraphicsContext::strokePath): + (WebCore::GraphicsContext::fillRect): + (WebCore::GraphicsContext::fillRoundedRect): + * platform/graphics/qt/ImageQt.cpp: + (WebCore::BitmapImage::draw): + * platform/graphics/qt/StillImageQt.cpp: + (WebCore::StillImage::draw): + +2011-01-03 Darin Adler <darin@apple.com> + + Reviewed by Dan Bernstein. + + InsertTextCommand::m_charactersAdded is unused + https://bugs.webkit.org/show_bug.cgi?id=51849 + + * editing/InsertTextCommand.cpp: + (WebCore::InsertTextCommand::InsertTextCommand): Don't initialize m_charactersAdded. + (WebCore::InsertTextCommand::input): Don't update m_charactersAdded. + * editing/InsertTextCommand.h: Removed charactersAdded function and + m_charactersAdded data member. + +2011-01-03 Carlos Garcia Campos <cgarcia@igalia.com> + + Reviewed by Martin Robinson. + + [GTK] Move paintMenuListButton() to RenderThemeGtk.cpp + https://bugs.webkit.org/show_bug.cgi?id=51832 + + Method paintMenuListButton() contains code common to both gtk 2 + and 3, so it can be moved to RenderThemeGtk.cpp instead of + duplicating it. + + * platform/gtk/RenderThemeGtk.cpp: + (WebCore::RenderThemeGtk::paintMenuListButton): + * platform/gtk/RenderThemeGtk2.cpp: + * platform/gtk/RenderThemeGtk3.cpp: + +2011-01-03 Pratik Solanki <psolanki@apple.com> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=51850 + Put CFNetwork loader code inside USE(CFNETWORK) + + Add USE(CFNETWORK) macros around all the cf/mac network files. Also added all CFNetwork + files to the WebCore Xcode project. + + * WebCore.xcodeproj/project.pbxproj: + * loader/cf/ResourceLoaderCFNet.cpp: + * loader/mac/ResourceLoaderMac.mm: + * platform/network/cf/AuthenticationCF.cpp: + * platform/network/cf/AuthenticationCF.h: + * platform/network/cf/CookieJarCFNet.cpp: + * platform/network/cf/CookieStorageCFNet.cpp: + * platform/network/cf/CookieStorageCFNet.h: + * platform/network/cf/CredentialStorageCFNet.cpp: + * platform/network/cf/FormDataStreamCFNet.cpp: + * platform/network/cf/FormDataStreamCFNet.h: + * platform/network/cf/LoaderRunLoopCF.cpp: + * platform/network/cf/LoaderRunLoopCF.h: + * platform/network/cf/ResourceError.h: + * platform/network/cf/ResourceHandleCFNet.cpp: + * platform/network/cf/ResourceRequest.h: + * platform/network/cf/ResourceRequestCFNet.cpp: + * platform/network/cf/ResourceRequestCFNet.h: + * platform/network/cf/ResourceResponse.h: + * platform/network/cf/ResourceResponseCFNet.cpp: + * platform/network/mac/AuthenticationMac.h: + * platform/network/mac/AuthenticationMac.mm: + * platform/network/mac/FormDataStreamMac.h: + * platform/network/mac/FormDataStreamMac.mm: + * platform/network/mac/ResourceError.h: + * platform/network/mac/ResourceHandleMac.mm: + * platform/network/mac/ResourceRequest.h: + * platform/network/mac/ResourceRequestMac.mm: + * platform/network/mac/ResourceResponse.h: + * platform/network/mac/ResourceResponseMac.mm: + +2011-01-03 Yi Shen <yi.4.shen@nokia.com> + + Reviewed by Adam Barth. + + [Qt] Add SelectAll option to the context menu for the editor + https://bugs.webkit.org/show_bug.cgi?id=50049 + + Enable SelectAll for the Qt context menu. + + * page/ContextMenuController.cpp: + (WebCore::ContextMenuController::populate): + * platform/ContextMenuItem.h: + * platform/LocalizationStrategy.h: + * platform/LocalizedStrings.cpp: + (WebCore::contextMenuItemTagSelectAll): + * platform/LocalizedStrings.h: + +2011-01-03 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + Shrink RootInlineBox + https://bugs.webkit.org/show_bug.cgi?id=51847 + + * rendering/RootInlineBox.cpp: + (WebCore::RootInlineBox::alignBoxesInBlockDirection): Changed to use the baselineType() + accessor. + * rendering/RootInlineBox.h: Rolled m_baselineType into a bitfield. Changed its type to + unsigned because otherwise MSVC treats it as signed. + (WebCore::RootInlineBox::baselineType): Added a cast. + +2011-01-03 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk> + + Reviewed by Martin Robinson. + + [GTK] Split webkitprivate.{cpp,h} in more manageable chunks + https://bugs.webkit.org/show_bug.cgi?id=50698 + + Fix DOM bindings generation to no longer include the now-gone + webkitprivate.h header, including the appropriate replacements + instead. + + * bindings/scripts/CodeGeneratorGObject.pm: + +2011-01-03 Brady Eidson <beidson@apple.com> + + Reviewed by Darin Adler. + + Add Encode/Decode machinery Darin and I plan to work with for back/forward stuff in WebKit2. + + * ForwardingHeaders/wtf/Decoder.h: Added. + * ForwardingHeaders/wtf/Encoder.h: Added. + +2011-01-03 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Darin Adler. + + AX: Regression: WebKit no longer auto-scrolls with VoiceOver navigation + https://bugs.webkit.org/show_bug.cgi?id=51833 + + Make sure the web area returns the contentsSize, not the same size as what is displayed. + + Test: platform/mac/accessibility/webarea-size-equals-content-size.html + + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::boundingBoxRect): + +2011-01-03 Simon Fraser <simon.fraser@apple.com> + + Fix warning in 32-bit builds. + + * css/CSSGradientValue.cpp: + (WebCore::CSSLinearGradientValue::createGradient): + +2011-01-03 Benjamin C Meyer <bmeyer@rim.com> + + Reviewed by Daniel Bates. + + In the cmake build system move logic related to ENABLE_NOTIFICATIONS into its own block. + https://bugs.webkit.org/show_bug.cgi?id=51827 + + * CMakeLists.txt: + +2011-01-03 Dan Bernstein <mitz@apple.com> + + Reviewed by Simon Fraser. + + Remove the unused RenderTableCell::m_percentageHeight + https://bugs.webkit.org/show_bug.cgi?id=51837 + + * rendering/RenderTableCell.cpp: + (WebCore::RenderTableCell::RenderTableCell): Removed initialization of m_percentageHeight. + * rendering/RenderTableCell.h: Removed m_percentageHeight. + +2011-01-03 Simon Fraser <simon.fraser@apple.com> + + Reviewed by David Hyatt. + + Implement -webkit-linear-gradient and -webkit-radial-gradient + https://bugs.webkit.org/show_bug.cgi?id=28152 + + Add support for -webkit-radial-gradients. + + Tests: fast/gradients/css3-radial-gradients.html + fast/gradients/css3-radial-gradients2.html + + * css/CSSGradientValue.cpp: + (WebCore::blend): Used to blend colors, which is necessary when truncating + the start of radial gradients. + (WebCore::GradientStop): Small struct to aid gradient stop processing. + (WebCore::CSSGradientValue::addStops): Rename 'positions' to 'stops', and store + the color so that we can blend it when truncating radial gradients. Changed + to handle both linear and radial gradients. + (WebCore::CSSRadialGradientValue::cssText): Update to follow the spec. + (WebCore::CSSRadialGradientValue::resolveRadius): Stylistic change. + (WebCore::distanceToClosestCorner): New utility method. + (WebCore::distanceToFarthestCorner): Ditto. + (WebCore::CSSRadialGradientValue::createGradient): New logic to deal with shape and + fill rules. + + * css/CSSGradientValue.h: + (WebCore::CSSGradientValue::isLinearGradient): Color-stop processing needs to know what + kind of gradient it's dealing with, so add new isFooGradient methods. + (WebCore::CSSGradientValue::isRadialGradient): Ditto. + (WebCore::CSSLinearGradientValue::isLinearGradient): + (WebCore::CSSRadialGradientValue::setShape): New setters for shape, size etc. + (WebCore::CSSRadialGradientValue::setSizingBehavior): + (WebCore::CSSRadialGradientValue::setEndHorizontalSize): + (WebCore::CSSRadialGradientValue::setEndVerticalSize): + (WebCore::CSSRadialGradientValue::isRadialGradient): + + * css/CSSParser.h: + * css/CSSParser.h: Pass a CSSParserValueList* into parseFillPositionXY() and parseFillPosition() + so we can use parseFillPosition() when parsing a gradient function. + * css/CSSParser.cpp: + (WebCore::CSSParser::parseFillPositionXY): Pass in a CSSParserValueList* + (WebCore::CSSParser::parseFillPosition): Ditto + (WebCore::CSSParser::parseFillProperty): Pass m_valueList to parseFillPosition. + (WebCore::CSSParser::parseTransformOriginShorthand): Ditto + (WebCore::CSSParser::parseRadialGradient): Flesh out radial gradient parsing. + (WebCore::CSSParser::parseTransformOrigin): Pass m_valueList to parseFillPosition. + (WebCore::CSSParser::parsePerspectiveOrigin): Ditto + + * css/CSSValueKeywords.in: New keywords for radial gradient shape and fill behaviors. + + * platform/graphics/Gradient.cpp: + (WebCore::Gradient::Gradient): Pass aspect ratio for elliptical gradients. + * platform/graphics/Gradient.h: Add aspect ratio for elliptical gradients. + (WebCore::Gradient::create): + (WebCore::Gradient::startRadius): Expose radii. + (WebCore::Gradient::endRadius): + (WebCore::Gradient::setStartRadius): Setters are required for when we need to scale color stops. + (WebCore::Gradient::setEndRadius): + (WebCore::Gradient::aspectRatio): + * platform/graphics/cg/GradientCG.cpp: + (WebCore::Gradient::paint): For elliptical gradients, scale the CTM. + * platform/graphics/wince/GraphicsContextWinCE.cpp: + (WebCore::GraphicsContext::fillRect): Use start/endRadius() rather than r0() and r1(). + +2011-01-03 Simon Fraser <simon.fraser@apple.com> + + Reviewed by David Hyatt. + + Implement -webkit-linear-gradient and -webkit-radial-gradient + https://bugs.webkit.org/show_bug.cgi?id=28152 + + Add support for the parsing and rendering of non-repeating CSS3 linear gradients, + according to <http://dev.w3.org/csswg/css3-images/#linear-gradients>. + + Tests: fast/gradients/css3-color-stop-units.html + fast/gradients/css3-color-stops.html + fast/gradients/css3-gradient-parsing.html + fast/gradients/css3-linear-angle-gradients.html + + * css/CSSGradientValue.h: + Add subclasses of CSSGradientValue for linear and radial gradients. + + * css/CSSGradientValue.cpp: + (WebCore::CSSGradientValue::image): Add FIXME comment about why we can't cache + the gradient sometimes. + (WebCore::compareStops): positions are CSSValues now. + (WebCore::CSSGradientValue::sortStopsIfNeeded): Add assertion that this is only called + for old-style gradients. + (WebCore::CSSGradientValue::addStops): New method that handles the spec rules about + missing positions, ensuring that stop position is ordered, and spacing out stops + without positions. Also normalize gradients which use stops outside the 0-1 range + so that platforms can render them correctly. + (WebCore::positionFromValue): Determin the position on the gradient line for percentage, + number and length values. + (WebCore::CSSGradientValue::computeEndPoint): + (WebCore::CSSLinearGradientValue::cssText): + (WebCore::endPointsFromAngle): Compute endpoints for a gradient which covers the rectangle + given an angle. + (WebCore::CSSLinearGradientValue::createGradient): + (WebCore::CSSRadialGradientValue::cssText): + (WebCore::CSSRadialGradientValue::resolveRadius): + (WebCore::CSSRadialGradientValue::createGradient): + + * css/CSSParser.cpp: + (WebCore::CSSParser::parseValue): Style fix. + (WebCore::CSSParser::parseContent): Use isGeneratedImageValue() and parseGeneratedImage() + (WebCore::CSSParser::parseFillImage): Use isGeneratedImageValue() and parseGeneratedImage() + (WebCore::CSSParser::parseBorderImage): Use isGeneratedImageValue() and parseGeneratedImage() + (WebCore::parseDeprecatedGradientPoint): Renamed to indicate that it's only used for -webkit-gradient. + (WebCore::parseDeprecatedGradientColorStop): Renamed to indicate that it's only used for -webkit-gradient, + and fixed to store CSSValues for the stop position. + (WebCore::CSSParser::parseDeprecatedGradient): Renamed to indicate that it's only used for -webkit-gradient, + and create CSSLinearGradientValue and CSSRadialGradientValue as appropriate. + (WebCore::valueFromSideKeyword): + (WebCore::parseGradientColorOrKeyword): Color parsing utility. + (WebCore::CSSParser::parseLinearGradient): New method to parse linear gradients. + (WebCore::CSSParser::parseRadialGradient): Stub for new method to parse radial gradients. + (WebCore::CSSParser::isGeneratedImageValue): Detect gradients and CSS canvas. + (WebCore::CSSParser::parseGeneratedImage): Parser for generated images like gradients + and CSS canvas. + * css/CSSParser.h: + * platform/graphics/Gradient.h: + (WebCore::Gradient::setP0): We need to be able to change the points when normalizing gradients. + (WebCore::Gradient::setP1): Ditto. + +2011-01-03 Noam Rosenthal <noam.rosenthal@nokia.com> + + Reviewed by Andreas Kling. + + [Qt] document.getElementById(...) doesn't return the right object in combination with QGraphicsWidget + https://bugs.webkit.org/show_bug.cgi?id=51464 + + Added a way to bind any QObject created as a plugin to JavaScript, + by adding a custom member (qtObject) to WebCore::Widget. + Added a test to tst_qwebpage to make sure plugins created + as QGraphicsWidget are accessible through JavaScript. + + * bindings/js/ScriptControllerQt.cpp: + (WebCore::ScriptController::createScriptInstanceForWidget): + * platform/Widget.h: + * platform/qt/WidgetQt.cpp: + (WebCore::Widget::Widget): + (WebCore::Widget::setBindingObject): + (WebCore::Widget::bindingObject): + +2011-01-03 David Hyatt <hyatt@apple.com> + + Reviewed by Simon Fraser. + + https://bugs.webkit.org/show_bug.cgi?id=51328 + + Printing on a page with body { height: 100% } clips out the overflow contents. This happened + because the computePageRects function was never correct. It was using the layer's width and height + for the document's width and height, and the layer no longer includes overflow in its width and + height. It was also incorrectly assuming the first page would begin at (0,0), and this is an invalid + assumption in RTL or vertical text environments. + + Added printing/page-count-percentage-height.html + + * page/PrintContext.cpp: + (WebCore::PrintContext::computePageRects): + (WebCore::PrintContext::computePageRectsWithPageSizeInternal): + +2011-01-03 Csaba Osztrogonác <ossy@webkit.org> + + [Qt] Unreviewed buildfix for --minimal build after r74895. + + * html/InputType.cpp: Missing include added. + * html/NumberInputType.cpp: Missing include added. + +2011-01-02 Darin Adler <darin@apple.com> + + Reviewed by Kent Tamura. + + Eliminate HTMLInputElement::m_deprecatedTypeNumber, other input refactoring and renaming + https://bugs.webkit.org/show_bug.cgi?id=51791 + + * dom/InputElement.h: Make sanitizeValueForTextField public so it can + be called by InputType. + + * html/BaseButtonInputType.cpp: + (WebCore::BaseButtonInputType::accessKeyAction): Added. + (WebCore::BaseButtonInputType::storesValueSeparateFromAttribute): Added. + * html/BaseButtonInputType.h: Ditto. + + * html/BaseCheckableInputType.cpp: + (WebCore::BaseCheckableInputType::canSetStringValue): Added. + (WebCore::BaseCheckableInputType::accessKeyAction): Added. + (WebCore::BaseCheckableInputType::fallbackValue): Added. + (WebCore::BaseCheckableInputType::storesValueSeparateFromAttribute): Added. + (WebCore::BaseCheckableInputType::isCheckable): Added. + * html/BaseCheckableInputType.h: Ditto. + + * html/BaseDateAndTimeInputType.cpp: + (WebCore::BaseDateAndTimeInputType::hasSpinButton): Added. + * html/BaseDateAndTimeInputType.h: Ditto. + + * html/BaseTextInputType.h: Made more functions private. + + * html/ButtonInputType.cpp: + (WebCore::ButtonInputType::isTextButton): Added. + * html/ButtonInputType.h: Ditto. + + * html/CheckboxInputType.cpp: + (WebCore::CheckboxInputType::willDispatchClick): Added. + (WebCore::CheckboxInputType::didDispatchClick): Added. + (WebCore::CheckboxInputType::isCheckbox): Added. + * html/CheckboxInputType.h: Ditto. + + * html/DateTimeInputType.cpp: + (WebCore::DateTimeInputType::scaledStepValueShouldBeInteger): Fixed + typo in name of this function. + * html/DateTimeInputType.h: Ditto. + * html/DateTimeLocalInputType.cpp: + (WebCore::DateTimeLocalInputType::scaledStepValueShouldBeInteger): Ditto. + * html/DateTimeLocalInputType.h: Ditto. + + * html/EmailInputType.cpp: + (WebCore::EmailInputType::isEmailField): Added. + * html/EmailInputType.h: Ditto. + + * html/FileInputType.cpp: + (WebCore::FileInputType::FileInputType): Added. + (WebCore::FileInputType::canSetStringValue): Added. + (WebCore::FileInputType::canChangeFromAnotherType): Added. + (WebCore::FileInputType::files): Added. + (WebCore::FileInputType::canSetValue): Added. + (WebCore::FileInputType::getTypeSpecificValue): Added. + (WebCore::FileInputType::storesValueSeparateFromAttribute): Added. + (WebCore::FileInputType::setFileList): Added. + (WebCore::FileInputType::isFileUpload): Added. + * html/FileInputType.h: Ditto. + + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::HTMLInputElement): Updated for data member + renaming and removal. + (WebCore::HTMLInputElement::isValidValue): Call canSetStringValue + instead of checking specific type numbers. + (WebCore::HTMLInputElement::getAllowedValueStepWithDecimalPlaces): + Use fastGetAttribute and fixed typo in the name of the + scaledStepValueShouldBeInteger function. + (WebCore::HTMLInputElement::isKeyboardFocusable): Call + InputType::isKeyboardFocusable; moved most of the type-specific + logic there. + (WebCore::HTMLInputElement::shouldUseInputMethod): Call + InputType::shouldUseInputMethod; moved the type-specific logic there. + (WebCore::HTMLInputElement::handleBlurEvent): Call + InputType::handleBlurEvent; moved the type-specific logic there. + (WebCore::HTMLInputElement::setType): Tweak the names and types + in this function. + (WebCore::HTMLInputElement::updateType): Removed the code that + set m_deprecatedTypeNumber. Compare types by comparing the value + from formControlType. Removed file-specific logic and instead call + InputType::canChangeFromAnotherType. Streamlined the logic for + activation callbacks. + (WebCore::HTMLInputElement::accessKeyAction): Call + InputType::accessKeyAction; moved the type-specific logic there. + (WebCore::HTMLInputElement::mapToEntry): Call + InputType::shouldRespectHeightAndWidthAttributes and + InputType::shouldRespectAlignAttribute. + (WebCore::HTMLInputElement::parseMappedAttribute): Updated + for name changes and the removal of m_defaultChecked. Changed the + alt attribute logic to be based on the class of the renderer. + Call InputType::srcAttributeChanged and moved the type-specific + logic there. Call shouldRespectAlignAttribute and + shouldRespectHeightAndWidthAttributes rather than having + type-specific logic here. Call minOrMaxAttributeChanged. + (WebCore::HTMLInputElement::rendererIsNeeded): Call + InputType::rendererIsNeeded; moved the type-specific logic there. + (WebCore::HTMLInputElement::attach): Removed the unneeded m_inited + flag, which was redundant with the m_haveType flag. Call + InputType::attach; moved the type-specific logic there. + (WebCore::HTMLInputElement::altText): Use fastGetAttribute. + (WebCore::HTMLInputElement::isSuccessfulSubmitButton): Call + InputType::canBeSuccessfulSubmitButton; moved the type-specific + logic there. + (WebCore::HTMLInputElement::isActivatedSubmit): Updated for + name changes. + (WebCore::HTMLInputElement::setActivatedSubmit): Ditto. + (WebCore::HTMLInputElement::reset): Updated to use + InputType::storesValueSeparateFromAttribute. Also use + hasAttribute(checkedAttr) rather than m_defaultChecked, + since both are the same. Also updated for name change. + (WebCore::HTMLInputElement::setChecked): Updated for name + changes. Also added call to + InputType::shouldSendChangeEventAfterCheckedChanged and + moved the type-specific logic there. + (WebCore::HTMLInputElement::setIndeterminate): Call + isCheckable to see if indeterminate is allowed. + Also updated for name changes. + (WebCore::HTMLInputElement::copyNonAttributeProperties): + Updated for name changes and removed data members. + (WebCore::HTMLInputElement::value): Call + InputType::getTypeSpecificValue and InputType::fallbackValue. + Moved the type-specific logic there. + (WebCore::HTMLInputElement::valueWithDefault): Call + InputType::defaultValue. Moved the type-specific logic there. + (WebCore::HTMLInputElement::setSuggestedValue): Call + InputType::canSetSuggestedValue. Moved the type-specific logic + there. + (WebCore::HTMLInputElement::setValue): Call + InputType::canSetValue. Moved the type-specific logic there. + Clear the file list if it exists rather than checking the + type explicitly. We could probably do that a more elegant way. + (WebCore::HTMLInputElement::placeholder): Use fastGetAttribute. + (WebCore::HTMLInputElement::setValueFromRenderer): Use the + isFileUpload function in the assertion. + (WebCore::HTMLInputElement::setFileListFromRenderer): Put most + of the code from this function into FileInputType::setFileList. + (WebCore::HTMLInputElement::preDispatchEventHandler): Changed + to call InputType::willDispatchClick, which does the type-specific + work. Still need to use a single struct for all types, because + the type of the element could change during the event handling. + (WebCore::HTMLInputElement::postDispatchEventHandler): Changed + to call InputType::didDispatchClick. + (WebCore::HTMLInputElement::defaultValue): Use fastGetAttribute. + (WebCore::HTMLInputElement::accept): Use fastGetAttribute. + (WebCore::HTMLInputElement::alt): Use fastGetAttribute. + (WebCore::HTMLInputElement::src): Use fastGetAttribute. + (WebCore::HTMLInputElement::setAutofilled): Updated for name + changes. + (WebCore::HTMLInputElement::files): Use InputType::files. + (WebCore::HTMLInputElement::isAcceptableValue): Use + InputType::isAcceptableValue. + (WebCore::HTMLInputElement::sanitizeValue): Use + InputType::sanitizeValue. + (WebCore::HTMLInputElement::hasUnacceptableValue): Use + InputType::hasUnacceptableValue. + (WebCore::HTMLInputElement::needsActivationCallback): Use + InputType::shouldResetOnDocumentActivation. + (WebCore::HTMLInputElement::willMoveToNewOwnerDocument): Use + InputType::willMoveToNewOwnerDocument. + (WebCore::HTMLInputElement::dataList): Use + InputType::shouldRespectListAttribute. + (WebCore::HTMLInputElement::selectedOption): Tweaked logic + and naming a bit. + (WebCore::HTMLInputElement::stepUpFromRenderer): Use + fastGetAttribute. + (WebCore::HTMLInputElement::isSpeechEnabled): Use + InputType::shouldRespectSpeechAttribute. + (WebCore::HTMLInputElement::isTextButton): No longer inline. + Calls through to InputType. + (WebCore::HTMLInputElement::isRadioButton): Ditto. + (WebCore::HTMLInputElement::isSearchField): Ditto. + (WebCore::HTMLInputElement::isInputTypeHidden): Ditto. + (WebCore::HTMLInputElement::isPasswordField): Ditto. + (WebCore::HTMLInputElement::isCheckbox): Ditto. + (WebCore::HTMLInputElement::isText): Ditto. + (WebCore::HTMLInputElement::isEmailField): Ditto. + (WebCore::HTMLInputElement::isFileUpload): Ditto. + (WebCore::HTMLInputElement::isImageButton): Ditto. + (WebCore::HTMLInputElement::isNumberField): Ditto. + (WebCore::HTMLInputElement::isSubmitButton): Ditto. + (WebCore::HTMLInputElement::isTelephoneField): Ditto. + (WebCore::HTMLInputElement::isURLField): Ditto. + (WebCore::HTMLInputElement::isEnumeratable): Ditto. + (WebCore::HTMLInputElement::isChecked): No longer inline. + Calls InputType::isCheckable. + (WebCore::HTMLInputElement::hasSpinButton): No longer inline. + Calls through to InputType. + (WebCore::HTMLInputElement::supportsPlaceholder): No longer + inline. Calls isTextType as before, but with no special case + for ISINDEX. That special case was unneeded since it returns + true from isTextType. + (WebCore::HTMLInputElement::checkedRadioButtons): No longer + inline. + (WebCore::HTMLInputElement::handleBeforeTextInsertedEvent): + No longer inline. + + * html/HTMLInputElement.h: Removed multiple unneeded includes. + The big one is probably InputType.h, but also HTMLFormElement.h. + Removed unneeded forward declarations. Made many functions + no longer inline since they now need to make virtual function + dispatches. Removed the unneeded defaultChecked and + webkitdirectory functions. Both are handled by HTML attribute + reflection for DOM bindings, and the callers instead can get + at the attribute. Made updateCheckedRadioButtons public so it + can be called by an InputType class. Removed + DeprecatedInputType, InputTypeMap, createTypeMap, + deprecatedInputType, allowsIndeterminate, + respectHeightAndWidthAttrs, storesValueSeparateFromAttribute, + m_imageLoader, m_fileList, m_deprecatedTypeNumber, + m_defaultChecked, and m_inited. Renamed m_checked to + m_isChecked, m_useDefaultChecked to m_reflectsCheckedAttribute, + m_indeterminate tom_isIndeterminate, m_haveType to m_hasType, + m_activeSubmit to m_isActivatedSubmit, and m_autofilled to + m_isAutofilled. + + * html/HiddenInputType.cpp: + (WebCore::HiddenInputType::accessKeyAction): Added. + (WebCore::HiddenInputType::rendererIsNeeded) Added.: + (WebCore::HiddenInputType::storesValueSeparateFromAttribute): Added. + (WebCore::HiddenInputType::isHiddenType): Added. + (WebCore::HiddenInputType::shouldRespectHeightAndWidthAttributes): Added. + * html/HiddenInputType.h: Ditto. + + * html/ImageInputType.cpp: + (WebCore::ImageInputType::ImageInputType): Moved out of the header file. + (WebCore::ImageInputType::srcAttributeChanged): Added. + (WebCore::ImageInputType::attach): Added. + (WebCore::ImageInputType::willMoveToNewOwnerDocument): Added. + (WebCore::ImageInputType::shouldRespectAlignAttribute): Added. + (WebCore::ImageInputType::canBeSuccessfulSubmitButton): Added. + (WebCore::ImageInputType::isImageButton): Added. + (WebCore::ImageInputType::isEnumeratable): Added. + (WebCore::ImageInputType::shouldRespectHeightAndWidthAttributes): Added. + * html/ImageInputType.h: Ditto. + + * html/InputType.cpp: + (WebCore::InputType::create): Changed argument type to String. There + is no value in taking an AtomicString here. + (WebCore::InputType::scaledStepValueShouldBeInteger): Fixed typo in + this function name. + (WebCore::InputType::canSetStringValue): Added. + (WebCore::InputType::isKeyboardFocusable): Added. + (WebCore::InputType::shouldUseInputMethod): Added. + (WebCore::InputType::handleBlurEvent): Added. + (WebCore::InputType::accessKeyAction): Added. + (WebCore::InputType::attach): Added. + (WebCore::InputType::srcAttributeChanged): Added. + (WebCore::InputType::willMoveToNewOwnerDocument): Added. + (WebCore::InputType::shouldRespectAlignAttribute): Added. + (WebCore::InputType::canChangeFromAnotherType): Added. + (WebCore::InputType::minOrMaxAttributeChanged): Added. + (WebCore::InputType::canBeSuccessfulSubmitButton): Added. + (WebCore::InputType::rendererIsNeeded): Added. + (WebCore::InputType::files): Added. + (WebCore::InputType::getTypeSpecificValue): Added. + (WebCore::InputType::fallbackValue): Added. + (WebCore::InputType::defaultValue): Added. + (WebCore::InputType::canSetSuggestedValue): Added. + (WebCore::InputType::shouldSendChangeEventAfterCheckedChanged): Added. + (WebCore::InputType::storesValueSeparateFromAttribute): Added. + (WebCore::InputType::canSetValue): Added. + (WebCore::InputType::willDispatchClick): Added. + (WebCore::InputType::didDispatchClick): Added. + (WebCore::InputType::isAcceptableValue): Added. + (WebCore::InputType::sanitizeValue): Added. + (WebCore::InputType::hasUnacceptableValue): Added. + (WebCore::InputType::setFileList): Added. + (WebCore::InputType::shouldResetOnDocumentActivation): Added. + (WebCore::InputType::shouldRespectListAttribute): Added. + (WebCore::InputType::shouldRespectSpeechAttribute): Added. + (WebCore::InputType::isTextButton): Added. + (WebCore::InputType::isRadioButton): Added. + (WebCore::InputType::isSearchField): Added. + (WebCore::InputType::isHiddenType): Added. + (WebCore::InputType::isPasswordField): Added. + (WebCore::InputType::isCheckbox): Added. + (WebCore::InputType::isEmailField): Added. + (WebCore::InputType::isFileUpload): Added. + (WebCore::InputType::isImageButton): Added. + (WebCore::InputType::isNumberField): Added. + (WebCore::InputType::isSubmitButton): Added. + (WebCore::InputType::isTelephoneField): Added. + (WebCore::InputType::isURLField): Added. + (WebCore::InputType::isEnumeratable): Added. + (WebCore::InputType::isCheckable): Added. + (WebCore::InputType::hasSpinButton): Added. + (WebCore::InputType::shouldRespectHeightAndWidthAttributes): Added. + + * html/InputType.h: Removed unneeded ExceptionCode.h include and + used a typedef instead as we do when we want for forward declare it. + Added includes and forward declarations needed for new functions. + Added ClickHandlingState structure. Changed the argument to create + to a String rather than AtomicString. Added many virtual functions. + + * html/IsIndexInputType.cpp: + (WebCore::IsIndexInputType::shouldRespectListAttribute): Added. + * html/IsIndexInputType.h: Ditto. + + * html/NumberInputType.cpp: + (WebCore::NumberInputType::handleBlurEvent): Added. + (WebCore::NumberInputType::isAcceptableValue): Added. + (WebCore::NumberInputType::sanitizeValue): Added. + (WebCore::NumberInputType::hasUnacceptableValue): Added. + (WebCore::NumberInputType::shouldRespectSpeechAttribute): Added. + (WebCore::NumberInputType::isNumberField): Added. + (WebCore::NumberInputType::hasSpinButton): Added. + * html/NumberInputType.h: Ditto. + + * html/PasswordInputType.cpp: + (WebCore::PasswordInputType::shouldUseInputMethod): Added. + (WebCore::PasswordInputType::shouldResetOnDocumentActivation): Added. + (WebCore::PasswordInputType::shouldRespectListAttribute): Added. + (WebCore::PasswordInputType::shouldRespectSpeechAttribute): Added. + (WebCore::PasswordInputType::isPasswordField): Added. + * html/PasswordInputType.h: Ditto. + + * html/RadioInputType.cpp: + (WebCore::RadioInputType::isKeyboardFocusable): Added. + (WebCore::RadioInputType::attach): Added. + (WebCore::RadioInputType::shouldSendChangeEventAfterCheckedChanged): Added. + (WebCore::RadioInputType::willDispatchClick): Added. + (WebCore::RadioInputType::didDispatchClick): Added. + (WebCore::RadioInputType::isRadioButton): Added. + * html/RadioInputType.h: Ditto. + + * html/RangeInputType.cpp: + (WebCore::RangeInputType::accessKeyAction): Added. + (WebCore::RangeInputType::minOrMaxAttributeChanged): Added. + (WebCore::RangeInputType::fallbackValue): Added. + (WebCore::RangeInputType::sanitizeValue): Added. + (WebCore::RangeInputType::shouldRespectListAttribute): Added. + * html/RangeInputType.h: Ditto. + + * html/ResetInputType.cpp: + (WebCore::ResetInputType::defaultValue): Added. + (WebCore::ResetInputType::isTextButton): Added. + * html/ResetInputType.h: Ditto. + + * html/SearchInputType.cpp: + (WebCore::SearchInputType::shouldRespectSpeechAttribute): Added. + (WebCore::SearchInputType::isSearchField): Added. + * html/SearchInputType.h: Ditto. + + * html/SubmitInputType.cpp: + (WebCore::SubmitInputType::canBeSuccessfulSubmitButton): Added. + (WebCore::SubmitInputType::defaultValue): Added. + (WebCore::SubmitInputType::isSubmitButton): Added. + (WebCore::SubmitInputType::isTextButton): Added. + * html/SubmitInputType.h: Ditto. + + * html/TelephoneInputType.cpp: + (WebCore::TelephoneInputType::shouldRespectSpeechAttribute): Added. + (WebCore::TelephoneInputType::isTelephoneField): Added. + * html/TelephoneInputType.h: Ditto. + + * html/TextFieldInputType.cpp: + (WebCore::TextFieldInputType::shouldUseInputMethod): Added. + (WebCore::TextFieldInputType::sanitizeValue): Added. + (WebCore::TextFieldInputType::shouldRespectListAttribute): Added. + * html/TextFieldInputType.h: Ditto. + + * html/TextInputType.cpp: + (WebCore::TextInputType::canSetSuggestedValue): Added. + (WebCore::TextInputType::shouldRespectSpeechAttribute): Added. + * html/TextInputType.h: Ditto. + + * html/TimeInputType.cpp: + (WebCore::TimeInputType::scaledStepValueShouldBeInteger): Fixed + typo in the name of this function. + * html/TimeInputType.h: Ditto. + + * html/URLInputType.cpp: + (WebCore::URLInputType::isURLField): Added. + * html/URLInputType.h: Ditto. + +2011-01-03 Mihai Parparita <mihaip@chromium.org> + + Unreviewed. + + NSScrollView-based scrollbars and ScrollBarTheme-based scrollbars don't look the same + https://bugs.webkit.org/show_bug.cgi?id=51151 + + Flip switch to use WebThemeEngine for Chromium/Mac scrollbar rendering, + so that it can match Safari's (and thus use the same baselines). + + No new tests, should be covered by layout tests (which will need + expectation changes) + + * platform/chromium/ScrollbarThemeChromiumMac.mm: + +2011-01-03 Antonio Gomes <agomes@rim.com> + + Unreviewed build fix for WebKit/Gtk+. + + RenderThemeGtk::initMediaColors() in RenderThemeGtk2.cpp needs to be + guarded by ENABLE(VIDEO), as it is in its header. + + No new tests. + + * platform/gtk/RenderThemeGtk2.cpp: + +2011-01-02 Dan Bernstein <mitz@apple.com> + + Rubber-stamped by Simon Fraser. + + <rdar://problem/8812159> Update copyright strings + + * Info.plist: + +2011-01-02 Dan Bernstein <mitz@apple.com> + + Reviewed by Sam Weinig. + + <rdar://problem/8806570> REGRESSION (r73337): Incorrect text match count when a match occurs in a text field + https://bugs.webkit.org/show_bug.cgi?id=51623 + + * editing/Editor.cpp: + (WebCore::Editor::countMatchesForText): Actually remember the original search range end + container and offset and restore them when needed, instead of using two references to the + same Range. + * manual-tests/find-count-matches-after-text-control.html: Added. + +2011-01-02 Benjamin Poulain <benjamin.poulain@nokia.com> + + Reviewed by Csaba Osztrogonác. + + WebKit 2 does not build on 64bits with a recent GCC + https://bugs.webkit.org/show_bug.cgi?id=51754 + + Use explicitely 64 bits types for the attributes of DatabaseDetails. + + * storage/DatabaseDetails.h: + (WebCore::DatabaseDetails::expectedUsage): + (WebCore::DatabaseDetails::currentUsage): + +2011-01-02 Patrick Gansterer <paroga@webkit.org> + + Unreviewed WinCE build fix for r74868. + + * platform/graphics/wince/ImageBufferWinCE.cpp: + (WebCore::getImageData): + +2011-01-02 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r74847. + http://trac.webkit.org/changeset/74847 + https://bugs.webkit.org/show_bug.cgi?id=51803 + + "Preprocessor guards should be in header files" (Requested by + ap on #webkit). + + * bindings/js/JSDOMWindowBase.cpp: + * dom/Document.cpp: + (WebCore::Document::recalcStyle): + * html/HTMLDocument.cpp: + * loader/FrameLoader.cpp: + * loader/ResourceLoadNotifier.cpp: + * page/Chrome.cpp: + * page/Console.cpp: + * page/ContextMenuController.cpp: + * page/DOMWindow.cpp: + (WebCore::DOMWindow::dispatchEvent): + * page/EventHandler.cpp: + * page/Page.cpp: + * storage/Database.cpp: + * workers/AbstractWorker.cpp: + * workers/DefaultSharedWorkerRepository.cpp: + * workers/SharedWorker.cpp: + * workers/Worker.cpp: + * workers/WorkerContext.cpp: + * workers/WorkerMessagingProxy.cpp: + * xml/XMLHttpRequest.cpp: + (WebCore::XMLHttpRequest::callReadyStateChangeListener): + +2011-01-02 Patrick Gansterer <paroga@webkit.org> + + [CMake] Unreviewed build fix. + + * CMakeLists.txt: + +2011-01-02 Dirk Schulze <krit@webkit.org> + + Reviewed by Simon Fraser. + + Clarify ImageBuffer and ImageData relationship + https://bugs.webkit.org/show_bug.cgi?id=51297 + + Remove references to ImageData and CanvasPixelArray from ImageBuffer and SVG filter/masker code, + since this was a layering violation, and replaced it by ByteArray. + + No change of functionality, so no new test added. + + * html/ImageData.cpp: + (WebCore::ImageData::create): + (WebCore::ImageData::ImageData): + * html/ImageData.h: Added new constructor with ByteArray input. + (WebCore::ImageData::width): + (WebCore::ImageData::height): + (WebCore::ImageData::data): + * html/canvas/CanvasPixelArray.cpp: + (WebCore::CanvasPixelArray::create): + (WebCore::CanvasPixelArray::CanvasPixelArray): + * html/canvas/CanvasPixelArray.h: New conctructor with ByteArray input, used by HTML Canvas. + (WebCore::CanvasPixelArray::data): + (WebCore::CanvasPixelArray::length): + (WebCore::CanvasPixelArray::set): + (WebCore::CanvasPixelArray::get): + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::getImageData): + (WebCore::CanvasRenderingContext2D::putImageData): + * platform/graphics/ImageBuffer.h: + * platform/graphics/cairo/ImageBufferCairo.cpp: + (WebCore::getImageData): + (WebCore::ImageBuffer::getUnmultipliedImageData): + (WebCore::ImageBuffer::getPremultipliedImageData): + (WebCore::putImageData): + (WebCore::ImageBuffer::putUnmultipliedImageData): + (WebCore::ImageBuffer::putPremultipliedImageData): + * platform/graphics/cg/ImageBufferCG.cpp: + (WebCore::getImageData): + (WebCore::ImageBuffer::getUnmultipliedImageData): + (WebCore::ImageBuffer::getPremultipliedImageData): + (WebCore::putImageData): + (WebCore::ImageBuffer::putUnmultipliedImageData): + (WebCore::ImageBuffer::putPremultipliedImageData): + * platform/graphics/filters/FEBlend.cpp: + (WebCore::FEBlend::apply): + * platform/graphics/filters/FEColorMatrix.cpp: + (WebCore::FEColorMatrix::apply): + * platform/graphics/filters/FEComponentTransfer.cpp: + (WebCore::FEComponentTransfer::apply): + * platform/graphics/filters/FEComposite.cpp: + (WebCore::FEComposite::apply): + * platform/graphics/filters/FEConvolveMatrix.cpp: + (WebCore::setDestinationPixels): + (WebCore::FEConvolveMatrix::apply): + * platform/graphics/filters/FEConvolveMatrix.h: + * platform/graphics/filters/FEDisplacementMap.cpp: + (WebCore::FEDisplacementMap::apply): + * platform/graphics/filters/FEGaussianBlur.cpp: + (WebCore::FEGaussianBlur::apply): + * platform/graphics/filters/FELighting.cpp: + (WebCore::FELighting::apply): + * platform/graphics/filters/FEMorphology.cpp: + (WebCore::FEMorphology::apply): + * platform/graphics/filters/FETurbulence.cpp: + (WebCore::FETurbulence::apply): + * platform/graphics/filters/FilterEffect.cpp: + (WebCore::FilterEffect::asImageBuffer): + (WebCore::FilterEffect::asUnmultipliedImage): + (WebCore::FilterEffect::asPremultipliedImage): + (WebCore::FilterEffect::copyImageBytes): + (WebCore::FilterEffect::copyUnmultipliedImage): + (WebCore::FilterEffect::copyPremultipliedImage): + (WebCore::FilterEffect::createUnmultipliedImageResult): + (WebCore::FilterEffect::createPremultipliedImageResult): + * platform/graphics/filters/FilterEffect.h: + * platform/graphics/qt/ImageBufferQt.cpp: + (WebCore::getImageData): + (WebCore::ImageBuffer::getUnmultipliedImageData): + (WebCore::ImageBuffer::getPremultipliedImageData): + (WebCore::putImageData): + (WebCore::ImageBuffer::putUnmultipliedImageData): + (WebCore::ImageBuffer::putPremultipliedImageData): + * platform/graphics/skia/ImageBufferSkia.cpp: + (WebCore::getImageData): + (WebCore::ImageBuffer::getUnmultipliedImageData): + (WebCore::ImageBuffer::getPremultipliedImageData): + (WebCore::putImageData): + (WebCore::ImageBuffer::putUnmultipliedImageData): + (WebCore::ImageBuffer::putPremultipliedImageData): + * platform/graphics/wince/ImageBufferWinCE.cpp: + (WebCore::getImageData): + (WebCore::ImageBuffer::getUnmultipliedImageData): + (WebCore::ImageBuffer::getPremultipliedImageData): + (WebCore::putImageData): + (WebCore::ImageBuffer::putUnmultipliedImageData): + (WebCore::ImageBuffer::putPremultipliedImageData): + * platform/graphics/wx/ImageBufferWx.cpp: + (WebCore::ImageBuffer::getUnmultipliedImageData): + (WebCore::ImageBuffer::getPremultipliedImageData): + (WebCore::ImageBuffer::putUnmultipliedImageData): + (WebCore::ImageBuffer::putPremultipliedImageData): + * rendering/RenderSVGResourceMasker.cpp: + (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage): + +2011-01-01 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Move JavaScriptCore to Source + https://bugs.webkit.org/show_bug.cgi?id=51604 + + Update references to JavaScriptCore. + + * Android.derived.jscbindings.mk: + * Android.v8bindings.mk: + * CMakeLists.txt: + * WebCore.gyp/WebCore.gyp: + * WebCore.pro: + - These changes are subtle and might not be 100% correct. + * move-js-headers.sh: + +2011-01-01 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + forbid sandboxed frames to call top.close() when allow-same-origin is not setted + https://bugs.webkit.org/show_bug.cgi?id=38340 + + We now pass the ScriptExecutionContext to window.close so it can find + the Frame and check whether navigation is allowed. This check will + almost always pass because you can only close top-level frames, but the + check will fail when the calling script is sandboxed. + + Tests: fast/frames/sandboxed-iframe-close-top-noclose.html + fast/frames/sandboxed-iframe-close-top.html + + * page/DOMWindow.cpp: + (WebCore::DOMWindow::close): + * page/DOMWindow.h: + * page/DOMWindow.idl: + +2011-01-01 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + sandbox iframes have access to top.history methods + https://bugs.webkit.org/show_bug.cgi?id=38152 + + To enforce the sandbox restrictions on History, we need to pass the + ScriptExecutionContext to WebCore. This patch leaves the original + History methods in place because they are used directly by folks who + don't care about security checks. + + Test: fast/frames/sandboxed-iframe-history-denied.html + + * page/History.cpp: + (WebCore::History::back): + (WebCore::History::forward): + (WebCore::History::go): + * page/History.h: + * page/History.idl: + +2011-01-01 Adam Barth <abarth@webkit.org> + + Remove empty file. + + * Android.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * dom/DOMAllInOne.cpp: + * dom/Entity.cpp: Removed. + +2011-01-01 Adam Barth <abarth@webkit.org> + + Remove empty file. + + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSBindingsAllInOne.cpp: + * bindings/js/JSPopStateEventCustom.cpp: Removed. + +2011-01-01 Adam Barth <abarth@webkit.org> + + Remove empty files. + + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bindings/generic/BindingFrame.h: Removed. + * bindings/generic/BindingLocation.h: Removed. + +2011-01-01 Konstantin Tokarev <annulen@yandex.ru> + + Reviewed by Darin Adler. + + Don't include Inspector headers when Inspector is disabled + https://bugs.webkit.org/show_bug.cgi?id=51789 + + * bindings/js/JSDOMWindowBase.cpp: Include Inspector headers when + Inspector is enabled + * dom/Document.cpp: Include Inspector headers when + Inspector is enabled + (WebCore::Document::recalcStyle): Disabled InspectorInstrumentationCookie + handling + * html/HTMLDocument.cpp: Include Inspector headers when + Inspector is enabled + * loader/FrameLoader.cpp: Include Inspector headers when + Inspector is enabled + * loader/ResourceLoadNotifier.cpp: Include Inspector headers when + Inspector is enabled + * page/Chrome.cpp: Include Inspector headers when + Inspector is enabled + * page/Console.cpp: Include Inspector headers when + Inspector is enabled + * page/ContextMenuController.cpp: Include Inspector headers when + Inspector is enabled + * page/DOMWindow.cpp: Include Inspector headers when + Inspector is enabled + (WebCore::DOMWindow::dispatchEvent): Disabled InspectorInstrumentationCookie + handling + * page/EventHandler.cpp: Include Inspector headers when + Inspector is enabled + * page/Page.cpp: Include Inspector headers when + Inspector is enabled + * storage/Database.cpp: Include Inspector headers when + Inspector is enabled + * workers/AbstractWorker.cpp: Include Inspector headers when + Inspector is enabled + * workers/DefaultSharedWorkerRepository.cpp: Include Inspector headers when + Inspector is enabled + * workers/SharedWorker.cpp: Include Inspector headers when + Inspector is enabled + * workers/Worker.cpp: Include Inspector headers when + Inspector is enabled + * workers/WorkerContext.cpp: Include Inspector headers when + Inspector is enabled + * workers/WorkerMessagingProxy.cpp: Include Inspector headers when + Inspector is enabled + * xml/XMLHttpRequest.cpp: Include Inspector headers when + Inspector is enabled + (WebCore::XMLHttpRequest::callReadyStateChangeListener): Disabled + InspectorInstrumentationCookie handling + +2010-12-31 Adam Barth <abarth@webkit.org> + + Reviewed by Darin Adler. + + fast/loader/about-blank-hash-change.html fails on Chromium + https://bugs.webkit.org/show_bug.cgi?id=51788 + + I'm unable to reproduce the failure locally, so this patch is slightly + speculative. We need to be slighly more careful how we compare the + fragment identifiers for Chromium because Chromium uses a URL parser + that is more agressive about canonicalization. + + * page/Location.cpp: + (WebCore::Location::setHash): + +2010-12-31 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Xan Lopez. + + [GTK] Use GLib/GIO API for FileSystemGtk implementation + https://bugs.webkit.org/show_bug.cgi?id=51617 + + Complete implementation of FileSystem platform code for GLib. This + converts remaining API points using POSIX calls to platform-independent + GLib calls and fixes other compilation errors. + + No new tests. This code will be tested when an implementation + of beginDragWithFiles is complete. + + (WebCore::JSDirectoryEntry::getFile): + (WebCore::JSDirectoryEntry::getDirectory): + * platform/FileSystem.h: Added forward declarations for GLib types to + avoid GLib includes and changed the PlatformFileHandle to be a GIOStream. + * platform/gtk/FileSystemGtk.cpp: + (WebCore::openTemporaryFile): Reimplement using only GLib calls. + (WebCore::openFile): Ditto. + (WebCore::closeFile): Ditto. + (WebCore::seekFile): Added implementation. + (WebCore::writeToFile): Reimplement using only GLib calls. + (WebCore::readFromFile): Ditto. + +2010-12-31 Darin Adler <darin@apple.com> + + Reviewed by Dan Bernstein. + + Some renaming and refactoring of form element code + https://bugs.webkit.org/show_bug.cgi?id=51784 + + * bindings/js/JSHTMLSelectElementCustom.cpp: + (WebCore::JSHTMLSelectElement::remove): Call new overload of remove + for option elements instead of putting the logic in the binding. + + * html/HTMLButtonElement.cpp: + (WebCore::HTMLButtonElement::HTMLButtonElement): Updated for name changes. + (WebCore::HTMLButtonElement::defaultEventHandler): Renamed argument to + "event" instead of "evt". Also updated for name changes. + (WebCore::HTMLButtonElement::isActivatedSubmit): Ditto. + (WebCore::HTMLButtonElement::setActivatedSubmit): Ditto. + (WebCore::HTMLButtonElement::appendFormData): Ditto. + * html/HTMLButtonElement.h: Renamed m_activeSubmit to m_isActivatedSubmit + to match the getter function name. The name still doesn't seem great. + + * html/HTMLFormElement.cpp: + (WebCore::HTMLFormElement::HTMLFormElement): Updated for name changes. + (WebCore::HTMLFormElement::~HTMLFormElement): Use autoComplete function + instead of m_autocomplete data member. + (WebCore::HTMLFormElement::rendererIsNeeded): Use m_wasDemoted data member + instead of otherwise-unused isDemoted function. + (WebCore::HTMLFormElement::submitImplicitly): Updated for name changes. + (WebCore::HTMLFormElement::validateInteractively): Removed code to clear + m_insubmit. This is now handled by the caller, prepareForSubmission. + (WebCore::HTMLFormElement::prepareForSubmission): Renamed. Updated for + name changes. Moved code to clear m_isSubmittingOrPreparingForSubmission + here from validateInteractively. Removed unneeded check of m_doingsubmit + boolean before setting it. + (WebCore::HTMLFormElement::submit): Factored this function into two. + One for JavaScript and one for non-JavaScript. Neither function needs a frame + argument, because the question being asked, anyPageIsProcessingUserGesture, + is a question asked of an entire page group, not a specific frame or page, + so it's not important which is the active frame. + (WebCore::HTMLFormElement::submitFromJavaScript): Ditto. + (WebCore::HTMLFormElement::reset): Updated for name changes. + (WebCore::HTMLFormElement::parseMappedAttribute): Removed code to parse + acceptAttr and got rid of code to set m_autocomplete. + (WebCore::HTMLFormElement::elementForAlias): Changed return type to a raw + pointer. + (WebCore::HTMLFormElement::getNamedElements): Updated to use raw pointer + and the vector find function. Added a FIXME about the comment. + (WebCore::HTMLFormElement::documentDidBecomeActive): Use autoComplete + function instead of m_autocomplete data member. + (WebCore::HTMLFormElement::willMoveToNewOwnerDocument): Ditto. + (WebCore::HTMLFormElement::didMoveToNewOwnerDocument): Ditto. + (WebCore::HTMLFormElement::autoComplete): Ditto. + * html/HTMLFormElement.h: Added a FIXME about renaming the autoComplete + function. Renamed prepareSubmit to prepareForSubmission. Got rid of the + frame argument from the submit function and added a new submitFromJavaScript + variant. Removed the unneeded isDemoted function. Changed the return type + of elementForAlias to a raw pointer. Removed m_autocomplete. Renamed + m_insubmit to m_isSubmittingOrPreparingForSubmission, m_doingsubmit to + m_shouldSubmit, m_inreset to m_inResetFunction, m_malformed to m_wasMalformed, + m_demoted to m_wasDemoted. Use plain bool instead of bitfields. + + * html/HTMLFormElement.idl: Use the function named submitFromJavaScript + instead of using CallWith=DynamicFrame because we don't need to know + what frame is calling. If we did, it's not clear that the "dynamic" + frame would be the right one anyway. + + * html/HTMLSelectElement.cpp: + (WebCore::HTMLSelectElement::remove): Added an overload that takes an option + element, since the JavaScript binding supports this. + * html/HTMLSelectElement.h: Ditto. + + * html/ImageInputType.cpp: + (WebCore::ImageInputType::handleDOMActivateEvent): Updated for name changes. + * html/ImageInputType.h: Ditto. + * html/SubmitInputType.cpp: + (WebCore::SubmitInputType::handleDOMActivateEvent): Ditto. + +2010-12-31 Daniel Bates <dbates@rim.com> + + Reviewed by Darin Adler. + + Pass style for <area> instead of associated <img> when querying whether + the theme draws the focus ring for an <area> + https://bugs.webkit.org/show_bug.cgi?id=51632 + + Fixes an issue where the style for the associated <img> of an <area> + was passed when considering whether the theme should draw a focus ring + for the <area>. Instead, we should pass the theme the style for the <area>. + + It's not possible to test this at this time since there are no themes + that override focus ring drawing for <area>s. + + * rendering/RenderImage.cpp: + (WebCore::RenderImage::paintFocusRing): Moved call to RenderTheme::supportsFocusRing() + such that it's called with respect to the focused <area>. + +2010-12-31 Darin Adler <darin@apple.com> + + * WebCore.xcodeproj/project.pbxproj: Added back the language. + Developers should be using Xcode 3.2.5 or newer. + +2010-12-31 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Move V8 to WebCore Location implementation + https://bugs.webkit.org/show_bug.cgi?id=51768 + + * bindings/generic/BindingFrame.h: + * bindings/generic/BindingLocation.h: + * bindings/v8/V8Binding.h: + * bindings/v8/V8DOMWindowShell.cpp: + (WebCore::V8DOMWindowShell::setLocation): + * bindings/v8/V8Utilities.cpp: + * bindings/v8/V8Utilities.h: + * bindings/v8/custom/V8LocationCustom.cpp: + (WebCore::V8Location::hashAccessorSetter): + (WebCore::V8Location::hostAccessorSetter): + (WebCore::V8Location::hostnameAccessorSetter): + (WebCore::V8Location::hrefAccessorSetter): + (WebCore::V8Location::pathnameAccessorSetter): + (WebCore::V8Location::portAccessorSetter): + (WebCore::V8Location::protocolAccessorSetter): + (WebCore::V8Location::searchAccessorSetter): + (WebCore::V8Location::reloadCallback): + (WebCore::V8Location::replaceCallback): + (WebCore::V8Location::assignCallback): + +2010-12-31 Yi Shen <yi.4.shen@nokia.com> + + Reviewed by Eric Seidel. + + Make retrieving extraMediaControlsStyleSheet be page dependent. + https://bugs.webkit.org/show_bug.cgi?id=51752 + + Use themeForPage to retrieve extraMediaControlsStyleSheet for media + controls. + + No new tests because no platform-specific theme implementation uses + the passed page pointer yet. + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::styleForElement): + +2010-12-31 Ilya Tikhonovsky <loislo@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: [REGRESSION] WebInspector.ResourcesPanel.prototype.canShowSourceLine() broken. + + https://bugs.webkit.org/show_bug.cgi?id=51709 + + * inspector/front-end/ResourcesPanel.js: + (WebInspector.ResourcesPanel.prototype.canShowSourceLine): + +2010-12-31 Patrick Gansterer <paroga@webkit.org> + + Unreviewed build fix after r74800. + + * bindings/js/JSDOMWindowCustom.cpp: Add missing header. + * bindings/js/JSLocationCustom.cpp: Ditto. + +2010-12-31 Adam Barth <abarth@webkit.org> + + Rubber-stamped by Eric Seidel. + + Move HTML and XML parser benchmarks into PerformanceTests/Parser + https://bugs.webkit.org/show_bug.cgi?id=51772 + + Remove the benchmarks folder now that it's empty. Future benchmarks + should go in the PerformanceTests directory. + + * benchmarks: Removed. + * benchmarks/parser: Removed. + * benchmarks/parser/html-parser.html: Removed. + * benchmarks/parser/resources: Removed. + * benchmarks/parser/resources/html5.html: Removed. + * benchmarks/parser/resources/runner.js: Removed. + * benchmarks/parser/xml-parser.html: Removed. + +2010-12-31 Patrick Gansterer <paroga@webkit.org> + + Reviewed by Adam Barth. + + Add XML parser benchmark + https://bugs.webkit.org/show_bug.cgi?id=51612 + + Move the JavaScript code of html parser into a separate file to share it with xml parser. + + * benchmarks/parser/html-parser.html: + * benchmarks/parser/resources/runner.js: Copied from WebCore/benchmarks/parser/html-parser.html. + (runFunction): + (run): + (start): + * benchmarks/parser/xml-parser.html: Copied from WebCore/benchmarks/parser/html-parser.html. + +2010-12-29 Zhenyao Mo <zmo@google.com> + + Reviewed by Kenneth Russell. + + Update validation of stencil mask and ref values + https://bugs.webkit.org/show_bug.cgi?id=50716 + + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::initializeNewContext): Initialize cached stencil settings. + (WebCore::WebGLRenderingContext::drawArrays): Validate stencil settings. + (WebCore::WebGLRenderingContext::drawElements): Ditto. + (WebCore::WebGLRenderingContext::stencilFunc): Cache stencil settings, but generate no error. + (WebCore::WebGLRenderingContext::stencilFuncSeparate): Ditto. + (WebCore::WebGLRenderingContext::stencilMask): Ditto. + (WebCore::WebGLRenderingContext::stencilMaskSeparate): Ditto. + (WebCore::WebGLRenderingContext::validateStencilSettings): Helper function to validate stencil settings. + * html/canvas/WebGLRenderingContext.h: Declare stencil setting members. + +2010-12-30 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Xan Lopez. + + [GTK] Fork pieces of RenderThemeGtk that will differ for GTK+ 3 + https://bugs.webkit.org/show_bug.cgi?id=51755 + + Split out pieces of RenderThemeGtk into RenderThemeGtk2 and RenderThemeGtk3 + if they are going to differ between GTK+ 2.x and GTK+ 3.x. This is the preliminary + step to landing support for the new GTK+ 3.x theming API. + + No new tests. This should not change functionality. + + * GNUmakefile.am: Add RenderThemeGtk2 and RenderThemeGtk3 to the sources list. + * platform/gtk/RenderThemeGtk.cpp: + (WebCore::RenderThemeGtk::adjustTextFieldStyle): Call the setTextInputBorders static method. + (WebCore::RenderThemeGtk::adjustTextAreaStyle): Ditto. + (WebCore::RenderThemeGtk::paintMediaButton): Ditto. + (WebCore::RenderThemeGtk::adjustProgressBarStyle): ditto. + * platform/gtk/RenderThemeGtk.h: Make setTextInputBorders a method, so that + it can be exist in RenderThemeGtk{2,3} and be called from RenderThemeGtk. + * platform/gtk/RenderThemeGtk2.cpp: Added. A fork of the bits of RenderThemeGtk + that will eventually be platform-dependent. + * platform/gtk/RenderThemeGtk3.cpp: Added. Ditto. + +2010-12-30 Justin Schuh <jschuh@chromium.org> + + Reviewed by James Robinson. + + Reverting r74292 because it introduced a crash with ruby text. + https://bugs.webkit.org/show_bug.cgi?id=51637 + + Test: fast/css/counters/counter-ruby-text-cleared.html + + * rendering/RenderCounter.cpp: + (WebCore::findPlaceForCounter): + * rendering/RenderObject.cpp: + (WebCore::RenderObject::addChild): + * rendering/RenderObjectChildList.cpp: + (WebCore::RenderObjectChildList::appendChildNode): + (WebCore::RenderObjectChildList::insertChildNode): + +2010-12-30 Darin Adler <darin@apple.com> + + Reviewed by David Kilzer. + + Remove unused JSBinding source files + https://bugs.webkit.org/show_bug.cgi?id=51762 + + * bindings/js/JSBinding.h: Removed. + * bindings/js/specialization: Removed. + * bindings/js/specialization/JSBindingState.cpp: Removed. + * bindings/js/specialization/JSBindingState.h: Removed. + + * CMakeLists.txt: Removed references to files. + * GNUmakefile.am: Ditto. + * WebCore.gypi: Ditto. + * WebCore.pro: Ditto. + * WebCore.vcproj/WebCore.vcproj: Ditto. + * bindings/js/JSBindingsAllInOne.cpp: Ditto. + +2010-12-30 Tony Gentilcore <tonyg@chromium.org> + + Reviewed by Darin Adler. + + Remove Document.h include from some headers where it isn't necessary + https://bugs.webkit.org/show_bug.cgi?id=51730 + + No new tests because no new functionality. + + * editing/EditingStyle.cpp: + * editing/EditingStyle.h: + * editing/SelectionController.h: + * editing/visible_units.h: + * html/HTMLAudioElement.h: + * html/HTMLBodyElement.h: + * inspector/InspectorCSSAgent.h: + * inspector/InspectorDOMAgent.h: + * inspector/InspectorInstrumentation.h: + * xml/DOMParser.cpp: + * xml/DOMParser.h: + (WebCore::DOMParser::create): + (WebCore::DOMParser::DOMParser): + +2010-12-30 Benjamin C Meyer <bmeyer@rim.com> + + Reviewed by Darin Adler. + + bindings/js/JSDesktopNotificationsCustom.cpp is not included in the cmake build + which is required when NOTIFICATIONS is enabled. + + https://bugs.webkit.org/show_bug.cgi?id=51761 + + * CMakeLists.txt: + +2010-12-30 Antti Koivisto <antti@apple.com> + + Not reviewed. + + Revert accidental project file change. + + * WebCore.xcodeproj/project.pbxproj: + +2010-12-30 Antti Koivisto <antti@apple.com> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=51134 + Move loading related code from MemoryCache to CachedResourceLoader + + - Merge MemoryCache::requestResource to CachedResourceLoader::requestResource + - Merge MemoryCache::requestUserCSSStyleSheet to CachedResourceLoader::requestUserCSSStyleSheet + - Move MemoryCache::revalidateResource to CachedResourceLoader::revalidateResource + - Add MemoryCache::add + - Refactor the decision on whether to reload, revalidate or use the existing resource to + a single function, CachedResourceLoader::determineRevalidationPolicy + + * css/CSSImageValue.cpp: + (WebCore::CSSImageValue::cachedImage): + + Remove a code path that called MemoryCache::requestResource directly. This code path would have crashed + if ever taken (since it passes null CachedResourceLoader pointer). + + * loader/ImageLoader.cpp: + (WebCore::ImageLoader::updateFromElement): + * loader/cache/CachedImage.cpp: + * loader/cache/CachedResource.cpp: + (WebCore::CachedResource::CachedResource): + (WebCore::CachedResource::~CachedResource): + (WebCore::CachedResource::mustRevalidateDueToCacheHeaders): + + Moved tests that were not about cache headers to CachedResourceLoader::determineRevalidationPolicy and renamed. + + (WebCore::CachedResource::setLoadPriority): + + Check for Unresolved value before setting. + + * loader/cache/CachedResource.h: + (WebCore::CachedResource::setOwningCachedResourceLoader): + + Rename to be bit less mysterious. + + * loader/cache/CachedResourceLoader.cpp: + (WebCore::createResource): + + This was moved from MemoryCache. + + (WebCore::CachedResourceLoader::~CachedResourceLoader): + (WebCore::CachedResourceLoader::determineRevalidationPolicy): + (WebCore::CachedResourceLoader::requestUserCSSStyleSheet): + + This was moved/merged from MemoryCache. + + (WebCore::CachedResourceLoader::canRequest): + (WebCore::CachedResourceLoader::requestResource): + + This combines MemoryCache::requestResource and the existing method. + + (WebCore::CachedResourceLoader::revalidateResource): + + This was moved from MemoryCache. + + (WebCore::CachedResourceLoader::loadResource): + + New method for initiating loading. + + (WebCore::CachedResourceLoader::notifyLoadedFromMemoryCache): + + Renamed the mysterious CachedResourceLoader::checkCacheObjectStatus + + * loader/cache/CachedResourceLoader.h: + * loader/cache/MemoryCache.cpp: + (WebCore::MemoryCache::add): + * loader/cache/MemoryCache.h: + (WebCore::MemoryCache::remove): + +2010-12-30 Steve Block <steveblock@google.com> + + Reviewed by Gavin Barraclough. + + Enable JSC Rich Source Info for Android even when Inspector and Debugger are disabled + https://bugs.webkit.org/show_bug.cgi?id=51740 + + This is a policy decision for Android. + + No new tests, simply enabling existing, tested code on Android. + + * bindings/js/JSDOMWindowBase.cpp: + (WebCore::JSDOMWindowBase::supportsRichSourceInfo): + +2010-12-30 Yael Aharon <yael.aharon@nokia.com> + + Reviewed by Adam Barth. + + REGRESSION: fast/dom/cssTarget-crash.html fails + https://bugs.webkit.org/show_bug.cgi?id=20342 + + Do not reload the page when submitting a form, using "GET" method, and the + form action url matches the location url, except for the fragment. + + Test: fast/forms/submit-change-fragment.html + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::loadURL): + (WebCore::FrameLoader::loadWithDocumentLoader): + (WebCore::FrameLoader::shouldScrollToAnchor): + * loader/FrameLoader.h: + +2010-12-30 Darin Adler <darin@apple.com> + + Reviewed by Adam Barth. + + Move security logic out of the JavaScript binding for location into the DOM class + https://bugs.webkit.org/show_bug.cgi?id=51714 + + * WebCore.xcodeproj/project.pbxproj: Removed JSBindingState.cpp, JSBindingState.h, + and JSBinding.h. Later, we'll remove them from other project files and delete + the source files. + + * bindings/js/JSBinding.h: Emptied out, marked for later deletion. + + * bindings/js/JSDOMBinding.cpp: Removed unused overload of the jsOwnedStringOrNull + function, unused shouldAllowNavigation function, unused allowSettingSrcToJavascriptURL + function, unused toLexicalFrame function, unused completeURL function, unused + getCachedDOMStructure and cacheDOMStructure overloads, and unused + getCachedDOMConstructor and cacheDOMConstruction functions. + (WebCore::activeDOMWindow): Added. + (WebCore::firstDOMWindow): Added. + (WebCore::toDynamicFrame): Changed to use firstDOMWindow instead of calling through + JSBindingState, since the latter is an unneeded abstraction. + (WebCore::processingUserGesture): Changed to call ScriptController's function + rather than calling through JSBindingState, which is an unneeded abstraction + + * bindings/js/JSDOMBinding.h: Removed the functions mentioned above. Added + activeDOMWindow and firstDOMWindow. Also added a FIXME for the extremely poorly + named allowsAccessFromFrame functions, which answer the question of whether + script is allowed access *to* a frame. + + * bindings/js/JSDOMWindowCustom.cpp: Removed many unneeded includes. + (WebCore::JSDOMWindow::setLocation): Streamlined by using the new + activeDOMWindow and firstDOMWindow functions. + (WebCore::JSDOMWindow::open): Ditto. + (WebCore::JSDOMWindow::showModalDialog): Ditto. + (WebCore::JSDOMWindow::postMessage): Ditto. + + * bindings/js/JSLocationCustom.cpp: + (WebCore::JSLocation::setHref): Changed to pass the active and first windows through + to the Location::setHref function, with it doing the rest of the work. This moves + work out of the DOM binding that belongs in the DOM itself. Eventually such functions + could even be automatically generated by the bindings script. + (WebCore::JSLocation::setProtocol): Ditto. + (WebCore::JSLocation::setHost): Ditto. + (WebCore::JSLocation::setHostname): Ditto. + (WebCore::JSLocation::setPort): Ditto. + (WebCore::JSLocation::setPathname): Ditto. + (WebCore::JSLocation::setSearch): Ditto. + (WebCore::JSLocation::setHash): Ditto. + (WebCore::JSLocation::replace): Ditto. + (WebCore::JSLocation::reload): Ditto. + (WebCore::JSLocation::assign): Ditto. + + * bindings/js/specialization/JSBindingState.cpp: Emptied out, marked for later deletion. + * bindings/js/specialization/JSBindingState.h: Emptied out, marked for later deletion. + + * page/DOMWindow.cpp: + (WebCore::DOMWindow::setLocation): Added a SetLocationLocking argument that allows us + to use this function for Location::replace, which is the same as setLocation except that + it locks both history and the back/forward list. + * page/DOMWindow.h: Ditto. + + * page/Location.cpp: + (WebCore::Location::setHref): Added. Uses DOMWindow::setLocation so that the security + logic there does not have to be repeated or even refactored. + (WebCore::Location::setProtocol): Ditto. + (WebCore::Location::setHost): Ditto. + (WebCore::Location::setHostname): Ditto. + (WebCore::Location::setPort): Ditto. + (WebCore::Location::setPathname): Ditto. + (WebCore::Location::setSearch): Ditto. + (WebCore::Location::setHash): Ditto. + (WebCore::Location::assign): Ditto. + (WebCore::Location::replace): Ditto. + (WebCore::Location::reload): Added. Security logic was refactored from the code in + JSLocationCustom.cpp. Added a FIXME about the fact that this security logic seems + possibly unneeded. + + * page/Location.h: Fixed indentation on the whole file. Added the new functions above. + (WebCore::Location::create): + (WebCore::Location::frame): + +2010-12-30 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: Pasting a style property with value should automatically split it into prop/value + https://bugs.webkit.org/show_bug.cgi?id=51581 + + The "paste" DOM event is handled for the CSS property name field to parse out the name and value parts + of a CSS property being pasted (by the first ':' found). The property is committed (if not a new one), + and the edit focus is transferred to the value field. + + * inspector/front-end/StylesSidebarPane.js: + (WebInspector.StylePropertyTreeElement.prototype.selectElement): + (WebInspector.StylePropertyTreeElement.prototype): + * inspector/front-end/inspector.js: + (WebInspector.completeURL): Drive-by: return full URLs as-is. + (WebInspector.startEditing.cleanUpAfterEditing): + (WebInspector.startEditing): + (WebInspector.startEditing.pasteEventListener): + (WebInspector.startEditing.keyDownEventListener): + +2010-12-30 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: breakpoint is not disabled when clicking on breakpoints sidebar pane checkbox. + https://bugs.webkit.org/show_bug.cgi?id=51745 + + * inspector/front-end/Breakpoint.js: + (WebInspector.Breakpoint.prototype.set enabled): + +2010-12-30 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: call stack shows "Paused on a JavaScript breakpoint" when stepping. + https://bugs.webkit.org/show_bug.cgi?id=51748 + + * inspector/front-end/CallStackSidebarPane.js: + (WebInspector.CallStackSidebarPane.prototype.update): + (WebInspector.CallStackSidebarPane.prototype.registerShortcuts): + (WebInspector.CallStackSidebarPane.prototype._scriptBreakpointHit): + (WebInspector.CallStackSidebarPane.prototype._nativeBreakpointHit): + +2010-12-30 Mikhail Naganov <mnaganov@chromium.org> + + Reviewed by Pavel Feldman. + + Fix leak of MemoryInfo wrappers introduced in r57004 (see issue 51712). + + https://bugs.webkit.org/show_bug.cgi?id=51713 + + * WebCore.gypi: + * WebCore.pro: + * bindings/v8/custom/V8ConsoleCustom.cpp: + (WebCore::V8Console::memoryAccessorGetter): + * bindings/v8/custom/V8PerformanceCustom.cpp: Copied from V8ConsoleCustom.cpp. + (WebCore::V8Performance::memoryAccessorGetter): + * page/Console.idl: + * page/Performance.idl: + +2010-12-30 Steve Block <steveblock@google.com> + + Reviewed by Sam Weinig. + + Visiting macnn.com often causes SQL spew via geolocation database + https://bugs.webkit.org/show_bug.cgi?id=51557 + + If the Geolocation position cache database path has not been set, early-out + rather than using an empty path and thus failing to open the database. + This avoids SQL log spew. + + Also, avoid starting the database thread until the path has been set, and + shorten the thread name to avoid warnings due to exceeding 30 characters. + + No new tests, implementation clean-up only. + + * page/GeolocationPositionCache.cpp: + (WebCore::GeolocationPositionCache::addUser): + (WebCore::GeolocationPositionCache::removeUser): + (WebCore::GeolocationPositionCache::setDatabasePath): + (WebCore::GeolocationPositionCache::startBackgroundThread): + +2010-12-29 Philippe Normand <pnormand@igalia.com> + + Reviewed by Martin Robinson. + + [GTK] minimal build fails at link time due to missing sqlite3 symbols + https://bugs.webkit.org/show_bug.cgi?id=51327 + + Guard the code calling sqlite3 with the ENABLE(DATABASE) check. + + No new tests, build fix only. + + * platform/sql/SQLiteAuthorizer.cpp: + * platform/sql/SQLiteDatabase.cpp: + * platform/sql/SQLiteFileSystem.cpp: + * platform/sql/SQLiteStatement.cpp: + * platform/sql/SQLiteTransaction.cpp: + +2010-12-30 Justin Schuh <jschuh@chromium.org> + + Reviewed by Dirk Schulze. + + Prevent stringToLengthType() from skipping past end-of-string on invalid length unit. + https://bugs.webkit.org/show_bug.cgi?id=51692 + + * svg/SVGLength.cpp: + (WebCore::stringToLengthType): + (WebCore::SVGLength::setValueAsString): + +2010-12-30 Abhishek Arya <inferno@chromium.org> + + Reviewed by Eric Seidel. + + Create a helper function for finding descendent video elements for a node. + https://bugs.webkit.org/show_bug.cgi?id=51696 + + Test: media/video-element-other-namespace-crash.html + + * html/MediaDocument.cpp: + (WebCore::descendentVideoElement): helper function. + (WebCore::MediaDocument::defaultEventHandler): use the new helper function. fix code repetitions. + (WebCore::MediaDocument::replaceMediaElementTimerFired): use the new helper function. + +2010-12-29 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: extract Database & DOM Storage agents; remove InspectorBackend. + https://bugs.webkit.org/show_bug.cgi?id=51707 + + This change brushes up storage agents + removes redundant InspectorBackend class. + + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * inspector/CodeGeneratorInspector.pm: + * inspector/InjectedScriptHost.cpp: + (WebCore::InjectedScriptHost::databaseForId): + (WebCore::InjectedScriptHost::selectDatabase): + (WebCore::InjectedScriptHost::selectDOMStorage): + (WebCore::InjectedScriptHost::inspectorDOMAgent): + * inspector/Inspector.idl: + * inspector/InspectorBackend.cpp: Removed. + * inspector/InspectorBackend.h: Removed. + * inspector/InspectorController.cpp: + (WebCore::InspectorController::InspectorController): + (WebCore::InspectorController::~InspectorController): + (WebCore::InspectorController::connectFrontend): + (WebCore::InspectorController::releaseFrontendLifetimeAgents): + (WebCore::InspectorController::didUseDOMStorage): + (WebCore::InspectorController::setInjectedScriptSource): + (WebCore::InspectorController::dispatchOnInjectedScript): + (WebCore::InspectorController::releaseWrapperObjectGroup): + * inspector/InspectorController.h: + * inspector/InspectorDOMStorageAgent.cpp: Added. + (WebCore::InspectorDOMStorageAgent::~InspectorDOMStorageAgent): + (WebCore::InspectorDOMStorageAgent::getDOMStorageEntries): + (WebCore::InspectorDOMStorageAgent::setDOMStorageItem): + (WebCore::InspectorDOMStorageAgent::removeDOMStorageItem): + (WebCore::InspectorDOMStorageAgent::selectDOMStorage): + (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent): + (WebCore::InspectorDOMStorageAgent::getDOMStorageResourceForId): + * inspector/InspectorDOMStorageAgent.h: Copied from WebCore/inspector/InspectorStorageAgent.h. + (WebCore::InspectorDOMStorageAgent::create): + (WebCore::InspectorDOMStorageAgent::frontend): + * inspector/InspectorDatabaseAgent.cpp: Renamed from WebCore/inspector/InspectorStorageAgent.cpp. + (WebCore::InspectorDatabaseAgent::~InspectorDatabaseAgent): + (WebCore::InspectorDatabaseAgent::getDatabaseTableNames): + (WebCore::InspectorDatabaseAgent::executeSQL): + (WebCore::InspectorDatabaseAgent::databaseForId): + (WebCore::InspectorDatabaseAgent::selectDatabase): + (WebCore::InspectorDatabaseAgent::clearFrontend): + (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent): + * inspector/InspectorDatabaseAgent.h: Renamed from WebCore/inspector/InspectorStorageAgent.h. + (WebCore::InspectorDatabaseAgent::create): + (WebCore::InspectorDatabaseAgent::frontend): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel.prototype.show): + (WebInspector.ScriptsPanel.prototype.attachDebuggerWhenShown): + (WebInspector.ScriptsPanel.prototype._toggleDebugging): + +2010-12-29 Dirk Schulze <krit@webkit.org> + + Reviewed by Darin Adler. + + Cleanup SVG code according to the webkit style rules 3 + https://bugs.webkit.org/show_bug.cgi?id=51490 + + Last patch to fix indention and other style issues according to the WebKit style rules in the SVG code. + Just one file can't be fixed for check-webkit-style. + * SVGAllInOne.cpp: check-webkit-style wants a config.h at the beginning + + No changes of functionality, so no new tests. + + * svg/SVGAllInOne.cpp: + * svg/SVGImage.cpp: + * svg/SVGLength.cpp: + (WebCore::SVGLength::setValue): + * svg/SVGPolygonElement.h: + * svg/SVGPolylineElement.h: + * svg/SVGPreserveAspectRatio.cpp: + (WebCore::SVGPreserveAspectRatio::parsePreserveAspectRatio): + (WebCore::SVGPreserveAspectRatio::transformRect): + * svg/SVGSVGElement.cpp: + (WebCore::SVGSVGElement::viewport): + * svg/SVGSetElement.h: + * svg/SVGStylable.h: + (WebCore::SVGStylable::~SVGStylable): + * svg/SVGStyledLocatableElement.h: + (WebCore::SVGStyledLocatableElement::localCoordinateSpaceTransform): + (WebCore::SVGStyledLocatableElement::isStyledLocatable): + * svg/SVGStyledTransformableElement.cpp: + (WebCore::SVGStyledTransformableElement::isKnownAttribute): + * svg/SVGSwitchElement.cpp: + (WebCore::SVGSwitchElement::childShouldCreateRenderer): + * svg/SVGTests.cpp: + (WebCore::SVGTests::parseMappedAttribute): + * svg/SVGTextContentElement.cpp: + (WebCore::SVGTextContentElement::isKnownAttribute): + * svg/SVGTextPathElement.cpp: + * svg/SVGTextPathElement.h: + * svg/SVGTitleElement.h: + (WebCore::SVGTitleElement::rendererIsNeeded): + * svg/SVGTransformDistance.cpp: + (WebCore::SVGTransformDistance::SVGTransformDistance): + (WebCore::SVGTransformDistance::scaledDistance): + (WebCore::SVGTransformDistance::addSVGTransforms): + (WebCore::SVGTransformDistance::addSVGTransform): + (WebCore::SVGTransformDistance::addToSVGTransform): + (WebCore::SVGTransformDistance::isZero): + * svg/SVGTransformList.cpp: + * svg/SVGURIReference.cpp: + (WebCore::SVGURIReference::getTarget): + * svg/SVGVKernElement.h: + * svg/SVGViewSpec.cpp: + (WebCore::SVGViewSpec::parseViewSpec): + * svg/SVGZoomAndPan.h: + (WebCore::SVGZoomAndPan::SVGZoomAndPan): + (WebCore::SVGZoomAndPan::~SVGZoomAndPan): + (WebCore::SVGZoomAndPan::zoomAndPan): + * svg/SVGZoomEvent.h: + (WebCore::SVGZoomEvent::create): + * svg/animation/SMILTime.cpp: + (WebCore::operator*): + * svg/animation/SMILTime.h: + (WebCore::SMILTime::SMILTime): + (WebCore::SMILTime::unresolved): + (WebCore::SMILTime::indefinite): + (WebCore::SMILTime::operator=): + (WebCore::SMILTime::value): + (WebCore::SMILTime::isFinite): + (WebCore::SMILTime::isIndefinite): + (WebCore::SMILTime::isUnresolved): + (WebCore::operator==): + (WebCore::operator!): new operator checks for 0 or infinite values. + (WebCore::operator!=): + (WebCore::operator>): + (WebCore::operator<): + (WebCore::operator>=): + (WebCore::operator<=): + * svg/animation/SMILTimeContainer.h: + (WebCore::SMILTimeContainer::create): + (WebCore::SMILTimeContainer::setDocumentOrderIndexesDirty): + * svg/animation/SVGSMILElement.cpp: + (WebCore::ConditionEventListener::operator==): + (WebCore::SVGSMILElement::repeatingDuration): + (WebCore::SVGSMILElement::resolveInterval): + (WebCore::SVGSMILElement::calculateAnimationPercentAndRepeat): + * svg/animation/SVGSMILElement.h: + (WebCore::SVGSMILElement::timeContainer): + (WebCore::SVGSMILElement::intervalBegin): + (WebCore::SVGSMILElement::intervalEnd): + (WebCore::SVGSMILElement::previousIntervalBegin): + (WebCore::SVGSMILElement::documentOrderIndex): + (WebCore::SVGSMILElement::setDocumentOrderIndex): + * svg/graphics/SVGImage.h: + (WebCore::SVGImage::create): + (WebCore::SVGImage::destroyDecodedData): + (WebCore::SVGImage::decodedSize): + (WebCore::SVGImage::frameAtIndex): + * svg/graphics/filters/SVGFilterBuilder.h: + (WebCore::SVGFilterBuilder::create): + (WebCore::SVGFilterBuilder::lastEffect): + (WebCore::SVGFilterBuilder::getEffectReferences): + (WebCore::SVGFilterBuilder::addBuiltinEffects): + +2010-12-29 Abhishek Arya <inferno@chromium.org> + + Reviewed by Darin Adler. + + ASSERT(oldchild->parent() == owner) fails. + https://bugs.webkit.org/show_bug.cgi?id=50480 + + In RenderBlock removeChild function, when the inlineChildrenBlock(equal to prev or next) + is reparented to blockChildrenBlock, it is no longer a child of "this". This causes the + assertion failure when removeChildNode executes on the child(equal to prev or next). + Fix a typo in canMergeContiguousAnonymousBlocks. + + Test: fast/multicol/span/double-merge-anonymous-block-crash.html + + * rendering/RenderBlock.cpp: + (WebCore::canMergeContiguousAnonymousBlocks): fix typo, change prev to next. + (WebCore::RenderBlock::removeChild): if prev or not is reparented, then set it to zero. + +2010-12-29 Justin Schuh <jschuh@chromium.org> + + Reviewed by Darin Adler. + + Check SVG element type in FrameView::scrollToAnchor + https://bugs.webkit.org/show_bug.cgi?id=51718 + + Test: svg/custom/scroll-to-anchor-in-symbol.svg + + * page/FrameView.cpp: + (WebCore::FrameView::scrollToAnchor): + +2010-12-29 Anton Muhin <antonm@chromium.org> + + Reviewed by Eric Seidel. + + [v8] Minor cleanup: remove unused method (the only method which can mutate context of V8DOMWindowShell) + https://bugs.webkit.org/show_bug.cgi?id=51704 + + * bindings/v8/V8DOMWindowShell.cpp: + * bindings/v8/V8DOMWindowShell.h: + +2010-12-29 Kenichi Ishibashi <bashi@google.com> + + Reviewed by Darin Adler. + + Use a HashMap for m_continuation to save memory + https://bugs.webkit.org/show_bug.cgi?id=43716 + + Saving memory consumption by applying a HashMap convention to + continuation pointers of RenderInline and RenderBlock classes. + + * rendering/RenderBlock.cpp: Removed m_continuation. + (WebCore::RenderBlock::RenderBlock): + (WebCore::RenderBlock::destroy): + (WebCore::RenderBlock::inlineElementContinuation): + (WebCore::RenderBlock::blockElementContinuation): + * rendering/RenderBlock.h: Removed m_continuation. + * rendering/RenderBoxModelObject.cpp: Added a hash map for continuations. + (WebCore::RenderBoxModelObject::destroy): Added an assertion. + (WebCore::RenderBoxModelObject::continuation): Added. + (WebCore::RenderBoxModelObject::setContinuation): Added. + * rendering/RenderBoxModelObject.h: + * rendering/RenderInline.cpp: Removed m_continuation. + (WebCore::RenderInline::RenderInline): + (WebCore::RenderInline::destroy): + (WebCore::RenderInline::inlineElementContinuation): + * rendering/RenderInline.h: Removed m_continuation. + +2010-12-27 Amruth Raj <amruthraj@motorola.com> and Ravi Kasibhatla <ravi.kasibhatla@motorola.com> + + Reviewed by Martin Robinson. + + [GTK] Enable building whatever already exists of WebKit2 + https://bugs.webkit.org/show_bug.cgi?id=37369 + + No new functionality added or deleted. Only makefile change. Hence, no tests added. + + * GNUmakefile.am: Removed bindings/gobject from webcore_sources & webcore_cppflags and + added them to WebKit/gtk/GNUmakefile.am + * platform/network/soup/cache/webkit/soup-cache.h: Remove include <webkit/webkitdefines.h> + and declare WEBKIT_API directly + +2010-12-29 Eric Seidel <eric@webkit.org> + + Unreviewed. + + Simplify make-hash-tools.pl + https://bugs.webkit.org/show_bug.cgi?id=49922 + + Added HashTools.h to the project file now that its not autogenerated. + I also sorted the project file using sort-xcode-project-file + + * WebCore.xcodeproj/project.pbxproj: + +2010-12-29 Pavel Feldman <pfeldman@chromium.org> + + Not reviewed: revert r74755 and 74757. + +2010-12-29 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Sam Weinig. + + JSDataViewCustom.cpp gives the fastcall calling convention to functions called via C++ + https://bugs.webkit.org/show_bug.cgi?id=51722 + + Remove the JSC_HOST_CALL from methods that are called from C++. JSC_HOST_CALL gives + methods the fastcall calling convention, which leads to runtime errors when they are + called from C++. Also remove a bit of unnecessary code duplication. + + No new tests. This is covered by fast/canvas/webgl/data-view-test.html. + + * bindings/js/JSDataViewCustom.cpp: + (WebCore::getDataViewMember): Remove duplicated code. + (WebCore::JSDataView::getInt8): Remove JSC_HOST_CALL. + (WebCore::JSDataView::getUint8): Ditto. + (WebCore::JSDataView::getFloat32): Ditto. + (WebCore::JSDataView::getFloat64): Ditto. + (WebCore::setDataViewMember): Remove duplicated code. + (WebCore::JSDataView::setInt8): Remove JSC_HOST_CALL. + (WebCore::JSDataView::setUint8): Ditto. + +2010-12-29 Dan Bernstein <mitz@apple.com> + + Reviewed by Kenneth Russel. + + A more robust fix for https://bugs.webkit.org/show_bug.cgi?id=51681 + + * html/HTMLCanvasElement.cpp: + (WebCore::HTMLCanvasElement::attach): Added. Like recalcStyle(), calls + CanvasRenderingContext2D::updateFont() if necessary. This covers the case of a detach/ + attach-type style recalc. + * html/HTMLCanvasElement.h: + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::drawTextInternal): Removed the early return added in + r74716. A font that is loading custom fonts is okay to use, as long as it is valid. + (WebCore::CanvasRenderingContext2D::accessFont): Added a call to + Document::updateStyleIfNeeded(). This ensures that any pending style recalc will take place + and update the font if it is invalid. + * platform/graphics/Font.h: + (WebCore::Font::loadingCustomFonts): Made this private. + +2010-12-29 Pavel Feldman <pfeldman@chromium.org> + + Not reviewed: Qt build fix. + + * inspector/InspectorController.cpp: + +2010-12-29 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: extract Database & DOM Storage + agents; remove InspectorBackend. + https://bugs.webkit.org/show_bug.cgi?id=51707 + + This change brushes up storage agents + removes redundant + InspectorBackend class. + + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * inspector/CodeGeneratorInspector.pm: + * inspector/InjectedScriptHost.cpp: + (WebCore::InjectedScriptHost::databaseForId): + (WebCore::InjectedScriptHost::selectDatabase): + (WebCore::InjectedScriptHost::selectDOMStorage): + (WebCore::InjectedScriptHost::inspectorDOMAgent): + * inspector/Inspector.idl: + * inspector/InspectorBackend.cpp: Removed. + * inspector/InspectorBackend.h: Removed. + * inspector/InspectorController.cpp: + (WebCore::InspectorController::InspectorController): + (WebCore::InspectorController::~InspectorController): + (WebCore::InspectorController::connectFrontend): + (WebCore::InspectorController::releaseFrontendLifetimeAgents): + (WebCore::InspectorController::didUseDOMStorage): + (WebCore::InspectorController::setInjectedScriptSource): + (WebCore::InspectorController::dispatchOnInjectedScript): + (WebCore::InspectorController::releaseWrapperObjectGroup): + * inspector/InspectorController.h: + * inspector/InspectorDOMStorageAgent.cpp: Added. + (WebCore::InspectorDOMStorageAgent::~InspectorDOMStorageAgent): + (WebCore::InspectorDOMStorageAgent::getDOMStorageEntries): + (WebCore::InspectorDOMStorageAgent::setDOMStorageItem): + (WebCore::InspectorDOMStorageAgent::removeDOMStorageItem): + (WebCore::InspectorDOMStorageAgent::selectDOMStorage): + (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent): + (WebCore::InspectorDOMStorageAgent::getDOMStorageResourceForId): + * inspector/InspectorDOMStorageAgent.h: Copied from WebCore/inspector/InspectorStorageAgent.h. + (WebCore::InspectorDOMStorageAgent::create): + (WebCore::InspectorDOMStorageAgent::frontend): + * inspector/InspectorDatabaseAgent.cpp: Renamed from WebCore/inspector/InspectorStorageAgent.cpp. + (WebCore::InspectorDatabaseAgent::~InspectorDatabaseAgent): + (WebCore::InspectorDatabaseAgent::getDatabaseTableNames): + (WebCore::InspectorDatabaseAgent::executeSQL): + (WebCore::InspectorDatabaseAgent::databaseForId): + (WebCore::InspectorDatabaseAgent::selectDatabase): + (WebCore::InspectorDatabaseAgent::clearFrontend): + (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent): + * inspector/InspectorDatabaseAgent.h: Renamed from WebCore/inspector/InspectorStorageAgent.h. + (WebCore::InspectorDatabaseAgent::create): + (WebCore::InspectorDatabaseAgent::frontend): + * inspector/InspectorFrontendClientLocal.cpp: + * inspector/InspectorFrontendClientLocal.h: + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel.prototype.show): + +2010-12-29 Tony Gentilcore <tonyg@chromium.org> + + Reviewed by Eric Seidel. + + Assertion failure: element->inDocument() in AsyncScriptRunner::executeScriptSoon() + https://bugs.webkit.org/show_bug.cgi?id=51067 + + Typically when a script element is removed from the document, the cached script + client is removed. However, during the before load event, the cached script client + hasn't been created yet so it can't be removed. + + This patch handles that case by explicitly checking if the script element was + removed during the beforeload event. Also, it avoids caching the Document references + over the arbitrary script execution in the before load event. + + Test: fast/dom/HTMLScriptElement/move-in-beforeload.html + fast/dom/HTMLScriptElement/remove-in-beforeload.html + + * dom/ScriptElement.cpp: + (WebCore::ScriptElement::requestScript): + +2010-12-29 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: Element highlight tooltip displays wrong element size when zoomed in + https://bugs.webkit.org/show_bug.cgi?id=51703 + + * inspector/InspectorController.cpp: + (WebCore::InspectorController::drawElementTitle): + +2010-12-29 Yael Aharon <yael.aharon@nokia.com> + + Reviewed by Kent Tamura. + + [HTML5][Forms] Support for :in-range and :out-of-range CSS selectors + https://bugs.webkit.org/show_bug.cgi?id=29071 + + Use InputType::rangeUnderflow() and InputType::rangeOverflow() + to determine if a control is in-range or out-of-range. + + Tests: fast/css/pseudo-in-range-invalid-value.html + fast/css/pseudo-in-range.html + fast/css/pseudo-out-of-range.html + + * css/CSSSelector.cpp: + (WebCore::CSSSelector::pseudoId): + (WebCore::nameToPseudoTypeMap): + (WebCore::CSSSelector::extractPseudoType): + * css/CSSSelector.h: + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::canShareStyleWithElement): + (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): + * dom/Element.h: + (WebCore::Element::isInRange): + (WebCore::Element::isOutOfRange): + * html/BaseDateAndTimeInputType.cpp: + (WebCore::BaseDateAndTimeInputType::supportsRangeLimitation): + * html/BaseDateAndTimeInputType.h: + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::isInRange): + (WebCore::HTMLInputElement::isOutOfRange): + * html/HTMLInputElement.h: + * html/InputType.cpp: + (WebCore::InputType::supportsRangeLimitation): + * html/InputType.h: + * html/NumberInputType.cpp: + (WebCore::NumberInputType::supportsRangeLimitation): + * html/NumberInputType.h: + * html/RangeInputType.cpp: + (WebCore::RangeInputType::supportsRangeLimitation): + * html/RangeInputType.h: + +2010-12-29 Abhishek Arya <inferno@chromium.org> + + Reviewed by Eric Seidel. + + When cloning an anonymous block, make sure to set the childrenInline flag based + on the state of the block to be cloned. + https://bugs.webkit.org/show_bug.cgi?id=51489 + + Test: fast/multicol/span/clone-anonymous-block-non-inline-child-crash.html + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::clone): add code to handle cloning of anonymous blocks. + (WebCore::RenderBlock::splitBlocks): remove anonymous block creation calls since it is now handled by clone(). + +2010-12-29 Patrick Gansterer <paroga@webkit.org> + + Unreviewed build fix for WinCE after r73802. + + Reapply parts from r72585: + Port ContextMenuWin.cpp to WinCE + https://bugs.webkit.org/show_bug.cgi?id=48408 + + * CMakeLists.txt: + * platform/ContextMenu.h: + * platform/win/ContextMenuWin.cpp: + (WebCore::ContextMenu::getContextMenuItems): + (WebCore::ContextMenu::createNativeMenuFromItems): + +2010-12-29 Kent Hansen <kent.hansen@nokia.com> + + Reviewed by Simon Hausmann. + + [Qt] Fix compilation with Qt in namespace + https://bugs.webkit.org/show_bug.cgi?id=51701 + + * platform/graphics/ContextShadow.h: + * platform/graphics/GraphicsContext3D.h: + * platform/network/NetworkingContext.h: + * platform/network/qt/QtNAMThreadSafeProxy.h: + * plugins/PluginView.h: + +2010-12-28 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: A disabled style property should get enabled when edited + https://bugs.webkit.org/show_bug.cgi?id=51679 + + Test: inspector/styles-disable-then-change.html + + * inspector/front-end/CSSStyleModel.js: + (WebInspector.CSSProperty.prototype.setText): + (WebInspector.CSSProperty.prototype.setText.callback): + +2010-12-29 Patrick Gansterer <paroga@webkit.org> + + Reviewed by Andreas Kling. + + [CMake] Remove WebKitGenerators + https://bugs.webkit.org/show_bug.cgi?id=50445 + + * CMakeLists.txt: Pass preprocessor to generate-bindings.pl. + +2010-12-28 Pratik Solanki <psolanki@apple.com> + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=51522 + Use deviceRGBColorSpaceRef() instead of calling CGColorSpaceCreateDeviceRGB() + + * page/win/FrameCGWin.cpp: + (WebCore::imageFromRect): + * platform/graphics/cg/GradientCG.cpp: + (WebCore::Gradient::platformGradient): + * platform/graphics/cg/GraphicsContext3DCG.cpp: + (WebCore::GraphicsContext3D::paintToCanvas): + * platform/graphics/cg/ImageCG.cpp: + (WebCore::BitmapImage::checkForSolidColor): + * platform/graphics/gstreamer/ImageGStreamerCG.mm: + (ImageGStreamer::ImageGStreamer): + * platform/graphics/win/GraphicsContextCGWin.cpp: + (WebCore::CGContextWithHDC): + (WebCore::GraphicsContext::releaseWindowsContext): + (WebCore::GraphicsContext::drawWindowsBitmap): + * platform/graphics/win/ImageCGWin.cpp: + (WebCore::BitmapImage::create): + (WebCore::BitmapImage::getHBITMAPOfSize): + * platform/image-decoders/cg/ImageDecoderCG.cpp: + (WebCore::createColorSpace): + * platform/win/DragImageCGWin.cpp: + (WebCore::allocImage): + (WebCore::createCgContextFromBitmap): + * rendering/RenderThemeMac.mm: + (WebCore::RenderThemeMac::paintMenuListButtonGradients): + (WebCore::RenderThemeMac::paintSliderTrack): + * rendering/RenderThemeSafari.cpp: + (WebCore::RenderThemeSafari::paintMenuListButtonGradients): + (WebCore::RenderThemeSafari::paintSliderTrack): + +2010-12-28 Daniel Bates <dbates@rim.com> + + Reviewed by Sam Weinig. + + Substitute // MARK: for compiler-specific #pragma mark + https://bugs.webkit.org/show_bug.cgi?id=51657 + + Fix compilation warnings about "#pragma mark" on GTK+ bots by + substituting "// MARK:" for "#pragma mark", which provides + analogous code-bookmarking functionality under Xcode. + + * platform/graphics/cg/PathCG.cpp: + * platform/graphics/mac/WebLayer.mm: + +2010-12-28 Jan Erik Hanssen <jhanssen@sencha.com> + + Reviewed by Eric Seidel. + + [Qt] GraphicsContext::getCTM() does not need to make a copy of QPainter::combinedTransform() + https://bugs.webkit.org/show_bug.cgi?id=51687 + + Use a const reference instead of a copy of QPainter::combinedTransform() + in GraphicsContext::getCTM() + + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContext::getCTM): + +2010-12-28 Takashi Toyoshima <toyoshim@google.com> + + Reviewed by Eric Seidel. + + gcc detected 'control reaches end of non-void function' with + -finstrument-functions option. + https://bugs.webkit.org/show_bug.cgi?id=51669 + + No new tests. These fixes are trivial. + + * dom/Element.cpp: + (WebCore::Element::childTypeAllowed): + * inspector/InspectorResourceAgent.cpp: + (WebCore::cachedResourceTypeString): + +2010-12-28 Tony Gentilcore <tonyg@chromium.org> + + Reviewed by Eric Seidel. + + Remove unused member of PendingScript + https://bugs.webkit.org/show_bug.cgi?id=51684 + + This was used when HTMLScriptRunner::runScript created a PendingScript + for inline scripts. But now it just calls executeScript() directly. + External scripts always have the minimum starting line number. + + No new tests because no changed functionality. + + * dom/PendingScript.cpp: + (WebCore::PendingScript::releaseElementAndClear): + * dom/PendingScript.h: + (WebCore::PendingScript::PendingScript): + (WebCore::PendingScript::operator=): + * html/parser/HTMLScriptRunner.cpp: + (WebCore::HTMLScriptRunner::sourceFromPendingScript): + +2010-12-20 Antonio Gomes <agomes@rim.com> + + Reviewed by Daniel Bates. + + Spatial Navigation: code clean up (Part VI) + https://bugs.webkit.org/show_bug.cgi?id=50666 + + No new tests needed. + + * page/FocusController.cpp: + (WebCore::updatFocusCandidateIfNeeded): Assert renderer() and + isElementNode() now that we are bailing out earlier in both the + FocusCandidate constructor and FocusController::findFocusCandidateInContainer(). + * page/SpatialNavigation.h: Swapped the parameters order in canScrollInDirection + and virtualRectForAreaElementAndDirection functions. + (WebCore::FocusController::findFocusCandidateInContainer): + (WebCore::FocusController::advanceFocusDirectionallyInContainer): Adjusted callsites + of canScrollInDirection(), and added an early return if !isElementNode(). + (WebCore::FocusController::advanceFocusDirectionally): Adjusted callsite of + virtualRectForAreaElementAndDirection(); + * page/SpatialNavigation.cpp: + (WebCore::FocusCandidate::FocusCandidate): Assert if node is not a element node; + (WebCore::isScrollableNode): Renamed from isScrollableContainerNode; + (WebCore::scrollInDirection): Adjusted callsite after function name change; + (WebCore::scrollableEnclosingBoxOrParentFrameForNodeInDi:rection): Assert if node is + a documentNode. + (WebCore::canScrollInDirection): Signature changed. + (WebCore::canBeScrolledIntoView): Ditto. + (WebCore::virtualRectForAreaElementAndDirection): Ditto. + +2010-12-28 Adrienne Walker <enne@google.com> + + Reviewed by Kenneth Russell. + + [chromium] Fix tiled compositor assertion after GPU process recovery. + https://bugs.webkit.org/show_bug.cgi?id=51682 + + After the GPU process recovers, the layer size is set to IntSize(), + but IntRect::unite() has a special case for empty rects. This + behavior was causing the layer size to be too small, causing an + out-of-bounds array access elsewhere. + + No new tests. + + * platform/graphics/chromium/LayerTilerChromium.cpp: + (WebCore::LayerTilerChromium::growLayerToContain): + +2010-12-23 Zhenyao Mo <zmo@google.com> + + Reviewed by Kenneth Russell. + + Initialize to 0 for undefined values in CopyTexImage2D + https://bugs.webkit.org/show_bug.cgi?id=51421 + + * html/canvas/WebGLFramebuffer.cpp: Track width/height/internalFormat of color buffer. + (WebCore::WebGLFramebuffer::WebGLFramebuffer): + (WebCore::WebGLFramebuffer::setAttachment): + (WebCore::WebGLFramebuffer::getWidth): + (WebCore::WebGLFramebuffer::getHeight): + (WebCore::WebGLFramebuffer::getColorBufferFormat): + * html/canvas/WebGLFramebuffer.h: + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::copyTexImage2D): Initialize undefined pixels to 0. + (WebCore::WebGLRenderingContext::copyTexSubImage2D): + (WebCore::WebGLRenderingContext::framebufferTexture2D): + (WebCore::WebGLRenderingContext::renderbufferStorage): + (WebCore::WebGLRenderingContext::getBoundFramebufferWidth): + (WebCore::WebGLRenderingContext::getBoundFramebufferHeight): + * html/canvas/WebGLRenderingContext.h: + * html/canvas/WebGLTexture.cpp: Track width/height/internalFormat of a texture by target/level. + (WebCore::WebGLTexture::getInternalFormat): + (WebCore::WebGLTexture::getWidth): + (WebCore::WebGLTexture::getHeight): + (WebCore::WebGLTexture::mapTargetToIndex): + (WebCore::WebGLTexture::getLevelInfo): + * html/canvas/WebGLTexture.h: + (WebCore::WebGLTexture::isTexture): + * platform/graphics/GraphicsContext3D.h: Add getInternalFramebufferSize() function. + * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: + (WebCore::GraphicsContext3D::getInternalFramebufferSize): + * platform/graphics/qt/GraphicsContext3DQt.cpp: + (WebCore::GraphicsContext3D::getInternalFramebufferSize): + +2010-12-23 Zhenyao Mo <zmo@google.com> + + Reviewed by Kenneth Russell. + + Map GLsizei to long instead of unsigned long in WebGLRenderingContext and GraphicsContext3D + https://bugs.webkit.org/show_bug.cgi?id=39855 + + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::copyTexImage2D): Map GLsizei to long. + (WebCore::WebGLRenderingContext::copyTexSubImage2D): Ditto. + (WebCore::WebGLRenderingContext::renderbufferStorage): Ditto. + (WebCore::WebGLRenderingContext::scissor): Ditto. + (WebCore::WebGLRenderingContext::texImage2DBase): Ditto. + (WebCore::WebGLRenderingContext::texImage2D): Ditto. + (WebCore::WebGLRenderingContext::texSubImage2DBase): Ditto. + (WebCore::WebGLRenderingContext::texSubImage2DImpl): Ditto. + (WebCore::WebGLRenderingContext::texSubImage2D): Ditto. + (WebCore::WebGLRenderingContext::viewport): Ditto. + (WebCore::WebGLRenderingContext::validateSize): Check the sizes are non-negative. + * html/canvas/WebGLRenderingContext.h: + * html/canvas/WebGLRenderingContext.idl: + +2010-12-28 Abhishek Arya <inferno@chromium.org> + + Reviewed by Kenneth Russell. + + Fix crash with invalid font in m_fontList by not drawing text when a custom font is in the + process of loading. + https://bugs.webkit.org/show_bug.cgi?id=51681 + + Test: canvas/philip/tests/2d.text-custom-font-load-crash.html + + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::drawTextInternal): bail out if a custom font is loading. + * platform/graphics/Font.cpp: + (WebCore::Font::operator==): Replace condition with new function loadingCustomFonts() + (WebCore::Font::drawText): Replace condition with new function loadingCustomFonts() + (WebCore::Font::drawEmphasisMarks): Replace condition with new function loadingCustomFonts() + * platform/graphics/Font.h: + (WebCore::Font::loadingCustomFonts): new function that returns if a custom font is loading. + +2010-12-28 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Eric Seidel. + + Combine setShadowRoot and clearShadowRoot into a simpler API + https://bugs.webkit.org/show_bug.cgi?id=50971 + + No change in behavior, and API is not used yet. + + * dom/Element.cpp: + (WebCore::Element::setShadowRoot): Combined clearing and setting of + the shadowRoot, also hooked up with setting and clearing of the + corresponding shadowHost values. + * dom/Element.h: renamed clearShadowRoot to removeShadowRoot and made it + private. + * dom/Node.h: Made shadow host-related functions public so that + Element::setShadowRoot can access setShadowHost. It seems logical + to make shadowHost public as well to keep the defs together. + +2010-12-28 Andrey Kosyakov <caseq@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: [Chromium] Expose extension API to select a node in WebInspector + Do not request content for resources with non-numeric identifiers. + https://bugs.webkit.org/show_bug.cgi?id=49727 + + Test: http/tests/inspector/extensions-resources-redirect.html + + * inspector/front-end/NetworkManager.js: + (WebInspector.NetworkManager.prototype._appendRedirect): + +2010-12-28 Ilya Tikhonovsky <loislo@chromium.org> + + Unreviewed build fix for Qt. + + ResourceTreeModel.js was added. + + * inspector/front-end/WebKit.qrc: + +2010-12-28 Mikhail Naganov <mnaganov@chromium.org> + + Reviewed by Pavel Feldman. + + [Chromium] Fix memory leak in Profiles tab concerned with heap profiles views. + + https://bugs.webkit.org/show_bug.cgi?id=51680 + + * inspector/front-end/ProfilesPanel.js: + (WebInspector.ProfilesPanel.prototype._reset): + +2010-12-28 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: REGRESSION: Clicking image resource in style sidebar doesn't actually go to resource anymore + https://bugs.webkit.org/show_bug.cgi?id=51663 + + The base URI is now computed correctly for links from CSS property uri(...) values. Additionally, + optional quotes/apostrophes and spaces are now allowed inside uri(...). + + Test: inspector/styles-url-linkify.html + + * inspector/front-end/StylesSidebarPane.js: + (WebInspector.StylePropertyTreeElement.prototype.updateTitle.linkifyURL): + (WebInspector.StylePropertyTreeElement.prototype.updateTitle): + +2010-12-21 Ilya Tikhonovsky <loislo@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: Protocol cleanup task. Introduce Network, DOMStorage and Database domains. + + Domain was changed for Resources, FileSystem etc. related methods. + ResourcesManager was renamed to NetworkManager. + ResourceTreeModel was extracted as separate file. + FileSystem, Database, DOMStorage and ApplicationCache methods were + removed from NetworkManager and added to corresponding classes. + + https://bugs.webkit.org/show_bug.cgi?id=51334 + + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * inspector/CodeGeneratorInspector.pm: + * inspector/Inspector.idl: + * inspector/front-end/AuditRules.js: + (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback): + * inspector/front-end/CSSStyleModel.js: + (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback): + (WebInspector.CSSStyleModel.prototype._styleSheetChanged): + * inspector/front-end/ConsoleView.js: + (WebInspector.ConsoleView.prototype.addMessage): + (WebInspector.ConsoleView.prototype.clearMessages): + * inspector/front-end/DOMAgent.js: + (WebInspector.ApplicationCache.updateApplicationCacheStatus): + (WebInspector.ApplicationCache.updateNetworkState): + * inspector/front-end/DOMStorage.js: + (WebInspector.DOMStorage.addDOMStorage): + (WebInspector.DOMStorage.selectDOMStorage): + (WebInspector.DOMStorage.updateDOMStorage): + * inspector/front-end/Database.js: + (WebInspector.Database.prototype.executeSql): + (WebInspector.Database.addDatabase): + (WebInspector.Database.selectDatabase): + (WebInspector.Database.sqlTransactionSucceeded): + (WebInspector.Database.sqlTransactionFailed): + * inspector/front-end/FileSystemView.js: + (WebInspector.FileSystem.didGetFileSystemPath): + (WebInspector.FileSystem.didGetFileSystemError): + (WebInspector.FileSystem.didGetFileSystemDisabled): + * inspector/front-end/NetworkItemView.js: + (WebInspector.NetworkItemView): + * inspector/front-end/NetworkManager.js: Added. + (WebInspector.NetworkManager): + (WebInspector.NetworkManager.prototype._createResource): + (WebInspector.NetworkManager.prototype.identifierForInitialRequest): + (WebInspector.NetworkManager.prototype.willSendRequest): + (WebInspector.NetworkManager.prototype._updateResourceWithRequest): + (WebInspector.NetworkManager.prototype._appendRedirect): + (WebInspector.NetworkManager.prototype.markResourceAsCached): + (WebInspector.NetworkManager.prototype.didReceiveResponse): + (WebInspector.NetworkManager.prototype._updateResourceWithResponse): + (WebInspector.NetworkManager.prototype.didReceiveContentLength): + (WebInspector.NetworkManager.prototype.didFinishLoading): + (WebInspector.NetworkManager.prototype.didFailLoading): + (WebInspector.NetworkManager.prototype.didLoadResourceFromMemoryCache): + (WebInspector.NetworkManager.prototype._updateResourceWithCachedResource): + (WebInspector.NetworkManager.prototype.setInitialContent): + (WebInspector.NetworkManager.prototype.didCommitLoadForFrame): + (WebInspector.NetworkManager.prototype.frameDetachedFromParent): + (WebInspector.NetworkManager.prototype.didCreateWebSocket): + (WebInspector.NetworkManager.prototype.willSendWebSocketHandshakeRequest): + (WebInspector.NetworkManager.prototype.didReceiveWebSocketHandshakeResponse): + (WebInspector.NetworkManager.prototype.didCloseWebSocket): + (WebInspector.NetworkManager.prototype._processCachedResources): + (WebInspector.NetworkManager.prototype._addFramesRecursively): + (WebInspector.NetworkManager.requestContent): + * inspector/front-end/NetworkPanel.js: + (WebInspector.NetworkPanel.prototype.refreshResource): + * inspector/front-end/Resource.js: + (WebInspector.Resource.prototype._innerRequestContent): + * inspector/front-end/ResourceManager.js: Removed. + * inspector/front-end/ResourceTreeModel.js: Added. + (WebInspector.ResourceTreeModel): + (WebInspector.ResourceTreeModel.prototype.addOrUpdateFrame): + (WebInspector.ResourceTreeModel.prototype.didCommitLoadForFrame): + (WebInspector.ResourceTreeModel.prototype.frameDetachedFromParent): + (WebInspector.ResourceTreeModel.prototype._clearChildFramesAndResources): + (WebInspector.ResourceTreeModel.prototype.addResourceToFrame): + (WebInspector.ResourceTreeModel.prototype._clearResources): + (WebInspector.ResourceTreeModel.prototype.forAllResources): + (WebInspector.ResourceTreeModel.prototype.addConsoleMessage): + (WebInspector.ResourceTreeModel.prototype.clearConsoleMessages): + (WebInspector.ResourceTreeModel.prototype._callForFrameResources): + (WebInspector.ResourceTreeModel.prototype.resourceForURL): + (WebInspector.ResourceTreeModel.prototype.bindResourceURL): + (WebInspector.ResourceTreeModel.prototype._unbindResourceURL): + (WebInspector.ResourceTreeModel.createResource): + * inspector/front-end/ResourceView.js: + (WebInspector.ResourceView.createResourceView): + (WebInspector.ResourceView.resourceViewTypeMatchesResource): + (WebInspector.ResourceView.resourceViewForResource): + (WebInspector.ResourceView.recreateResourceView): + (WebInspector.ResourceView.existingResourceViewForResource): + * inspector/front-end/ResourcesPanel.js: + (WebInspector.ResourcesPanel.prototype.canShowSourceLine): + (WebInspector.ResourcesPanel.prototype.showSourceLine): + (WebInspector.ResourcesPanel.prototype.showResource): + (WebInspector.ResourcesPanel.prototype.get searchableViews.callback): + (WebInspector.ResourcesPanel.prototype.get searchableViews): + (WebInspector.FrameResourceTreeElement.prototype._errorsWarningsUpdated): + (WebInspector.FrameResourceTreeElement.prototype._contentChanged): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel.prototype._addScript): + (WebInspector.ScriptsPanel.prototype.reset): + (WebInspector.ScriptsPanel.prototype._sourceFrameForResource): + (WebInspector.ScriptsPanel.prototype._showScriptOrResource): + * inspector/front-end/WebKit.qrc: + * inspector/front-end/inspector.html: + * inspector/front-end/inspector.js: + (WebInspector.forAllResources): + (WebInspector.resourceForURL): + +2010-12-27 Helder Correia <helder@sencha.com> + + Reviewed by Ariya Hidayat. + + ContextShadow should use AffineTransform instead of TransformationMatrix + https://bugs.webkit.org/show_bug.cgi?id=51661 + + ContextShadow needs the CTM to make sure shadows are not affected by + transformations when drawing on a canvas. AffineTransform is sufficient + in this case. + + Existing tests: fast/canvas/canvas*shadow*html + + * platform/graphics/ContextShadow.cpp: + (WebCore::ContextShadow::mustUseContextShadow): + (WebCore::ContextShadow::adjustBlurDistance): + (WebCore::ContextShadow::calculateLayerBoundingRect): + * platform/graphics/ContextShadow.h: + * platform/graphics/cairo/ContextShadowCairo.cpp: + (WebCore::ContextShadow::getTransformationMatrixFromContext): + * platform/graphics/qt/ContextShadowQt.cpp: + (WebCore::ContextShadow::getTransformationMatrixFromContext): + +2010-12-27 Daniel Bates <dbates@rim.com> + + Reviewed by Antonio Gomes. + + Clean up: Rename HTMLFrameElementBase::getMarginWidth() and HTMLFrameElementBase::getMarginHeight() + https://bugs.webkit.org/show_bug.cgi?id=51634 + + Rename HTMLFrameElementBase::getMarginWidth() and HTMLFrameElementBase::getMarginHeight() + to HTMLFrameElementBase::marginWidth() and HTMLFrameElementBase::marginHeight(), respectively. + This will make the names of these getters consistent with the naming convention we use for + getters. + + * html/HTMLBodyElement.cpp: + (WebCore::HTMLBodyElement::insertedIntoDocument): + * html/HTMLFrameElementBase.h: + (WebCore::HTMLFrameElementBase::marginWidth): Renamed; Formerly getMarginWidth(). + (WebCore::HTMLFrameElementBase::marginHeight): Renamed; Formerly getMarginHeight(). + * loader/SubframeLoader.cpp: + (WebCore::SubframeLoader::loadSubframe): + * page/FrameView.cpp: + (WebCore::FrameView::init): + * rendering/RenderEmbeddedObject.cpp: + (WebCore::RenderEmbeddedObject::viewCleared): Also renamed variables marginw and marginh + to marginWidth and marginHeight, respectively. This makes the names of these variables + consistent with the names of similar variables in SubframeLoader::loadSubframe() and FrameView::init(). + * rendering/RenderFrame.cpp: + (WebCore::RenderFrame::viewCleared): Ditto. + +2010-12-27 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Daniel Bates. + + [GTK] RenderThemeGtk::m_HScale and RenderThemeGtk::m_VScale are not initialized + https://bugs.webkit.org/show_bug.cgi?id=51654 + + Properly initialize slider members of RenderThemeGtk. This can lead to test crashes + on some debug configurations. + + No new tests. This is already covered by current slider tests. It isn't crashing on + the bots, but it does crash locally. + + * platform/gtk/RenderThemeGtk.cpp: + (WebCore::RenderThemeGtk::RenderThemeGtk): Properly initialize members. + +2010-12-27 Anton Muhin <antonm@chromium.org> + + Reviewed by David Levin. + + [v8] Remove unused methods to protect/unprotect wrappers during garbage collection + https://bugs.webkit.org/show_bug.cgi?id=51648 + + * bindings/v8/ScriptController.cpp: + * bindings/v8/ScriptController.h: + * bindings/v8/V8GCController.cpp: + (WebCore::V8GCController::gcEpilogue): + * bindings/v8/V8GCController.h: + +2010-12-27 Yury Semikhatsky <yurys@chromium.org> + + Unreviewed. Removed trailing spaces from a localized + string to make it the same as the one used in the code. + + * English.lproj/localizedStrings.js: + +2010-12-27 Yael Aharon <yael.aharon@nokia.com> + + Reviewed by Eric Seidel. + + Browser is failing 16 baseline test from Selector API Test Suite + https://bugs.webkit.org/show_bug.cgi?id=42968 + + Throw an exception if there is no argument to querySelector or + querySelectorAll. This replaces the current behavior of passing the string + "undefined" as the argument. + + No new tests, just updating the existing results for + fast/dom/SelectorAPI/resig-SelectorAPI-test.xhtml. + + * dom/Document.idl: + * dom/DocumentFragment.idl: + * dom/Element.idl: + +2010-12-26 MORITA Hajime <morrita@google.com> + + Reviewed by Dan Bernstein. + + For box-shadow, non-primary shadows should have specified radii. + https://bugs.webkit.org/show_bug.cgi?id=51386 + + On paintBoxShadow(), the spread value accidentally accumulated accidentally + during the loop, which should be applied individually for radius of each shadow. + This change makes the radii for rects computed for each shadow. + + Test: fast/box-shadow/spread-multiple-normal.html + + * rendering/RenderBoxModelObject.cpp: + (WebCore::RenderBoxModelObject::paintBoxShadow): + +2010-12-26 Patrick Gansterer <paroga@webkit.org> + + Reviewed by Eric Seidel. + + Improve output of HTML parser benchmark + https://bugs.webkit.org/show_bug.cgi?id=51611 + + Calculate and show median, min and max values. + + * benchmarks/parser/html-parser.html: + +2010-12-26 Abhishek Arya <inferno@chromium.org> + + Reviewed by Simon Fraser. + + Remove the bad assert in paintPaginatedChildLayer, hitTestPaginatedChildLayer. + https://bugs.webkit.org/show_bug.cgi?id=48772 + + Test: fast/multicol/renderer-positioned-assert-crash.html + + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::paintPaginatedChildLayer): + (WebCore::RenderLayer::hitTestPaginatedChildLayer): + +2010-12-25 Peter Rybin <peter.rybin@gmail.com> + + Reviewed by Adam Barth. + + Adds currentColumn (and currentLine) to SegmentedString. Switches + HTMLTreeBuilder to HTMLDocumentParser::textPosition when it + needs position for a <script> tag. + + SegmentedString should provide column position + https://bugs.webkit.org/show_bug.cgi?id=51311 + + * html/parser/HTMLDocumentParser.cpp: + (WebCore::HTMLDocumentParser::HTMLDocumentParser): + (WebCore::HTMLDocumentParser::textPosition): + * html/parser/HTMLInputStream.h: + (WebCore::HTMLInputStream::current): + (WebCore::InsertionPointRecord::InsertionPointRecord): + (WebCore::InsertionPointRecord::~InsertionPointRecord): + * html/parser/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::HTMLTreeBuilder): + (WebCore::HTMLTreeBuilder::processScriptStartTag): + * html/parser/HTMLTreeBuilder.h: + (WebCore::HTMLTreeBuilder::create): + * platform/text/SegmentedString.cpp: + (WebCore::SegmentedString::operator=): + (WebCore::SegmentedString::numberOfCharactersConsumedSlow): + (WebCore::SegmentedString::advanceSlowCase): + (WebCore::SegmentedString::currentLine): + (WebCore::SegmentedString::currentColumn): + (WebCore::SegmentedString::setCurrentPosition): + * platform/text/SegmentedString.h: + (WebCore::SegmentedString::SegmentedString): + (WebCore::SegmentedString::advancePastNewline): + (WebCore::SegmentedString::advance): + (WebCore::SegmentedString::numberOfCharactersConsumed): + +2010-12-25 Andreas Kling <kling@webkit.org> + + Reviewed by Kenneth Rohde Christiansen. + + GraphicsContext: Don't pass StrokeStyle (enum) as const reference + https://bugs.webkit.org/show_bug.cgi?id=51608 + + * platform/graphics/GraphicsContext.cpp: + (WebCore::GraphicsContext::setStrokeStyle): + (WebCore::GraphicsContext::setPlatformStrokeStyle): + (WebCore::GraphicsContext::adjustLineToPixelBoundaries): + * platform/graphics/GraphicsContext.h: + * platform/graphics/cairo/GraphicsContextCairo.cpp: + (WebCore::GraphicsContext::setPlatformStrokeStyle): + * platform/graphics/haiku/GraphicsContextHaiku.cpp: + (WebCore::GraphicsContext::setPlatformStrokeStyle): + * platform/graphics/openvg/GraphicsContextOpenVG.cpp: + (WebCore::GraphicsContext::setPlatformStrokeStyle): + * platform/graphics/openvg/PainterOpenVG.cpp: + (WebCore::PainterOpenVG::setStrokeStyle): + * platform/graphics/openvg/PainterOpenVG.h: + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContext::setPlatformStrokeStyle): + * platform/graphics/skia/GraphicsContextSkia.cpp: + (WebCore::GraphicsContext::setPlatformStrokeStyle): + +2010-12-24 Dan Bernstein <mitz@apple.com> + + Reviewed by Alexey Proskuryakov. + + REGRESSION (r74648): XHR layout test failures + https://bugs.webkit.org/show_bug.cgi?id=51603 + + Reverted r74648. + + * WebCore.exp.in: + +2010-12-24 Dan Bernstein <mitz@apple.com> + + Try to fix the Qt build after r74648. + + * WebCore.gypi: + * WebCore.pro: + * platform/network/qt/CredentialStorageQt.cpp: Added. + (WebCore::CredentialStorage::getFromPersistentStorage): + +2010-12-24 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dan Bernstein. + + CSSStyleSelector cleanup + https://bugs.webkit.org/show_bug.cgi?id=51597 + + Make some methods const. Add assertion to checkOneSelector, with the + intention of later removing the if (!e) check (this is hot code). + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::locateCousinList): + (WebCore::CSSStyleSelector::canShareStyleWithElement): + (WebCore::CSSStyleSelector::locateSharedStyle): + (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): + (WebCore::CSSStyleSelector::mmLength): + (WebCore::CSSStyleSelector::inchLength): + (WebCore::CSSStyleSelector::getColorFromPrimitiveValue): + (WebCore::CSSStyleSelector::hasSelectorForAttribute): + * css/CSSStyleSelector.h: + (WebCore::CSSStyleSelector::fontSelector): + +2010-12-24 Dan Bernstein <mitz@apple.com> + + Reviewed by Anders Carlsson. + + <rdar://problem/8758386> The web process uses its own credential storage + https://bugs.webkit.org/show_bug.cgi?id=51599 + + * WebCore.exp.in: Export CredentialStorage::getFromPersistentStorage(), Credential::hasPassword(), + and Credential::isEmpty(). + +2010-12-24 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Darin Adler. + + [V8] Rename V8CustomEventListener.{h,cpp} to V8EventListener.{h,cpp} + https://bugs.webkit.org/show_bug.cgi?id=51595 + + * WebCore.gypi: + * bindings/v8/V8DOMWrapper.cpp: + * bindings/v8/V8EventListener.cpp: Renamed from WebCore/bindings/v8/custom/V8CustomEventListener.cpp. + (WebCore::V8EventListener::V8EventListener): + (WebCore::V8EventListener::getListenerFunction): + (WebCore::V8EventListener::callListenerFunction): + * bindings/v8/V8EventListener.h: Renamed from WebCore/bindings/v8/custom/V8CustomEventListener.h. + (WebCore::V8EventListener::create): + * bindings/v8/V8EventListenerList.h: + * bindings/v8/V8WorkerContextEventListener.h: + * bindings/v8/custom/V8DOMWindowCustom.cpp: + * bindings/v8/custom/V8LocationCustom.cpp: + * bindings/v8/custom/V8NodeCustom.cpp: + * bindings/v8/custom/V8NotificationCenterCustom.cpp: + +2010-12-24 Carlos Garcia Campos <cgarcia@igalia.com> + + Reviewed by Xan Lopez. + + [GTK] Show current time / total in media player + https://bugs.webkit.org/show_bug.cgi?id=51535 + + * css/mediaControlsGtk.css: + (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display): + * platform/gtk/RenderThemeGtk.cpp: + (WebCore::RenderThemeGtk::formatMediaControlsCurrentTime): + (WebCore::RenderThemeGtk::paintMediaCurrentTime): + * platform/gtk/RenderThemeGtk.h: + +2010-12-24 Jan Erik Hanssen <jhanssen@sencha.com> + + Reviewed by Eric Seidel. + + Clean up CSSRuleData in CSSStyleSelector.h + https://bugs.webkit.org/show_bug.cgi?id=27753 + + Move CSSRuleData and CSSRuleDataList from CSSStyleSelector.h to the .cpp file. + + * css/CSSStyleSelector.cpp: + (WebCore::CSSRuleData::CSSRuleData): + (WebCore::CSSRuleData::~CSSRuleData): + (WebCore::CSSRuleData::position): + (WebCore::CSSRuleData::rule): + (WebCore::CSSRuleData::selector): + (WebCore::CSSRuleData::next): + (WebCore::CSSRuleDataList::CSSRuleDataList): + (WebCore::CSSRuleDataList::~CSSRuleDataList): + (WebCore::CSSRuleDataList::first): + (WebCore::CSSRuleDataList::last): + (WebCore::CSSRuleDataList::append): + * css/CSSStyleSelector.h: + +2010-12-24 Yury Semikhatsky <yurys@chromium.org> + + Unreviewed. Fix compilation on Windows. + + * inspector/InspectorStyleSheet.cpp: + (WebCore::InspectorStyle::~InspectorStyle): added explicit empty destructor + * inspector/InspectorStyleSheet.h: + +2010-12-24 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Darin Adler. + + inspector/debugger-step-out.html crashing intermittently in the bots + https://bugs.webkit.org/show_bug.cgi?id=50868 + + Use RefPtr rather instead of raw pointers when keeping references + to refcounted objects. + + * inspector/InspectorCSSAgent.cpp: + (WebCore::InspectorCSSAgent::getStylesForNode2): + (WebCore::InspectorCSSAgent::getComputedStyleForNode2): + * inspector/InspectorStyleSheet.cpp: + (WebCore::InspectorStyle::create): + (WebCore::InspectorStyle::InspectorStyle): + (WebCore::InspectorStyle::buildObjectForStyle): + (WebCore::InspectorStyle::setPropertyText): + (WebCore::InspectorStyle::toggleProperty): + (WebCore::InspectorStyle::styleText): + (WebCore::InspectorStyle::populateAllProperties): + (WebCore::InspectorStyle::replacePropertyInStyleText): + (WebCore::InspectorStyleSheet::create): + (WebCore::InspectorStyleSheet::InspectorStyleSheet): + (WebCore::InspectorStyleSheetForInlineStyle::create): + (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle): + (WebCore::InspectorStyleSheetForInlineStyle::getStyleAttributeRanges): + * inspector/InspectorStyleSheet.h: + (WebCore::InspectorStyle::cssStyle): + (WebCore::InspectorStyleSheet::pageStyleSheet): + +2010-12-24 Justin Schuh <jschuh@chromium.org> + + Reviewed by Nikolas Zimmermann. + + SVGElementInstance::m_useElement should be cleared when use element is removed from document + https://bugs.webkit.org/show_bug.cgi?id=51486 + + Test: svg/custom/use-instanceRoot-with-use-removed.svg + + * svg/SVGElementInstance.cpp: + (WebCore::SVGElementInstance::invalidateAllInstancesOfElement): + * svg/SVGElementInstance.h: + (WebCore::SVGElementInstance::clearUseElement): + * svg/SVGUseElement.cpp: + (WebCore::SVGUseElement::removedFromDocument): + (WebCore::ShadowTreeUpdateBlocker::if): + (WebCore::SVGUseElement::detachInstance): + (WebCore::SVGUseElement::detach): + * svg/SVGUseElement.h: + +2010-12-23 Joseph Pecoraro <joepeck@webkit.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: Missing Localized Strings + https://bugs.webkit.org/show_bug.cgi?id=51542 + + Added missing strings: "WebSocket", "Frames", "Text", "Transfer", + "Preserve Log upon Navigation", and "Go to Line". + + * English.lproj/localizedStrings.js: + +2010-12-24 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: Inline HTML style property out of sync with element.style in Sidebar + https://bugs.webkit.org/show_bug.cgi?id=51478 + + Now the element attribute modifications (including "style") are tracked, which results in the + source offsets update (in the backend) and Styles/Metrics pane updates (in the frontend) + on the "style" attribute modification through the Elements tree. Also, it appears that + a complete "style" attribute removal destroys the inline style declaration + (StyledElement::m_inlineStyleDecl), while the code used to rely on it being immutable (hence a crash). + + Test: inspector/elements-delete-inline-style.html + + * inspector/InspectorCSSAgent.cpp: + (WebCore::InspectorCSSAgent::didModifyDOMAttr): + * inspector/InspectorCSSAgent.h: + * inspector/InspectorDOMAgent.cpp: + (WebCore::InspectorDOMAgent::didModifyDOMAttr): + * inspector/InspectorDOMAgent.h: + * inspector/InspectorStyleSheet.cpp: + (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle): + (WebCore::InspectorStyleSheetForInlineStyle::didModifyElementAttribute): + (WebCore::InspectorStyleSheetForInlineStyle::text): + (WebCore::InspectorStyleSheetForInlineStyle::setStyleText): + (WebCore::InspectorStyleSheetForInlineStyle::getStyleAttributeRanges): + * inspector/InspectorStyleSheet.h: + * inspector/front-end/ElementsTreeOutline.js: + (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted): + +2010-12-24 Noel Gordon <noel.gordon@gmail.com> + + Reviewed by Andreas Kling. + + [chromium] Fix a style nit in the JPEG encoder + https://bugs.webkit.org/show_bug.cgi?id=51574 + + * platform/image-encoders/skia/JPEGImageEncoder.cpp: nit begone. + +2010-12-23 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Maciej Stachowiak. + + Web Inspector: CSS shorthand properties expand unnecessarily + https://bugs.webkit.org/show_bug.cgi?id=36304 + + "border-radius" is a shorthand property that has a "non-standard" format and longhands, see + http://www.w3.org/TR/css3-background/#border-radius for reference. CSSParser does not use the + standard parseShorthand() or parse4Values() methods but instead a custom parseBorderRadius() method. + This method didn't use to create a ShorthandScope instance and set the m_implicitShorthand value + appropriately when adding implicit longhands, thus they were added as normal properties + found in the CSS (neither implicit, nor longhands). This is now fixed. + + * css/CSSParser.cpp: + (WebCore::CSSParser::parseBorderRadius): + +2010-12-24 Justin Schuh <jschuh@chromium.org> + + Reviewed by Darin Adler. + + setTargetAttributeAnimatedValue should check for a null shadowTreeElement. + https://bugs.webkit.org/show_bug.cgi?id=51576 + + Disallowed elements may be pruned from the shadow tree, leaving a null + shadowTreeElement. We should check for that before setting attributes. + + Test: svg/custom/animate-disallowed-use-element.svg + + * svg/SVGAnimationElement.cpp: + (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue): + +2010-12-24 Evan Martin <evan@chromium.org> + + Reviewed by Darin Adler. + + TextMetrics::width is an integer, but the member is a float + https://bugs.webkit.org/show_bug.cgi?id=51566 + + Change the return type to a float. + + No tests, fixing a compiler warning. + (I was unable to produce a difference in the values exposed to pages + with a float versus the previous conversion to an integer.) + + * html/TextMetrics.h: + (WebCore::TextMetrics::width): + +2010-12-24 Ryuan Choi <ryuan.choi@samsung.com> + + Reviewed by Kenneth Rohde Christiansen. + + [EFL] Add option to enable Touch Events. + https://bugs.webkit.org/show_bug.cgi?id=49125 + + Add files for EFL to support TOUCH_EVENTS. + + * CMakeLists.txt: + * CMakeListsEfl.txt: + * platform/PlatformTouchEvent.h: Add EFL related constructor. + * platform/PlatformTouchPoint.h: ditto. + * platform/efl/PlatformTouchEventEfl.cpp: Added. + (WebCore::PlatformTouchEvent::PlatformTouchEvent): + * platform/efl/PlatformTouchPointEfl.cpp: Added. + (WebCore::PlatformTouchPoint::PlatformTouchPoint): + +2010-12-24 Gyuyoung Kim <gyuyoung.kim@samsung.com> + + Reviewed by Kenneth Rohde Christiansen. + + [EFL] Return an empty string instead of 'application/octet-stream' in getMIMETypeForExtension() + https://bugs.webkit.org/show_bug.cgi?id=51457 + + WebKit EFL can't play html5 audio because of wrong mime type checking. + So, 'application/octet-stream' is changed with an empty string. + + * platform/efl/MIMETypeRegistryEfl.cpp: + (WebCore::MIMETypeRegistry::getMIMETypeForExtension): + Returns an empty string instead of application/octet-stream when it can't find proper mime type. + +2010-12-24 Justin Schuh <jschuh@chromium.org> + + Reviewed by Darin Adler. + + SVGFontFaceElement::rebuildFontFace() should exit when not in document + https://bugs.webkit.org/show_bug.cgi?id=51571 + + We were hitting a NULL deref crash. Since most of the callers checked + inDocument() anyway, I moved it into the start of rebuildFontFace. + + Test: svg/custom/use-invalid-font-face.svg + + * svg/SVGFontFaceElement.cpp: + (WebCore::SVGFontFaceElement::parseMappedAttribute): + (WebCore::SVGFontFaceElement::rebuildFontFace): + (WebCore::SVGFontFaceElement::childrenChanged): + +2010-12-24 Justin Schuh <jschuh@chromium.org> + + Reviewed by Darin Adler. + + Remove unnecessary check in CSSCanvasValue::canvasDestroyed(). + https://bugs.webkit.org/show_bug.cgi?id=51564 + + This check was duplicating an ASSERT for a case fixed in r73927. + Now that the bug is fixed the check is no longer necessary. + + Removing dead code, so no new tests needed. + + * css/CSSCanvasValue.cpp: + (WebCore::CSSCanvasValue::canvasDestroyed): + +2010-12-23 Evan Martin <evan@chromium.org> + + Reviewed by Darin Adler. + + ViewportArguments.h uses an enum to intialize a bool + https://bugs.webkit.org/show_bug.cgi?id=50982 + + Initialize userScalable to true, rather than -1. + No tests; fixes a compiler warning. + + * dom/ViewportArguments.h: + (WebCore::ViewportArguments::ViewportArguments): + +2010-12-23 Jan Erik Hanssen <jhanssen@sencha.com> + + Reviewed by Adam Barth. + + [Qt] User name/password stripped from URLs + https://bugs.webkit.org/show_bug.cgi?id=36232 + + If a username but no password or no username but a password is present + in a URL, QtWebKit won't send any authentication information down to Qt + as it should. + + Tests: http/tests/xmlhttprequest/basic-auth-nopassword.html + http/tests/xmlhttprequest/basic-auth-nouser.html + + * platform/network/qt/ResourceHandleQt.cpp: + (WebCore::ResourceHandle::start): + (WebCore::ResourceHandle::loadResourceSynchronously): + +2010-12-23 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Darin Adler. + + queryCommandValue("FormatBlock") does not respect editing boundaries + https://bugs.webkit.org/show_bug.cgi?id=51219 + + Fixed the bug by checking the element we found in elementForFormatBlockCommand + does not contain the editable root. + + * editing/FormatBlockCommand.cpp: + (WebCore::FormatBlockCommand::elementForFormatBlockCommand): + +2010-12-23 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Darin Adler. + + FormatBlock doesn't preserve typing style but it should + https://bugs.webkit.org/show_bug.cgi?id=51140 + + Fixed the bug by making preserveTypingStyle return true. + + Test: editing/execCommand/format-block-typing-style.html + + * editing/FormatBlockCommand.h: + (WebCore::FormatBlockCommand::preservesTypingStyle): + +2010-12-23 Jessie Berlin <jberlin@apple.com> + + Reviewed by Sam Weinig. + + Need WebKit2 API to create a SecurityOrigin from protocol, host, and port + https://bugs.webkit.org/show_bug.cgi?id=51563 + + Add SecurityOrigin::create(const String& protocol, const String& host, int port). + + * WebCore.exp.in: + Export the symbols for WebCore::SecurityOrigin::create(String, String, int). + + * page/SecurityOrigin.cpp: + (WebCore::SecurityOrigin::createFromDatabaseIdentifier): + Use the constant MaxAllowedPort. + (WebCore::SecurityOrigin::create): + Sanitizing based off of that done in createFromDatabaseIdentifier. + * page/SecurityOrigin.h: + +2010-12-23 Patrick Gansterer <paroga@webkit.org> + + Unreviewed build fix for WinCE after r73802. + + Reapply r70812: + Port ContextMenuItemWin.cpp to WinCE + https://bugs.webkit.org/show_bug.cgi?id=48407 + + * platform/win/ContextMenuItemWin.cpp: + +2010-12-23 Adam Barth <abarth@webkit.org> + + Remove include of non-existant file. + + * bindings/v8/custom/V8DOMWindowCustom.cpp: + +2010-12-23 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Darin Adler. + + Selection becomes stale when CharacterData is manipulated directly + https://bugs.webkit.org/show_bug.cgi?id=51389 + + The bug was caused by SelectionController's not adjusting selection when CharacterData's + m_data is modified by its API. + + Fixed the bug by adding textWillBeReplaced to SelectionController and calling it in + CharacterData::textWillBeReplaced. Added newLength to setDataAndUpdate, which is passed to + textWillBeReplaced because inserting, replacing, or removing data may require moving + the offset of the selection end points (done by shouldRemovePositionAfterAdoptingTextReplacement). + + Also fixed the condition for determining whether or not a node intersects the selection + in respondToNodeModification, which is extracted from nodeWillBeRemoved. The old condition + failed to recognize certain cases when selection started and ended with non-zero offsets. + + Tests: editing/selection/character-data-mutation-crash.html + editing/selection/character-data-mutation.html + + * dom/CharacterData.cpp: + (WebCore::CharacterData::setData): Passes newLegnth to setDataAndUpdate. + (WebCore::CharacterData::appendData): Ditto. + (WebCore::CharacterData::insertData): Ditto. + (WebCore::CharacterData::deleteData): Ditto. + (WebCore::CharacterData::replaceData): Ditto. + (WebCore::CharacterData::setDataAndUpdate): Added newLegnth to the argument list, + and renamed lengthOfReplacedData to oldLength; calls textWillBeReplaced. + * dom/CharacterData.h: + * editing/SelectionController.cpp: + (WebCore::removingNodeRemovesPosition): Removed indentations from blank lines. + (WebCore::SelectionController::nodeWillBeRemoved): Calls nodeWillBeRemoved. + (WebCore::SelectionController::respondToNodeModification): Extracted from nodeWillBeRemoved; + fixed the logic to figure out whether a node is inside the range or not. + (WebCore::shouldRemovePositionAfterAdoptingTextReplacement): Added. + (WebCore::SelectionController::textWillBeReplaced): Added. + * editing/SelectionController.h: + +2010-12-23 Adam Barth <abarth@webkit.org> + + Reviewed by Darin Adler. + + Remove unneeded V8 bindings files + https://bugs.webkit.org/show_bug.cgi?id=51570 + + * WebCore.gypi: + * bindings/generic/BindingDOMWindow.h: Removed. + * bindings/v8/specialization/V8BindingDOMWindow.h: Removed. + +2010-12-23 Dan Bernstein <mitz@apple.com> + + Build fix. + + * editing/EditorCommand.cpp: + (WebCore::enabledDismissCorrectionPanel): + +2010-12-23 Darin Adler <darin@apple.com> + + Try to fix crash seen on GTK bot. + + * editing/EditorCommand.cpp: + (WebCore::internalCommand): Add back empty string check I accidentally deleted in r74580. + + * WebCore.xcodeproj/project.pbxproj: Let Xcode edit the file. + +2010-12-23 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r74561. + http://trac.webkit.org/changeset/74561 + https://bugs.webkit.org/show_bug.cgi?id=51565 + + "Broke Chromium UI tests on Vista" (Requested by kbr_google on + #webkit). + + * platform/graphics/chromium/ImageLayerChromium.cpp: + (WebCore::ImageLayerChromium::updateContentsIfDirty): + * platform/graphics/skia/GraphicsContext3DSkia.cpp: + (WebCore::GraphicsContext3D::getImageData): + +2010-12-23 Mihai Parparita <mihaip@chromium.org> + + Reviewed by Kent Tamura. + + [Chromium] Add WebThemeEngine for Mac to allow scrollbar rendering to be overridden for the DRT + https://bugs.webkit.org/show_bug.cgi?id=51507 + + Adds WebThemeEngine for the Mac (it already has parallel definitions for + Windows and Linux) so that scrollbar thumb rendering can be overridden + for the DRT (to be consistent with the NSScroller-based rendering + used by the Mac port). + + No new tests since the functionality is not exposed yet. Eventually will + result in the Chromium/Mac port being able to use the same pixel + baselines for layout tests as the Mac port. + + * platform/chromium/ChromiumBridge.h: + * platform/chromium/ScrollbarThemeChromiumMac.mm: + (WebCore::scrollbarStateToThemeState): + (WebCore::ScrollbarThemeChromiumMac::paint): + +2010-12-23 Darin Adler <darin@apple.com> + + Reviewed by Sam Weinig. + + WKView should not try to do asynchronous validation for selectors that are not editor commands + https://bugs.webkit.org/show_bug.cgi?id=51555 + + * WebCore.exp.in: Added commandIsSupportedFromMenuOrKeyBinding. + * editing/Editor.h: Reordered arguments in the Editor::Command constructor + and the data members too so the frame is last. Added + commandIsSupportedFromMenuOrKeyBinding. + + * editing/EditorCommand.cpp: + (WebCore::supported): Removed the EditorCommandSource argument. These + functions are now only used when called from DOM. + (WebCore::supportedFromMenuOrKeyBinding): Ditto. + (WebCore::supportedCopyCut): Ditto. + (WebCore::supportedPaste): Ditto. + (WebCore::enabledDismissCorrectionPanel): Changed the supported function to + an enabled function. It was incorrect to say that this is "supported" only + when the correction panel is up. Correct to say that it is "enabled" only + then. And also probably OK to enable it even when the selection is not in + editable text, as long as the panel is up. + (WebCore::createCommandMap): Moved conditional commands out of the main + array into a separate section at the end. + (WebCore::internalCommand): Added. + (WebCore::Editor::command): Changed to use the new internalCommand function + and simplified by relying on the null check in the Command constructor. + (WebCore::Editor::commandIsSupportedFromMenuOrKeyBinding): Added. + (WebCore::Editor::Command::Command): Removed unneeded initialization of + m_source, which is never looked at if m_command is 0. Added feature of + passing a null command pointer to the non-default constructor. + (WebCore::Editor::Command::isSupported): Changed to only call the + per-command isSupported function when the command source is DOM. + Accordingly that function is now called isSupportedFromDOM. + +2010-12-23 Matthew Delaney <mdelaney@apple.com> + + Reviewed by Simon Fraser. + + Incorrect layer property used noted as changed in GraphicsLayerCA::setAcceleratesDrawing + https://bugs.webkit.org/show_bug.cgi?id=51560 + + No new tests. + + * platform/graphics/ca/GraphicsLayerCA.cpp: + (WebCore::GraphicsLayerCA::setAcceleratesDrawing): + +2010-12-23 Jan Erik Hanssen <jhanssen@sencha.com> + + Reviewed by Andreas Kling. + + [Qt] copy and paste greek symbols to Word, TextEdit results in ?'s being shown + https://bugs.webkit.org/show_bug.cgi?id=35635 + + Explicitly set text/html data on QClipboard as UTF-8 and also include a <meta> + tag informing the OS that the data is in UTF-8 format. + + * platform/qt/PasteboardQt.cpp: + (WebCore::Pasteboard::writeSelection): + +2010-12-23 Justin Schuh <jschuh@chromium.org> + + Reviewed by Eric Seidel. + + CSSCursorImageValue destructor should clear referenced element. + https://bugs.webkit.org/show_bug.cgi?id=51417 + + Calls correct method to clear image and renames method to avoid future confusion. + + Test: svg/css/cursor-image-replace.svg + + * css/CSSCursorImageValue.cpp: + (WebCore::CSSCursorImageValue::~CSSCursorImageValue): + * svg/SVGElement.cpp: + (WebCore::SVGElement::cursorImageValueRemoved): + * svg/SVGElement.h: + +2010-12-22 Sam Weinig <sam@webkit.org> + + Reviewed by Darin Adler. + + WebKit2 needs to mirror the frame tree in the UIProcess + https://bugs.webkit.org/show_bug.cgi?id=51546 + + - Add client functions to notify that a frame has been added or + removed from the page cache. + + * history/CachedFrame.cpp: + (WebCore::CachedFrameBase::restore): + (WebCore::CachedFrame::CachedFrame): + * history/CachedFrame.h: + * loader/EmptyClients.h: + (WebCore::EmptyFrameLoaderClient::didSaveToPageCache): + (WebCore::EmptyFrameLoaderClient::didRestoreFromPageCache): + * loader/FrameLoaderClient.h: + +2010-12-22 Matthew Delaney <mdelaney@apple.com> + + Reviewed by Simon Fraser. + + Add setNeedsStyleRecalc for getting canvas contexts that use IOSurfaces + This patch also changes USE_IOSURFACE to instead follow USE(IOSURFACE) + https://bugs.webkit.org/show_bug.cgi?id=51279 + + * html/HTMLCanvasElement.cpp: For IOSurface, use setNeedsStyleRecalc + * html/canvas/CanvasRenderingContext2D.cpp: Use new flag + * platform/graphics/ImageBuffer.h: Use new flag + * platform/graphics/cg/ImageBufferCG.cpp: Use new flag + +2010-12-20 Adrienne Walker <enne@google.com> + + Reviewed by Kenneth Russell. + + [chromium] Tile root layer of the compositor. + https://bugs.webkit.org/show_bug.cgi?id=49947 + + Refactor root layer update and drawing from LayerRendererChromium into + LayerTilerChromium. The root layer is now drawn as multiple tiles + rather than as one single large texture. Scrollbars are now drawn + separately rather than as part of the root layer. + + Test: LayoutTests/compositing/ + + * WebCore.gypi: + * page/FrameView.cpp: + (WebCore::FrameView::repaintContentRectangle): + * platform/ScrollView.cpp: + (WebCore::ScrollView::ScrollView): + (WebCore::ScrollView::setClipsRepaints): + * platform/ScrollView.h: + (WebCore::ScrollView::clipsRepaints): + * platform/graphics/chromium/LayerChromium.h: + * platform/graphics/chromium/LayerRendererChromium.cpp: + (WebCore::LayerRendererChromium::LayerRendererChromium): + (WebCore::LayerRendererChromium::~LayerRendererChromium): + (WebCore::LayerRendererChromium::useShader): + (WebCore::LayerRendererChromium::verticalScrollbarRect): + (WebCore::LayerRendererChromium::horizontalScrollbarRect): + (WebCore::LayerRendererChromium::invalidateRootLayerRect): + (WebCore::LayerRendererChromium::updateAndDrawRootLayer): + (WebCore::LayerRendererChromium::drawLayers): + (WebCore::LayerRendererChromium::setRootLayer): + (WebCore::LayerRendererChromium::initializeSharedObjects): + (WebCore::LayerRendererChromium::cleanupSharedObjects): + * platform/graphics/chromium/LayerRendererChromium.h: + * platform/graphics/chromium/LayerTilerChromium.cpp: Added. + (WebCore::LayerTilerChromium::create): + (WebCore::LayerTilerChromium::LayerTilerChromium): + (WebCore::LayerTilerChromium::~LayerTilerChromium): + (WebCore::LayerTilerChromium::layerRendererContext): + (WebCore::LayerTilerChromium::setTileSize): + (WebCore::LayerTilerChromium::reset): + (WebCore::LayerTilerChromium::createTile): + (WebCore::LayerTilerChromium::invalidateTiles): + (WebCore::LayerTilerChromium::contentRectToTileIndices): + (WebCore::LayerTilerChromium::contentRectToLayerRect): + (WebCore::LayerTilerChromium::layerRectToContentRect): + (WebCore::LayerTilerChromium::tileIndex): + (WebCore::LayerTilerChromium::tileContentRect): + (WebCore::LayerTilerChromium::tileLayerRect): + (WebCore::LayerTilerChromium::invalidateRect): + (WebCore::LayerTilerChromium::invalidateEntireLayer): + (WebCore::LayerTilerChromium::update): + (WebCore::LayerTilerChromium::setLayerPosition): + (WebCore::LayerTilerChromium::draw): + (WebCore::LayerTilerChromium::resizeLayer): + (WebCore::LayerTilerChromium::growLayerToContain): + (WebCore::LayerTilerChromium::Tile::~Tile): + (WebCore::LayerTilerChromium::Tile::releaseTextureId): + * platform/graphics/chromium/LayerTilerChromium.h: Added. + (WebCore::LayerTilerChromium::Tile::Tile): + (WebCore::LayerTilerChromium::Tile::textureId): + (WebCore::LayerTilerChromium::Tile::dirty): + (WebCore::LayerTilerChromium::Tile::clearDirty): + (WebCore::LayerTilerChromium::layerRenderer): + +2010-12-22 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Eric Seidel. + + Editor.h doesn't need to include SelectionController.h + https://bugs.webkit.org/show_bug.cgi?id=51441 + + Removed #include <Selection.h> from Editor.h. + Also extracted WritingDirection.h from EditingStyle.h and renamed SelectionController::EDirection + to SelectionDirection and moved its declaration from SelectionController.h to VisibleSelection.h + + * WebCore.exp.in: Signature changes. + * WebCore.xcodeproj/project.pbxproj: Added WritingDirection.h + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::visiblePositionRangeForLine): Change due to SelectionDirection. + * editing/EditingStyle.h: Removed WritingDirection and included WritingDirection.h + * editing/Editor.cpp: + (WebCore::Editor::deleteWithDirection): Change due to SelectionDirection. + (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Ditto. + (WebCore::Editor::markMisspellingsAfterTypingToWord): Ditto. + * editing/Editor.h: Removed SelectionController.h; added DocumentMarker.h, Timer.h, VisibleSelection.h + and WritingDirection.h; forward declared CSSMutableStyleDeclaration. + * editing/EditorCommand.cpp: + (WebCore::executeDeleteBackward): Change due to SelectionDirection. + (WebCore::executeDeleteBackwardByDecomposingPreviousCharacter): Ditto. + (WebCore::executeDeleteForward): Ditto. + (WebCore::executeDeleteToBeginningOfLine): Ditto. + (WebCore::executeDeleteToBeginningOfParagraph): Ditto. + (WebCore::executeDeleteToEndOfLine): Ditto. + (WebCore::executeDeleteToEndOfParagraph): Ditto. + (WebCore::executeDeleteWordBackward): Ditto. + (WebCore::executeDeleteWordForward): Ditto. + (WebCore::executeForwardDelete): Ditto. + (WebCore::executeMoveBackward): Ditto. + (WebCore::executeMoveBackwardAndModifySelection): Ditto. + (WebCore::executeMoveDown): Ditto. + (WebCore::executeMoveDownAndModifySelection): Ditto. + (WebCore::executeMoveForward): Ditto. + (WebCore::executeMoveForwardAndModifySelection): Ditto. + (WebCore::executeMoveLeft): Ditto. + (WebCore::executeMoveLeftAndModifySelection): Ditto. + (WebCore::executeMoveRight): Ditto. + (WebCore::executeMoveRightAndModifySelection): Ditto. + (WebCore::executeMoveToBeginningOfDocument): Ditto. + (WebCore::executeMoveToBeginningOfDocumentAndModifySelection): Ditto. + (WebCore::executeMoveToBeginningOfLine): Ditto. + (WebCore::executeMoveToBeginningOfLineAndModifySelection): Ditto. + (WebCore::executeMoveToBeginningOfParagraph): Ditto. + (WebCore::executeMoveToBeginningOfParagraphAndModifySelection): Ditto. + (WebCore::executeMoveToBeginningOfSentence): Ditto. + (WebCore::executeMoveToBeginningOfSentenceAndModifySelection): Ditto. + (WebCore::executeMoveToEndOfDocument): Ditto. + (WebCore::executeMoveToEndOfDocumentAndModifySelection): Ditto. + (WebCore::executeMoveToEndOfSentence): Ditto. + (WebCore::executeMoveToEndOfSentenceAndModifySelection): Ditto. + (WebCore::executeMoveToEndOfLine): Ditto. + (WebCore::executeMoveToEndOfLineAndModifySelection): Ditto. + (WebCore::executeMoveToEndOfParagraph): Ditto. + (WebCore::executeMoveToEndOfParagraphAndModifySelection): Ditto. + (WebCore::executeMoveParagraphBackwardAndModifySelection): Ditto. + (WebCore::executeMoveParagraphForwardAndModifySelection): Ditto. + (WebCore::executeMoveUp): Ditto. + (WebCore::executeMoveUpAndModifySelection): Ditto. + (WebCore::executeMoveWordBackward): Ditto. + (WebCore::executeMoveWordBackwardAndModifySelection): Ditto. + (WebCore::executeMoveWordForward): Ditto. + (WebCore::executeMoveWordForwardAndModifySelection): Ditto. + (WebCore::executeMoveWordLeft): Ditto. + (WebCore::executeMoveWordLeftAndModifySelection): Ditto. + (WebCore::executeMoveWordRight): Ditto. + (WebCore::executeMoveWordRightAndModifySelection): Ditto. + (WebCore::executeMoveToLeftEndOfLine): Ditto. + (WebCore::executeMoveToLeftEndOfLineAndModifySelection): Ditto. + (WebCore::executeMoveToRightEndOfLine): Ditto. + (WebCore::executeMoveToRightEndOfLineAndModifySelection): Ditto. + * editing/SelectionController.cpp: + (WebCore::SelectionController::willBeModified): Takes SelectionDirection instead of EDirection. + (WebCore::SelectionController::modify): Ditto. + * editing/SelectionController.h: Change due to SelectionDirection. + * editing/TypingCommand.cpp: + (WebCore::TypingCommand::deleteKeyPressed): Ditto. + (WebCore::TypingCommand::forwardDeleteKeyPressed): Ditto. + * editing/VisibleSelection.h: Added SelectionDirection, renamed and moved from EDirection + in SelectionController.h + * editing/WritingDirection.h: Added. + * page/DOMSelection.cpp: + (WebCore::DOMSelection::modify): Change due to SelectionDirection. + (WebCore::DOMSelection::deleteFromDocument): Ditto. + * page/EventHandler.cpp: + (WebCore::EventHandler::handleKeyboardSelectionMovement): Ditto. + * page/Frame.h: Includes SelectionController.h. + +2010-12-23 Adam Barth <abarth@webkit.org> + + Reviewed by Darin Adler. + + Move V8 to WebCore's implementation of showModalDialog + https://bugs.webkit.org/show_bug.cgi?id=51527 + + This code is basically verbatim translation from the JavaScriptCore + bindings. The only intentional difference is in the world selection + for the dialog's frame. I suspect JavaScriptCore's bindings have a + subtle bug there. + + In this patch, I also remove a bunch of now-unneeded code in the + generic bindings. + + * bindings/generic/BindingDOMWindow.h: + * bindings/js/JSDOMWindowCustom.cpp: + (WebCore::DialogHandler::dialogCreated): + (WebCore::setUpDialog): + * bindings/v8/custom/V8DOMWindowCustom.cpp: + (WebCore::DialogHandler::DialogHandler): + (WebCore::DialogHandler::dialogCreated): + (WebCore::DialogHandler::returnValue): + (WebCore::setUpDialog): + (WebCore::V8DOMWindow::showModalDialogCallback): + (WebCore::V8DOMWindow::openCallback): + * bindings/v8/specialization/V8BindingDOMWindow.h: + +2010-12-23 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Joseph Pecoraro. + + Web Inspector: Can't backspace from CSS value to CSS key field + https://bugs.webkit.org/show_bug.cgi?id=51476 + + * inspector/front-end/StylesSidebarPane.js: + (WebInspector.StylePropertyTreeElement.prototype.): + (WebInspector.StylePropertyTreeElement.prototype): + +2010-12-23 W. James MacLean <wjmaclean@chromium.org> + + Reviewed by Kenneth Russell. + + [chromium] Add asserts to test for contiguous-pixel Skia bitmaps. + https://bugs.webkit.org/show_bug.cgi?id=51186 + + No new tests. Behaviour not changed, but need the asserts to detect when assumptions violated. + + * platform/graphics/chromium/ImageLayerChromium.cpp: + (WebCore::ImageLayerChromium::updateContentsIfDirty): + * platform/graphics/skia/GraphicsContext3DSkia.cpp: + (WebCore::GraphicsContext3D::getImageData): + +2010-12-23 Lucas De Marchi <lucas.demarchi@profusion.mobi> + + Reviewed by Kenneth Rohde Christiansen. + + Fix check by undefined macro + https://bugs.webkit.org/show_bug.cgi?id=51531 + + Fix check by undefined macro + + When building EFL port with libsoup, BUILDING_GTK__ is not defined, + leading to warnings during compile. We actually have to use an #ifdef + instead of an #if. + + No change in functionality so no new tests. + + * platform/network/soup/cache/webkit/soup-cache.h: + +2010-12-23 Jonathan Dixon <joth@chromium.org> + + Reviewed by Steve Block. + + TouchEvents does not support multi-touch on a page with multiple touch targets + https://bugs.webkit.org/show_bug.cgi?id=51258 + + Test: fast/events/touch/multi-touch-grouped-targets.html + + * page/EventHandler.cpp: + (WebCore::eventNameForTouchPointState): + (WebCore::EventHandler::handleTouchEvent): + Redesigned event handler to ensure all event targets involved in a given + multitouch event get the appropriate event(s) fired. + + * platform/PlatformTouchPoint.h: Added end-stop marker for State enum. + +2010-12-23 Philippe Normand <pnormand@igalia.com> + + Reviewed by Xan Lopez. + + [GTK] media/audio-data-url.html fails since r75504 + https://bugs.webkit.org/show_bug.cgi?id=51525 + + Make the GStreamer media-player advertize 3gpp mime-types as + supported if the 3gp caps are in the typefind factories. + + * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: + (WebCore::mimeTypeCache): + +2010-12-23 Kent Tamura <tkent@chromium.org> + + Reviewed by Dimitri Glazkov. + + Refactor HTMLInputElement: Move a part of HTMLInputElement::defaultEventHandler() + to InputTypes. + https://bugs.webkit.org/show_bug.cgi?id=51093 + + Move BeforeTextInserted and Wheel event handling, event forwarding to + renderers, and the isindex form submission quirk code to InputTypes. + Also, change the return types of InputType event handlers from 'bool' + to 'void'. We use Event::defaultHandled() to decide whether event + handling should be stopped. + + No new tests because this is just a refactoring. + + * html/BaseButtonInputType.cpp: bool->void changes + (WebCore::BaseButtonInputType::handleKeydownEvent): + (WebCore::BaseButtonInputType::handleKeypressEvent): + (WebCore::BaseButtonInputType::handleKeyupEvent): + * html/BaseButtonInputType.h: ditto. + * html/BaseCheckableInputType.cpp: ditto. + (WebCore::BaseCheckableInputType::handleKeydownEvent): + (WebCore::BaseCheckableInputType::handleKeypressEvent): + * html/BaseCheckableInputType.h: ditto. + * html/BaseDateAndTimeInputType.cpp: + (WebCore::BaseDateAndTimeInputType::handleKeydownEvent): ditto. + (WebCore::BaseDateAndTimeInputType::handleWheelEvent): Just calls handleWheelEventForSpinButton(). + * html/BaseDateAndTimeInputType.h: bool->void change and handleWhellEvent() addition. + * html/CheckboxInputType.cpp: bool->void change + (WebCore::CheckboxInputType::handleKeyupEvent): + * html/CheckboxInputType.h: ditto. + * html/FileInputType.cpp: ditto. + (WebCore::FileInputType::handleDOMActivateEvent): + * html/FileInputType.h: ditto. + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::defaultEventHandler): + - Change return-value handling of InputType event handlers + - Move out beforeTextInserted/wheel event handling and isindex form quirk. + * html/HTMLInputElement.h: + (WebCore::HTMLInputElement::handleBeforeTextInsertedEvent): + Added so that InputType can call InputElement::handleBeforeTextInsertedEvent(). + * html/ImageInputType.cpp: bool->void change + (WebCore::ImageInputType::handleDOMActivateEvent): + * html/ImageInputType.h: ditto. + * html/InputType.cpp: ditto. + (WebCore::InputType::handleClickEvent): + (WebCore::InputType::handleDOMActivateEvent): + (WebCore::InputType::handleKeydownEvent): + (WebCore::InputType::handleKeypressEvent): + (WebCore::InputType::handleKeyupEvent): + (WebCore::InputType::handleBeforeTextInsertedEvent): + (WebCore::InputType::handleWheelEvent): Added default implementation. + (WebCore::InputType::forwardEvent): ditto. + (WebCore::InputType::formForSubmission): ditto. + * html/InputType.h: + * html/IsIndexInputType.cpp: + (WebCore::IsIndexInputType::formForSubmission): Moved from HTMLInputElement.cpp. + * html/IsIndexInputType.h: + * html/NumberInputType.cpp: + (WebCore::isNumberCharacter): Moved from HTMLInputElement.cpp. + (WebCore::NumberInputType::handleKeydownEvent): bool->void change. + (WebCore::NumberInputType::handleBeforeTextInsertedEvent): Moved from HTMInputElement.cpp. + (WebCore::NumberInputType::handleWheelEvent): Added. Just calls handleWheelEventForSpinButton(). + * html/NumberInputType.h: + * html/RadioInputType.cpp: bool->void changes. + (WebCore::RadioInputType::handleClickEvent): + (WebCore::RadioInputType::handleKeydownEvent): + (WebCore::RadioInputType::handleKeyupEvent): + * html/RadioInputType.h: + * html/RangeInputType.cpp: + (WebCore::RangeInputType::handleKeydownEvent): ditto. + (WebCore::RangeInputType::forwardEvent): Moved from HTMLInputElement.cpp. + * html/RangeInputType.h: + * html/ResetInputType.cpp: bool->void change. + (WebCore::ResetInputType::handleDOMActivateEvent): + * html/ResetInputType.h: ditto. + * html/SubmitInputType.cpp: ditto. + (WebCore::SubmitInputType::handleDOMActivateEvent): + * html/SubmitInputType.h: ditto. + * html/TextFieldInputType.cpp: + (WebCore::TextFieldInputType::handleKeydownEvent): bool->void change. + (WebCore::TextFieldInputType::handleKeydownEventForSpinButton): ditto. + (WebCore::TextFieldInputType::handleWheelEventForSpinButton): Moved from HTMLInputElement.cpp. + (WebCore::TextFieldInputType::forwardEvent): ditto. + * html/TextFieldInputType.h: + +2010-12-23 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Joseph Pecoraro. + + Web Inspector: After scrolling new property value and cancelling, removed property remains active in page style + https://bugs.webkit.org/show_bug.cgi?id=51390 + + * inspector/front-end/StylesSidebarPane.js: + (WebInspector.StylePropertyTreeElement.prototype): + +2010-12-23 Noel Gordon <noel.gordon@gmail.com> + + Reviewed by Adam Barth. + + [chromium] Reduce canvas.toDataURL("image/png") run-time costs 300% + https://bugs.webkit.org/show_bug.cgi?id=51455 + + Chromium uses the libpng compression defaults. Good compression results, + but at much larger run-time cost compared to other browsers. Chrome is 2 + times slower than Mozilla 3.6.12 and 3-4 times slower than Safari 5.0.3. + + libpng has supported alternative compression methods for some time, they + better meet the dual goals of good compression and run-time cost for the + on-line case, and are well-documented. Here use Huffman encoding. It's + 2-20% faster than other encodings (Z_RLE, Z_FILTERED) and the compressed + size is within 1% of the Safari 5.0.3 result independent of image size. + + No change in behaviour, so no new tests. + + * platform/image-encoders/skia/PNGImageEncoder.cpp: + (WebCore::PNGImageEncoder::encode): Apply Huffman image encoding. + +2010-12-22 Noel Gordon <noel.gordon@gmail.com> + + Reviewed by Darin Fisher. + + [chromium] Optimize canvas.toDataURL("image/png") unpremultiplication loop + https://bugs.webkit.org/show_bug.cgi?id=51321 + + Follow on from r73890, unroll the SkUnPreMultiply::PMColorToColor() call for + the "image/png" encoder case viz., compute the unpremultiplication in-place. + See https://bugs.webkit.org/show_bug.cgi?id=50804 for reference. + + No new tests: canvas.toDataURL() is covered by existing tests. + + * platform/image-encoders/skia/PNGImageEncoder.cpp: + (WebCore::preMultipliedBGRAtoRGBA): + +2010-12-22 Ariya Hidayat <ariya@sencha.com> + + Reviewed by Simon Fraser. + + Implement skewX() and skewY() for CSSMatrix. + https://bugs.webkit.org/show_bug.cgi?id=38335 + + * css/WebKitCSSMatrix.cpp: + (WebCore::WebKitCSSMatrix::skew): Implemented skewX() and skewY(). + * css/WebKitCSSMatrix.h: Added skewX() and skewY(). + * css/WebKitCSSMatrix.idl: Added skewX() and skewY(). + +2010-12-22 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dan Bernstein. + + Support unprefixed box-shadow property + https://bugs.webkit.org/show_bug.cgi?id=51448 + + Add support for the box-shadow CSS property. We'll currently render this + similarly to -webkit-box-shadow, but a later fix will adjust the blur radius + handling to match the spec. + + Test: fast/css/box-shadow.html + + * css/CSSComputedStyleDeclaration.cpp: + (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Implement getComputedStyle + for box-shadow + + * css/CSSParser.cpp: + (WebCore::CSSParser::parseValue): + (WebCore::ShadowParseContext::ShadowParseContext): + (WebCore::ShadowParseContext::commitValue): + (WebCore::ShadowParseContext::commitLength): + (WebCore::ShadowParseContext::commitColor): Support CSSPropertyBoxShadow + + * css/CSSPropertyNames.in: add box-shadow + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::applyProperty): Add CSSPropertyBoxShadow, and + store in the ShadowData if this is -webkit-box-shadow or not. We'll use this + to adjust radii later. + + * css/SVGCSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::applySVGProperty): Add CSSPropertyBoxShadow. + + * page/animation/AnimationBase.cpp: + (WebCore::blendFunc): + (WebCore::PropertyWrapperShadow::blend): + (WebCore::AnimationBase::ensurePropertyMap): Support animations of box-shadow. + + * rendering/style/ShadowData.cpp: Store a flag to say if this is a -webkit-box-shadow. + (WebCore::ShadowData::ShadowData): + (WebCore::ShadowData::operator==): + * rendering/style/ShadowData.h: + (WebCore::ShadowData::ShadowData): + (WebCore::ShadowData::isWebkitBoxShadow): + +2010-12-22 Michael Saboff <msaboff@apple.com> + + Reviewed by Sam Weinig. + + REGRESSION: Can't shadow/overwrite window.constructor + (causes TypeError exception) + https://bugs.webkit.org/show_bug.cgi?id=48953 + + Added code in the javascript code generator to create a setter for + a constructor if the new extended attribute ReplaceableConstructor + is present for the interface. + + * bindings/scripts/CodeGeneratorJS.pm: + * page/DOMWindow.idl: + +2010-12-22 Steve Lacey <sjl@chromium.org> + + Reviewed by David Levin. + + Change css for chromium media controls to deal with the timeline + not expanding when the current time disappears. This happens when + the width of the control drops below 240px. + + This change results in a minor pixel difference - the timebar now + aligns better with the time and when the time is not displayed is + now perfectly centered. Disabling the affected tests for now + and will rebaseline. + + https://bugs.webkit.org/show_bug.cgi?id=51500 + + * css/mediaControlsChromium.css: + (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): + +2010-12-22 Mihai Parparita <mihaip@chromium.org> + + Reviewed by Simon Fraser. + + the shadow direction is negated in canvas context shadowOffsetY. + https://bugs.webkit.org/show_bug.cgi?id=25619 + + Invert shadow offset Y direction in 0-blur path in FontMac::drawGlyps + if we're not transforming shadows (i.e. are rendering in a canvas). Also + use CG shadows if there's a non-translate/flip transform applied + (shadow offsets are supposed to ignore transforms, but the naive/simple + implementation was taking them into account). + + Also does the equivalent changes to FontCGWin. + + Test: fast/canvas/fillText-shadow.html + + * platform/graphics/GraphicsContext.cpp: + (WebCore::GraphicsContext::shadowsIgnoreTransforms): + * platform/graphics/GraphicsContext.h: + * platform/graphics/mac/FontMac.mm: + (WebCore::Font::drawGlyphs): + * platform/graphics/win/FontCGWin.cpp: + (WebCore::Font::drawGlyphs): + +2010-12-22 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r74503. + http://trac.webkit.org/changeset/74503 + https://bugs.webkit.org/show_bug.cgi?id=51513 + + breaks chromium mac debug compile (Requested by tonyg-cr on + #webkit). + + * platform/graphics/chromium/ImageLayerChromium.cpp: + (WebCore::ImageLayerChromium::updateContentsIfDirty): + * platform/graphics/skia/GraphicsContext3DSkia.cpp: + (WebCore::GraphicsContext3D::getImageData): + +2010-12-22 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + Replace runtime checks for hyphenation API availability with compile-time checks. + + * platform/text/cf/HyphenationCF.cpp: + (WebCore::::createValueForNullKey): Changed to use CFLocaleCopyCurrent() instead of using the + search locale, which is empty on Windows. On Mac, this is equivalent to using the search locale. + (WebCore::canHyphenate): Added this implementation for when the hyphenation API is not available. + It is identical to the implementation in Hyphenation.cpp. + (WebCore::lastHyphenLocation): Ditto. + +2010-12-22 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Darin Adler. + + Cache snapshots of plug-ins before painting, to avoid script running during painting + https://bugs.webkit.org/show_bug.cgi?id=51493 + + When FrameView is asked to do a flattening paint (e.g. when Safari snapshots, + or when printing), plug-ins which otherwise use the CA rendering model + are sent a paint event. Some plug-ins may run script while handling this event, + or out of process plug-ins may process queued requests at this time. Running + script while inside layout or painting can have bad consequences, because it + can result in arbitrary changes to the render tree. + + This patch avoids sending plug-ins paint events inside of painting. Instead, + we ask the plug-ins to cache a snapshot before we paint, and then the software + paint simply draws that snapshot. + + Requires manual test, because the bug happens when Safari does + a page snapshot. It's not possible to tell the Test Netscape Plug-in + to paint without laying out, making an automated test impossible. + + * manual-tests/plugins/plugin-paint-causes-layout.html: Added. + + * page/FrameView.h: + * page/FrameView.cpp: + (WebCore::FrameView::paintContents): Notify all enclosed widgets + that a flattening paint is going to happen. + (WebCore::FrameView::notifyWidgetsInAllFrames): Utility method + that tells the RenderView in all subframes to notify their widgets. + + * platform/Widget.h: + (WebCore::Widget::notifyWidget): Generic method that can be used + to send messages to widgets. Current messages are just 'before flattening paint' + and 'after flattening paint'. Message has no payload. + + * rendering/RenderView.h: + * rendering/RenderView.cpp: + (WebCore::RenderView::getRetainedWidgets): + (WebCore::RenderView::releaseWidgets): Factor code out of updateWidgetPositions(), + since we use it in two places now. + + (WebCore::RenderView::updateWidgetPositions): Use getRetainedWidgets() etc. + (WebCore::RenderView::notifyWidgets): Retain all the widgets, then send + them all the message. + + * rendering/RenderWidget.h: + * rendering/RenderWidget.cpp: + (WebCore::RenderWidget::notifyWidget): Pass the message to the widget. + +2010-12-22 Adrienne Walker <enne@google.com> + + Reviewed by Kenneth Russell. + + Fix null pointer deref when restoring a lost WebGL context. + https://bugs.webkit.org/show_bug.cgi?id=51494 + + No new tests, as context restored events are not currently testable. + + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::initializeNewContext): + (WebCore::WebGLRenderingContext::restoreContext): + +2010-12-22 Adam Bergkvist <adam.bergkvist@ericsson.com> + + Reviewed by Martin Robinson. + + [GTK] Building with Blob support fails again + https://bugs.webkit.org/show_bug.cgi?id=51392 + + Build fix. + + * GNUmakefile.am: + +2010-12-22 Dan Bernstein <mitz@apple.com> + + Reviewed by Anders Carlsson. + + canHyphenate() always returns true for the default locale + https://bugs.webkit.org/show_bug.cgi?id=51506 + + No test, since this change only affects performance. + + * platform/text/cf/HyphenationCF.cpp: + (WebCore::::createValueForNullKey): Return 0 if hyphenation is not supported for the default locale. + (WebCore::::createValueForKey): Removed whitespace. + +2010-12-22 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Joseph Pecoraro. + + Web Inspector: script name gets parsed as HTML in Call stack panel + https://bugs.webkit.org/show_bug.cgi?id=51468 + + * inspector/front-end/Placard.js: + (WebInspector.Placard.prototype.set subtitle): + +2010-12-22 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Darin Adler. + + MediaPlayer should look for MIME type in data: URL + https://bugs.webkit.org/show_bug.cgi?id=51195 + + If no MIME type is passed from the media element for a data: URL, try to get it from + the URL itself. + + No new tests are possible because the MIME type is just passed to the media engine. + + * platform/graphics/MediaPlayer.cpp: + (WebCore::MediaPlayer::load): + +2010-12-22 W. James MacLean <wjmaclean@chromium.org> + + Reviewed by Kenneth Russell. + + [chromium] Add asserts to test for contiguous-pixel Skia bitmaps. + https://bugs.webkit.org/show_bug.cgi?id=51186 + + No new tests. Behaviour not changed, but need the asserts to detect when assumptions violated. + + * platform/graphics/chromium/ImageLayerChromium.cpp: + (WebCore::ImageLayerChromium::updateContentsIfDirty): + * platform/graphics/skia/GraphicsContext3DSkia.cpp: + (WebCore::GraphicsContext3D::getImageData): + +2010-12-22 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Darin Adler. + + WAI-ARIA menubar role mapped to AXGroup, should be AXMenuBar + https://bugs.webkit.org/show_bug.cgi?id=51488 + + Test: platform/mac/accessibility/aria-menubar.html + + * accessibility/AccessibilityObject.cpp: + (WebCore::createARIARoleMap): + +2010-12-22 Zhenyao Mo <zmo@google.com> + + Reviewed by Kenneth Russell. + + CopyTex{Sub}Image2D check always if the bound fbo's internal color format is compatible + https://bugs.webkit.org/show_bug.cgi?id=51423 + + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::copyTexImage2D): Remove the isGLES2Compliant flag around format compatibility checking. + (WebCore::WebGLRenderingContext::copyTexSubImage2D): Ditto. + (WebCore::WebGLRenderingContext::getBoundFramebufferColorFormat): Helper function to get bound framebuffer's color format; deal with the case of webgl's internal fbo. + * html/canvas/WebGLRenderingContext.h: + +2010-12-22 Xan Lopez <xlopez@igalia.com> + + Reviewed by Gustavo Noronha. + + [GTK] Compilation fixes with GTK+ 2.91.7 + https://bugs.webkit.org/show_bug.cgi?id=51487 + + * platform/gtk/GtkVersioning.h: do not define GDK_DISPLAY for + backwards compatibility, it's now defined again in GTK+ 3.x. + * platform/gtk/PasteboardHelper.cpp: do not call GDK functions to + initialize global static variables (!). These are called when the + .so is loaded, and they now require GType to be initialized and + will crash. Initialize them once from the ctor, which is a more + common pattern anyway. + (WebCore::initGdkAtoms): new method to initialize static variables. + (WebCore::PasteboardHelper::PasteboardHelper): call it. + * plugins/gtk/PluginViewGtk.cpp: do not include gdkconfig.h when + using GTK+ 3.x, since it's no longer installed. + +2010-12-22 Dirk Schulze <krit@wbekit.org> + + Reviewed by Nikolas Zimmermann. + + Cleanup SVG code according to the webkit style rules 2 + https://bugs.webkit.org/show_bug.cgi?id=51461 + + Second patch to fix indention and other style issues according to the WebKit style rules in the SVG code. + + No changes of functionality, so no new tests. + + * svg/SVGFEDisplacementMapElement.cpp: + (WebCore::SVGFEDisplacementMapElement::stringToChannel): + * svg/SVGFEDistantLightElement.h: + * svg/SVGFEFuncAElement.h: + * svg/SVGFEFuncBElement.h: + * svg/SVGFEFuncGElement.h: + * svg/SVGFEFuncRElement.h: + * svg/SVGFEMergeElement.cpp: + (WebCore::SVGFEMergeElement::build): + * svg/SVGFEMorphologyElement.cpp: + * svg/SVGFEPointLightElement.h: + * svg/SVGFESpecularLightingElement.cpp: + (WebCore::SVGFESpecularLightingElement::findLights): + * svg/SVGFESpotLightElement.h: + * svg/SVGFitToViewBox.cpp: + (WebCore::SVGFitToViewBox::parseViewBox): + (WebCore::SVGFitToViewBox::isKnownAttribute): + * svg/SVGFontFaceElement.cpp: + (WebCore::cssPropertyIdForSVGAttributeName): + * svg/SVGFontFaceElement.h: + (WebCore::SVGFontFaceElement::associatedFontElement): + * svg/SVGFontFaceNameElement.h: + * svg/SVGFontFaceSrcElement.cpp: + * svg/SVGFontFaceSrcElement.h: + * svg/SVGFontFaceUriElement.h: + * svg/SVGForeignObjectElement.h: + * svg/SVGGlyphElement.cpp: + (WebCore::parseArabicForm): + (WebCore::parseOrientation): + * svg/SVGGlyphElement.h: + (WebCore::SVGGlyphIdentifier::SVGGlyphIdentifier): + (WebCore::SVGGlyphIdentifier::inheritedValue): + (WebCore::SVGGlyphIdentifier::operator==): + (WebCore::SVGGlyphElement::rendererIsNeeded): + * svg/SVGGlyphMap.h: + (WebCore::GlyphMapNode::GlyphMapNode): + (WebCore::GlyphMapNode::create): + (WebCore::SVGGlyphMap::SVGGlyphMap): + (WebCore::SVGGlyphMap::add): + (WebCore::SVGGlyphMap::compareGlyphPriority): + (WebCore::SVGGlyphMap::get): + (WebCore::SVGGlyphMap::clear): + * svg/SVGGradientElement.cpp: + * svg/SVGHKernElement.cpp: + * svg/SVGHKernElement.h: + (WebCore::SVGHKernElement::rendererIsNeeded): + * svg/SVGImageElement.h: + * svg/SVGImageLoader.cpp: + * svg/SVGImageLoader.h: + * svg/SVGLangSpace.cpp: + (WebCore::SVGLangSpace::parseMappedAttribute): + (WebCore::SVGLangSpace::isKnownAttribute): + * svg/SVGLangSpace.h: + (WebCore::SVGLangSpace::xmllang): + * svg/SVGMetadataElement.h: + * svg/SVGMissingGlyphElement.h: + (WebCore::SVGMissingGlyphElement::rendererIsNeeded): + * svg/SVGPaint.cpp: + (WebCore::SVGPaint::cssText): + * svg/SVGPaint.h: + (WebCore::SVGPaint::create): + (WebCore::SVGPaint::paintType): + (WebCore::SVGPaint::isSVGPaint): + * svg/SVGParserUtilities.cpp: + * svg/SVGParserUtilities.h: + (WebCore::isWhitespace): + (WebCore::skipOptionalSpaces): + (WebCore::skipOptionalSpacesOrDelimiter): + * svg/SVGPathElement.cpp: + * svg/SVGPathParserFactory.h: + * svg/SVGPathSegList.h: + +2010-12-22 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Sam Weinig. + + AX: WAI-ARIA textbox role needs different AXRole, depending on value of aria-multiline property + https://bugs.webkit.org/show_bug.cgi?id=51481 + + Support aria-multiline and use it to change the role of an ARIA "textbox" + from AXTextArea to AXTextField. + + Test: platform/mac/accessibility/aria-multiline.html + + * accessibility/AccessibilityObject.cpp: + (WebCore::AccessibilityObject::ariaIsMultiline): + * accessibility/AccessibilityObject.h: + (WebCore::AccessibilityObject::isPasswordField): + (WebCore::AccessibilityObject::isTextControl): + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::determineAriaRoleAttribute): + * accessibility/AccessibilityRenderObject.h: + * html/HTMLAttributeNames.in: + +2010-12-22 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dan Bernstein. + + CSS 2.1 failure: counter-increment-013 fails + https://bugs.webkit.org/show_bug.cgi?id=51483 + + Clamp the counter-increment property to the valid range of signed + integers. + + Test: fast/css/counters/counter-increment-overflow.html + + * css/CSSParser.cpp: + (WebCore::clampToSignedInteger): + (WebCore::CSSParser::parseCounter): + +2010-12-22 Dan Bernstein <mitz@apple.com> + + Rubber-stamped by Mark Rowe. + + Changed WebKitTools to Tools in script build phases. + + * WebCore.xcodeproj/project.pbxproj: + +2010-12-21 Vangelis Kokkevis <vangelis@chromium.org> + + Reviewed by Kenneth Russell. + + [chromium] Fixing crash with empty render surfaces. + https://bugs.webkit.org/show_bug.cgi?id=51432 + + Test: platform/chromium/compositing/empty-render-surface-crasher.html + + * platform/graphics/chromium/RenderSurfaceChromium.cpp: + (WebCore::RenderSurfaceChromium::draw): + +2010-12-21 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: persist JavaScript breakpoints in frontend settings. + https://bugs.webkit.org/show_bug.cgi?id=48434 + + * bindings/js/ScriptDebugServer.cpp: + (WebCore::ScriptDebugServer::setBreakpoint): + (WebCore::ScriptDebugServer::removeBreakpoint): + * bindings/js/ScriptDebugServer.h: + * bindings/v8/DebuggerScript.js: + (): + * bindings/v8/ScriptDebugServer.cpp: + (WebCore::ScriptDebugServer::setBreakpoint): + (WebCore::ScriptDebugServer::removeBreakpoint): + * bindings/v8/ScriptDebugServer.h: + * inspector/Inspector.idl: + * inspector/InspectorBackend.cpp: + * inspector/InspectorController.cpp: + (WebCore::InspectorController::InspectorController): + (WebCore::InspectorController::enableDebuggerFromFrontend): + (WebCore::InspectorController::setStickyBreakpoints): + (WebCore::InspectorController::restoreStickyBreakpoint): + * inspector/InspectorController.h: + * inspector/InspectorDebuggerAgent.cpp: + (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent): + (WebCore::InspectorDebuggerAgent::setStickyBreakpoint): + (WebCore::InspectorDebuggerAgent::setBreakpoint): + (WebCore::InspectorDebuggerAgent::removeBreakpoint): + (WebCore::InspectorDebuggerAgent::restoreBreakpoint): + (WebCore::InspectorDebuggerAgent::clearForPageNavigation): + (WebCore::InspectorDebuggerAgent::didParseSource): + * inspector/InspectorDebuggerAgent.h: + * inspector/front-end/Breakpoint.js: + (WebInspector.Breakpoint): + (WebInspector.Breakpoint.prototype.remove): + * inspector/front-end/BreakpointManager.js: + (WebInspector.BreakpointManager): + (WebInspector.DOMBreakpoint.prototype._serializeToJSON): + (WebInspector.JavaScriptBreakpoint): + (WebInspector.XHRBreakpoint.prototype._serializeToJSON): + * inspector/front-end/DebuggerModel.js: + (WebInspector.DebuggerModel): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel.prototype._debuggerPaused): + * inspector/front-end/SourceFrame.js: + +2010-12-20 Antti Koivisto <antti@apple.com> + + Reviewed by Alexey Proskuryakov. + + https://bugs.webkit.org/show_bug.cgi?id=51354 + Don't block rendering and script execution on deferred stylesheets + + - Don't add low priority stylesheets to the document pending sheet count. + - Resolve media attribute fully for the link element stylesheet load. + + Test: http/tests/local/stylesheet-and-script-load-order-media-print.html + + * html/HTMLLinkElement.cpp: + (WebCore::HTMLLinkElement::HTMLLinkElement): + (WebCore::HTMLLinkElement::~HTMLLinkElement): + (WebCore::HTMLLinkElement::setDisabledState): + (WebCore::HTMLLinkElement::process): + (WebCore::HTMLLinkElement::sheetLoaded): + (WebCore::HTMLLinkElement::addPendingSheet): + (WebCore::HTMLLinkElement::removePendingSheet): + * html/HTMLLinkElement.h: + +2010-12-22 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r74473. + http://trac.webkit.org/changeset/74473 + https://bugs.webkit.org/show_bug.cgi?id=51463 + + broke compilation on leopard intel release (Requested by + podivilov on #webkit). + + * bindings/js/ScriptDebugServer.cpp: + (WebCore::ScriptDebugServer::setBreakpoint): + (WebCore::ScriptDebugServer::removeBreakpoint): + * bindings/js/ScriptDebugServer.h: + * bindings/v8/DebuggerScript.js: + (): + * bindings/v8/ScriptDebugServer.cpp: + (WebCore::ScriptDebugServer::setBreakpoint): + (WebCore::ScriptDebugServer::removeBreakpoint): + * bindings/v8/ScriptDebugServer.h: + * inspector/Inspector.idl: + * inspector/InspectorBackend.cpp: + * inspector/InspectorController.cpp: + (WebCore::InspectorController::InspectorController): + (WebCore::InspectorController::enableDebuggerFromFrontend): + (WebCore::InspectorController::setStickyBreakpoints): + (WebCore::InspectorController::restoreStickyBreakpoint): + (WebCore::InspectorController::breakpointsSettingKey): + (WebCore::InspectorController::loadBreakpoints): + (WebCore::InspectorController::saveBreakpoints): + * inspector/InspectorController.h: + * inspector/InspectorDebuggerAgent.cpp: + (WebCore::formatBreakpointId): + (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent): + (WebCore::InspectorDebuggerAgent::setBreakpoint): + (WebCore::InspectorDebuggerAgent::removeBreakpoint): + (WebCore::InspectorDebuggerAgent::clearForPageNavigation): + (WebCore::InspectorDebuggerAgent::md5Base16): + (WebCore::InspectorDebuggerAgent::loadBreakpoints): + (WebCore::InspectorDebuggerAgent::saveBreakpoints): + (WebCore::InspectorDebuggerAgent::didParseSource): + * inspector/InspectorDebuggerAgent.h: + * inspector/front-end/Breakpoint.js: + (WebInspector.Breakpoint): + (WebInspector.Breakpoint.jsBreakpointId): + (WebInspector.Breakpoint.prototype.set enabled): + (WebInspector.Breakpoint.prototype.get id): + (WebInspector.Breakpoint.prototype.set condition): + (WebInspector.Breakpoint.prototype.remove): + * inspector/front-end/BreakpointManager.js: + (WebInspector.BreakpointManager): + (WebInspector.BreakpointManager.prototype._createDOMBreakpoint): + (WebInspector.BreakpointManager.prototype._createEventListenerBreakpoint): + (WebInspector.BreakpointManager.prototype._createXHRBreakpoint): + (WebInspector.BreakpointManager.prototype._setNativeBreakpoint): + (WebInspector.BreakpointManager.prototype._setNativeBreakpointEnabled): + (WebInspector.BreakpointManager.prototype._removeNativeBreakpoint): + (WebInspector.BreakpointManager.prototype.breakpointViewForEventData): + (WebInspector.BreakpointManager.prototype._projectChanged): + (WebInspector.BreakpointManager.prototype.restoreDOMBreakpoints): + (WebInspector.BreakpointManager.prototype._saveBreakpoints): + (WebInspector.BreakpointManager.prototype._validateBreakpoints): + (WebInspector.DOMBreakpoint.prototype._serializeToJSON): + (WebInspector.EventListenerBreakpoint.prototype._serializeToJSON): + (WebInspector.XHRBreakpoint.prototype._serializeToJSON): + (WebInspector.NativeBreakpointView.prototype.set enabled): + (WebInspector.NativeBreakpointView.prototype.remove): + * inspector/front-end/DebuggerModel.js: + (WebInspector.DebuggerModel): + (WebInspector.DebuggerModel.prototype.setOneTimeBreakpoint): + (WebInspector.DebuggerModel.prototype.removeOneTimeBreakpoint): + (WebInspector.DebuggerModel.prototype.setBreakpoint): + (WebInspector.DebuggerModel.prototype.findBreakpoint): + (WebInspector.DebuggerModel.prototype.reset): + (WebInspector.DebuggerModel.prototype._setBreakpoint): + (WebInspector.DebuggerModel.prototype._breakpointRemoved): + (WebInspector.DebuggerModel.prototype._setBreakpointOnBackend): + (WebInspector.DebuggerModel.prototype.breakpointRestored): + (WebInspector.DebuggerModel.prototype.pausedScript): + (WebInspector.DebuggerModel.prototype.resumedScript): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel.prototype.continueToLine): + (WebInspector.ScriptsPanel.prototype._debuggerPaused): + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint.didEditBreakpointCondition): + (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint): + (WebInspector.SourceFrame.prototype._contextMenu.else.editBreakpointCondition.didEditBreakpointCondition): + (WebInspector.SourceFrame.prototype._contextMenu.else.editBreakpointCondition): + (WebInspector.SourceFrame.prototype._contextMenu): + (WebInspector.SourceFrame.prototype._mouseDown): + (WebInspector.SourceFrame.prototype._continueToLine): + (WebInspector.SourceFrame.prototype._setBreakpoint): + +2010-12-21 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: persist JavaScript breakpoints in frontend settings. + https://bugs.webkit.org/show_bug.cgi?id=48434 + + * bindings/js/ScriptDebugServer.cpp: + (WebCore::ScriptDebugServer::setBreakpoint): + (WebCore::ScriptDebugServer::removeBreakpoint): + * bindings/js/ScriptDebugServer.h: + * bindings/v8/DebuggerScript.js: + (): + * bindings/v8/ScriptDebugServer.cpp: + (WebCore::ScriptDebugServer::setBreakpoint): + (WebCore::ScriptDebugServer::removeBreakpoint): + * bindings/v8/ScriptDebugServer.h: + * inspector/Inspector.idl: + * inspector/InspectorBackend.cpp: + * inspector/InspectorController.cpp: + (WebCore::InspectorController::InspectorController): + (WebCore::InspectorController::enableDebuggerFromFrontend): + (WebCore::InspectorController::setStickyBreakpoints): + (WebCore::InspectorController::restoreStickyBreakpoint): + * inspector/InspectorController.h: + * inspector/InspectorDebuggerAgent.cpp: + (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent): + (WebCore::InspectorDebuggerAgent::setStickyBreakpoint): + (WebCore::InspectorDebuggerAgent::setBreakpoint): + (WebCore::InspectorDebuggerAgent::removeBreakpoint): + (WebCore::InspectorDebuggerAgent::restoreBreakpoint): + (WebCore::InspectorDebuggerAgent::clearForPageNavigation): + (WebCore::InspectorDebuggerAgent::didParseSource): + * inspector/InspectorDebuggerAgent.h: + * inspector/front-end/Breakpoint.js: + (WebInspector.Breakpoint): + (WebInspector.Breakpoint.prototype.remove): + * inspector/front-end/BreakpointManager.js: + (WebInspector.BreakpointManager): + (WebInspector.DOMBreakpoint.prototype._serializeToJSON): + (WebInspector.JavaScriptBreakpoint): + (WebInspector.XHRBreakpoint.prototype._serializeToJSON): + * inspector/front-end/DebuggerModel.js: + (WebInspector.DebuggerModel): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel.prototype._debuggerPaused): + * inspector/front-end/SourceFrame.js: + +2010-12-22 Dirk Schulze <krit@wbekit.org> + + Reviewed by Nikolas Zimmermann. + + Cleanup SVG code according to the webkit style rules 1 + https://bugs.webkit.org/show_bug.cgi?id=51411 + + First patch to fix indention and other style issues according to the WebKit style rules in the SVG code. + + No change of functionality. + + * svg/ColorDistance.cpp: + (WebCore::ColorDistance::isZero): + * svg/ColorDistance.h: + * svg/ElementTimeControl.h: + (WebCore::ElementTimeControl::~ElementTimeControl): + * svg/LinearGradientAttributes.h: + (WebCore::LinearGradientAttributes::LinearGradientAttributes): + (WebCore::LinearGradientAttributes::x1): + (WebCore::LinearGradientAttributes::y1): + (WebCore::LinearGradientAttributes::x2): + (WebCore::LinearGradientAttributes::y2): + (WebCore::LinearGradientAttributes::setX1): + (WebCore::LinearGradientAttributes::setY1): + (WebCore::LinearGradientAttributes::setX2): + (WebCore::LinearGradientAttributes::setY2): + (WebCore::LinearGradientAttributes::hasX1): + (WebCore::LinearGradientAttributes::hasY1): + (WebCore::LinearGradientAttributes::hasX2): + (WebCore::LinearGradientAttributes::hasY2): + * svg/RadialGradientAttributes.h: + (WebCore::RadialGradientAttributes::RadialGradientAttributes): + (WebCore::RadialGradientAttributes::cx): + (WebCore::RadialGradientAttributes::cy): + (WebCore::RadialGradientAttributes::r): + (WebCore::RadialGradientAttributes::fx): + (WebCore::RadialGradientAttributes::fy): + (WebCore::RadialGradientAttributes::setCx): + (WebCore::RadialGradientAttributes::setCy): + (WebCore::RadialGradientAttributes::setR): + (WebCore::RadialGradientAttributes::setFx): + (WebCore::RadialGradientAttributes::setFy): + (WebCore::RadialGradientAttributes::hasCx): + (WebCore::RadialGradientAttributes::hasCy): + (WebCore::RadialGradientAttributes::hasR): + (WebCore::RadialGradientAttributes::hasFx): + (WebCore::RadialGradientAttributes::hasFy): + * svg/SVGAngle.cpp: + * svg/SVGAnimateColorElement.h: + * svg/SVGAnimateElement.cpp: + (WebCore::SVGAnimateElement::calculateAnimatedValue): + (WebCore::SVGAnimateElement::calculateDistance): + * svg/SVGAnimateElement.h: + * svg/SVGAnimateMotionElement.cpp: + * svg/SVGAnimateMotionElement.h: + * svg/SVGAnimatedNumber.h: + * svg/SVGAnimationElement.cpp: + (WebCore::parseKeyTimes): + (WebCore::SVGAnimationElement::currentValuesForValuesAnimation): + (WebCore::SVGAnimationElement::updateAnimation): + * svg/SVGClipPathElement.cpp: + (WebCore::SVGClipPathElement::svgAttributeChanged): + * svg/SVGColor.h: + (WebCore::SVGColor::create): + (WebCore::SVGColor::createCurrentColor): + (WebCore::SVGColor::colorType): + (WebCore::SVGColor::setRGBColor): + (WebCore::SVGColor::color): + (WebCore::SVGColor::isSVGColor): + * svg/SVGCursorElement.cpp: + (WebCore::SVGCursorElement::svgAttributeChanged): + * svg/SVGCursorElement.h: + * svg/SVGDescElement.h: + (WebCore::SVGDescElement::rendererIsNeeded): + * svg/SVGDocument.cpp: + * svg/SVGDocument.h: + (WebCore::SVGDocument::create): + (WebCore::SVGDocument::isSVGDocument): + * svg/SVGElement.h: + (WebCore::SVGElement::isStyled): + (WebCore::SVGElement::isStyledTransformable): + (WebCore::SVGElement::isStyledLocatable): + (WebCore::SVGElement::isSVG): + (WebCore::SVGElement::isFilterEffect): + (WebCore::SVGElement::isGradientStop): + (WebCore::SVGElement::isTextContent): + (WebCore::SVGElement::isValid): + (WebCore::SVGElement::svgAttributeChanged): + (WebCore::SVGElement::synchronizeProperty): + (WebCore::SVGElement::supplementalTransform): + (WebCore::SVGElement::invalidateSVGAttributes): + (WebCore::SVGElement::rendererIsNeeded): + (WebCore::SVGElement::needsPendingResourceHandling): + (WebCore::SVGElement::buildPendingResource): + * svg/SVGElementInstance.h: + (WebCore::SVGElementInstance::create): + (WebCore::SVGElementInstance::correspondingElement): + (WebCore::SVGElementInstance::correspondingUseElement): + (WebCore::SVGElementInstance::shadowTreeElement): + (WebCore::SVGElementInstance::parentNode): + (WebCore::SVGElementInstance::previousSibling): + (WebCore::SVGElementInstance::nextSibling): + (WebCore::SVGElementInstance::firstChild): + (WebCore::SVGElementInstance::lastChild): + (WebCore::SVGElementInstance::ownerDocument): + (WebCore::SVGElementInstance::toNode): + (WebCore::SVGElementInstance::toSVGElementInstance): + (WebCore::SVGElementInstance::hasChildNodes): + (WebCore::SVGElementInstance::setFirstChild): + (WebCore::SVGElementInstance::setLastChild): + (WebCore::SVGElementInstance::setNextSibling): + (WebCore::SVGElementInstance::setPreviousSibling): + (WebCore::SVGElementInstance::refEventTarget): + (WebCore::SVGElementInstance::derefEventTarget): + * svg/SVGElementInstanceList.h: + (WebCore::SVGElementInstanceList::create): + * svg/SVGException.h: + (WebCore::SVGException::create): + (WebCore::SVGException::SVGException): + * svg/SVGFEColorMatrixElement.cpp: + (WebCore::SVGFEColorMatrixElement::parseMappedAttribute): + * svg/SVGFEComponentTransferElement.cpp: + (WebCore::SVGFEComponentTransferElement::build): + * svg/SVGFEDiffuseLightingElement.cpp: + (WebCore::SVGFEDiffuseLightingElement::findLights): + * svg/SVGFont.cpp: + (WebCore::convertEmUnitToPixel): + * svg/SVGUseElement.cpp: + (WebCore::isDirectReference): + +2010-12-22 Dai Mikurube <dmikurube@google.com> + + Reviewed by Kent Tamura. + + https://bugs.webkit.org/show_bug.cgi?id=51289 + Initial state of checkValidity() and :invalid are incorrect with <select required> + + * html/HTMLSelectElement.cpp: + (WebCore::HTMLSelectElement::childrenChanged): setNeedsValidityCheck() after <select>'s children change. + +2010-12-22 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Joseph Pecoraro. + + Web Inspector: Styles pane fails to display properties from a broken CSS rule correctly + https://bugs.webkit.org/show_bug.cgi?id=51405 + + Invoke markPropertyStart() after the parser has restored after an error. + + * css/CSSGrammar.y: + +2010-12-22 Dai Mikurube <dmikurube@google.com> + + Reviewed by Kent Tamura. + + Assertion failure with <select multiple required> + https://bugs.webkit.org/show_bug.cgi?id=51260 + + Test: fast/css/pseudo-valid-select-click.html + + * dom/SelectElement.cpp: updateValidity() after selecting some options of ListBox-typed <select> elements to update valid() cache. + (WebCore::SelectElement::updateListBoxSelection): + +2010-12-21 Darin Adler <darin@apple.com> + + Unreviewed correction to unreviewed build fix for r74447. + + Inappropriate code was left behind in sourceURI function for non-Dashboard platforms. + + * html/HTMLImageLoader.cpp: + (WebCore::HTMLImageLoader::sourceURI): Change the logic so all the bug-workaround + logic is inside the #ifdef. + +2010-12-21 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Darin Adler. + + Include the shadow color space as part of the GraphicsContext state + https://bugs.webkit.org/show_bug.cgi?id=51420 + + Include the ColorSpace for the shadow color as part of the graphics + state. This will be used later for a shadow implementation that + does not rely on platform shadow code. + + * platform/graphics/GraphicsContext.cpp: + (WebCore::GraphicsContext::setShadow): + (WebCore::GraphicsContext::clearShadow): + (WebCore::GraphicsContext::getShadow): + * platform/graphics/GraphicsContext.h: + (WebCore::GraphicsContextState::GraphicsContextState): + * platform/graphics/chromium/FontChromiumWin.cpp: + (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs): + (WebCore::Font::drawComplexText): + * platform/graphics/mac/FontMac.mm: + (WebCore::Font::drawGlyphs): + * platform/graphics/skia/SkiaFontWin.cpp: + (WebCore::windowsCanHandleDrawTextShadow): + * platform/graphics/win/FontCGWin.cpp: + (WebCore::drawGDIGlyphs): + (WebCore::Font::drawGlyphs): + * platform/graphics/wince/GraphicsContextWinCE.cpp: + (WebCore::GraphicsContext::fillRoundedRect): + (WebCore::GraphicsContext::drawText): + +2010-12-21 Dan Bernstein <mitz@apple.com> + + Reviewed by Sam Weinig. + + <rdar://problem/8668230> REGRESSION (r71884): Returning alternate requests from willSendRequest can prevent other requests from ever being sent + https://bugs.webkit.org/show_bug.cgi?id=51413 + + 71884 was wrong in moving willSendRequest to ResourceLoader::start(). It’s wrong to do all the + scheduling, which is host-dependent, before calling willSendRequest, because the latter can + change the host. + + * loader/NetscapePlugInStreamLoader.cpp: + (WebCore::NetscapePlugInStreamLoader::create): Check the return value from ResourceLoader::init() + and return 0 if it is false. + * loader/ResourceLoader.cpp: + (WebCore::ResourceLoader::init): Made this function return a boolean. Moved the call to willSendRequest() + from start() into here. Return false if willSendRequest() canceled the request. + (WebCore::ResourceLoader::start): Moved the call to willSendRequest() from here to init(). + * loader/ResourceLoader.h: + * loader/SubresourceLoader.cpp: + (WebCore::SubresourceLoader::create): Check the return value from ResourceLoader::init() + and return 0 if it is false. + +2010-12-21 Benjamin Kalman <kalman@chromium.org> + + Reviewed by Darin Adler. + + Shift-End does not select to the end of the line + https://bugs.webkit.org/show_bug.cgi?id=50610 + + Let the VisiblePosition affinity for end of line selection to be set by + visibleEnd/visibleStart rather than using end/start and always using UPSTREAM. + + Test: editing/selection/extend-to-line-boundary.html + + * editing/SelectionController.cpp: + (WebCore::SelectionController::positionForPlatform): Use visibleStart/visibleEnd rather than + start/end. + (WebCore::SelectionController::modifyExtendingForward): Don't explicitly use UPSTREAM affinity. + +2010-12-21 Jan Erik Hanssen <jhanssen@sencha.com> + + Reviewed by Simon Fraser. + + matrix3d() must take the zoom factor into account + https://bugs.webkit.org/show_bug.cgi?id=51408 + + Test: transforms/3d/general/matrix-with-zoom-3d.html + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::createTransformOperations): + +2010-12-21 Adam Barth <abarth@webkit.org> + + Reviewed by Darin Adler. + + Move V8 to common implementation of window.open + https://bugs.webkit.org/show_bug.cgi?id=51385 + + I also changed some function names to match WebKit style. There's a + bunch of code we can remove in the generic bindings now. I'll do that + in the next patch. + + * bindings/generic/BindingDOMWindow.h: + (WebCore::::open): + * bindings/generic/BindingFrame.h: + (WebCore::::navigateIfAllowed): + * bindings/generic/BindingSecurity.h: + (WebCore::::canAccessWindow): + (WebCore::::allowPopUp): + (WebCore::::shouldAllowNavigation): + * bindings/generic/GenericBinding.h: + (WebCore::completeURL): + * bindings/js/JSDOMBinding.cpp: + (WebCore::toLexicalFrame): + (WebCore::toDynamicFrame): + * bindings/js/specialization/JSBindingState.cpp: + (WebCore::::activeFrame): + (WebCore::::firstFrame): + * bindings/js/specialization/JSBindingState.h: + * bindings/v8/V8Utilities.cpp: + (WebCore::callingOrEnteredFrame): + * bindings/v8/custom/V8DOMWindowCustom.cpp: + (WebCore::V8DOMWindow::locationAccessorSetter): + (WebCore::V8DOMWindow::openCallback): + * bindings/v8/specialization/V8BindingState.cpp: + (WebCore::::activeWindow): + (WebCore::::firstWindow): + (WebCore::::activeFrame): + (WebCore::::firstFrame): + * bindings/v8/specialization/V8BindingState.h: + +2010-12-21 Ryosuke Niwa <rniwa@webkit.org> + + Unreviewed build fix for r74447. + + Call usesDashboardBackwardCompatibilityMode() only if DASHBOARD_SUPPORT is enabled. + + * html/HTMLImageLoader.cpp: + (WebCore::HTMLImageLoader::sourceURI): + +2010-12-21 Dan Bernstein <mitz@apple.com> + + Reviewed by John Sullivan. + + <rdar://problem/8725702> REGRESSION (r68854): Broken image icon seen in the Address Book Dashboard widget + + Test: platform/mac/fast/dom/HTMLImageElement/dashboard-src-quirk.html + + The Address Book widget sets the src attribute of an img element to a string that looks like a CSS + URL value. This used to work prior to r68854, because some DOM attribute parsing functions were using + the wrong function to parse URL attributes (last named deprecatedParseURL). + + * html/HTMLImageLoader.cpp: + (WebCore::HTMLImageLoader::sourceURI): In Dashboard, check if the src attribute begins with 'url("' + and ends with '")', and if so, strip those away. + +2010-12-21 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Darin Adler. + + CharacterData needs cleanup + https://bugs.webkit.org/show_bug.cgi?id=51426 + + Extracted CharacterData::setDataAndNotify and CharacterData::updateRenderer. + + * dom/CharacterData.cpp: + (WebCore::CharacterData::setData): Calls setDataAndUpdate. + (WebCore::CharacterData::parserAppendData): Ditto. + (WebCore::CharacterData::appendData): Ditto. + (WebCore::CharacterData::insertData): Ditto. + (WebCore::CharacterData::deleteData): Ditto. + (WebCore::CharacterData::replaceData): Ditto. + (WebCore::CharacterData::setDataAndUpdate): Added. + (WebCore::CharacterData::updateRenderer): Added. + (WebCore::CharacterData::dispatchModifiedEvent): Renamed prevValue to oldData. + * dom/CharacterData.h: + +2010-12-21 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r74420. + http://trac.webkit.org/changeset/74420 + https://bugs.webkit.org/show_bug.cgi?id=51436 + + causes editing/pasteboard/paste-noscript-xhtml.xhtml to crash + (Requested by tonyg-cr on #webkit). + + * dom/DocumentParser.cpp: + * dom/DocumentParser.h: + * html/parser/HTMLDocumentParser.cpp: + * html/parser/HTMLDocumentParser.h: + * html/parser/HTMLParserScheduler.cpp: + (WebCore::HTMLParserScheduler::HTMLParserScheduler): + * html/parser/HTMLParserScheduler.h: + (WebCore::HTMLParserScheduler::isScheduledForResume): + * page/PageGroupLoadDeferrer.cpp: + (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): + (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer): + +2010-12-21 Kenneth Russell <kbr@google.com> + + Reviewed by Darin Fisher. + + Enable extensions used in accelerated 2D canvas implementation + https://bugs.webkit.org/show_bug.cgi?id=51433 + + Call Extensions3D::ensureEnabled() for all supported extensions + the accelerated 2D Canvas implementation uses. Tested with a few + layout tests previously failing when run in Chromium due to OpenGL + INVALID_ENUM and other errors. + + * platform/graphics/gpu/DrawingBuffer.cpp: + (WebCore::DrawingBuffer::create): + * platform/graphics/gpu/SharedGraphicsContext3D.cpp: + (WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D): + (WebCore::SharedGraphicsContext3D::supportsBGRA): + * platform/graphics/gpu/SharedGraphicsContext3D.h: + +2010-12-21 Zhenyao Mo <zmo@google.com> + + Reviewed by Kenneth Russell. + + WebGLRenderingContext needs to zero textures and renderbuffers + https://bugs.webkit.org/show_bug.cgi?id=49355 + + Test: fast/canvas/webgl/uninitialized-test.html + + * html/canvas/WebGLFramebuffer.cpp: + (WebCore::WebGLFramebuffer::onAccess): Use a parameter to decide if renderbuffer initialization is needed. + (WebCore::WebGLFramebuffer::initializeRenderbuffers): Don't return false if color buffer doesn't exist. + * html/canvas/WebGLFramebuffer.h: Modify onAccess with an added parameter. + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::clear): Call onAccess with an added parameter. + (WebCore::WebGLRenderingContext::copyTexImage2D): Ditto. + (WebCore::WebGLRenderingContext::copyTexSubImage2D): Ditto. + (WebCore::WebGLRenderingContext::drawArrays): Ditto. + (WebCore::WebGLRenderingContext::drawElements): Ditto. + (WebCore::WebGLRenderingContext::readPixels): Ditto. + (WebCore::WebGLRenderingContext::texImage2DBase): Create buffer data of 0s if input is null to initialize textures. + * platform/graphics/GraphicsContext3D.cpp: + (WebCore::GraphicsContext3D::texImage2DResourceSafe): Helper function that initialize all pixels to 0. + * platform/graphics/GraphicsContext3D.h: + * platform/graphics/chromium/Canvas2DLayerChromium.cpp: + (WebCore::Canvas2DLayerChromium::updateContentsIfDirty): Use texImage2DResourceSafe. + * platform/graphics/chromium/DrawingBufferChromium.cpp: + (WebCore::generateColorTexture): Ditto. + * platform/graphics/chromium/LayerRendererChromium.cpp: + (WebCore::LayerRendererChromium::prepareToDrawLayers): Ditto. + * platform/graphics/chromium/TextureManager.cpp: + (WebCore::TextureManager::requestTexture): Ditto. + * platform/graphics/chromium/VideoLayerChromium.cpp: + (WebCore::VideoLayerChromium::allocateTexture): Ditto. + * platform/graphics/gpu/DrawingBuffer.cpp: + (WebCore::DrawingBuffer::reset): Use texImage2DResourceSafe; also, only initialize depth/stencil buffer. + * platform/graphics/gpu/SharedGraphicsContext3D.cpp: + (WebCore::SharedGraphicsContext3D::texImage2D): Use texImage2DResourceSafe. + * platform/graphics/gpu/Texture.cpp: + (WebCore::Texture::create): Ditto. + * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: + (WebCore::GraphicsContext3D::texImage2D): Generate an INVALID_VALUE if pixels==null is passed in. + +2010-12-21 Chris Rogers <crogers@google.com> + + Reviewed by Kenneth Russell. + + Add AudioBusChromium for decoding audio file data + https://bugs.webkit.org/show_bug.cgi?id=51430 + + No new tests since audio API is not yet implemented. + + * platform/audio/chromium: Added. + * platform/audio/chromium/AudioBusChromium.cpp: Added. + (WebCore::createBusFromInMemoryAudioFile): + +2010-12-21 Chris Rogers <crogers@google.com> + + Reviewed by Kenneth Russell. + + Add web audio spatialization resource files + https://bugs.webkit.org/show_bug.cgi?id=50998 + + No new tests since audio API is not yet implemented. + + * platform/audio/HRTFElevation.cpp: + (WebCore::HRTFElevation::calculateKernelsForAzimuthElevation): + * platform/audio/mac/AudioBusMac.mm: + (WebCore::AudioBus::loadPlatformResource): + * platform/audio/resources: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T000_P000.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T000_P015.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T000_P030.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T000_P045.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T000_P060.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T000_P075.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T000_P090.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T000_P315.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T000_P330.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T000_P345.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T015_P000.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T015_P015.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T015_P030.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T015_P045.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T015_P060.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T015_P075.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T015_P090.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T015_P315.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T015_P330.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T015_P345.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T030_P000.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T030_P015.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T030_P030.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T030_P045.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T030_P060.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T030_P075.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T030_P090.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T030_P315.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T030_P330.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T030_P345.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T045_P000.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T045_P015.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T045_P030.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T045_P045.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T045_P060.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T045_P075.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T045_P090.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T045_P315.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T045_P330.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T045_P345.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T060_P000.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T060_P015.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T060_P030.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T060_P045.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T060_P060.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T060_P075.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T060_P090.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T060_P315.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T060_P330.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T060_P345.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T075_P000.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T075_P015.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T075_P030.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T075_P045.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T075_P060.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T075_P075.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T075_P090.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T075_P315.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T075_P330.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T075_P345.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T090_P000.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T090_P015.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T090_P030.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T090_P045.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T090_P060.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T090_P075.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T090_P090.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T090_P315.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T090_P330.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T090_P345.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T105_P000.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T105_P015.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T105_P030.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T105_P045.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T105_P060.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T105_P075.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T105_P090.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T105_P315.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T105_P330.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T105_P345.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T120_P000.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T120_P015.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T120_P030.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T120_P045.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T120_P060.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T120_P075.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T120_P090.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T120_P315.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T120_P330.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T120_P345.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T135_P000.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T135_P015.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T135_P030.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T135_P045.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T135_P060.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T135_P075.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T135_P090.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T135_P315.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T135_P330.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T135_P345.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T150_P000.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T150_P015.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T150_P030.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T150_P045.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T150_P060.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T150_P075.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T150_P090.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T150_P315.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T150_P330.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T150_P345.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T165_P000.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T165_P015.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T165_P030.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T165_P045.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T165_P060.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T165_P075.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T165_P090.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T165_P315.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T165_P330.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T165_P345.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T180_P000.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T180_P015.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T180_P030.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T180_P045.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T180_P060.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T180_P075.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T180_P090.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T180_P315.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T180_P330.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T180_P345.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T195_P000.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T195_P015.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T195_P030.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T195_P045.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T195_P060.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T195_P075.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T195_P090.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T195_P315.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T195_P330.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T195_P345.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T210_P000.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T210_P015.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T210_P030.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T210_P045.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T210_P060.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T210_P075.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T210_P090.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T210_P315.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T210_P330.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T210_P345.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T225_P000.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T225_P015.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T225_P030.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T225_P045.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T225_P060.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T225_P075.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T225_P090.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T225_P315.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T225_P330.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T225_P345.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T240_P000.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T240_P015.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T240_P030.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T240_P045.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T240_P060.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T240_P075.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T240_P090.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T240_P315.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T240_P330.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T240_P345.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T255_P000.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T255_P015.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T255_P030.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T255_P045.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T255_P060.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T255_P075.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T255_P090.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T255_P315.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T255_P330.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T255_P345.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T270_P000.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T270_P015.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T270_P030.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T270_P045.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T270_P060.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T270_P075.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T270_P090.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T270_P315.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T270_P330.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T270_P345.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T285_P000.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T285_P015.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T285_P030.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T285_P045.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T285_P060.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T285_P075.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T285_P090.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T285_P315.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T285_P330.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T285_P345.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T300_P000.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T300_P015.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T300_P030.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T300_P045.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T300_P060.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T300_P075.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T300_P090.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T300_P315.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T300_P330.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T300_P345.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T315_P000.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T315_P015.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T315_P030.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T315_P045.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T315_P060.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T315_P075.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T315_P090.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T315_P315.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T315_P330.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T315_P345.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T330_P000.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T330_P015.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T330_P030.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T330_P045.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T330_P060.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T330_P075.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T330_P090.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T330_P315.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T330_P330.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T330_P345.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T345_P000.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T345_P015.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T345_P030.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T345_P045.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T345_P060.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T345_P075.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T345_P090.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T345_P315.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T345_P330.wav: Added. + * platform/audio/resources/IRC_Composite_C_R0195_T345_P345.wav: Added. + +2010-12-21 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Gavin Barraclough & Oliver Hunt. + + Added PageAllocationAligned, a cross-platform abstraction for memory allocations with arbitrary alignment requirements + https://bugs.webkit.org/show_bug.cgi?id=51359 + + * ForwardingHeaders/wtf/PageAllocationAligned.h: Added. + +2010-12-21 Ariya Hidayat <ariya@sencha.com> + + Reviewed by Simon Fraser. + + https://bugs.webkit.org/show_bug.cgi?id=49774 + Need to scale translation values in matrix() by the zoom factor. + + Test: fast/transforms/matrix-with-zoom.html + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::createTransformOperations): + +2010-12-21 Jian Li <jianli@chromium.org> + + Reviewed by Darin Adler. + + Fix bug 51366: REGRESSION (r66452): Form data no longer contains + 'Content-Type' header for files with unrecognized extensions + https://bugs.webkit.org/show_bug.cgi?id=51366 + + Test: http/tests/local/formdata/form-data-with-unknown-file-extension.html + + * platform/network/FormData.cpp: + (WebCore::FormData::appendKeyValuePairItems): + +2010-12-21 Darin Adler <darin@apple.com> + + Reviewed by Sam Weinig. + + Mac WebKit delivers an extra didCommit when loading web archives + https://bugs.webkit.org/show_bug.cgi?id=51419 + + Could not find a simple way to test this in WebKit1, but in WebKit2 + it leads to an immediate failure when loading a web archive. Tested + that making the Mac share the same code path with other platforms + works fine in WebKit1. + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::finishedLoadingDocument): Removed special case for + the Mac platform. Also removed the call to isArchiveMimeType since we + get a 0 from ArchiveFactory::create in that case. + + * loader/archive/ArchiveFactory.cpp: + (WebCore::ArchiveFactory::isArchiveMimeType): Hardened slightly by + adding a special case for null and empty strings, since hash tables can't + handle null strings. + (WebCore::ArchiveFactory::create): Ditto. + +2010-12-21 Yong Li <yoli@rim.com> + + Reviewed by Adam Barth. + + Suspend HTMLParserScheduler when page load is deferred to + avoid potential JS re-entrancy. Otherwise, when JS execution is triggered + from an external script or by events, and is blocked by a modal dialog, + WebKit can parse more HTML source and also start another JS execution. + + https://bugs.webkit.org/show_bug.cgi?id=48077 + + Test case: WebCore/manual-tests/bugzilla-48077.html. + + * dom/DocumentParser.cpp: + (WebCore::DocumentParser::suspendParsing): + (WebCore::DocumentParser::resumeParsing): + * dom/DocumentParser.h: + * html/parser/HTMLDocumentParser.cpp: + (WebCore::HTMLDocumentParser::suspendParsing): + (WebCore::HTMLDocumentParser::resumeParsing): + * html/parser/HTMLParserScheduler.cpp: + (WebCore::HTMLParserScheduler::HTMLParserScheduler): + (WebCore::HTMLParserScheduler::suspend): + (WebCore::HTMLParserScheduler::resume): + * html/parser/HTMLParserScheduler.h: + (WebCore::HTMLParserScheduler::isScheduledForResume): + * page/PageGroupLoadDeferrer.cpp: + (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): + (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer): + +2010-12-21 Anders Carlsson <andersca@apple.com> + + Reviewed by John Sullivan. + + Clicking missing plug-in text does not show a sheet + https://bugs.webkit.org/show_bug.cgi?id=51403 + + * WebCore.exp.in: + Export symbols needed by WebKit2. + + * WebCore.xcodeproj/project.pbxproj: + Make HTMLPlugInImageElement.h a private header. + + * html/HTMLPlugInImageElement.h: + (WebCore::HTMLPlugInImageElement::serviceType): + (WebCore::HTMLPlugInImageElement::url): + Make these member functions public. + +2010-12-21 Andras Becsi <abecsi@webkit.org> + + Unreviewed build fix. + + [Qt] Fix the build with USE_GSTREAMER=1 + + No new tests needed. + + * WebCore.pro: remove nonexisting DataSourceGStreamer sources. + +2010-12-21 Mahesh Kulkarni <mahesh.kulkarni@nokia.com> + + Reviewed by Andreas Kling. + + [Qt] QtWebKit doesn't build in debug on Windows + https://bugs.webkit.org/show_bug.cgi?id=41930 + + Disable incremental linking in windows 32bit debug version as webkit is so + big it fails to link incremental. + + Build fix. No new test cases added. + + * WebCore.pro: + +2010-12-21 Dominic Cooney <dominicc@google.com> + + Reviewed by Adam Barth. + + Rename Node::isShadowNode to isShadowRoot + https://bugs.webkit.org/show_bug.cgi?id=51060 + + The method gets whether the node is the root of a shadow tree; + renamed to reflect intent. + + A simple rename--no new tests needed. + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::initForStyleResolve): + (WebCore::CSSStyleSelector::SelectorChecker::checkSelector): + * dom/Node.cpp: + (WebCore::Node::shadowTreeRootNode): + (WebCore::Node::isInShadowTree): + (WebCore::eventTargetRespectingSVGTargetRules): + (WebCore::Node::getEventAncestors): + * dom/Node.h: + (WebCore::Node::isShadowRoot): + * dom/Range.cpp: + (WebCore::Range::checkNodeBA): + * page/DragController.cpp: + (WebCore::asFileInput): + * page/EventHandler.cpp: + (WebCore::EventHandler::handleMousePressEvent): + (WebCore::EventHandler::dispatchMouseEvent): + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::hasLineIfEmpty): + * rendering/TextControlInnerElements.cpp: + (WebCore::TextControlInnerElement::attachInnerElement): + * svg/SVGStyledElement.cpp: + (WebCore::SVGStyledElement::title): + * svg/SVGUseElement.cpp: + (WebCore::ShadowTreeUpdateBlocker::while): + * svg/animation/SVGSMILElement.cpp: + (WebCore::SVGSMILElement::insertedIntoDocument): + +2010-12-20 Mahesh Kulkarni <mahesh.kulkarni@nokia.com> + + Reviewed by Andreas Kling. + + Qt port of geolocation, geoposition objects timestamp was in seconds + instead of miliseconds as per HTML5 Geolocation standards. + Ref: http://dev.w3.org/geo/api/spec-source.html#position_interface + http://www.w3.org/TR/DOM-Level-3-Core/core.html#Core-DOMTimeStamp + + Implemented by Asheesh Srivastava. + + [QT] QtWebkit geolocation's position.timestamp is not in miliseconds + https://bugs.webkit.org/show_bug.cgi?id=51100 + + Porting code not covered in layout testing. No new tests added. + + * platform/qt/GeolocationServiceQt.cpp: + (WebCore::GeolocationServiceQt::positionUpdated): + +2010-12-20 Yuzo Fujishima <yuzo@google.com> + + Reviewed by Eric Seidel. + + Fix for Bug 26183 - [@font-face] font-family descriptor with multiple names should be discarded + https://bugs.webkit.org/show_bug.cgi?id=26183 + + Test: fast/css/font-face-font-family-descriptor.html + + * css/CSSParser.cpp: + (WebCore::CSSParser::createFontFaceRule): Consider @font-face rule + invalid if its font-family descriptor has multiple (or zero) families. + +2010-12-20 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: fall back to object formatting in case dom is not yet loaded. + https://bugs.webkit.org/show_bug.cgi?id=44273 + + Sometimes DOM is loaded after the inline message is being formatted, so we get + no nodeId for it. Let us fall back to object formatting in such cases. + + * inspector/front-end/ConsoleView.js: + (WebInspector.ConsoleView.prototype._formatnode): + (WebInspector.ConsoleMessage): + +2010-12-20 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Joseph Pecoraro. + + Web Inspector: cycle through tag name / attributes / new attribute on Tab. + + https://bugs.webkit.org/show_bug.cgi?id=38429 + + * inspector/front-end/ElementsTreeOutline.js: + (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted.moveToNextAttributeIfNeeded): + +2010-12-20 Yuta Kitamura <yutak@chromium.org> + + Reviewed by Alexey Proskuryakov. + + WebSocket errors should be logged to console + https://bugs.webkit.org/show_bug.cgi?id=40945 + + Test: http/tests/inspector/console-websocket-error.html + + * platform/network/SocketStreamErrorBase.cpp: + (WebCore::SocketStreamErrorBase::compare): + * platform/network/SocketStreamErrorBase.h: + (WebCore::SocketStreamErrorBase::failingURL): + (WebCore::SocketStreamErrorBase::localizedDescription): + (WebCore::SocketStreamErrorBase::SocketStreamErrorBase): + * platform/network/cf/SocketStreamError.h: + (WebCore::SocketStreamError::SocketStreamError): + * platform/network/cf/SocketStreamHandle.h: + * platform/network/cf/SocketStreamHandleCFNet.cpp: + (WebCore::SocketStreamHandle::readStreamCallback): + (WebCore::SocketStreamHandle::writeStreamCallback): + (WebCore::SocketStreamHandle::reportErrorToClient): + * websockets/WebSocketChannel.cpp: + (WebCore::WebSocketChannel::didFail): + +2010-12-17 MORITA Hajime <morrita@google.com> + + Reviewed by James Robinson. + + https://bugs.webkit.org/show_bug.cgi?id=51240 + [Chromium][Skia] Border with a color with alpha != 1 breaks webkit gradient on skia. + + Even after a shader was set, old color value had been remaining and passed to Skia. + Then Skia refered an alpha component of that color to make pixels transparent. + This change invalidates existing color value when a shader is given, + which means the renderer will paint shapes with gradients or patterns. + + Test: fast/gradients/gradient-after-transparent-border.html + + * platform/graphics/skia/PlatformContextSkia.cpp: + (WebCore::PlatformContextSkia::setStrokeShader): + (WebCore::PlatformContextSkia::setFillShader): + +2010-12-20 Xiaomei Ji <xji@chromium.org> + + Reviewed by Dan Bernstein. + + Fix move left/right by character hang. + https://bugs.webkit.org/show_bug.cgi?id=51344 + + Test: editing/selection/51344.html + + * editing/VisiblePosition.cpp: + (WebCore::VisiblePosition::leftVisuallyDistinctCandidate): + (WebCore::VisiblePosition::rightVisuallyDistinctCandidate): + +2010-12-20 Steve Lacey <sjl@chromium.org> + + Reviewed by David Levin. + + Add missing default styles in mediaControlsChromium.css to prevent + user overrides. + https://bugs.webkit.org/show_bug.cgi?id=51360 + + No new tests needed as functionality is covered by existing layout + tests. + + + * css/mediaControlsChromium.css: + (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): + +2010-12-20 Jian Li <jianli@chromium.org> + + Reviewed by David Levin. + + Add lastModifiedDate attribute to File interface per File API spec + https://bugs.webkit.org/show_bug.cgi?id=49895 + + lastModifiedDate is not supported for GObject bindings because Date is + not support in code generation. + + Test: http/tests/local/fileapi/file-last-modified.html + + * fileapi/File.cpp: + (WebCore::File::lastModifiedDate): + * fileapi/File.h: + * fileapi/File.idl: + +2010-12-20 Mark Rowe <mrowe@apple.com> + + Reviewed by Dan Bernstein. + + <rdar://problem/8757601> Don't install header files in to the Resources directory. + + * WebCore.xcodeproj/project.pbxproj: + +2010-12-20 Andrei Popescu <andreip@google.com> + + Reviewed by Jeremy Orlow. + + [Chromium] v8/SerializedScriptValue::readUint32 treats incoming raw values as signed instead of unsigned + https://bugs.webkit.org/show_bug.cgi?id=51338 + + * bindings/v8/SerializedScriptValue.cpp: + (WebCore::ZigZag::Reader::readUint32): + +2010-12-20 Beth Dakin <bdakin@apple.com> + + Reviewed by Ada Chan. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=51355 Crash in + RenderMathMLSubSup::layout() because of null base + -and corresponding- + <rdar://problem/8712200> + + Only use base inside if(base) block. + * mathml/RenderMathMLSubSup.cpp: + (WebCore::RenderMathMLSubSup::layout): + +2010-12-20 Enrica Casucci <enrica@apple.com> + + Reviewed by Darin Adler. + + Crash at WebCore::SplitElementCommand::SplitElementCommand + https://bugs.webkit.org/show_bug.cgi?id=51278 + <rdar://problem/7347139> + + Executing outdent command on an inline blockquote that is + not the first element in a block causes a crash. + The fix consists in chaging the was the start of block is + calculated in case of the inline blockquote. + + Test: editing/execCommand/outdent-inline-blockquote.html + editing/execCommand/outdent-inline-list.html + + * editing/IndentOutdentCommand.cpp: + (WebCore::IndentOutdentCommand::outdentParagraph): + +2010-12-20 Oliver Hunt <oliver@apple.com> + + Reviewed by Darin Adler. + + Need to support serialisation of cyclic graphs in the internal structured cloning algorithm + https://bugs.webkit.org/show_bug.cgi?id=51353 + + The Internal Structured Clone algorithm has been changed to allow (and + correctly clone) cyclic graphs. This patch updates our implementation + to provide that functionality. + + I've bumped the serialization version number, and added ObjectReferenceTag + to represent references to objects that have already been seen. + + * bindings/js/SerializedScriptValue.cpp: + (WebCore::CloneSerializer::startObjectInternal): + Now that we have something a bit more complex than cycle checking + I've replaced the duplicate code in startObject and startArray with + a shared function that implements that logic to plant an object + reference + (WebCore::CloneSerializer::startObject): + (WebCore::CloneSerializer::startArray): + Lift out duplicate code + (WebCore::CloneSerializer::endObject): + Can't remove objects from the gcbuffer now as they need to remain live + so we can identify graphs + (WebCore::CloneSerializer::writeStringIndex): + (WebCore::CloneSerializer::writeObjectIndex): + (WebCore::CloneSerializer::writeConstantPoolIndex): + (WebCore::CloneSerializer::write): + (WebCore::CloneSerializer::serialize): + (WebCore::CloneDeserializer::readStringIndex): + (WebCore::CloneDeserializer::readConstantPoolIndex): + (WebCore::CloneDeserializer::readTerminal): + (WebCore::CloneDeserializer::deserialize): + +2010-12-20 Xan Lopez <xlopez@igalia.com> + + Reviewed by Gustavo Noronha. + + * GNUmakefile.am: add missing files. + +2010-12-20 Abhishek Arya <inferno@chromium.org> + + Reviewed by James Robinson. + + Pass the correct beforeChild value when adding a child to an anonymous table part. + https://bugs.webkit.org/show_bug.cgi?id=50932 + + When a "before" content child was added to an anonymous table part, it was added + after the last child. This patch fixes the behavior by adding it properly before + the first child. + + Test: fast/css-generated-content/table-before-child-add.html + + * rendering/RenderTableRow.cpp: + (WebCore::RenderTableRow::addChild): + +2010-12-18 Gavin Barraclough <barraclough@apple.com> + + Reviewed by Oliver Hunt. + + Bug 26276 - Need a mechanism to determine stack extent + + Add forwarding header for StackBounds.h. + + * ForwardingHeaders/wtf/StackBounds.h: Added. + +2010-12-20 James Robinson <jamesr@chromium.org> + + Unreviewed, rolling out r74278. + http://trac.webkit.org/changeset/74278 + https://bugs.webkit.org/show_bug.cgi?id=50833 + + [chromium] Causes many layout tests to crash + + * platform/graphics/chromium/LayerRendererChromium.cpp: + (WebCore::LayerRendererChromium::LayerRendererChromium): + (WebCore::LayerRendererChromium::prepareToDrawLayers): + (WebCore::LayerRendererChromium::drawLayers): + (WebCore::LayerRendererChromium::useRenderSurface): + (WebCore::LayerRendererChromium::setScissorToRect): + * platform/graphics/chromium/LayerRendererChromium.h: + +2010-12-20 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Sam Weinig. + + Factored common page set management into a new PageBlock base class + https://bugs.webkit.org/show_bug.cgi?id=51285 + + * ForwardingHeaders/wtf/PageBlock.h: Added. + +2010-12-20 Steve Block <steveblock@google.com> + + Reviewed by Jeremy Orlow. + + GeolocationPositionCache should do database access on background thread + https://bugs.webkit.org/show_bug.cgi?id=50825 + + Covered by existing Geolocation tests. + + * page/Coordinates.h: + (WebCore::Coordinates::threadSafeCopy): + * page/GeolocationPositionCache.cpp: + (WebCore::GeolocationPositionCache::GeolocationPositionCache): + (WebCore::GeolocationPositionCache::addUser): + (WebCore::GeolocationPositionCache::removeUser): + (WebCore::GeolocationPositionCache::setDatabasePath): + (WebCore::GeolocationPositionCache::setCachedPosition): + (WebCore::GeolocationPositionCache::cachedPosition): + (WebCore::GeolocationPositionCache::startBackgroundThread): + (WebCore::GeolocationPositionCache::threadEntryPoint): + (WebCore::GeolocationPositionCache::threadEntryPointImpl): + (WebCore::GeolocationPositionCache::triggerReadFromDatabase): + (WebCore::GeolocationPositionCache::readFromDatabase): + (WebCore::GeolocationPositionCache::readFromDatabaseImpl): + (WebCore::GeolocationPositionCache::triggerWriteToDatabase): + (WebCore::GeolocationPositionCache::writeToDatabase): + (WebCore::GeolocationPositionCache::writeToDatabaseImpl): + * page/GeolocationPositionCache.h: + * page/Geoposition.h: + (WebCore::Geoposition::threadSafeCopy): + (WebCore::Geoposition::Geoposition): + +2010-12-20 Andras Becsi <abecsi@webkit.org> + + Unreviewed build fix. + + [Qt][V8] Add missing sources to the pro file and remove duplications to fix linking. + + No new tests needed. + + * WebCore.pro: + +2010-12-20 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: Make CSSCompletions a real class rather than singleton + https://bugs.webkit.org/show_bug.cgi?id=51332 + + Drive-by: make use of keywords from re2js in the CSS tokenizer + (apparently, various authors have presumed that re2js is processed at build time). + + No new tests, as this is a refactoring. + + * inspector/front-end/CSSCompletions.js: + (WebInspector.CSSCompletions): + (WebInspector.CSSCompletions.prototype.startsWith): + (WebInspector.CSSCompletions.prototype.firstStartsWith): + (WebInspector.CSSCompletions.prototype._firstIndexOfPrefix): + (WebInspector.CSSCompletions.prototype.keySet): + (WebInspector.CSSCompletions.prototype.next): + (WebInspector.CSSCompletions.prototype.previous): + (WebInspector.CSSCompletions.prototype._closest): + * inspector/front-end/SourceCSSTokenizer.js: + (WebInspector.SourceCSSTokenizer): + * inspector/front-end/SourceCSSTokenizer.re2js: + * inspector/front-end/StylesSidebarPane.js: + (WebInspector.StylePropertyTreeElement.prototype): + * inspector/front-end/inspector.js: + (WebInspector.doLoadedDone.propertyNamesCallback): + (WebInspector.doLoadedDone): + +2010-12-10 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: "Add conditional breakpoint" - create breakpoint only after condition is provided. + https://bugs.webkit.org/show_bug.cgi?id=50813 + + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrame.prototype._addBreakpoint): + (WebInspector.SourceFrame.prototype._breakpointRemoved): + (WebInspector.SourceFrame.prototype._breakpointChanged): + (WebInspector.SourceFrame.prototype._setBreakpointDecoration): + (WebInspector.SourceFrame.prototype._removeBreakpointDecoration): + (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint.didEditBreakpointCondition): + (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint): + (WebInspector.SourceFrame.prototype._contextMenu.else.editBreakpointCondition.didEditBreakpointCondition): + (WebInspector.SourceFrame.prototype._contextMenu.else.editBreakpointCondition): + (WebInspector.SourceFrame.prototype._contextMenu): + (WebInspector.SourceFrame.prototype._editBreakpointCondition.finishEditing): + (WebInspector.SourceFrame.prototype._editBreakpointCondition): + (WebInspector.SourceFrame.prototype._continueToLine): + (WebInspector.SourceFrame.prototype._setBreakpoint): + +2010-12-20 Andrei Popescu <andreip@google.com> + + Reviewed by Jeremy Orlow. + + IDBTransactionBackedImpl instances can be accidentally deleted during calls to abort/commit. + https://bugs.webkit.org/show_bug.cgi?id=51112 + + Makes IDBTransactionBackendImpl objects take a self reference while executing commit and abort. + + Test: storage/indexeddb/transaction-crash-on-abort.html + + * storage/IDBTransactionBackendImpl.cpp: + (WebCore::IDBTransactionBackendImpl::abort): + (WebCore::IDBTransactionBackendImpl::commit): + +2010-12-20 Andrei Popescu <andreip@google.com> + + Reviewed by Jeremy Orlow. + + IDBCursor::delete is not implemented. + https://bugs.webkit.org/show_bug.cgi?id=51110 + + Implement IDBCursor::delete. + See http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#widl-IDBCursor-delete + + Tests: storage/indexeddb/cursor-delete.html + storage/indexeddb/cursor-index-delete.html + + * storage/IDBCursor.cpp: + (WebCore::IDBCursor::deleteFunction): + * storage/IDBCursor.h: + * storage/IDBCursor.idl: + * storage/IDBCursorBackendImpl.cpp: + (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl): + (WebCore::IDBCursorBackendImpl::deleteFunction): + (WebCore::IDBCursorBackendImpl::loadCurrentRow): + * storage/IDBCursorBackendImpl.h: + (WebCore::IDBCursorBackendImpl::create): + * storage/IDBCursorBackendInterface.h: + * storage/IDBIndexBackendImpl.cpp: + (WebCore::IDBIndexBackendImpl::openCursorInternal): + * storage/IDBKey.cpp: + (WebCore::IDBKey::fromQuery): + * storage/IDBObjectStoreBackendImpl.cpp: + (WebCore::IDBObjectStoreBackendImpl::deleteInternal): + (WebCore::IDBObjectStoreBackendImpl::openCursorInternal): + +2010-12-20 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: After a multiline command execution Console does not show the command prompt + https://bugs.webkit.org/show_bug.cgi?id=51257 + + * inspector/front-end/TextPrompt.js: + (WebInspector.TextPrompt.prototype._moveBackInHistory): + (WebInspector.TextPrompt.prototype._moveForwardInHistory): + +2010-12-19 Helder Correia <helder@sencha.com> + + Reviewed by Ariya Hidayat. + + [Qt] Blur distance should not be affected by transformations + https://bugs.webkit.org/show_bug.cgi?id=51161 + + From the spec at http://dev.w3.org/html5/2dcontext/#dom-context-2d-shadowblur: + "The shadowBlur attribute specifies the level of the blurring effect. + (The units do not map to coordinate space units, and are not affected + by the current transformation matrix.)" + + Test: fast/canvas/canvas-scale-shadowBlur.html + + * platform/graphics/ContextShadow.cpp: + (WebCore::ContextShadow::adjustBlurDistance): + * platform/graphics/ContextShadow.h: + * platform/graphics/cairo/ContextShadowCairo.cpp: + (WebCore::ContextShadow::beginShadowLayer): + * platform/graphics/qt/ContextShadowQt.cpp: + (WebCore::ContextShadow::beginShadowLayer): + +2010-12-19 Dan Bernstein <mitz@apple.com> + + Reviewed by Cameron Zwarich. + + Text emphasis marks are not repainted correctly in flipped writing modes + https://bugs.webkit.org/show_bug.cgi?id=51307 + + Tests: fast/repaint/text-emphasis-h.html + fast/repaint/text-emphasis-v.html + + * rendering/InlineFlowBox.cpp: + (WebCore::InlineFlowBox::addTextBoxVisualOverflow): Added flippedness check. + +2010-12-19 Rob Buis <rwlbuis@gmail.com> + + Reviewed by Andreas Kling. + + Remove m_drawsContents from RenderSVGContainer.h + https://bugs.webkit.org/show_bug.cgi?id=51305 + + Remove m_drawsContents, its getter and setter and the call + sites, since it has no effect anymore. + + * WebCore.order: + * rendering/RenderSVGContainer.cpp: + (WebCore::RenderSVGContainer::RenderSVGContainer): + (WebCore::RenderSVGContainer::paint): + * rendering/RenderSVGContainer.h: + * rendering/RenderSVGResourceContainer.h: + * rendering/SVGImageBufferTools.cpp: + (WebCore::SVGImageBufferTools::renderSubtreeToImageBuffer): + +2010-12-19 Benjamin Poulain <benjamin.poulain@nokia.com> + + Reviewed by Kenneth Rohde Christiansen. + + WebKit does not build with worker but without the javascript debugger + https://bugs.webkit.org/show_bug.cgi?id=51293 + + Add missing guard for calls depending on the debugger. + + * inspector/InspectorController.cpp: + (WebCore::InspectorController::populateScriptObjects): + (WebCore::InspectorController::postWorkerNotificationToFrontend): + +2010-12-18 Tom Sepez <tsepez@chromium.org> + + Reviewed by David Levin. + + https://bugs.webkit.org/show_bug.cgi?id=51055 + Fix a null de-reference when an XML file contains a malformed entity + of the form "&:;". + + Test: fast/parser/xml-colon-entity.html + + * html/parser/HTMLEntitySearch.cpp: + (WebCore::HTMLEntitySearch::advance): + +2010-12-18 Noel Gordon <noel.gordon@gmail.com> + + Reviewed by David Levin. + + [chromium] Simplify the PNG encoder. + https://bugs.webkit.org/show_bug.cgi?id=50905 + + Remove PNGEncoderState class - it was a proxy for the encoder output, and + that is a Vector<>, so just write into it directly using append() to make + use of Vector<>'s resize() smarts. Simplify the preMultipliedBGRAtoRGBA() + and encode() routines, replace the OwnArrayPtr<> with a Vector<>. + + canvas.toDataURL("image/png") is covered by existing tests. + + * platform/image-encoders/skia/PNGImageEncoder.cpp: + (WebCore::writeOutput): Use a Vector<>, append() the encoded data to it. + (WebCore::preMultipliedBGRAtoRGBA): simplified. + (WebCore::PNGImageEncoder::encode): ditto. + +2010-12-18 Dan Bernstein <mitz@apple.com> + + Reviewed by Cameron Zwarich. + + Text emphasis marks are not always included in the selection highlight + https://bugs.webkit.org/show_bug.cgi?id=51299 + + Affects pixel results of fast/text/emphasis.html + + Account for annotations in selectionTop() and selectionBottom(). + + * rendering/RootInlineBox.cpp: + (WebCore::RootInlineBox::selectionTop): + (WebCore::RootInlineBox::selectionBottom): + +2010-12-18 Dan Bernstein <mitz@apple.com> + + Reviewed by Cameron Zwarich. + + In flipped writing modes, opposite text emphasis marks from adjacent lines overlap + https://bugs.webkit.org/show_bug.cgi?id=51298 + + Test: fast/text/emphasis-overlap.html + + * rendering/RootInlineBox.cpp: + (WebCore::RootInlineBox::beforeAnnotationsAdjustment): Changed + to -. + +2010-12-18 Helder Correia <helder@sencha.com> and Martin Robinson <mrobinson@igalia.com> + + Reviewed by Ariya Hidayat. + + [Qt] Canvas shadow offset should not be affected by any transformation + https://bugs.webkit.org/show_bug.cgi?id=50422 + + On a canvas context, shadows are currently affected by all + transformations except scaling. According to the spec: + http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#shadows + + "The shadowOffsetX and shadowOffsetY attributes specify the distance + that the shadow will be offset in the positive horizontal and positive + vertical distance respectively. Their values are in coordinate space + units. They are not affected by the current transformation matrix." + + NOTE: this applies only to canvas, not to box shadows. + + Test: fast/canvas/canvas-transforms-fillRect-shadow.html + + * platform/graphics/ContextShadow.cpp: + (WebCore::ContextShadow::ContextShadow): + (WebCore::ContextShadow::calculateLayerBoundingRect): + * platform/graphics/ContextShadow.h: + (WebCore::ContextShadow::setShadowsIgnoreTransforms): + (WebCore::ContextShadow::shadowsIgnoreTransforms): + (WebCore::ContextShadow::offset): + * platform/graphics/qt/ContextShadowQt.cpp: + (WebCore::ContextShadow::beginShadowLayer): + (WebCore::ContextShadow::endShadowLayer): + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::mustUseContextShadow): + (WebCore::GraphicsContext::fillPath): + (WebCore::GraphicsContext::strokePath): + (WebCore::GraphicsContext::fillRect): + (WebCore::GraphicsContext::fillRoundedRect): + (WebCore::GraphicsContext::setPlatformShadow): + +2010-12-18 Ariya Hidayat <ariya@sencha.com> + + Reviewed by Andreas Kling. + + [Qt] TransparencyLayer should inherit its container render hints + https://bugs.webkit.org/show_bug.cgi?id=51283 + + * platform/graphics/qt/TransparencyLayer.h: + (WebCore::TransparencyLayer::TransparencyLayer): + +2010-12-18 Tony Gentilcore <tonyg@chromium.org> + + Reviewed by Laszlo Gombos. + + [Web Timing] Rename domContentLoaded{Start,End}->domContentLoadedEvent{Start,End} + https://bugs.webkit.org/show_bug.cgi?id=50943 + + See: http://test.w3.org/webperf/specs/NavigationTiming/#nt-dom-content-event-start + + * dom/Document.cpp: + (WebCore::Document::finishedParsing): + * dom/DocumentTiming.h: + (WebCore::DocumentTiming::DocumentTiming): + * page/PerformanceTiming.cpp: + (WebCore::PerformanceTiming::domContentLoadedEventStart): + (WebCore::PerformanceTiming::domContentLoadedEventEnd): + * page/PerformanceTiming.h: + * page/PerformanceTiming.idl: + +2010-12-17 Justin Schuh <jschuh@chromium.org> + + Reviewed by Andreas Kling. + + Style fix for r73927 + https://bugs.webkit.org/show_bug.cgi?id=51194 + + No functionality change. No new tests needed. + + * html/HTMLCanvasElement.h: + +2010-12-17 Carlos Garcia Campos <cgarcia@igalia.com> + + Reviewed by Martin Robinson. + + [GTK] Buttons rendering was broken in r74129 + https://bugs.webkit.org/show_bug.cgi?id=51173 + + * platform/gtk/RenderThemeGtk.cpp: + (WebCore::RenderThemeGtk::paintRenderObject): + +2010-12-17 Zoltan Herczeg <zherczeg@webkit.org> + + Reviewed by Dirk Schulze. + + Improve 'arithmetic' operator on feComposite + https://bugs.webkit.org/show_bug.cgi?id=51105 + + Fixing style errors and bug description for r74177. + + * platform/graphics/filters/FEComposite.cpp: + (WebCore::arithmetic): + +2010-12-17 Dan Bernstein <mitz@apple.com> + + Rubber-stamped by Mark Rowe. + + Updated for the renaming of WebKitTools to Tools + + * WebCore.vcproj/build-generated-files.sh: + * WebCore.vcproj/migrate-scripts.sh: + +2010-12-17 Carol Szabo <carol.szabo@nokia.com> + + Reviewed by Darin Adler. + + A corrupted counter tree is created when renderers are added to the + tree bypassing RenderObject::addChild + https://bugs.webkit.org/show_bug.cgi?id=51270 + + This patch replaces the hack introduced for fixing bug 43812 + with code that addresses the underlying problem for that bug. + No new layout tests provided as there is no identified scenario when + visible behavior would be different, the internal datastructures + are maintained properly through this fix so the previous hack + introduced for bug 43812 is now removed. The fact that the + layout test introduced for 43812 continues to pass is proof that the + code works. + + * rendering/RenderCounter.cpp: + (WebCore::findPlaceForCounter): + Removed hack. + * rendering/RenderObject.cpp: + (WebCore::RenderObject::addChild): + Moved call to counter nodes updater to lower level + functions to avoid bypass. + * rendering/RenderObjectChildList.cpp: + (WebCore::RenderObjectChildList::appendChildNode): + (WebCore::RenderObjectChildList::insertChildNode): + Changed to update the values of the counters that + may be inserted in the tree. + +2010-12-17 Shimeng (Simon) Wang <swang@google.com> + + Reviewed by Steve Block. + + Fix V8 JNI binding. + https://bugs.webkit.org/show_bug.cgi?id=51156 + + There're LayoutTests in: + http://trac.webkit.org/browser/trunk/LayoutTests/java/lc3/JSNumber + to exercise these code paths. + Though Chromium don't run them. + Tested on Android fast/events/touch tests. + + * bridge/jni/v8/JNIUtilityPrivate.cpp: + (JSC::Bindings::convertNPVariantToJValue): + +2010-12-17 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Chris Marrin. + + Interrupted accelerated animation can break later transitions + <rdar://problem/8767714> + https://bugs.webkit.org/show_bug.cgi?id=51264 + + If we're still waiting for the 'animationDidStart' callback when renderers + get destroyed, then the m_waitingForStartTimeResponse flag could be left + set to 'true', which causes later transitions to never start. + + Fix by clearing the m_waitingForStartTimeResponse flag when the m_startTimeResponseWaiters + becomes empty. + + Test: transitions/interrupted-accelerated-transition.html + + * page/animation/AnimationController.cpp: + (WebCore::AnimationControllerPrivate::removeFromStartTimeResponseWaitList): + +2010-12-17 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Chris Marrin. + + Interrupted accelerated animation can break later transitions + https://bugs.webkit.org/show_bug.cgi?id=51264 + + Step 1: code cleanup. + Rename "responseWait" variables to "startTimeResponseWait", to make it clear + the kind of response that is being waited for. + + Make a couple of methods private. + + No behavioral changes, so no tests. + + * page/animation/AnimationController.cpp: + (WebCore::AnimationControllerPrivate::AnimationControllerPrivate): + (WebCore::AnimationControllerPrivate::endAnimationUpdate): + (WebCore::AnimationControllerPrivate::receivedStartTimeResponse): + (WebCore::AnimationControllerPrivate::addToStartTimeResponseWaitList): + (WebCore::AnimationControllerPrivate::removeFromStartTimeResponseWaitList): + (WebCore::AnimationControllerPrivate::startTimeResponse): + * page/animation/AnimationControllerPrivate.h: + +2010-12-17 Dan Bernstein <mitz@apple.com> + + Reviewed by Dave Hyatt. + + Layout and rendering of CSS text-emphasis + Final part of <rdar://problem/7720300> Support the CSS3 text-emphasis property + https://bugs.webkit.org/show_bug.cgi?id=48539 + + Tests: fast/text/emphasis-vertical.html + fast/text/emphasis.html + + Emphasis marks behave like they are stuck just above the ascender (or just below the + descender). They occupy space in the leading and in padding, and only grow the line space + if they cannot fit. + + * rendering/InlineFlowBox.cpp: + (WebCore::InlineFlowBox::placeBoxesInBlockDirection): Renamed the containsRuby parameter to + hasAnnotationsBefore, and added hasAnnotationsAfter. Line annotations include ruby and text emphasis + marks. + (WebCore::InlineFlowBox::addTextBoxVisualOverflow): Added overflow from emphasis marks. + (WebCore::InlineFlowBox::computeOverAnnotationAdjustment): Remaned computeBlockDirectionRubyAdjustment() + to this and added adjustment for text emphasis marks. + (WebCore::InlineFlowBox::computeUnderAnnotationAdjustment): Added. Similar to the previous function, + but for annotations under the glyphs. These can only be text emphasis marks. + * rendering/InlineFlowBox.h: + * rendering/InlineTextBox.cpp: + (WebCore::paintTextWithShadows): Paint emphasis marks. + (WebCore::InlineTextBox::paint): Ditto. + * rendering/RenderBlockLineLayout.cpp: + (WebCore::RenderBlock::layoutInlineChildren): Generalized the code that adjusts the last line for + ruby in flipped writing mode to also adjust the last line for emphasis marks under the line in non- + flipped writing mode. + * rendering/RenderObject.cpp: + (WebCore::RenderObject::selectionColor): Added this helper method which generalizes selectionForegroundColor(). + (WebCore::RenderObject::selectionForegroundColor): Moved most of the code to selectionColor(). + (WebCore::RenderObject::selectionEmphasisMarkColor): Added. + * rendering/RenderObject.h: + * rendering/RootInlineBox.cpp: + (WebCore::RootInlineBox::RootInlineBox): Updated initialization for new members. + (WebCore::RootInlineBox::alignBoxesInBlockDirection): Update new members. + (WebCore::RootInlineBox::beforeAnnotationsAdjustment): Renamed blockDirectionRubyAdjustment() to this + and extended to deal with annotations over and under the line and the previous line. If both lines have + annotations into the space between the lines, maintain separation so that the annotations do not overlap. + * rendering/RootInlineBox.h: + (WebCore::RootInlineBox::hasAnnotationsBefore): Added this accessor. + (WebCore::RootInlineBox::hasAnnotationsAfter): Ditto. + +2010-12-17 W. James MacLean <wjmaclean@chromium.org> + + Reviewed by James Robinson. + + [chromium] Add support to compositor to composite to offscreen texture. + https://bugs.webkit.org/show_bug.cgi?id=50833 + + A patch to extend compositor to be able to composite into an offscreen texture instead + of just directly to the display buffer. Builds on RenderSurfaceChromium support. + + External behaviour not changed, so no tests. + + * platform/graphics/chromium/LayerRendererChromium.cpp: + (WebCore::LayerRendererChromium::LayerRendererChromium): + (WebCore::LayerRendererChromium::prepareToDrawLayers): + (WebCore::LayerRendererChromium::drawLayers): + (WebCore::LayerRendererChromium::setCompositeOffscreen): + (WebCore::LayerRendererChromium::useRenderSurface): + (WebCore::LayerRendererChromium::setScissorToRect): + * platform/graphics/chromium/LayerRendererChromium.h: + (WebCore::LayerRendererChromium::isCompositingOffscreen): + (WebCore::LayerRendererChromium::getOffscreenLayerTexture): + +2010-12-17 Ariya Hidayat <ariya@sencha.com> + + Reviewed by Andreas Kling. + + [Qt] Default image interpolation should reset the render hint + https://bugs.webkit.org/show_bug.cgi?id=51233 + + Save initial SmoothPixmapTransform render hint so that it can be used + with default image interpolation quality to reset back the render hints. + + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate): + (WebCore::GraphicsContext::setImageInterpolationQuality): + +2010-12-17 Hans Wennborg <hans@chromium.org> + + Reviewed by Jeremy Orlow. + + IndexedDB: Support Date objects as keys. + https://bugs.webkit.org/show_bug.cgi?id=51193 + + * bindings/v8/IDBBindingUtilities.cpp: + (WebCore::createIDBKeyFromValue): + Use the new IDBKey factory functions, and support Date objects. + * bindings/v8/custom/V8IDBKeyCustom.cpp: + (WebCore::toV8): + Create Date objects from DateType keys. + * storage/IDBKey.cpp: + (WebCore::IDBKey::fromQuery): + (WebCore::IDBKey::isEqual): + (WebCore::IDBKey::whereSyntax): + (WebCore::IDBKey::lowerCursorWhereFragment): + (WebCore::IDBKey::upperCursorWhereFragment): + (WebCore::IDBKey::bind): + (WebCore::IDBKey::bindWithNulls): + Update all SQL related functions to handle Date keys. + * storage/IDBKey.h: + (WebCore::IDBKey::createNull): + (WebCore::IDBKey::createNumber): + (WebCore::IDBKey::createString): + (WebCore::IDBKey::createDate): + Rename the create factories; since both number and date is just a + double, function overloading can't be used to discriminate between + the factories. + (WebCore::IDBKey::date): + Add getter for the date value. + +2010-12-17 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: add scripts parsed after resource load to SourceFrame. + https://bugs.webkit.org/show_bug.cgi?id=51243 + + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel.prototype._addScript): + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrame.prototype.addScript): + +2010-12-17 Anton Muhin <antonm@chromium.org> + + Reviewed by Yury Semikhatsky. + + [v8] The last portion of CSS GC work: fixing fast/dom/StyleSheet/gc-stylesheet-wrapper.html + https://bugs.webkit.org/show_bug.cgi?id=51121 + + Properly group style elements of HTML links, style elements and processing instructions. + + * bindings/v8/V8GCController.cpp: + (WebCore::NodeGrouperVisitor::visitDOMWrapper): + (WebCore::NodeGrouperVisitor::addDOMObjectToGroup): + +2010-12-17 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: [REGRESSION] scripts in scripts panel are not updated on reload. + https://bugs.webkit.org/show_bug.cgi?id=51101 + + * inspector/front-end/ResourceManager.js: + (WebInspector.ResourceTreeModel.prototype.didCommitLoadForFrame): + +2010-12-17 Benjamin Poulain <benjamin.poulain@nokia.com> + + Reviewed by Laszlo Gombos. + + The inspector does not compile without JAVASCRIPT_DEBUGGER + https://bugs.webkit.org/show_bug.cgi?id=51246 + + Fix the build, m_extraHeaders does not depend on JAVASCRIPT_DEBUGGER. + + * inspector/InspectorController.h: + +2010-12-17 Andrey Kosyakov <caseq@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: clear extra/override headers when front-end is closed + https://bugs.webkit.org/show_bug.cgi?id=51244 + + * inspector/InspectorController.cpp: + (WebCore::InspectorController::disconnectFrontend): + (WebCore::InspectorController::willSendRequest): + +2010-12-17 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: [REGRESSION] Cmd (Ctrl) + G does not search next in Scripts panel. + https://bugs.webkit.org/show_bug.cgi?id=50893 + + Now Mac shortcuts are: + - Cmd F/G = find / next + - Cmd L = go to line + + Win/Linux: + - Ctrl+G = go to line + + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel.prototype._registerShortcuts): + * inspector/front-end/inspector.js: + (WebInspector._registerShortcuts): + +2010-12-16 Sergio Villar Senin <svillar@igalia.com> + + Reviewed by Martin Robinson. + + Wrong check in ResourceHandleSoup in error cases + https://bugs.webkit.org/show_bug.cgi?id=51171 + + Calling didReceiveData with no data causes a crash in debug + builds. Checking for soupMsg->response_body->data is not correct as libsoup + always creates a buffer for that. Instead we should check for + soupMsg->response_body->length + + * platform/network/soup/ResourceHandleSoup.cpp: + (WebCore::sendRequestCallback): + +2010-12-17 Andreas Kling <andreas.kling@nokia.com> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Avoid unnecessary calls to GraphicsContextPlatformPrivate::p() + https://bugs.webkit.org/show_bug.cgi?id=49954 + + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContext::pushTransparencyLayerInternal): + (WebCore::GraphicsContext::beginTransparencyLayer): + +2010-12-17 Carlos Garcia Campos <cgarcia@igalia.com> + + Reviewed by Martin Robinson. + + [GTK] Compile warning introduced in r74129 + https://bugs.webkit.org/show_bug.cgi?id=51181 + + * platform/gtk/RenderThemeGtk.cpp: + (WebCore::RenderThemeGtk::gtkContainer): + +2010-12-17 James Simonsen <simonjam@chromium.org> + + Reviewed by Darin Fisher. + + [Web Timing] Add sslHandshakeStart to interface + + https://bugs.webkit.org/show_bug.cgi?id=50400 + + Test: http/tests/misc/webtiming-ssl.php + + * page/PerformanceTiming.cpp: + (WebCore::PerformanceTiming::connectStart): Update comment. + (WebCore::PerformanceTiming::connectEnd): Remove SSL time. + (WebCore::PerformanceTiming::sslHandshakeStart): Added. + * page/PerformanceTiming.h: Added sslHandshakeStart. + * page/PerformanceTiming.idl: Ditto. + +2010-12-17 James Simonsen <simonjam@chromium.org> + + Reviewed by Darin Fisher. + + [Web Timing] Navigation type enums should begin with TYPE_ + https://bugs.webkit.org/show_bug.cgi?id=51200 + + * page/PerformanceNavigation.cpp: + (WebCore::PerformanceNavigation::type): Added TYPE_ to navigation types. + * page/PerformanceNavigation.h: Ditto and added TYPE_RESERVED. + * page/PerformanceNavigation.idl: Ditto. + +2010-12-17 Steve Block <steveblock@google.com> + + Unreviewed build fix. + + Fix build when Geolocation is disabled. + + No new tests, build fix only. + + * page/Geolocation.h: + +2010-12-17 Patrick Gansterer <paroga@webkit.org> + + Unreviewed. WinCE build fix. + + * platform/graphics/GraphicsContext.h: + +2010-12-17 Ilya Tikhonovsky <loislo@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: remove unnecessary dependencies from InspectorBackendStub. + + InspectorBackendStub is a transport-only thing but it has dependencies with + Callback.js and WebInspector namespace. Callback can be integrated into + InspectorBackendStub because it is the only client. + Without these dependencies InspectorBackendStub can be used as an API + wrapper for Inspector Protocol. + + https://bugs.webkit.org/show_bug.cgi?id=51184 + + * WebCore.gypi: + * inspector/CodeGeneratorInspector.pm: + * inspector/front-end/Callback.js: Removed. + * inspector/front-end/WebKit.qrc: + * inspector/front-end/inspector.html: + +2010-12-15 Andrey Kosyakov <caseq@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: [Extension API] add support for adding/overriding HTTP request headers + https://bugs.webkit.org/show_bug.cgi?id=50493 + + Test: http/tests/inspector/extensions-headers.html + + * inspector/Inspector.idl: + * inspector/InspectorController.cpp: + (WebCore::InspectorController::willSendRequest): Apply extra headers. + (WebCore::InspectorController::setExtraHeaders): + * inspector/InspectorController.h: + * inspector/front-end/ExtensionAPI.js: + (WebInspector.injectedExtensionAPI.Resources.prototype.getHAR): + (WebInspector.injectedExtensionAPI.Resources.prototype.addRequestHeaders): + * inspector/front-end/ExtensionServer.js: + (WebInspector.ExtensionServer): + (WebInspector.ExtensionServer.prototype._onAddRequestHeaders): + +2010-12-16 Koan-Sin Tan <koansin.tan@gmail.com> + + Reviewed by Kent Tamura. + + Glyphs in vertical text tests are rotated 90 degrees clockwise on Chromium Linux + https://bugs.webkit.org/show_bug.cgi?id=50365 + + No new tests. But this makes Chromimium Linux show + fast/blockflow/japanese-*-text.html and other vertical + writing text correctly as on WebKit and Chromimum for Mac. + + * platform/graphics/chromium/FontCacheLinux.cpp: + (WebCore::FontCache::createFontPlatformData): + * platform/graphics/chromium/FontLinux.cpp: + (WebCore::Font::drawGlyphs): + * platform/graphics/chromium/FontPlatformDataLinux.cpp: + (WebCore::FontPlatformData::FontPlatformData): + (WebCore::FontPlatformData::operator=): + (WebCore::FontPlatformData::operator==): + (WebCore::FontPlatformData::hash): + * platform/graphics/chromium/FontPlatformDataLinux.h: + (WebCore::FontPlatformData::FontPlatformData): + (WebCore::FontPlatformData::orientation): + * platform/graphics/chromium/SimpleFontDataLinux.cpp: + (WebCore::SimpleFontData::platformInit): + * platform/graphics/skia/FontCustomPlatformData.cpp: + (WebCore::FontCustomPlatformData::fontPlatformData): + * platform/graphics/skia/GlyphPageTreeNodeSkia.cpp: + (WebCore::substituteWithVerticalGlyphs): + (WebCore::GlyphPage::fill): + +2010-12-16 Yi Shen <yi.4.shen@nokia.com>, Tor Arne Vestbo <tor.arne.vestbo@nokia.com> + + Reviewed by Eric Carlson. + + Provide an interface to require using fullscreen mediaplayer + https://bugs.webkit.org/show_bug.cgi?id=51133 + + Add ChromeClient::requiresFullscreenForVideoPlayback to require webkit + to launch fullscreen video player for playing the html5 video. The + idea is that a browser vendor can specify this behavior through the + platform plugin or something else by using this interface. + + No new tests because no client implements requiresFullscreenForVideoPlayback yet. + + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::updatePlayState): + (WebCore::HTMLMediaElement::exitFullscreen): + * page/Chrome.cpp: + (WebCore::Chrome::requiresFullscreenForVideoPlayback): + * page/Chrome.h: + * page/ChromeClient.h: + (WebCore::ChromeClient::requiresFullscreenForVideoPlayback): + +2010-12-16 Steve Block <steveblock@google.com> + + Reviewed by Steve Block. + + GeolocationPositionCache needs refactoring + https://bugs.webkit.org/show_bug.cgi?id=50826 + + No new tests, refactoring only. + + * page/Geolocation.cpp: + (WebCore::Geolocation::Geolocation): + (WebCore::Geolocation::makeCachedPositionCallbacks): + (WebCore::Geolocation::haveSuitableCachedPosition): + (WebCore::Geolocation::positionChangedInternal): + * page/Geolocation.h: + * page/GeolocationPositionCache.cpp: + (WebCore::GeolocationPositionCache::instance): + (WebCore::GeolocationPositionCache::GeolocationPositionCache): + (WebCore::GeolocationPositionCache::addUser): + (WebCore::GeolocationPositionCache::removeUser): + (WebCore::GeolocationPositionCache::setDatabasePath): + (WebCore::GeolocationPositionCache::setCachedPosition): + (WebCore::GeolocationPositionCache::cachedPosition): + (WebCore::GeolocationPositionCache::readFromDatabase): + (WebCore::GeolocationPositionCache::writeToDatabase): + * page/GeolocationPositionCache.h: + (WebCore::GeolocationPositionCacheWrapper::GeolocationPositionCacheWrapper): + (WebCore::GeolocationPositionCacheWrapper::~GeolocationPositionCacheWrapper): + (WebCore::GeolocationPositionCacheWrapper::setCachedPosition): + (WebCore::GeolocationPositionCacheWrapper::cachedPosition): + +2010-12-16 Ariya Hidayat <ariya@sencha.com> + + Reviewed by Andreas Kling. + + [Qt] GraphicsContext should respect QWebView render hints + https://bugs.webkit.org/show_bug.cgi?id=51208 + + GraphicsContext does not override SmoothPixmapTransform (see also + r62762). To keep the same behavior, canvas default image interpolation + quality is set to medium and QWebView's render hints by default also + include SmoothPixmapTransform. + + * html/HTMLCanvasElement.h: + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate): + +2010-12-16 Daniel Bates <dbates@rim.com> + + Formatting fix; un-indent one level all lines in [2793, 2808] (with respect to r74217) + so as to be consistent with the formatting of the rest of this file. + + Also, add an empty line between the win32* and wince* conditional include blocks. + + * WebCore.pro: + +2010-12-16 Daniel Bates <dbates@rim.com> + + Reviewed by Antonio Gomes. + + [Qt] Only include ScrollAnimatorWin.h and compile ScrollAnimatorWin.cpp + on Windows if ENABLE_SMOOTH_SCROLLING=1 + https://bugs.webkit.org/show_bug.cgi?id=51215 + + Conditionally include the files ScrollAnimatorWin.h and ScrollAnimatorWin.cpp when building + the Qt Windows with smooth scrolling enabled. + + No change in functionality since these files are guarded by ENABLE(SMOOTH_SCROLLING). + + * WebCore.pro: + +2010-12-16 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Darin Adler. + + execCommand('JustifyCenter') adds extra BR + https://bugs.webkit.org/show_bug.cgi?id=51082 + + The bug was caused by moveParagraphContentsToNewBlockIfNecessary's adding a placeholder br + to new block and not removing it later. Fixed the bug by removing it when the paragraph + moved into the block didn't have a br at the end. + + Test: editing/execCommand/justify.html + + * editing/CompositeEditCommand.cpp: + (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): + +2010-12-16 Jian Li <jianli@chromium.org> + + Unreviewed. Fixed chromium build break caused by r74207. + + * platform/ContextMenuItem.h: + +2010-12-16 Leandro Pereira <leandro@profusion.mobi> + + [EFL] Unreviewed build fix. + + Disable ContextMenu support for now while support for + CROSS_PLATFORM_MENUS is written. + + * CMakeListsEfl.txt: + * platform/ContextMenu.h: + * platform/ContextMenuItem.h: + * platform/efl/ContextMenuEfl.cpp: + (WebCore::ContextMenu::ContextMenu): + (WebCore::ContextMenu::getContextMenuItems): + (WebCore::ContextMenu::createNativeMenuFromItems): + (WebCore::ContextMenu::nativeMenu): + * platform/efl/ContextMenuItemEfl.cpp: + (WebCore::ContextMenuItem::ContextMenuItem): + (WebCore::ContextMenuItem::~ContextMenuItem): + (WebCore::ContextMenuItem::nativeMenuItem): + (WebCore::ContextMenuItem::type): + (WebCore::ContextMenuItem::setAction): + (WebCore::ContextMenuItem::action): + (WebCore::ContextMenuItem::setChecked): + (WebCore::ContextMenuItem::checked): + (WebCore::ContextMenuItem::setEnabled): + (WebCore::ContextMenuItem::enabled): + (WebCore::ContextMenuItem::setSubMenu): + +2010-12-16 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Darin Adler. + + execCommand('styleWithCSS') is ignored when selection isn't inside a contenteditable area + https://bugs.webkit.org/show_bug.cgi?id=51164 + + Fixed the bug by always enabling the StyleWithCSS command. + + Test: editing/style/stylewithcss-without-selection.html + + * editing/EditorCommand.cpp: + (WebCore::createCommandMap): StyleWithCSS is enabled rather than enabledInRichlyEditableText. + +2010-12-16 Anders Carlsson <andersca@apple.com> + + Reviewed by Darin Adler. + + Save the manual plug-in stream data and redeliver it when the plug-in is initialized + https://bugs.webkit.org/show_bug.cgi?id=51201 + + Export SharedBuffer related symbols. + + * WebCore.exp.in: + +2010-12-16 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: timeline records should only operate WebCore time. + https://bugs.webkit.org/show_bug.cgi?id=51127 + + * inspector/InspectorTimelineAgent.cpp: + (WebCore::InspectorTimelineAgent::didFinishLoadingResource): + * inspector/TimelineRecordFactory.cpp: + (WebCore::TimelineRecordFactory::createResourceFinishData): + * inspector/TimelineRecordFactory.h: + +2010-12-15 Alexey Proskuryakov <ap@apple.com> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=50996 + <rdar://problem/8098862> Consider disabling DNS prefetch when proxy is used + + No new tests, cannot test DNS. + + * platform/network/cf/DNSCFNet.cpp: + (WebCore::proxyIsEnabledInSystemPreferences): Check if accessing example.com is going to use + a proxy. This is only an estimate - even with a proxy is configured in system preferences, an + actual request can go directly to the host if a PAC script says so. + (WebCore::DNSResolveQueue::add): Check if proxy is enabled when sending immediate requests. + (WebCore::DNSResolveQueue::fired): Ditto when sending queued ones. + +2010-12-16 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: Console always scroll to the bottom on new events + https://bugs.webkit.org/show_bug.cgi?id=51189 + + When new messages are added to the console it will auto scroll + only if it was already scrolled down to the last record. + + * inspector/front-end/ConsoleView.js: + (WebInspector.ConsoleView.prototype._scheduleScrollIntoView.scrollIntoView): + (WebInspector.ConsoleView.prototype._scheduleScrollIntoView): + (WebInspector.ConsoleView.prototype._isScrolledToLastMessage): + (WebInspector.ConsoleView.prototype.addMessage): + +2010-12-16 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: update CallStackSidebarPane placards and status message in the same event handler. + https://bugs.webkit.org/show_bug.cgi?id=51174 + + * inspector/front-end/BreakpointManager.js: + (WebInspector.BreakpointManager.prototype.breakpointViewForEventData): + (WebInspector.BreakpointManager.prototype._debuggerPaused): + (WebInspector.BreakpointManager.prototype._debuggerResumed): + * inspector/front-end/CallStackSidebarPane.js: + (WebInspector.CallStackSidebarPane): + (WebInspector.CallStackSidebarPane.prototype.update): + (WebInspector.CallStackSidebarPane.prototype.registerShortcuts): + * inspector/front-end/DebuggerModel.js: + (WebInspector.DebuggerModel.prototype.pausedScript): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel.prototype._debuggerPaused): + +2010-12-16 Hans Wennborg <hans@chromium.org> + + Reviewed by Jeremy Orlow. + + IndexedDB: Fix IDBDatabaseError code offset bug + https://bugs.webkit.org/show_bug.cgi?id=51177 + + IDBDatabaseError::code() needs to return the error code without + offset. But when the IDBDatabaseError is created, the code comes with + an offset (it gets passed a IDBDatabaseException::IDBDatabaseExceptionCode). + + However, in Chromium, IDBDatabaseErrors are sometimes also created via + WebIDBDatabaseError when they are sent across IPC, and then the error + code comes *without* offset. Provide a second create() function for + this case. + + * storage/IDBDatabaseError.h: + (WebCore::IDBDatabaseError::create): + (WebCore::IDBDatabaseError::createWithoutOffset): + (WebCore::IDBDatabaseError::code): + +2010-12-16 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r74162. + http://trac.webkit.org/changeset/74162 + https://bugs.webkit.org/show_bug.cgi?id=51185 + + More breakage in GTK+ (Requested by xan_ on #webkit). + + * platform/text/TextCodecUTF16.cpp: + (WebCore::TextCodecUTF16::registerEncodingNames): + +2010-12-16 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: Up/Down/PageUp/PageDown on a CSS property numeric value commit the value editor + https://bugs.webkit.org/show_bug.cgi?id=51114 + + The r74038 regressed the behaviour. This patch additionally ensures that both Metrics and Styles panes + are updated once a stylesheet is reverted. + + * inspector/front-end/ElementsPanel.js: + (WebInspector.ElementsPanel.prototype._stylesPaneEdited): + (WebInspector.ElementsPanel.prototype._metricsPaneEdited): + (WebInspector.ElementsPanel.prototype._styleSheetChanged): + +2010-12-16 Yury Semikhatsky <yurys@chromium.org> + + Unreviewed. Fix Chromium Mac Debug Clang compilation. + + * platform/graphics/FontFastPath.cpp: + (WebCore::Font::getGlyphsAndAdvancesForSimpleText): + +2010-12-16 Alejandro G. Castro <alex@igalia.com> + + Unreviewed. Fix GTK3 compilation after 74129. + + * platform/gtk/WidgetRenderingContextGtk3.cpp: + +2010-12-16 Yury Semikhatsky <yurys@chromium.org> + + Unreviewed. Fix Chromium Debug compilation after r74177 + + * platform/graphics/filters/FEComposite.cpp: + (WebCore::arithmetic): + +2010-12-16 Kent Tamura <tkent@chromium.org> + + Unreviewed, build fix. + + Fix a warning on 32-bit Mac. + + * platform/graphics/mac/SimpleFontDataMac.mm: + (WebCore::SimpleFontData::emphasisMarkFontData): 0.5 -> 0.5f + +2010-12-16 Zoltan Herczeg <zherczeg@webkit.org> + + Reviewed by Dirk Schulze. + + Improve feArithmeticFilter + https://bugs.webkit.org/show_bug.cgi?id=51105 + + In case of the arithmetic operator on feComposite filter, we could use + different result passing modes depend on its type. Furthermore, the + number of executed multiplications is reduced if k1 or k4 argument is zero. + + 2% speedup on WebCore/manual-tests/svg-filter-animation.svg + + * platform/graphics/filters/FEComposite.cpp: + (WebCore::computeArithmeticPixels): + (WebCore::arithmetic): + (WebCore::FEComposite::apply): + +2010-12-15 Brian Weinstein <bweinstein@apple.com> + + Reviewed by Jon Honeycutt. + + WebKit2 should exit auto scrolling mode when losing focus + https://bugs.webkit.org/show_bug.cgi?id=49209 + + When a page loses focus, make sure that we stop the autoscroll timer, which exits pan scrolling mode. We + don't want to automatically scroll when a page doesn't have focus. + + Updated manual-tests/autoscroll.html with instructions to test this bug. + + * manual-tests/autoscroll.html: + * page/FocusController.cpp: + (WebCore::FocusController::setFocused): + +2010-12-15 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + Font support for the text-emphasis CSS property + Part of <rdar://problem/7720300> Support the CSS3 text-emphasis property + https://bugs.webkit.org/show_bug.cgi?id=48539 + + * platform/graphics/Font.cpp: + (WebCore::Font::drawEmphasisMarks): Added. Calls through to drawEmphasisMarksFor{Simple,Complex}Text. + (WebCore::Font::canReceiveTextEmphasis): Added. For simple text, checks if the character should + have an emphasis mark. + + * platform/graphics/Font.h: + + * platform/graphics/FontFastPath.cpp: + (WebCore::Font::glyphDataForCharacter): Replaced the forceSmallCaps boolean with a FontDataVariant + parameter and made this function work with other variants. + (WebCore::Font::getEmphasisMarkGlyphData): Added. Returns glyph data for the first character of + the emphasis mark. This function may not work if the emphasis mark uses a complex script, but none + of the standard emphasis marks do so. + (WebCore::Font::emphasisMarkAscent): Added. + (WebCore::Font::emphasisMarkDescent): Added. + (WebCore::Font::emphasisMarkHeight): Added. + (WebCore::Font::getGlyphsAndAdvancesForSimpleText): Moved much of the logic from drawSimpleText() + into this new function, which also has a ForTextEmphasis parameter, which is passed along to the + WidthIterator. + (WebCore::Font::drawSimpleText): Left the drawing part here. + (WebCore::Font::drawEmphasisMarksForSimpleText): Added. + (WebCore::Font::drawGlyphBuffer): Removed the unused TextRun parameter. + (WebCore::offsetToMiddleOfGlyph): Added this helper. + (WebCore::offsetToMiddleOfGlyphAtIndex): Added this other helper. + (WebCore::Font::drawEmphasisMarks): Added. Draws emphasis marks for a given glyph buffer by placing + one mark centered above each glyph. Zero glyphs in the buffer indicate that no mark should be drawn. + + * platform/graphics/GraphicsContext.cpp: + (WebCore::GraphicsContext::drawEmphasisMarks): Added. Calls through to Font::drawEmphasisMarks(). + + * platform/graphics/GraphicsContext.h: + + * platform/graphics/SimpleFontData.cpp: + (WebCore::SimpleFontData::SimpleFontData): Removed initialization of deleted members. + (WebCore::SimpleFontData::~SimpleFontData): Removed derived font data cleanup, which now happens + in ~DerivedFontData. + (WebCore::SimpleFontData::brokenIdeographFontData): Changed to use m_derivedFontData. + (WebCore::SimpleFontData::DerivedFontData::DerivedFontData): Added. This lazily-allocated struct + contains the SimpleFontData for small caps, broken ideograph and emphasis mark. + (WebCore::SimpleFontData::DerivedFontData::~DerivedFontData): Added. + + * platform/graphics/SimpleFontData.h: + (WebCore::SimpleFontData::variantFontData): Added. This is used by Font::glyphDataForCharacter(). + + * platform/graphics/WidthIterator.cpp: + (WebCore::WidthIterator::WidthIterator): Added forTextEmphasis parameter. + (WebCore::WidthIterator::advance): When used for text emphasis, replace glyphs with the zero glyph + if they should not receive an emphasis mark. + + * platform/graphics/WidthIterator.h: + + * platform/graphics/chromium/FontChromiumWin.cpp: + (WebCore::Font::drawEmphasisMarksForComplexText): Added stub. + + * platform/graphics/chromium/FontLinux.cpp: + (WebCore::TextRunWalker::nextScriptRun): Updated for change to Font::glyphDataForCharacter(). + (WebCore::TextRunWalker::setupFontForScriptRun): Ditto. + (WebCore::Font::drawEmphasisMarksForComplexText): Added stub. + + * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp: + (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized. + (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData(). + (WebCore::SimpleFontData::emphasisMarkFontData): Added. + + * platform/graphics/chromium/SimpleFontDataLinux.cpp: + (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized. + (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData(). + (WebCore::SimpleFontData::emphasisMarkFontData): Added. + + * platform/graphics/efl/FontEfl.cpp: + (WebCore::Font::drawEmphasisMarksForComplexText): Added stub. + + * platform/graphics/freetype/SimpleFontDataFreeType.cpp: + (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized. + (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData(). + (WebCore::SimpleFontData::emphasisMarkFontData): Added. + + * platform/graphics/gtk/FontGtk.cpp: + (WebCore::Font::drawEmphasisMarksForComplexText): Added stub. + + * platform/graphics/haiku/FontHaiku.cpp: + (WebCore::Font::drawEmphasisMarksForComplexText): Added stub. + + * platform/graphics/haiku/SimpleFontDataHaiku.cpp: + (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized. + (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData(). + (WebCore::SimpleFontData::emphasisMarkFontData): Added. + + * platform/graphics/mac/ComplexTextController.cpp: + (WebCore::ComplexTextController::ComplexTextController): Added forTextEmphasis parameter. + (WebCore::ComplexTextController::collectComplexTextRuns): Updated for change to Font::glyphDataForCharacter(). + (WebCore::ComplexTextController::adjustGlyphsAndAdvances): When used for text emphasis, replace glyphs with the zero glyph + if they should not receive an emphasis mark. + + * platform/graphics/mac/ComplexTextController.h: + + * platform/graphics/mac/FontComplexTextMac.cpp: + (WebCore::Font::getGlyphsAndAdvancesForComplexText): Moved much of the logic from drawComplexText() + into this new function, which also has a ForTextEmphasis parameter, which is passed along to the + ComplexTextController. + (WebCore::Font::drawComplexText): Left the drawing part here. + (WebCore::Font::drawEmphasisMarksForComplexText): Added. + + * platform/graphics/mac/SimpleFontDataMac.mm: + (WebCore::SimpleFontData::platformDestroy): Adopted m_derivedFontData. + (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized. + (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData(). + (WebCore::SimpleFontData::emphasisMarkFontData): Added. + + * platform/graphics/pango/SimpleFontDataPango.cpp: + (WebCore::SimpleFontData::platformDestroy): Removed redundant clearing of derived font. + (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized. + (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData(). + (WebCore::SimpleFontData::emphasisMarkFontData): Added. + + * platform/graphics/qt/FontQt.cpp: + (WebCore::Font::emphasisMarkAscent): Added stub. + (WebCore::Font::emphasisMarkDescent): Ditto. + (WebCore::Font::emphasisMarkHeight): Ditto. + (WebCore::Font::drawEmphasisMarksForSimpleText): Ditto. + (WebCore::Font::drawEmphasisMarksForComplexText): Ditto. + + * platform/graphics/win/FontWin.cpp: + (WebCore::Font::getGlyphsAndAdvancesForComplexText): Moved much of the logic from drawComplexText() + into this new function, which also has a ForTextEmphasis parameter. Currently returns an empty + glyph buffer for text emphasis. + (WebCore::Font::drawComplexText): Left the drawing part here. + (WebCore::Font::drawEmphasisMarksForComplexText): Added. + + * platform/graphics/win/SimpleFontDataWin.cpp: + (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized. + (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData(). + (WebCore::SimpleFontData::emphasisMarkFontData): Added. + + * platform/graphics/win/UniscribeController.cpp: + (WebCore::UniscribeController::advance): Updated for change to Font::glyphDataForCharacter(). + + * platform/graphics/wince/FontWinCE.cpp: + (WebCore::Font::drawEmphasisMarksForComplexText): Added stub. + + * platform/graphics/wince/SimpleFontDataWinCE.cpp: + (WebCore::SimpleFontData::platformDestroy): Removed redundant clearing of derived font. + (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized. + (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData(). + (WebCore::SimpleFontData::emphasisMarkFontData): Added. + + * platform/graphics/wx/FontWx.cpp: + (WebCore::Font::getGlyphsAndAdvancesForComplexText): Added stub. + (WebCore::Font::drawComplexText): Updated for removal of unused TextRun parameter to drawGlyphBuffer(). + (WebCore::Font::drawEmphasisMarksForComplexText): Added. + + * platform/graphics/wx/SimpleFontDataWx.cpp: + (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized. + (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData(). + (WebCore::SimpleFontData::emphasisMarkFontData): Added. + + * platform/text/CharacterNames.h: Added characters used in Font::canReceiveTextEmphasis(). + +2010-12-15 Beth Dakin <bdakin@apple.com> + + Reviewed by Darin Adler. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=51150 WebView's + _scaleWebView SPI doesn't work on pages with compositing layers + -and corresponding- + <rdar://problem/8604713> + + paintingGoesToWindow() should return false if the owning layer has + a transform. + * rendering/RenderLayerBacking.cpp: + (WebCore::RenderLayerBacking::paintingGoesToWindow): + + Use docWidth() and docHeight() instead of rightLayoutOverflow() and + bottomLayoutOverflow() since docWidth/Height are now the preferred + way to query physical dimensions of the document. + * rendering/RenderLayerCompositor.cpp: + (WebCore::RenderLayerCompositor::updateRootLayerPosition): + +2010-12-15 Alex Bredariol Grilo <abgrilo@profusion.mobi> + + Reviewed by Eric Seidel. + + [EFL] Fix timer calling time in SharedTimerEfl + + No new features, so no tests added. + + The usage of ecore_timer_loop_add instead of ecore_timer_add corrects + the problem that the timer is not called at the correct time. Since this + code runs in a single thread, all multiple thread operations were + removed. + + * platform/efl/SharedTimerEfl.cpp: + (WebCore::stopSharedTimer): + (WebCore::addNewTimer): + +2010-12-15 Andreas Kling <andreas.kling@nokia.com> + + Reviewed by Ariya Hidayat. + + [Qt] StillImage::draw() shouldn't call setCompositionMode() unless the QPaintEngine has Porter-Duff composition + https://bugs.webkit.org/show_bug.cgi?id=49918 + + Go through GraphicsContext::setCompositeOperation() which does the check for us. + + * platform/graphics/qt/StillImageQt.cpp: + (WebCore::StillImage::draw): + +2010-12-15 Yong Li <yoli@rim.com> + + Reviewed by Darin Adler. + + UTF-16 and its variants should be treated as Big Endian when BOM + is absent. + https://bugs.webkit.org/show_bug.cgi?id=51035 + + Test: fast/encoding/char-decoding.html (changed) + + * platform/text/TextCodecUTF16.cpp: + (WebCore::TextCodecUTF16::registerEncodingNames): + +2010-12-15 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Chris Marrin. + + Percentage Z values in 3d transform functions and transform-origin should cause the property to be invalid + https://bugs.webkit.org/show_bug.cgi?id=51070 + + Treat as inavlid -webkit-transform values that include a percentage value in translateZ() + or in the third parameter to translate3d(). + + Test: transforms/3d/general/3dtransform-values.html + + * css/CSSParser.cpp: + (WebCore::CSSParser::parseTransform): + (WebCore::CSSParser::parseTransformOrigin): Whitespace change. + +2010-12-15 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Chris Marrin. + + Reflection does not render properly when -webkit-transform is toggled, untoggled, and retoggled + https://bugs.webkit.org/show_bug.cgi?id=50967 + + If a reflection on a compositied, transformed element is toggled on, off and on, + then we pick up a cached layer clone that has the wrong transform set on it. + + The fix is to reset those properties on the layer clones that get changed + when the GraphicsLayer gains a structural layer (for reflection flattening). + + Test: compositing/reflections/remove-add-reflection.html + + * platform/graphics/ca/GraphicsLayerCA.cpp: + (WebCore::GraphicsLayerCA::ensureStructuralLayer): + +2010-12-15 Timothy Hatcher <timothy@apple.com> + + Fix a regression where the Web Inspector console would be empty + if the Inspector is localized. + + https://bugs.webkit.org/show_bug.cgi?id=51145 + + Reviewed by Joseph Pecoraro. + + * inspector/front-end/ConsoleView.js: + (WebInspector.ConsoleView.createFilterElement): Add a label argument so the UI string + is separate from the classname. Code clean up. + (WebInspector.ConsoleView.prototype.filter): Remove toLowerCase and use string compare. + (WebInspector.ConsoleView): Pass separate classnames and labels to createFilterElement. + +2010-12-15 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Adele Peterson. + + WebKit2 in compositing mode no longer has font smoothing + https://bugs.webkit.org/show_bug.cgi?id=50733 + + Only turn off font smoothing for layers whose contents are + not opaque. This allows the root GraphicsLayer in WebKit2 to + set the opaque flag, and get smoothed text. + + * platform/graphics/mac/WebLayer.mm: + (drawLayerContents): + +2010-12-15 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dan Bernstein. + + Allow disabling of font smoothing in compositing layers to be overridden by style + https://bugs.webkit.org/show_bug.cgi?id=50732 + + Add methods to GraphicsContext to get and set font smoothing, + and have them be part of the graphics state. + + Fix Font::drawGlyphs() to allow the font's smoothing mode (from style) + to override the current smoothing mode of the context. The global + shouldUseSmoothing() still has final say. + + Turn off smoothing in compositing layers with this, rather than + the non-stateful 'allow' method. + + * manual-tests/compositing/font-smoothing.html: Added. + Manual test because DRT disables font smoothing. + + * platform/graphics/GraphicsContext.cpp: + (WebCore::GraphicsContext::setShouldSmoothFonts): + (WebCore::GraphicsContext::shouldSmoothFonts): + (WebCore::GraphicsContext::setPlatformShouldSmoothFonts): + * platform/graphics/GraphicsContext.h: + (WebCore::GraphicsContextState::GraphicsContextState): + * platform/graphics/cg/GraphicsContextCG.cpp: + (WebCore::GraphicsContext::setPlatformShouldSmoothFonts): + * platform/graphics/mac/FontMac.mm: + (WebCore::Font::drawGlyphs): + * platform/graphics/mac/WebLayer.mm: + (drawLayerContents): + +2010-12-15 Matthew Delaney <mdelaney@apple.com> + + Reviewed by Simon Fraser. + + IOSurface bounds checks on bytesPerRow and allocSize are incorrect + https://bugs.webkit.org/show_bug.cgi?id=51137 + + No new tests added. For those using this new functionality, many current canvas layout tests will now pass. + + * platform/graphics/cg/ImageBufferCG.cpp: + +2010-12-15 Kenneth Russell <kbr@google.com> + + Reviewed by James Robinson. + + Web Audio API: port FFTFrame to MKL + https://bugs.webkit.org/show_bug.cgi?id=50986 + + Ported FFTFrame to Intel's MKL. This patch contains the port and + initial, though not complete, build system changes. Tested so far + with a unit test by Chris Rogers (which requires code changes to + AudioContext.cpp and is not being checked in). Further testing to + follow once layout tests are available for the Web Audio API. + + * WebCore.gyp/WebCore.gyp: + * WebCore.gypi: + * platform/audio/FFTFrame.h: + * platform/audio/mkl: Added. + * platform/audio/mkl/FFTFrameMKL.cpp: Added. + (WebCore::FFTFrame::FFTFrame): + (WebCore::FFTFrame::~FFTFrame): + (WebCore::FFTFrame::multiply): + (WebCore::FFTFrame::doFFT): + (WebCore::FFTFrame::doInverseFFT): + (WebCore::FFTFrame::cleanup): + (WebCore::FFTFrame::realData): + (WebCore::FFTFrame::imagData): + (WebCore::FFTFrame::getUpToDateComplexData): + (WebCore::FFTFrame::descriptorHandleForSize): + +2010-12-15 Yong Li <yoli@rim.com> + + Reviewed by Darin Adler. + + Fix stack overflow when there are too many sibling inline boxes by using + a loop to traverse children instead of calling each sibling from the first child. + https://bugs.webkit.org/show_bug.cgi?id=48255 + + Test: fast/overflow/lots-of-sibling-inline-boxes.html + + * rendering/InlineBox.h: + (WebCore::InlineBox::setConstructed): + (WebCore::InlineBox::next): + * rendering/InlineFlowBox.h: + (WebCore::InlineFlowBox::setConstructed): + +2010-12-15 Sam Weinig <sam@webkit.org> + + Reviewed by Anders Carlsson. + + WebKit2: Can't add files to an <input type=file> + https://bugs.webkit.org/show_bug.cgi?id=51087 + + Add exported function. + + * WebCore.exp.in: + +2010-12-15 Andreas Kling <andreas.kling@nokia.com> + + Reviewed by Antonio Gomes. + + [Qt] screenIsMonochrome() is broken + https://bugs.webkit.org/show_bug.cgi?id=49957 + + * platform/qt/PlatformScreenQt.cpp: + (WebCore::screenIsMonochrome): + +2010-12-15 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Gustavo Noronha Silva. + + [GTK] Move button rendering from gtk{2,3}drawing.cpp to RenderThemeGtk + https://bugs.webkit.org/show_bug.cgi?id=48486 + + Implement button rendering in RenderThemeGtk. The implementation + from gtk{2,3}drawing.cpp will be removed once menu list button rendering + is implemented in RenderThemeGtk as well. + + No new tests, as this should not change functionality. + + * platform/gtk/RenderThemeGtk.cpp: + (WebCore::RenderThemeGtk::paintButton): Add an implementation of button + rendering that uses WidgetRenderingContext. + +2010-10-18 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Gustavo Noronha Silva. + + [GTK] Move input type=range rendering to RenderThemeGtk + https://bugs.webkit.org/show_bug.cgi?id=47836 + + Begin moving widget rendering out of the old Mozilla theme drawing code, + which should remove many lines of code when completed. WidgetRenderingContext + now hides the GTK+ 2 vs. 3 API differences, so that RenderThemeGtk can stay + version agnostic. + + No new tests as this patch does not change functionality. + + * platform/gtk/RenderThemeGtk.cpp: + (WebCore::RenderThemeGtk::RenderThemeGtk): gtkContainer() now returns a + GtkWidget, so update the cast here. + (WebCore::RenderThemeGtk::getGtkStateType): Added this helper which + converts a RenderObject state into a GtkStateType. + (WebCore::RenderThemeGtk::paintRenderObject): Removed work-arounds for + scale painting, as it's not handled by this method any longer. + (WebCore::RenderThemeGtk::paintSliderTrack): Updated to use + WidgetRenderingContext. + (WebCore::RenderThemeGtk::paintSliderThumb): Ditto. + (WebCore::RenderThemeGtk::adjustSliderThumbSize): Get the size + properties directly from the widget now instead of asking the Mozilla code. + (WebCore::RenderThemeGtk::setupWidgetAndAddToContainer): Added this + helper which reduces the amount of code quite a bit. + (WebCore::RenderThemeGtk::gtkContainer): Updated to use helper. + (WebCore::RenderThemeGtk::gtkButton): Ditto. + (WebCore::RenderThemeGtk::gtkEntry): Ditto. + (WebCore::RenderThemeGtk::gtkTreeView): Ditto. + (WebCore::RenderThemeGtk::gtkVScale): Added. + (WebCore::RenderThemeGtk::gtkHScale): Added. + (WebCore::RenderThemeGtk::platformColorsDidChange): Removed + GTK_CONTAINER cast. + * platform/gtk/RenderThemeGtk.h: Updated to add new GtkHScale and + GtkVScale members. + * platform/gtk/WidgetRenderingContext.h: Aded new methods to proxy + gtk_paint_box, gtk_paint_focus and gtk_paint_slider. + * platform/gtk/WidgetRenderingContextGtk2.cpp: + (WebCore::WidgetRenderingContext::gtkPaintBox): Added. + (WebCore::WidgetRenderingContext::gtkPaintFocus): Ditto. + (WebCore::WidgetRenderingContext::gtkPaintSlider): Ditto. + * platform/gtk/WidgetRenderingContextGtk3.cpp: + (WebCore::WidgetRenderingContext::gtkPaintBox): Ditto. + (WebCore::WidgetRenderingContext::gtkPaintFocus): Ditto. + (WebCore::WidgetRenderingContext::gtkPaintSlider): Ditto. + * platform/gtk/gtk2drawing.c: Removed defunct code! + (moz_gtk_get_widget_border): + (moz_gtk_widget_paint): + * platform/gtk/gtk3drawing.c: Ditto. + (moz_gtk_get_widget_border): + (moz_gtk_widget_paint): + * platform/gtk/gtkdrawing.h: + +2010-12-15 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r74117. + http://trac.webkit.org/changeset/74117 + https://bugs.webkit.org/show_bug.cgi?id=51113 + + This broke the GTK1 build. (Requested by mrobinson on + #webkit). + + * GNUmakefile.am: + * platform/network/soup/cache/webkit/soup-cache.h: + +2010-12-15 Jian Li <jianli@chromium.org> + + Unreviewed. Fixed a clang compiling error by making the forward + declaration of MediaPlayerFactory be consistent with the definition. + + * platform/graphics/MediaPlayer.h: + +2010-12-15 David Hyatt <hyatt@apple.com> + + Reviewed by Simon Fraser. + + Rename pageY to pageLogicalOffset, since for vertical writing modes it is an x-position rather than a + y-position. + + * rendering/LayoutState.cpp: + (WebCore::LayoutState::pageLogicalOffset): + (WebCore::LayoutState::addForcedColumnBreak): + * rendering/LayoutState.h: + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::layoutBlock): + (WebCore::RenderBlock::markForPaginationRelayoutIfNeeded): + (WebCore::RenderBlock::layoutColumns): + (WebCore::RenderBlock::setPageLogicalOffset): + * rendering/RenderBlock.h: + (WebCore::RenderBlock::pageLogicalOffset): + (WebCore::RenderBlock::RenderBlockRareData::RenderBlockRareData): + * rendering/RenderFlexibleBox.cpp: + (WebCore::RenderFlexibleBox::layoutBlock): + * rendering/RenderTable.cpp: + (WebCore::RenderTable::layout): + * rendering/RenderTableRow.cpp: + (WebCore::RenderTableRow::layout): + * rendering/RenderTableSection.cpp: + (WebCore::RenderTableSection::layoutRows): + +2010-12-13 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: move scripts storage from ScriptsPanel to DebuggerModel. + https://bugs.webkit.org/show_bug.cgi?id=50908 + + * inspector/front-end/BreakpointManager.js: + (WebInspector.BreakpointManager): + (WebInspector.BreakpointManager.prototype._debuggerPaused): + * inspector/front-end/CallStackSidebarPane.js: + (WebInspector.CallStackSidebarPane): + (WebInspector.CallStackSidebarPane.prototype.update): + * inspector/front-end/DebuggerModel.js: + (WebInspector.DebuggerModel): + (WebInspector.DebuggerModel.prototype.setBreakpoint): + (WebInspector.DebuggerModel.prototype._setBreakpoint): + (WebInspector.DebuggerModel.prototype.scriptForSourceID): + (WebInspector.DebuggerModel.prototype.scriptsForURL): + (WebInspector.DebuggerModel.prototype.queryScripts): + (WebInspector.DebuggerModel.prototype.parsedScriptSource): + (WebInspector.DebuggerModel.prototype.failedToParseScriptSource): + (WebInspector.DebuggerModel.prototype.breakpointRestored): + (WebInspector.DebuggerModel.prototype.debuggerPaused): + (WebInspector.DebuggerModel.prototype.debuggerResumed): + * inspector/front-end/Resource.js: + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel): eliminate sourceIDMap + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrame.prototype._createViewerIfNeeded): + (WebInspector.SourceFrame.prototype._setBreakpoint): + * inspector/front-end/SourceView.js: + (WebInspector.SourceView): + * inspector/front-end/inspector.js: + (WebInspector.createJSBreakpointsSidebarPane): + (WebInspector.parsedScriptSource): + (WebInspector.failedToParseScriptSource): + +2010-12-15 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Darin Adler. + + MediaPlayer should try all installed media engines + https://bugs.webkit.org/show_bug.cgi?id=50209 + + * platform/graphics/MediaPlayer.cpp: + (WebCore::bestMediaEngineForTypeAndCodecs): Rename from chooseBestEngineForTypeAndCodecs. Take optional + parameter for current engine. + (WebCore::nextMediaEngine): New, return the next media engine in the list. + (WebCore::MediaPlayer::MediaPlayer): Initialize reload timer. + (WebCore::MediaPlayer::load): Store url, mime type, and codecs parameter in member variables. + (WebCore::MediaPlayer::loadWithNextMediaEngine): New, initiate loading with the next media engine. + (WebCore::MediaPlayer::supportsType): Make contentType parameter const. + (WebCore::MediaPlayer::reloadTimerFired): New, call loadWithNextMediaEngine. + (WebCore::MediaPlayer::networkStateChanged): If network state signals a failure and the file's + metadata has not loaded, give the next installed engine a try. + * platform/graphics/MediaPlayer.h: + +2010-12-15 Amruth Raj <amruthraj@motorola.com> and Ravi Kasibhatla <ravi.kasibhatla@motorola.com> + + Reviewed by Martin Robinson. + + Changes to enable building WebKit2 for Gtk port + (https://bugs.webkit.org/show_bug.cgi?id=37369) + + No new functionality added or deleted. Only makefile change. Hence, no tests added. + + * GNUmakefile.am: Removed bindings/gobject from webcore_sources & webcore_cppflags and added them to WebKit/gtk/GNUmakefile.am + * platform/network/soup/cache/webkit/soup-cache.h: Remove include <webkit/webkitdefines.h> and declare WEBKIT_API directly + +2010-12-15 Jarred Nicholls <jarred@sencha.com> + + Reviewed by Andreas Kling. + + [Qt] Implement the File API spec + https://bugs.webkit.org/show_bug.cgi?id=49839 + + No new tests. fast/files tests work when manually operated. + They do not automatically work due to Qt's inability to handle multi-file + inputs (https://bugs.webkit.org/show_bug.cgi?id=22048) as well as Qt's DRT + is missing an eventSender.beginDragWithFiles implementation. + + * WebCore.pri: + * WebCore.pro: + * features.pri: + * platform/qt/FileSystemQt.cpp: + (WebCore::directoryName): + (WebCore::readFromFile): + (WebCore::seekFile): + +2010-12-14 Antti Koivisto <antti@apple.com> + + Reviewed by Alexey Proskuryakov. + + https://bugs.webkit.org/show_bug.cgi?id=49548 + WebCore cache stores duplicate copies of subresources with URL fragments + + - Strip fragment identifiers from HTTP and file URLs for the memory cache. + - Changed some CachedResourceLoader and MemoryCache interfaces to use KURLs + instead of strings to reduce repeated URL parsing. + + Test: http/tests/cache/subresource-fragment-identifier.html + + * inspector/InspectorResourceAgent.cpp: + (WebCore::InspectorResourceAgent::cachedResource): + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::tellClientAboutPastMemoryCacheLoads): + * loader/cache/CachedResource.cpp: + (WebCore::CachedResource::~CachedResource): + * loader/cache/CachedResourceLoader.cpp: + (WebCore::CachedResourceLoader::cachedResource): + (WebCore::CachedResourceLoader::checkForReload): + (WebCore::CachedResourceLoader::requestUserCSSStyleSheet): + (WebCore::CachedResourceLoader::requestResource): + * loader/cache/CachedResourceLoader.h: + * loader/cache/MemoryCache.cpp: + (WebCore::MemoryCache::requestResource): + (WebCore::MemoryCache::requestUserCSSStyleSheet): + (WebCore::MemoryCache::removeFragmentIdentifierIfNeeded): + (WebCore::MemoryCache::resourceForURL): + * loader/cache/MemoryCache.h: + +2010-12-15 Anton Muhin <antonm@chromium.org> + + Reviewed by David Levin. + + [v8] Next round of CSS GC story: proper grouping of CSSStyleDeclarations + https://bugs.webkit.org/show_bug.cgi?id=50965 + + * bindings/v8/V8GCController.cpp: + (WebCore::DOMObjectGrouperVisitor::visitDOMWrapper): + (WebCore::DOMObjectGrouperVisitor::addAllItems): + +2010-12-13 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: push persistent breakpoints into backend state cookie so they hit on navigation. + https://bugs.webkit.org/show_bug.cgi?id=48858 + + BreakpointManager pushes all persistent breakpoints to backend when loaded. + InspectorController restores sticky breakpoints from cookie on navigation. + + * inspector/Inspector.idl: + * inspector/InspectorController.cpp: + (WebCore::InspectorController::InspectorController): + (WebCore::InspectorController::disconnectFrontend): + (WebCore::InspectorController::didCommitLoad): + (WebCore::InspectorController::setStickyBreakpoints): + (WebCore::InspectorController::restoreStickyBreakpoints): + (WebCore::InspectorController::restoreStickyBreakpoint): + * inspector/InspectorController.h: + * inspector/InspectorState.cpp: + (WebCore::InspectorState::InspectorState): + (WebCore::InspectorState::getObject): + (WebCore::InspectorState::setObject): + (WebCore::InspectorState::registerObject): + * inspector/InspectorState.h: + * inspector/front-end/BreakpointManager.js: + (WebInspector.BreakpointManager): + * inspector/front-end/BreakpointsSidebarPane.js: + (WebInspector.BreakpointsSidebarPane): + (WebInspector.BreakpointsSidebarPane.prototype._removeListElement): + (WebInspector.BreakpointsSidebarPane.prototype._projectChanged): + (WebInspector.EventListenerBreakpointsSidebarPane): + (WebInspector.EventListenerBreakpointsSidebarPane.prototype._createCategory): + (WebInspector.EventListenerBreakpointsSidebarPane.prototype._breakpointAdded): + (WebInspector.EventListenerBreakpointsSidebarPane.prototype._projectChanged): + * inspector/front-end/CallStackSidebarPane.js: + (WebInspector.CallStackSidebarPane): + * inspector/front-end/ElementsPanel.js: + (WebInspector.ElementsPanel.prototype.reset): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel.prototype.reset): + * inspector/front-end/Settings.js: + (WebInspector.Settings.prototype.inspectedURLChanged): + (WebInspector.Settings.prototype.get projectId): + (WebInspector.Settings.prototype.findSettingForAllProjects): + (WebInspector.Settings.prototype._formatProjectKey): + * inspector/front-end/inspector.js: + (WebInspector.createDOMBreakpointsSidebarPane): + (WebInspector.createXHRBreakpointsSidebarPane): + (WebInspector.reset): + (WebInspector.inspectedURLChanged): + +2010-12-15 Mario Sanchez Prada <msanchez@igalia.com> + + Unreviewed, fix compilation warnings after r74066. + + * rendering/RenderBox.cpp: + (WebCore::layersUseImage): Place this static function between the + same if-def region used in the only place where it's called from. + +2010-12-15 Emil Eklund <eae@chromium.org> + + Reviewed by Adam Barth. + + Change ContainerNode::willRemoveChildren to not fire mutation events for children + added as a result of a mutation event, thereby avoiding an infinite loop. + https://bugs.webkit.org/show_bug.cgi?id=51079 + + Test: fast/dom/containerNode.html + + * dom/ContainerNode.cpp: + (WebCore::willRemoveChildren): Don't fire mutation events for children added during a mutation event. + +2010-12-14 Dan Bernstein <mitz@apple.com> + + Reviewed by Maciej Stachowiak. + + <rdar://problem/8767193> REGRESSION (r60822): caps-lock-indicator is accepted as a -webkit-appearance value + https://bugs.webkit.org/show_bug.cgi?id=51096 + + Test: fast/css/appearance-caps-lock-indicator.html + + * css/CSSValueKeywords.in: Moved caps-lock-indicator outside the range of values that should be + accepted by the parser, and added comments about maintaining the list of appearance values. + * platform/ThemeTypes.h: Moved CapsLockIndicatorPart to the end of the ControlPart enum. + +2010-12-14 takano takumi <takano@apple.com> + + Reviewed by Dan Bernstein. + + text-combine value names have been changed in the css3 proposal. + https://bugs.webkit.org/show_bug.cgi?id=51089 + + Changed text-combine's value names from "none|cluster|upright" to "none|horizontal". + + * css/CSSParser.cpp: Changed value name. + (WebCore::CSSParser::parseValue): + * css/CSSPrimitiveValueMappings.h: Changed value name. + (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): + (WebCore::CSSPrimitiveValue::operator TextCombine): + * css/CSSValueKeywords.in: No more text-combine specific values needed since + "horizontal" is already there. + * rendering/style/RenderStyleConstants.h: Changed value name. + * rendering/style/StyleRareNonInheritedData.h: Changed textCombine field size. + +2010-12-14 Koan-Sin Tan <koansin.tan@gmail.com> + + Reviewed by Alexey Proskuryakov. + + Kana should be part of CJK Ideographs in WebCore/platform/graphics/Font.cpp + https://bugs.webkit.org/show_bug.cgi?id=51012 + + Kana should be displayed correctly in vertical text with broken font. + + Test: fast/blockflow/japanese-rl-text-with-broken-font.html + + * platform/graphics/Font.cpp: + (WebCore::Font::isCJKIdeographOrSymbol): add katakana, hiraganna, and Halfwidth and Fullwidth Forms + +2010-12-14 Dan Bernstein <mitz@apple.com> + + Reviewed by Sam Weinig. + + Additional RenderStyle support for the text-emphasis CSS property + Part of <rdar://problem/7720300> Support the CSS3 text-emphasis property + https://bugs.webkit.org/show_bug.cgi?id=48539 + + No test possible, since this is just adding a function to be used by upcoming patches. + + * platform/text/CharacterNames.h: Added characters used as emphasis marks. + * rendering/style/RenderStyle.cpp: + (WebCore::RenderStyle::textEmphasisMarkString): Added. Returns a string containing the + emphasis mark, or the null AtomicString if there is none. + * rendering/style/RenderStyle.h: + +2010-12-14 Anton D'Auria <adauria@apple.com> + + Reviewed by Darin Adler. + + Do not allow access to existing HTML5 databases in private browsing + mode https://bugs.webkit.org/show_bug.cgi?id=49332 + + Test: storage/private-browsing-noread-nowrite.html + + Previously, read-only transactions and private browsing mode were + represented by the same SQLStatement and DatabaseAuthorizer states. + This patch removes the m_readOnly member variable from SQLStatement and + DatabaseAuthorizer, and replaces it with m_permissions whose bit fields + are initialized by a DatabaseAuthorizer enum Permissions (ReadWrite, + ReadOnly, NoAccess). A read-only transaction sets permissions to + ReadOnly, and if !m_database->scriptExecutionContext()->allowDatabaseAccess(), + then permissions also set to NoAccess. + + * dom/Document.cpp: + (WebCore::Document::allowDatabaseAccess): this method was previously + called isDatabaseReadOnly. It checks if private browsing preference is + set. This method is renamed because it is used to check if private + browsing restricts access to databases. + * dom/Document.h: + * dom/ScriptExecutionContext.h: + * storage/AbstractDatabase.cpp: + (WebCore::AbstractDatabase::setAuthorizerPermissions): + * storage/AbstractDatabase.h: + * storage/DatabaseAuthorizer.cpp: + (WebCore::DatabaseAuthorizer::reset): + (WebCore::DatabaseAuthorizer::createTable): + (WebCore::DatabaseAuthorizer::createTempTable): + (WebCore::DatabaseAuthorizer::dropTable): + (WebCore::DatabaseAuthorizer::dropTempTable): + (WebCore::DatabaseAuthorizer::allowAlterTable): + (WebCore::DatabaseAuthorizer::createIndex): + (WebCore::DatabaseAuthorizer::createTempIndex): + (WebCore::DatabaseAuthorizer::dropIndex): + (WebCore::DatabaseAuthorizer::dropTempIndex): + (WebCore::DatabaseAuthorizer::createTrigger): + (WebCore::DatabaseAuthorizer::createTempTrigger): + (WebCore::DatabaseAuthorizer::dropTrigger): + (WebCore::DatabaseAuthorizer::dropTempTrigger): + (WebCore::DatabaseAuthorizer::createView): + (WebCore::DatabaseAuthorizer::createTempView): + (WebCore::DatabaseAuthorizer::dropView): + (WebCore::DatabaseAuthorizer::dropTempView): + (WebCore::DatabaseAuthorizer::createVTable): + (WebCore::DatabaseAuthorizer::dropVTable): + (WebCore::DatabaseAuthorizer::allowDelete): + (WebCore::DatabaseAuthorizer::allowInsert): + (WebCore::DatabaseAuthorizer::allowUpdate): + (WebCore::DatabaseAuthorizer::allowRead): + (WebCore::DatabaseAuthorizer::allowReindex): + (WebCore::DatabaseAuthorizer::allowWrite): a new private method that + checks if DatabaseAuthorizer is enabled and if it is in ReadOnly or + NoAccess mode. + (WebCore::DatabaseAuthorizer::setReadOnly): + (WebCore::DatabaseAuthorizer::setPermissions): + * storage/DatabaseAuthorizer.h: + * storage/SQLStatement.cpp: + (WebCore::SQLStatement::create): + (WebCore::SQLStatement::SQLStatement): + (WebCore::SQLStatement::execute): + * storage/SQLStatement.h: + * storage/SQLStatementSync.cpp: + (WebCore::SQLStatementSync::SQLStatementSync): + (WebCore::SQLStatementSync::execute): + * storage/SQLStatementSync.h: + * storage/SQLTransaction.cpp: + (WebCore::SQLTransaction::executeSQL): + * storage/SQLTransactionSync.cpp: + (WebCore::SQLTransactionSync::executeSQL): + * workers/WorkerContext.h: + (WebCore::WorkerContext::allowDatabaseAccess): + +2010-12-02 MORITA Hajime <morrita@google.com> + + Reviewed by Dimitri Glazkov. + + [chromium] Fix drawing of inset box shadows + https://bugs.webkit.org/show_bug.cgi?id=41576 + + When clearing outside clipped path, the context contains unexpected transform. + Fixed to restore original state before the clear. + + * platform/graphics/skia/PlatformContextSkia.cpp: + (WebCore::PlatformContextSkia::clipPathAntiAliased): + (WebCore::PlatformContextSkia::applyAntiAliasedClipPaths): + +2010-12-14 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + Mouse Events Not Received in Run Applet in their Own Process Mode + https://bugs.webkit.org/show_bug.cgi?id=51078 + <rdar://problem/8333491> + + Make sure that Widget::handleEvent is called for applets as well. + + * html/HTMLAppletElement.cpp: + (WebCore::HTMLAppletElement::defaultEventHandler): + * html/HTMLAppletElement.h: + +2010-12-14 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Chris Marrin. + + Parts of page disappear + https://bugs.webkit.org/show_bug.cgi?id=41701 + + The page has text-indent: -1000000px on an element that becomes + compositing, causing a huge tiled layer to get created. + + r63452 aimed to fix this by clamping layer bounds to the viewport, + but did not do so for pages running accelerated animations (since + we don't want to clamp for transform animations). However, this + page only has an opacity animation. + + So refine the logic added for r63452 to only call setCompositingConsultsOverlap(false) + for transform animations. + + Test: compositing/geometry/limit-layer-bounds-opacity-transition.html + + * rendering/RenderLayerBacking.cpp: + (WebCore::RenderLayerBacking::startAnimation): call didStartAcceleratedAnimation() + with the appropriate properties, and clean up confusing logic that was used to + compute the return value. We want to return true if either property is accelerated. + + (WebCore::RenderLayerBacking::startTransition): Call didStartAcceleratedAnimation() + with the appropriate property. + + * rendering/RenderLayerCompositor.h: + * rendering/RenderLayerCompositor.cpp: + (WebCore::RenderLayerCompositor::didStartAcceleratedAnimation): Pass the property in, + and only turn off overlap testing if we see a transform animation. + +2010-12-14 Brady Eidson <beidson@apple.com> + + Reviewed by Alexey Proskuryakov. + + <rdar://problem/8225016> and https://bugs.webkit.org/show_bug.cgi?id=40138 + Authorization header is sent from an HTTP Auth protected site on redirect + Test: http/tests/misc/authentication-sent-to-redirect.html + + Add helper to clear the Auth headers from a resource request: + * platform/network/ResourceRequestBase.cpp: + (WebCore::ResourceRequestBase::clearHTTPAuthorization): + * platform/network/ResourceRequestBase.h: + + Only Mac and Windows CFNetwork ports seem to have this problem, so plug it for them: + * platform/network/cf/ResourceHandleCFNet.cpp: + (WebCore::ResourceHandle::willSendRequest): + * platform/network/mac/ResourceHandleMac.mm: + (WebCore::ResourceHandle::willSendRequest): + +2010-12-14 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Chris Marrin. + + Crash in WebCore::GraphicsLayer::paintGraphicsLayerContents() loading this URL + https://bugs.webkit.org/show_bug.cgi?id=51072 + + Fix a crash when painting a layer whose PlatformCALayer has been deleted, + by clearing the PlatformCALayer value on the CALayer when the PlatformCALayer + is destroyed. + + I was not able to reduce the page to a simple testcase. + + * platform/graphics/ca/mac/PlatformCALayerMac.mm: + (PlatformCALayer::~PlatformCALayer): + +2010-12-14 Laszlo Gombos <laszlo.1.gombos@nokia.com> + + Unreviewed, build fix. + + [Qt] Fix the list of header files in WebCore.pro after r74049. + + No new tests as there is no new functionality. + + * WebCore.pro: + +2010-12-14 Yael Aharon <yael.aharon@nokia.com> + + Reviewed by Andreas Kling. + + [Qt] Focus rings are ugly, rects should be united instead of drawn individually + https://bugs.webkit.org/show_bug.cgi?id=49953 + + Create a QPainterPath and add to it the focus rects, one at a time. + Combine the 2 drawFocusRing functions into one function drawFocusRingForPath. + + Tests: fast/css/focus-ring-detached.html + fast/css/focus-ring-multiline.html + + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::drawFocusRingForPath): + (WebCore::GraphicsContext::drawFocusRing): + +2010-12-14 Mark Rowe <mrowe@apple.com> + + Fix the Qt build. + + * xml/XSLTProcessorQt.cpp: + (WebCore::XSLTProcessor::transformToString): Make the conversion to QString explicit + since QVariant can be constructed from either a QString or a bool. + +2010-12-14 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dan Bernstein. + + compositing/masks/simple-composited-mask.html failure + https://bugs.webkit.org/show_bug.cgi?id=49746 + + Geometry of composited layers with a mask depends on the loading + of the mask image, since maskClipRect() is used for the layer bounds. + + So when RenderBox::imageChanged() is called for an image used by + a mask on a layer with a composited mask, call the newly-renamed + layer->contentsChanged() method. This percolates down into RenderLayerBacking, + ending in a layer geometry update. + + Renamed RenderLayer::rendereContentsChanged() to contentsChanged() and added + an enum to say what changed, for somewhat more efficient updating. + + Also, when the mask layer gets resized, make sure we mark it as needing + display. + + Tested by pixel result of compositing/masks/simple-composited-mask.html + + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::didDraw): + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::markContextChanged): + (WebCore::WebGLRenderingContext::reshape): + * rendering/RenderBox.cpp: + (WebCore::layersUseImage): + (WebCore::RenderBox::imageChanged): + * rendering/RenderImage.cpp: + (WebCore::RenderImage::imageDimensionsChanged): + (WebCore::RenderImage::notifyFinished): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::contentChanged): + * rendering/RenderLayer.h: + * rendering/RenderLayerBacking.cpp: + (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): + (WebCore::RenderLayerBacking::contentChanged): + * rendering/RenderLayerBacking.h: + * rendering/RenderVideo.cpp: + (WebCore::RenderVideo::updatePlayer): + +2010-12-14 Mark Rowe <mrowe@apple.com> + + Reviewed by Sam Weinig. + + <http://webkit.org/b/51064> Reproducible crash inside WebCore::MediaPlayerPrivateQTKit::createQTMovie when loading <video> + + We were crashing inside MediaPlayerPrivateQTKit::createQTMovie as we were passing a null URL in + to CFNetworkCopyProxiesForURL. This happened because we were null-checking the URL incorrectly. + + * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: + (WebCore::MediaPlayerPrivateQTKit::resumeLoad): Explicitly test for a null string. + +2010-12-14 David Hyatt <hyatt@apple.com> + + Reviewed by Dan Bernstein. + + https://bugs.webkit.org/show_bug.cgi?id=50970 + + It's arguably a bug, but we don't let inline flow layers paint floating + descendants. The containing block of the inline flow paints them instead. + However our shouldPaint logic has always been flawed and has turned off propagation + of painting when an inline flow layer is enclosing the float. + + Change enclosingSelfPaintingLayer to enclosingFloatPaintingLayer to be more precise + and for now limit it to RenderBoxes. + + Added fast/block/float/floatstack.html + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::addOverhangingFloats): + * rendering/RenderBox.cpp: + (WebCore::RenderBox::enclosingFloatPaintingLayer): + * rendering/RenderBox.h: + * rendering/RenderObject.cpp: + * rendering/RenderObject.h: + +2010-12-14 Mihai Parparita <mihaip@chromium.org> + + Reviewed by Dimitri Glazkov. + + Move asynchronous event dispatching out of Document + https://bugs.webkit.org/show_bug.cgi?id=49785 + + Move asynchonous event code out of Document and into a standalone + EventQueue class (which supports async events for both regular nodes + and the window object). + + No new tests necessary, since no new functionality is exposed (existing + layout tests pass). + + * Android.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * dom/Document.cpp: + (WebCore::Document::Document): + (WebCore::Document::enqueueWindowEvent): + (WebCore::Document::enqueueHashchangeEvent): + * dom/DOMAllInOne.cpp: + (WebCore::Document::eventQueue): + * dom/Document.h: + * dom/EventQueue.cpp: Added. + (WebCore::EventQueue::EventQueue): + (WebCore::EventQueue::enqueueEvent): + (WebCore::EventQueue::pendingEventTimerFired): + (WebCore::EventQueue::dispatchEvent): + * dom/EventQueue.h: Added. + * storage/StorageEventDispatcher.cpp: + (WebCore::StorageEventDispatcher::dispatch): + +2010-12-14 Kyounga Ra <kyounga.ra@gmail.com> + + Reviewed by Adam Barth. + + <noscript> is rendered with enabled XHTMLMP. + https://bugs.webkit.org/show_bug.cgi?id=48493 + + * html/HTMLElement.cpp: + (WebCore::HTMLElement::rendererIsNeeded): + +2010-12-14 Laszlo Gombos <laszlo.1.gombos@nokia.com> + + Reviewed by Eric Seidel. + + [Qt] [Symbian] Do not use pkg-config on Symbian as it is not supported + https://bugs.webkit.org/show_bug.cgi?id=50231 + + No new tests as there is no new functionality. + + Guard CONFIG+=link_pkgconfig with !symbian. + + * WebCore.pro: + +2010-12-14 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r74040. + http://trac.webkit.org/changeset/74040 + https://bugs.webkit.org/show_bug.cgi?id=51050 + + Breaks 2d.shadow.canvas.transparent.2 and + 2d.shadow.image.transparent.2 (Requested by helder on + #webkit). + + * platform/graphics/ContextShadow.cpp: + (WebCore::ContextShadow::ContextShadow): + (WebCore::ContextShadow::calculateLayerBoundingRect): + * platform/graphics/ContextShadow.h: + (WebCore::ContextShadow::offset): + * platform/graphics/qt/ContextShadowQt.cpp: + (WebCore::ContextShadow::beginShadowLayer): + (WebCore::ContextShadow::endShadowLayer): + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContext::fillPath): + (WebCore::GraphicsContext::strokePath): + (WebCore::GraphicsContext::fillRect): + (WebCore::GraphicsContext::fillRoundedRect): + (WebCore::GraphicsContext::setPlatformShadow): + +2010-12-14 Nate Chapin <japhet@chromium.org> + + Unreviewed, fixing qt (hopefully for real this time). + + Remove a couple more references to loader.h. + + * xml/XSLStyleSheetQt.cpp: + * xml/XSLTProcessorQt.cpp: + +2010-12-14 Nate Chapin <japhet@chromium.org> + + Unreviewed, fix mac and qt builds. + + Missed a couple of references to loader.h and + improperly added CachedResourceRequest.h to + WebCore.xcodeproj. + + * WebCore.xcodeproj/project.pbxproj: + * platform/android/TemporaryLinkStubs.cpp: + * platform/qt/TemporaryLinkStubsQt.cpp: + +2010-12-14 Nate Chapin <japhet@chromium.org> + + Reviewed by Adam Barth. + + Rename Loader to CachedResourceRequest. + https://bugs.webkit.org/show_bug.cgi?id=50848 + + No new tests, rename only. + + * Android.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * css/CSSStyleSelector.cpp: + * loader/cache/CachedCSSStyleSheet.cpp: + * loader/cache/CachedFont.cpp: + * loader/cache/CachedResource.cpp: + (WebCore::CachedResource::setRequest): + * loader/cache/CachedResource.h: + * loader/cache/CachedResourceLoader.cpp: + (WebCore::CachedResourceLoader::load): + (WebCore::CachedResourceLoader::loadDone): + (WebCore::CachedResourceLoader::cancelRequests): + * loader/cache/CachedResourceLoader.h: + * loader/cache/CachedResourceRequest.cpp: Copied from WebCore/loader/loader.cpp. + * loader/cache/CachedResourceRequest.h: Copied from WebCore/loader/loader.h. + * loader/loader.cpp: Removed. + * loader/loader.h: Removed. + * xml/XSLStyleSheetLibxslt.cpp: + * xml/XSLTProcessor.cpp: + * xml/XSLTProcessorLibxslt.cpp: + +2010-12-14 David Hyatt <hyatt@apple.com> + + Reviewed by Tim Hatcher. + + https://bugs.webkit.org/show_bug.cgi?id=46422 + + Rename pageHeight variables and members in WebCore to pageLogicalHeight in preparation for + making printing and pagination work with vertical writing modes. + + * page/FrameView.cpp: + (WebCore::FrameView::forceLayoutForPagination): + * rendering/LayoutState.cpp: + (WebCore::LayoutState::LayoutState): + (WebCore::LayoutState::clearPaginationInformation): + * rendering/LayoutState.h: + (WebCore::LayoutState::LayoutState): + (WebCore::LayoutState::isPaginated): + (WebCore::LayoutState::pageLogicalHeight): + (WebCore::LayoutState::pageLogicalHeightChanged): + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::layoutBlock): + (WebCore::RenderBlock::markForPaginationRelayoutIfNeeded): + (WebCore::RenderBlock::insertFloatingObject): + (WebCore::RenderBlock::layoutColumns): + (WebCore::RenderBlock::nextPageTop): + (WebCore::RenderBlock::applyBeforeBreak): + (WebCore::RenderBlock::applyAfterBreak): + (WebCore::RenderBlock::adjustForUnsplittableChild): + (WebCore::RenderBlock::adjustLinePositionForPagination): + * rendering/RenderBlock.h: + * rendering/RenderBox.cpp: + (WebCore::RenderBox::computeLogicalHeight): + * rendering/RenderFlexibleBox.cpp: + (WebCore::RenderFlexibleBox::layoutBlock): + * rendering/RenderTable.cpp: + (WebCore::RenderTable::layout): + * rendering/RenderTableRow.cpp: + (WebCore::RenderTableRow::layout): + * rendering/RenderTableSection.cpp: + (WebCore::RenderTableSection::layoutRows): + * rendering/RenderView.cpp: + (WebCore::RenderView::RenderView): + (WebCore::RenderView::layout): + * rendering/RenderView.h: + (WebCore::RenderView::pageLogicalHeight): + (WebCore::RenderView::setPageLogicalHeight): + +2010-12-14 Dimitri Glazkov <dglazkov@chromium.org> + + Fix GTK build by adding source files that were accidentally skipped in + r74044. Sorry! + + * GNUmakefile.am: Added SliderThumbElement. + +2010-12-14 Beth Dakin <bdakin@apple.com> + + Reviewed by Darin Adler. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=50974 + getComputedStyle() returns wrong values for zoomed elements when + display is none + -and corresponding- + <rdar://problem/8522731> + + If there is no renderer but the RenderStyle's value is a fixed + length, send it through zoomAdjustedPixelValue(). There's not much + we can do for other length types without a renderer. + * css/CSSComputedStyleDeclaration.cpp: + (WebCore::zoomAdjustedPixelValueForLength): + (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): + +2010-12-13 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by David Levin. + + Move SliderThumbElement into its own file. + https://bugs.webkit.org/show_bug.cgi?id=50973 + + No change in behavior, so no tests. + + * Android.mk: Added SliderThumbElement. + * CMakeLists.txt: Ditto. + * WebCore.gyp/WebCore.gyp: Ditto. + * WebCore.gypi: Ditto. + * WebCore.pro: Ditto. + * WebCore.vcproj/WebCore.vcproj: Ditto. + * WebCore.xcodeproj/project.pbxproj: Ditto, + * html/shadow/SliderThumbElement.cpp: Added. + * html/shadow/SliderThumbElement.h: Added. + * rendering/RenderSlider.cpp: Removed code that was moved into + SliderThumbElement. + +2010-12-13 Alexey Proskuryakov <ap@apple.com> + + Reviewed by Adam Barth. + + https://bugs.webkit.org/show_bug.cgi?id=50953 + DNS Prefetch should be an opt-in feature + + No new tests, can't test DNS. + + * dom/Document.h: Made initDNSPrefetch public, since Page now calls it. + + * page/Page.cpp: (WebCore::Page::dnsPrefetchingStateChanged): + * page/Page.h: + Documents cache the value of this setting, so they need to be notified of changes. In particular, + the first document in a page is created before settings are applied. + + * page/Settings.cpp: + (WebCore::Settings::Settings): Changed default to false. + (WebCore::Settings::setDNSPrefetchingEnabled): Notify the page about the change. + +2010-12-14 Helder Correia <helder@sencha.com> + + Reviewed by Ariya Hidayat. + + [Qt] Canvas shadow offset should not be affected by any transformation + https://bugs.webkit.org/show_bug.cgi?id=50422 + + On a canvas context, shadows are currently affected by all + transformations except scaling. According to the spec: + http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#shadows + + "The shadowOffsetX and shadowOffsetY attributes specify the distance + that the shadow will be offset in the positive horizontal and positive + vertical distance respectively. Their values are in coordinate space + units. They are not affected by the current transformation matrix." + + NOTE: this applies only to canvas, not to box shadows. + + Test: fast/canvas/canvas-transforms-fillRect-shadow.html + + * platform/graphics/ContextShadow.cpp: + (WebCore::ContextShadow::ContextShadow): + (WebCore::ContextShadow::calculateLayerBoundingRect): + * platform/graphics/ContextShadow.h: + (WebCore::ContextShadow::setShadowsIgnoreTransforms): + (WebCore::ContextShadow::shadowsIgnoreTransforms): + (WebCore::ContextShadow::offset): + * platform/graphics/qt/ContextShadowQt.cpp: + (WebCore::ContextShadow::beginShadowLayer): + (WebCore::ContextShadow::endShadowLayer): + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::mustUseContextShadow): + (WebCore::GraphicsContext::fillPath): + (WebCore::GraphicsContext::strokePath): + (WebCore::GraphicsContext::fillRect): + (WebCore::GraphicsContext::fillRoundedRect): + (WebCore::GraphicsContext::setPlatformShadow): + +2010-12-14 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: Rule data not updated in Styles pane after stylesheet gets reverted + https://bugs.webkit.org/show_bug.cgi?id=51034 + + * inspector/front-end/CSSStyleModel.js: + (WebInspector.CSSStyleModel.prototype._onRevert): + * inspector/front-end/ElementsPanel.js: + (WebInspector.ElementsPanel): + (WebInspector.ElementsPanel.prototype._metricsPaneEdited): + (WebInspector.ElementsPanel.prototype._stylesPaneEdited): + (WebInspector.ElementsPanel.prototype._styleSheetChanged): + +2010-12-14 Andreas Kling <andreas.kling@nokia.com> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Avoid GraphicsContext save/restore in Image::drawPattern() + https://bugs.webkit.org/show_bug.cgi?id=51037 + + It's enough to restore the CompositeOperator after drawing. + + * platform/graphics/qt/ImageQt.cpp: + (WebCore::Image::drawPattern): + +2010-12-14 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Dan Bernstein. + + <rdar://problem/8763862> + r72017 used incorrect compiler conditional. + + * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: + (WebCore::MediaPlayerPrivateQTKit::createQTMovie): + +2010-12-14 Carlos Garcia Campos <cgarcia@igalia.com> + + Reviewed by Martin Robinson. + + [GTK] Simplify context-menu handling code + https://bugs.webkit.org/show_bug.cgi?id=49658 + + * platform/ContextMenuItem.h: + * platform/gtk/ContextMenuGtk.cpp: + (WebCore::ContextMenu::appendItem): + * platform/gtk/ContextMenuItemGtk.cpp: + (WebCore::ContextMenuItem::ContextMenuItem): + (WebCore::ContextMenuItem::~ContextMenuItem): + (WebCore::ContextMenuItem::releasePlatformDescription): + (WebCore::ContextMenuItem::type): + (WebCore::ContextMenuItem::setType): + (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-12-14 Mario Sanchez Prada <msanchez@igalia.com> + + Reviewed by Xan Lopez. + + [Gtk] Implement STATE_FOCUSED, STATE_FOCUSABLE, and corresponding events for text objects + https://bugs.webkit.org/show_bug.cgi?id=27048 + + Handle focus change for text objects based in caret changes. + + As text objects (such as paragraphs) seem not to accept focus in + WebCore in the same way other objects (text controls) do, a + Gtk-specific workaround is needed to expose this states and the + related events to ATK-based assistive technologies. + + Test: platform/gtk/accessibility/caret-browsing-text-focus.html + + Ensure that text objects are exposed with the ATK_STATE_FOCUSABLE + state, and that the ATK_STATE_FOCUSED state is added to those + text objects containing the currently active caret selection. + + * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: + (selectionBelongsToObject): Moved upwards to use it from + the new isTextWithCaret() function. + (isTextWithCaret): New, checks whether an accessibility object + represents a text object with the current caret selection on it. + (setAtkStateSetFromCoreObject): Add the ATK_STATE_FOCUSED state + when also when isTextWithCaret(coreObject) returns true. + (webkit_accessible_ref_state_set): Add the ATK_STATE_FOCUSABLE + state to text objects and those with the ATK_ROLE_PARAGRAPH role. + (webkit_accessible_text_get_n_selections): Optimize return expression. + + Make sure the proper events associated to a change of focus are + emitted, based on caret changes across different accessibility + objects. Also, refactored the code in more manageable and + understandable helper functions. + + * editing/gtk/SelectionControllerGtk.cpp: + (WebCore::emitTextSelectionChange): New, includes the specific + code formerly placed in notifyAccessibilityForSelectionChange() to + emit the 'text-caret-moved' and 'text-selection-change' signals. + (WebCore::maybeEmitTextFocusChange): New, takes care of emitting + the 'focus-event' and 'state-changed::focused' signals when + needed, that is, when a change in the selection happens across + different accessible objects. + (WebCore::SelectionController::notifyAccessibilityForSelectionChange): + Refactored some code here, by using the new helper functions. + +2010-12-14 Ilya Tikhonovsky <loislo@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: regroup Inspector.idl entries. + Just for better visibility. + + https://bugs.webkit.org/show_bug.cgi?id=51025 + + * inspector/Inspector.idl: + +2010-12-14 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: Reverted stylesheet breaks style data + https://bugs.webkit.org/show_bug.cgi?id=51030 + + * inspector/InspectorStyleSheet.cpp: + (WebCore::InspectorStyleSheet::reparseStyleSheet): + +2010-12-14 Mads Ager <ager@chromium.org> + + Reviewed by Pavel Feldman. + + [V8] Reflected unsigned attributes should be in the range [0, 2^31) + https://bugs.webkit.org/show_bug.cgi?id=51023 + + Follow the changes made to CodeGeneratorJS.pm to return 0 for + reflected unsigned attributes that are outside the allowed range. + See https://bugs.webkit.org/show_bug.cgi?id=50472 + + * bindings/scripts/CodeGeneratorV8.pm: + +2010-12-14 Charlie Reis <creis@chromium.org> + + Reviewed by Darin Adler. + + Remove stale include of Document.h in V8DOMWrapper.h + https://bugs.webkit.org/show_bug.cgi?id=50607 + + We no longer need to include Document.h or V8DOMMap.h in + V8DOMWrapper. Removing them to avoid dependencies. + + * bindings/v8/V8DOMWrapper.h: + +2010-12-14 Julien Chaffraix <jchaffraix@codeaurora.org> + + Reviewed by Darin Adler. + + Test for: EventSource fails to connect if Content-Type header has a charset attribute + https://bugs.webkit.org/show_bug.cgi?id=45372 + + Tests: http/tests/eventsource/eventsource-content-type-charset.html + http/tests/eventsource/eventsource-content-type-text-event-stream-foobar.html + + * page/EventSource.cpp: + (WebCore::EventSource::didReceiveResponse): Use the mimeType instead of the Content-Type + header directly. This makes the detection of the "text/stream" mimeType more accurate. + +2010-12-14 Pieter Senster <psenster@google.com> + + Reviewed by Dirk Schulze. + + Incorporate the channel offsets from the ColorMatrix filter in the filter calculation + https://bugs.webkit.org/show_bug.cgi?id=50682 + + Test: svg/filters/feColorMatrix-offset.svg + + * platform/graphics/filters/FEColorMatrix.cpp: + (WebCore::matrix): + +2010-12-14 Jarred Nicholls <jarred@sencha.com> + + Reviewed by Kenneth Rohde Christiansen. + + Qt's Clipboard::files() implementation for HTML5 Drag/Drop (DataTransfer) + + No new tests. Run tests manually until DRT is updated w/ beginDragWithFiles. + + * platform/qt/ClipboardQt.cpp: + (WebCore::ClipboardQt::files): + +2010-12-13 Antonio Gomes <agomes@rim.com> + + Rubber stamped by Daniel Bates. + + Spatial Navigation: code clean up (part V) + https://bugs.webkit.org/show_bug.cgi?id=50666 + + No new tests needed. + + * page/SpatialNavigation.cpp: + (WebCore::distanceDataForNode): Made 'FocusCandidate current' const since it is not + supposed to change within this function. + * page/SpatialNavigation.h: Ditto. + +2010-12-13 takano takumi <takano@apple.com> + + Reviewed by Dan Bernstein. + + GlyphPage::fill() is slow on vertical writing (Mac) + https://bugs.webkit.org/show_bug.cgi?id=50865 + + No test. Just a performance improvement. + + * platform/graphics/Font.cpp: + (WebCore::Font::isCJKIdeograph): Now this only checks pure ideographs (Hanji). + (WebCore::Font::isCJKIdeographOrSymbol): Added this for Hanji and Hanji related symbols. + * platform/graphics/Font.h: + * platform/graphics/FontFastPath.cpp: + (WebCore::Font::glyphDataForCharacter): Changed to call isCJKIdeographOrSymbol() instead of isCJKIdeograph(). + * platform/graphics/mac/GlyphPageTreeNodeMac.cpp: + (WebCore::shouldUseCoreText): This tests if GlyphPage::fill() should use CoreText or not. + For vertical writing, if the current page contains only ideographs, we go CG path. + (WebCore::GlyphPage::fill): Made to call shouldUseCoreText() and switch code path. + +2010-12-13 Antonio Gomes <agomes@rim.com> + + Reviewed by Daniel Bates. + + Spatial Navigation: code clean up (part IV) + https://bugs.webkit.org/show_bug.cgi?id=50666 + + Avoid calling canScrollInDirection more than necessary. + + No new tests needed. + + * page/FocusController.cpp: + (WebCore::FocusController::advanceFocusDirectionallyInContainer): Moved the call to canScrollInDirection() + to within the scrollInDirection(). + * page/SpatialNavigation.cpp: Removed the assertion to canScrollingDirection function. + (WebCore::scrollInDirection): + +2010-12-13 Antonio Gomes <agomes@rim.com> + + Reviewed by Daniel Bates. + + Spatial Navigation: code clean up (part III) + https://bugs.webkit.org/show_bug.cgi?id=50666 + + No new tests needed. + + * page/SpatialNavigation.h: Added FocusCandidate::isFrameOwnerElement and + WebCore::frameOwnerElement helper functions. + (WebCore::FocusCandidate::isFrameOwnerElement): Returns true if the Node pointer + wrapped by FocusCandidate is an instance of HTMLFrameOwnerElement. Returns false + otherwise. + * page/SpatialNavigation.cpp: + (WebCore::frameOwnerElement): Returns the HTMLFrameOwnerElement associated with + the FocusCandidate if appropriate. + * page/FocusController.cpp: + (WebCore::updateFocusCandidateIfNeeded): Make use of newly added frameOwnerElement() helper. + (WebCore::FocusController::advanceFocusDirectionallyInContainer): Ditto. + +2010-12-13 Mike Lawther <mikelawther@chromium.org> + + Reviewed by Daniel Bates. + + [skia] ignore transform for canvas shadows + https://bugs.webkit.org/show_bug.cgi?id=50437 + + * platform/graphics/skia/GraphicsContextSkia.cpp: + (WebCore::GraphicsContext::setPlatformShadow): + +2010-12-13 Dai Mikurube <dmikurube@google.com> + + Reviewed by Kent Tamura. + + ValidityState's exposed functions should check if willValidate() is true before all + https://bugs.webkit.org/show_bug.cgi?id=50617 + + Added checking willValidate() to exposed functions. And modified willValidate() behavior + for <button type="submit"> and <input type="submit"> to return true if not disabled and + not readonly. + + * html/HTMLButtonElement.cpp: + (WebCore::HTMLButtonElement::parseMappedAttribute): Added calling setNeedsWillValidateCheck() to refresh willValidate() after changing its type. + (WebCore::HTMLButtonElement::recalcWillValidate): Added to return true if not disabled and not readonly when type="submit". It's to be compliant to the spec. + * html/HTMLButtonElement.h: + * html/SubmitInputType.cpp: + (WebCore::SubmitInputType::supportsValidation): Removed it to enable willValidate() for <input> when type="submit". It's to be compliant to the spec. + (WebCore::SubmitInputType::supportsRequired): Added it to reject required attributes though validation is available. + * html/SubmitInputType.h: + * html/ValidityState.cpp: Added checking willValidate(). + (WebCore::ValidityState::typeMismatch): + (WebCore::ValidityState::patternMismatch): + (WebCore::ValidityState::tooLong): + (WebCore::ValidityState::rangeUnderflow): + (WebCore::ValidityState::rangeOverflow): + (WebCore::ValidityState::stepMismatch): + (WebCore::ValidityState::customError): + * html/ValidityState.h: + +2010-12-13 Noel Gordon <noel.gordon@gmail.com> + + Reviewed by David Levin. + + [chromium] Upstream skia/ImageBuffer.cpp routine mulDiv255Ceil() + https://bugs.webkit.org/show_bug.cgi?id=50545 + + Skia has rolled, replace uses of mulDiv255Ceil with SkMulDiv255Ceiling. + + No new tests, no change in behaviour. + + * platform/graphics/skia/ImageBufferSkia.cpp: + (WebCore::putImageData): + +2010-12-13 Gavin Peters <gavinp@chromium.org> + + Reviewed by Adam Barth. + + Re land Purpose after bad merge + https://bugs.webkit.org/show_bug.cgi?id=51000 + + * loader/loader.cpp: + (WebCore::Loader::load): + +2010-12-13 Dan Bernstein <mitz@apple.com> + + Reviewed by Simon Fraser. + + <rdar://problem/8763696> REGRESSION (r72173): Fallback fonts’ vertical metrics aren’t accounted for even when line-height is unspecified + https://bugs.webkit.org/show_bug.cgi?id=50979 + + Many test results updated. + + * rendering/InlineFlowBox.cpp: Reinstated the code that updates affectsAscent and + affectsDescent in the used-fonts code path. Renamed variables for clarity. Added + a check whether usedFonts is empty (which it might be if there is glyph overflow + but no fallback) as an optimization. + +2010-12-13 Mark Rowe <mrowe@apple.com> + + Rubber-stamped by Jon Honeycutt. + + Remove unnecessary include of Switch module. + + There are no switch statements in this file. + + * dom/make_names.pl: + +2010-12-13 Emil Eklund <eae@chromium.org> + + Reviewed by Dimitri Glazkov. + + Change SelectionController::setFocusedNodeIfNeeded to traverse the DOM + tree instead of the render tree. + https://bugs.webkit.org/show_bug.cgi?id=50989 + + * editing/SelectionController.cpp: + (WebCore::SelectionController::setFocusedNodeIfNeeded): + Walk up DOM/hosted tree rather than render tree and remove FIXME comment + that does't apply (SelectionController and EventHandler needs different + checks). + +2010-12-13 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Beth Dakin. + + AX: aria-invalid should be supported. + https://bugs.webkit.org/show_bug.cgi?id=50573 + + Test: platform/mac/accessibility/aria-invalid.html + + * accessibility/AXObjectCache.h: + * accessibility/AccessibilityObject.cpp: + (WebCore::AccessibilityObject::invalidStatus): + * accessibility/AccessibilityObject.h: + * accessibility/chromium/AXObjectCacheChromium.cpp + (WebCore::AXObjectCache::postPlatformNotification): + * accessibility/mac/AXObjectCacheMac.mm: + (WebCore::AXObjectCache::postPlatformNotification): + * accessibility/mac/AccessibilityObjectWrapper.mm: + (-[AccessibilityObjectWrapper accessibilityAttributeNames]): + (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): + * dom/Element.cpp: + (WebCore::Element::updateAfterAttributeChanged): + * html/HTMLAttributeNames.in: + +2010-12-13 Joone Hur <joone@kldp.org> + + Reviewed by Eric Seidel. + + WebKit fails to compile when building with WML support enabled + https://bugs.webkit.org/show_bug.cgi?id=42943 + + Use TextPosition instead of lineNumber() and columNumber(). + + No new tests are added, because this is just a build fix. + + * dom/XMLDocumentParser.h: Make lineNumber() private. + * wml/WMLErrorHandling.cpp: + (WebCore::reportWMLError): Use TextPosition instead of lineNumber() and columnNumber(). + +2010-12-13 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Beth Dakin. + + AX: lists and list boxes need different attributes + https://bugs.webkit.org/show_bug.cgi?id=50978 + + Separate out the attributes being returned for lists (<ul>) and listboxes (<select multiple>). + + * accessibility/mac/AccessibilityObjectWrapper.mm: + (-[AccessibilityObjectWrapper accessibilityAttributeNames]): + +2010-12-13 David Hyatt <hyatt@apple.com> + + Reviewed by Sam Weinig. + + https://bugs.webkit.org/show_bug.cgi?id=50963 + + REGRESSION: Scrolling nested iframes is messed up on platforms that use the cross-platform ScrollView. + + The selfClipRect and childrenClipRect methods of RenderLayer were incorrectly relying on the bounding box + of the root layer. This bounding box was only coincidentally incorporating overflow as part of the + RenderLayer's bounds. Since I fixed the RenderLayer bounds to not include layout overflow any longer, + this check is now exposed as incorrect. Use the entire document size when computing layer clip + rects. + + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::childrenClipRect): + (WebCore::RenderLayer::selfClipRect): + * rendering/RenderView.h: + (WebCore::RenderView::documentRect): + +2010-12-13 Simon Fraser <simon.fraser@apple.com> + + GraphicsContextPrivate.h was removed. Nuke it from the project. + + * WebCore.xcodeproj/project.pbxproj: + +2010-12-13 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Antti Koivisto. + + HTMLMediaElement::endedPlayback should not return true if duration is zero + https://bugs.webkit.org/show_bug.cgi?id=50962 + + (WebCore::HTMLMediaElement::endedPlayback): Don't return true when duration is zero because a + media file can't play if it has no duration, therefore it can't have ended playback. + +2010-12-13 Brent Fulgham <bfulgham@webkit.org> + + Unreviewed build fix after r73840. + + * WebCore.vcproj/WebCoreGeneratedCairo.vsprops: Update property file + to pass three arguments to build-generated-files.sh, just like + the official Apple port. + +2010-12-13 David Hyatt <hyatt@apple.com> + + Reviewed by Adam Roben. + + Make sure the defaultSpaceEventHandler does logical scrolling. + + * page/EventHandler.cpp: + (WebCore::EventHandler::defaultSpaceEventHandler): + +2010-12-13 Matthew Delaney <mdelaney@apple.com> + + Reviewed by Simon Fraser. + + https://bugs.webkit.org/show_bug.cgi?id=50591 Adopt new CG API for canvas + + No new tests necessary. + + * Configurations/WebCore.xcconfig: Added IOSurface framework link. + * html/canvas/CanvasRenderingContext2D.cpp: Used IOSurface def. instead. + * platform/graphics/ImageBuffer.h: Pushed renderingMode down into ctor. + * platform/graphics/cairo/ImageBufferCairo.cpp: + * platform/graphics/cg/ImageBufferCG.cpp: + * platform/graphics/haiku/ImageBufferHaiku.cpp: + * platform/graphics/qt/ImageBufferQt.cpp: + * platform/graphics/skia/ImageBufferSkia.cpp: + * platform/graphics/wince/ImageBufferWinCE.cpp: + * platform/graphics/wx/ImageBufferWx.cpp: + +2010-12-13 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r73923. + http://trac.webkit.org/changeset/73923 + https://bugs.webkit.org/show_bug.cgi?id=50944 + + Broke editing/selection/extend-selection-home-end.html on non- + mac platforms. Looks like a real bug. (Requested by ojan on + #webkit). + + * editing/SelectionController.cpp: + (WebCore::SelectionController::positionForPlatform): + (WebCore::SelectionController::modifyExtendingForward): + +2010-12-13 David Hyatt <hyatt@apple.com> + + Reviewed by Sam Weinig. + + https://bugs.webkit.org/show_bug.cgi?id=48545, Home/End, PageUp/PageDwn should respect writing-mode. + + Add logical scrolling to WebCore. It basically mirrors physical scrolling but works in abstract logical + directions and only converts to physical when it's time to attempt the scroll. + + Also fixed bugs in scrollRecursively and logicalScrollRecursively where overflow sections in containing + frames got skipped over. + + Made the resetting of the inline axis scroll position on Home/End Mac-specific for overflow sections. + + * WebCore.exp.in: + * page/EventHandler.cpp: + (WebCore::EventHandler::logicalScrollOverflow): + (WebCore::EventHandler::scrollRecursively): + (WebCore::EventHandler::logicalScrollRecursively): + * page/EventHandler.h: + * page/FrameView.cpp: + (WebCore::FrameView::isVerticalDocument): + (WebCore::FrameView::isFlippedDocument): + * page/FrameView.h: + * platform/ScrollTypes.h: + (WebCore::logicalToPhysical): + * platform/ScrollView.cpp: + (WebCore::ScrollView::scroll): + (WebCore::ScrollView::logicalScroll): + * platform/ScrollView.h: + (WebCore::ScrollView::isVerticalDocument): + (WebCore::ScrollView::isFlippedDocument): + * rendering/RenderBox.cpp: + (WebCore::RenderBox::logicalScroll): + * rendering/RenderBox.h: + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::scroll): + * rendering/RenderListBox.cpp: + (WebCore::RenderListBox::logicalScroll): + * rendering/RenderListBox.h: + * rendering/RenderTextControlSingleLine.cpp: + (WebCore::RenderTextControlSingleLine::logicalScroll): + * rendering/RenderTextControlSingleLine.h: + +2010-12-13 Yury Semikhatsky <yurys@chromium.org> + + Unreviewed. Rollout 73914, 73915, 73917, 73920 and 73921. + + REGRESSION(r73914): "Chromium page_cycler_morejs fails" (Requested by yurys on #webkit). + https://bugs.webkit.org/show_bug.cgi?id=50950 + + * Android.jscbindings.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.order: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSBindingsAllInOne.cpp: + * bindings/js/JSDOMBinding.cpp: + (WebCore::reportException): + * bindings/js/JSWorkerContextErrorHandler.cpp: Renamed from WebCore/bindings/js/JSErrorHandler.cpp. + (WebCore::JSWorkerContextErrorHandler::JSWorkerContextErrorHandler): + (WebCore::JSWorkerContextErrorHandler::~JSWorkerContextErrorHandler): + (WebCore::JSWorkerContextErrorHandler::handleEvent): + * bindings/js/JSWorkerContextErrorHandler.h: Renamed from WebCore/bindings/js/JSErrorHandler.h. + (WebCore::JSWorkerContextErrorHandler::create): + (WebCore::createJSWorkerContextErrorHandler): + * bindings/scripts/CodeGeneratorJS.pm: + * bindings/scripts/CodeGeneratorV8.pm: + * bindings/v8/V8ConsoleMessage.cpp: + (WebCore::V8ConsoleMessage::dispatchNow): + (WebCore::V8ConsoleMessage::handler): + * bindings/v8/V8ConsoleMessage.h: + * bindings/v8/V8WindowErrorHandler.cpp: Removed. + * bindings/v8/V8WindowErrorHandler.h: Removed. + * bindings/v8/WorkerContextExecutionProxy.cpp: + (WebCore::v8MessageHandler): + * bindings/v8/WorkerScriptController.cpp: + (WebCore::WorkerScriptController::evaluate): + * dom/Document.cpp: + (WebCore::Document::reportException): + (WebCore::Document::addMessage): + * dom/Document.h: + * dom/ErrorEvent.cpp: + * dom/ErrorEvent.h: + * dom/Event.cpp: + * dom/Event.h: + * dom/ScriptExecutionContext.cpp: + (WebCore::ScriptExecutionContext::ScriptExecutionContext): + * dom/ScriptExecutionContext.h: + * websockets/WebSocket.cpp: + (WebCore::WebSocket::connect): + * websockets/WebSocketChannel.cpp: + (WebCore::WebSocketChannel::didOpen): + (WebCore::WebSocketChannel::appendToBuffer): + * websockets/WebSocketHandshake.cpp: + (WebCore::WebSocketHandshake::readServerHandshake): + (WebCore::WebSocketHandshake::readStatusLine): + (WebCore::WebSocketHandshake::readHTTPHeaders): + (WebCore::WebSocketHandshake::checkResponseHeaders): + * workers/DefaultSharedWorkerRepository.cpp: + (WebCore::postExceptionTask): + (WebCore::postConsoleMessageTask): + * workers/WorkerContext.cpp: + (WebCore::WorkerContext::WorkerContext): + (WebCore::WorkerContext::reportException): + (WebCore::WorkerContext::addMessage): + * workers/WorkerContext.h: + * workers/WorkerMessagingProxy.cpp: + (WebCore::WorkerExceptionTask::performTask): + (WebCore::postConsoleMessageTask): + * xml/XMLHttpRequest.cpp: + (WebCore::reportUnsafeUsage): + +2010-12-13 Antti Koivisto <antti@apple.com> + + Reviewed by Alexey Proskuryakov. + + https://bugs.webkit.org/show_bug.cgi?id=50758 + <rdar://problem/8722094> + Defer loading print stylesheets + + - Make preload scanner skip stylesheets with non-screen media types. + - Make it possible to specify non-default load priority from the client. + - Use this mechanism to load print stylesheets using very low priority so they get loaded after everything else. + - Move default priority code from Loader to CachedResource. + - Move ResourceLoadScheduler::Priority enum to a separate file (as ResourceLoadPriority). + - Add a way to make ResourceLoadScheduler load resources one at the time so the above functionality can be tested reliably. + + Tests: http/tests/local/link-stylesheet-load-order-preload.html + http/tests/local/link-stylesheet-load-order.html + + * WebCore.exp.in: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * css/CSSImageValue.cpp: + (WebCore::CSSImageValue::cachedImage): + * html/HTMLLinkElement.cpp: + (WebCore::HTMLLinkElement::process): + * html/parser/HTMLPreloadScanner.cpp: + (WebCore::HTMLNames::PreloadTask::PreloadTask): + (WebCore::HTMLNames::PreloadTask::processAttributes): + (WebCore::HTMLNames::PreloadTask::relAttributeIsStyleSheet): + (WebCore::HTMLNames::PreloadTask::linkMediaAttributeIsScreen): + (WebCore::HTMLNames::PreloadTask::preload): + * loader/DocumentThreadableLoader.cpp: + (WebCore::DocumentThreadableLoader::loadRequest): + * loader/ResourceLoadPriority.h: Added. + * loader/ResourceLoadScheduler.cpp: + (WebCore::ResourceLoadScheduler::ResourceLoadScheduler): + (WebCore::ResourceLoadScheduler::scheduleSubresourceLoad): + (WebCore::ResourceLoadScheduler::schedulePluginStreamLoad): + (WebCore::ResourceLoadScheduler::scheduleLoad): + (WebCore::ResourceLoadScheduler::servePendingRequests): + (WebCore::ResourceLoadScheduler::HostInformation::~HostInformation): + (WebCore::ResourceLoadScheduler::HostInformation::schedule): + (WebCore::ResourceLoadScheduler::HostInformation::remove): + (WebCore::ResourceLoadScheduler::HostInformation::hasRequests): + (WebCore::ResourceLoadScheduler::HostInformation::limitRequests): + * loader/ResourceLoadScheduler.h: + (WebCore::ResourceLoadScheduler::isSerialLoadingEnabled): + (WebCore::ResourceLoadScheduler::setSerialLoadingEnabled): + (WebCore::ResourceLoadScheduler::HostInformation::requestsPending): + * loader/cache/CachedResource.cpp: + (WebCore::defaultPriorityForResourceType): + (WebCore::CachedResource::CachedResource): + * loader/cache/CachedResource.h: + (WebCore::CachedResource::loadPriority): + (WebCore::CachedResource::setLoadPriority): + * loader/cache/CachedResourceLoader.cpp: + (WebCore::CachedResourceLoader::requestCSSStyleSheet): + (WebCore::CachedResourceLoader::requestResource): + (WebCore::CachedResourceLoader::requestPreload): + * loader/cache/CachedResourceLoader.h: + * loader/cache/MemoryCache.cpp: + (WebCore::MemoryCache::requestResource): + * loader/cache/MemoryCache.h: + * loader/loader.cpp: + (WebCore::Loader::load): + +2010-12-13 Justin Schuh <jschuh@chromium.org> + + Reviewed by Dimitri Glazkov. + + Build fix for r73927 + https://bugs.webkit.org/show_bug.cgi?id=50946 + + Reverting CSSCanvasValue::canvasDestroyed to its code before r73927 + because it's breaking the build and I changed it only because it + appeared redunudant after r73927. + + No behavior changed so no new tests needed. + + * css/CSSCanvasValue.cpp: + (WebCore::CSSCanvasValue::canvasDestroyed): + +2010-12-13 Matthew Delaney <mdelaney@apple.com> + + Reviewed by nobody, build fix. + + Unlinking IOSurface framework from xcodeproj. + + * WebCore.xcodeproj/project.pbxproj: + +2010-12-13 Justin Schuh <jschuh@chromium.org> + + Reviewed by Dimitri Glazkov. + + HTMLCanvasElement should handle multiple observers. + https://bugs.webkit.org/show_bug.cgi?id=50899 + + Test: fast/canvas/canvas-bg-multiple-removal.html + + * css/CSSCanvasValue.cpp: + (WebCore::CSSCanvasValue::~CSSCanvasValue): + (WebCore::CSSCanvasValue::canvasDestroyed): + (WebCore::CSSCanvasValue::element): + * html/HTMLCanvasElement.cpp: + (WebCore::HTMLCanvasElement::HTMLCanvasElement): + (WebCore::HTMLCanvasElement::~HTMLCanvasElement): + (WebCore::HTMLCanvasElement::addObserver): + (WebCore::HTMLCanvasElement::removeObserver): + (WebCore::HTMLCanvasElement::didDraw): + (WebCore::HTMLCanvasElement::reset): + * html/HTMLCanvasElement.h: + +2010-12-13 Mihai Parparita <mihaip@chromium.org> + + Reviewed by Adam Barth. + + [Chromium] canvas/philip/tests/2d.missingargs.html hangs on Snow Leopard + https://bugs.webkit.org/show_bug.cgi?id=50841 + + Test: fast/canvas/strokeText-missing-args.html + + We didn't have isfinite checks for the x and y coordinates that are + passed to strokeText/drawTextInternal (unlike all the other methods, + which got checks in r50910 and r59447). + + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::drawTextInternal): + +2010-12-09 Matthew Delaney <mdelaney@apple.com> + + Reviewed by Simon Fraser. + + Adopt new CG API for canvas + https://bugs.webkit.org/show_bug.cgi?id=50591 + + No new tests. All current layout tests are sufficient. + + * html/HTMLCanvasElement.cpp: Add in accelerateRendering flag for imagebuffer creation. + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::isAccelerated): Always return true if using CA on new platforms. + (WebCore::CanvasRenderingContext2D::drawTextInternal): Use accelerateRendering for imagebuffer. + * platform/graphics/ImageBuffer.h: + (WebCore::ImageBuffer::create): Plumb through new flag. + * platform/graphics/cairo/ImageBufferCairo.cpp: Update method sig. + * platform/graphics/cg/ImageBufferCG.cpp: Switch off of accelerateRendering flag for new accelerated paths. + * platform/graphics/cg/ImageBufferData.h: Add in surface ref + * platform/graphics/haiku/ImageBufferHaiku.cpp: Update method sig. + * platform/graphics/qt/ImageBufferQt.cpp: ^^ + * platform/graphics/skia/ImageBufferSkia.cpp: ^^ + * platform/graphics/wince/ImageBufferWinCE.cpp: ^^ + * platform/graphics/wx/ImageBufferWx.cpp: ^^ + * platform/mac/WebCoreSystemInterface.h: Add new method sigs + * platform/mac/WebCoreSystemInterface.mm: ^^ + * rendering/RenderLayerBacking.cpp: + * rendering/RenderLayerCompositor.cpp: Set acceleratesDrawing for canvas backings. + +2010-12-13 Benjamin Kalman <kalman@chromium.org> + + Reviewed by Ojan Vafai. + + Shift-End does not select to the end of the line + https://bugs.webkit.org/show_bug.cgi?id=50610 + + Test: editing/selection/extend-to-line-boundary.html + + * editing/SelectionController.cpp: + (WebCore::SelectionController::positionForPlatform): Use visibleStart/visibleEnd rather than + start/end. + (WebCore::SelectionController::modifyExtendingForward): + +2010-12-13 Adam Roben <aroben@apple.com> + + Windows build fix after r73914 + + * WebCore.vcproj/WebCore.vcproj: Fix malformed XML. + +2010-12-13 Yury Semikhatsky <yurys@chromium.org> + + Unreviewed. Qt build fix. + + * dom/ScriptExecutionContext.cpp: + (WebCore::ScriptExecutionContext::ScriptExecutionContext): + * dom/ScriptExecutionContext.h: + +2010-12-13 Mario Sanchez Prada <msanchez@igalia.com> + + Reviewed by Xan Lopez. + + [Gtk] Additional support is needed for caret browsing + https://bugs.webkit.org/show_bug.cgi?id=25526 + + Enable "MoveTo{Beginninng|End}OfDocument" commands when caret + browsing is enabled. + + This change impacts the GTK-port only as caret browsing is a + feature only used in that platform so far. + + Test: platform/gtk/editing/selection/caret-mode-document-begin-end.html + + * editing/EditorCommand.cpp: + (WebCore::createCommandMap): Enable the commads when in caret browsing. + +2010-12-13 Yury Semikhatsky <yurys@chromium.org> + + Unreviewed. Qt build fix. + + * dom/Event.cpp: + (WebCore::Event::isErrorEvent): + * dom/Event.h: remove ENABLE(WORKERS) guard since ErrorEvent is now used not + only in workers. + +2010-12-13 Ilya Tikhonovsky <loislo@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: Protocol cleanup task. Assign domain attribute to Resources and Debugger specific functions. + + Debugger and Resources related notification functions of Inspector.idl were + marked as such with help of "domain" attribute. The other changes in js files + are reflecting this change. Some wrappers in WebInspector namespace were dropped, + the others were moved to DebuggerModel class. + + https://bugs.webkit.org/show_bug.cgi?id=50906 + + * inspector/Inspector.idl: + * inspector/InspectorDebuggerAgent.cpp: + (WebCore::InspectorDebuggerAgent::didParseSource): + * inspector/InspectorProfilerAgent.cpp: + (WebCore::InspectorProfilerAgent::resetState): + * inspector/front-end/DOMAgent.js: + (WebInspector.DOMAgent.prototype.didCommitLoad): + * inspector/front-end/Database.js: + * inspector/front-end/DebuggerModel.js: + (WebInspector.DebuggerModel): + (WebInspector.DebuggerModel.prototype.pausedScript): + (WebInspector.DebuggerModel.prototype.resumedScript): + (WebInspector.DebuggerModel.prototype.attachDebuggerWhenShown): + (WebInspector.DebuggerModel.prototype.debuggerWasEnabled): + (WebInspector.DebuggerModel.prototype.debuggerWasDisabled): + (WebInspector.DebuggerModel.prototype.parsedScriptSource): + (WebInspector.DebuggerModel.prototype.failedToParseScriptSource): + (WebInspector.DebuggerModel.prototype.didCreateWorker): + (WebInspector.DebuggerModel.prototype.didDestroyWorker): + * inspector/front-end/ProfilesPanel.js: + (WebInspector.ProfilesPanel): + (WebInspector.ProfilesPanel.prototype.updateMainViewWidth): + (WebInspector.ProfilesPanel.prototype.setRecordingProfile): + * inspector/front-end/ResourceManager.js: + (WebInspector.ResourceManager): + (WebInspector.ResourceManager.prototype._unbindResourceURL): + (WebInspector.ResourceManager.prototype.updateDOMStorage): + (WebInspector.ResourceManager.prototype.updateApplicationCacheStatus): + (WebInspector.ResourceManager.prototype.didGetFileSystemPath): + (WebInspector.ResourceManager.prototype.didGetFileSystemError): + (WebInspector.ResourceManager.prototype.didGetFileSystemDisabled): + (WebInspector.ResourceManager.prototype.updateNetworkState): + (WebInspector.ResourceManager.prototype.addDOMStorage): + (WebInspector.ResourceManager.prototype.selectDOMStorage): + (WebInspector.ResourceManager.prototype.addDatabase): + (WebInspector.ResourceManager.prototype.selectDatabase): + (WebInspector.ResourceManager.prototype.sqlTransactionSucceeded): + (WebInspector.ResourceManager.prototype.sqlTransactionFailed): + * inspector/front-end/WorkersSidebarPane.js: + (WebInspector.Worker): + * inspector/front-end/inspector.js: + +2010-12-13 Yury Semikhatsky <yurys@chromium.org> + + Unreviewed. Qt build fix. + + * dom/ErrorEvent.cpp: + * dom/ErrorEvent.h: remove ENABLE(WORKERS) guard since ErrorEvent is now used not + only in workers. + +2010-12-13 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Adam Barth. + + WebCore doesn't fire window.onerror event when uncaught JavaScript exceptions are thrown + https://bugs.webkit.org/show_bug.cgi?id=8519 + + Uncaught exceptions are propagated to window.onerror hander if one is present. + The handler is expected to be a function accepting three arguments: error message, + resource url and line number where the exception occured. + + It was decided to dispatch ErrorEvent to all listeners/handlers no matter if they + were created in the same isolated world where the exception occured or not. + + Tests: fast/events/window-onerror1.html + fast/events/window-onerror10.html + fast/events/window-onerror11.html + fast/events/window-onerror2.html + fast/events/window-onerror3.html + fast/events/window-onerror4.html + fast/events/window-onerror5.html + fast/events/window-onerror6.html + fast/events/window-onerror7.html + fast/events/window-onerror8.html + fast/events/window-onerror9.html + http/tests/security/window-onerror-exception-in-iframe.html + userscripts/window-onerror-for-isolated-world-1.html + userscripts/window-onerror-for-isolated-world-2.html + + * Android.jscbindings.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.order: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSBindingsAllInOne.cpp: + * bindings/js/JSDOMBinding.cpp: + (WebCore::reportException): + * bindings/js/JSErrorHandler.cpp: Renamed from WebCore/bindings/js/JSWorkerContextErrorHandler.cpp. + (WebCore::JSErrorHandler::JSErrorHandler): + (WebCore::JSErrorHandler::~JSErrorHandler): + (WebCore::JSErrorHandler::handleEvent): + * bindings/js/JSErrorHandler.h: Copied from WebCore/bindings/js/JSWorkerContextErrorHandler.h. + (WebCore::JSErrorHandler::create): + (WebCore::createJSErrorHandler): + * bindings/scripts/CodeGeneratorJS.pm: + * bindings/scripts/CodeGeneratorV8.pm: + * bindings/v8/V8ConsoleMessage.cpp: + (WebCore::V8ConsoleMessage::dispatchNow): + (WebCore::V8ConsoleMessage::handler): the method was changed to use generic WebCore exception + reporting mechanism which is also used by JSC bindings. + * bindings/v8/V8ConsoleMessage.h: + * bindings/v8/V8WindowErrorHandler.cpp: Copied from WebCore/bindings/js/JSWorkerContextErrorHandler.h. + (WebCore::V8WindowErrorHandler::V8WindowErrorHandler): + (WebCore::V8WindowErrorHandler::callListenerFunction): + * bindings/v8/V8WindowErrorHandler.h: Renamed from WebCore/bindings/js/JSWorkerContextErrorHandler.h. + (WebCore::V8WindowErrorHandler::create): + * bindings/v8/WorkerContextExecutionProxy.cpp: + (WebCore::v8MessageHandler): + * bindings/v8/WorkerScriptController.cpp: + (WebCore::WorkerScriptController::evaluate): + * dom/Document.cpp: + (WebCore::Document::errorEventTarget): + (WebCore::Document::logExceptionToConsole): + * dom/Document.h: + * dom/ScriptExecutionContext.cpp: + (WebCore::ScriptExecutionContext::PendingException::PendingException): + (WebCore::ScriptExecutionContext::ScriptExecutionContext): + (WebCore::ScriptExecutionContext::reportException): this method is not virtual anymore to + ensure that error event dispatching algorithm is the same in WorkerContext and in Document. + (WebCore::ScriptExecutionContext::dispatchErrorEvent): + * dom/ScriptExecutionContext.h: + * workers/DefaultSharedWorkerRepository.cpp: + (WebCore::postExceptionTask): + * workers/WorkerContext.cpp: + (WebCore::WorkerContext::WorkerContext): + (WebCore::WorkerContext::errorEventTarget): + (WebCore::WorkerContext::logExceptionToConsole): + * workers/WorkerContext.h: + * workers/WorkerMessagingProxy.cpp: + (WebCore::WorkerExceptionTask::performTask): + +2010-12-08 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Joseph Pecoraro. + + Web Inspector: Enable CSS property editing name/value-wise (like Firebug does) + https://bugs.webkit.org/show_bug.cgi?id=50565 + + For CSS property editing, the property name and value have become two fields separated + by a colon (rather than one field containing the full property text.) A user can tab + between the name and value fields forward and backward. A colon typed in the name field + and a semicolon in the value field (unless found inside a string) act as a Tab and focus + the next editable field (while applying the entire property value.) + + Now a user can tab through all editable styles for an element, even across rule boundaries. + + * inspector/front-end/BreakpointsSidebarPane.js: + (WebInspector.XHRBreakpointsSidebarPane.prototype._startEditingBreakpoint): + * inspector/front-end/DataGrid.js: + (WebInspector.DataGrid.prototype._startEditingColumnOfDataGridNode): + (WebInspector.DataGrid.prototype._startEditing): + * inspector/front-end/ElementsTreeOutline.js: + (WebInspector.ElementsTreeElement.prototype._startEditingAttribute): + (WebInspector.ElementsTreeElement.prototype._startEditingTextNode): + (WebInspector.ElementsTreeElement.prototype._startEditingTagName): + (WebInspector.ElementsTreeElement.prototype._startEditingAsHTML): + * inspector/front-end/MetricsSidebarPane.js: + (WebInspector.MetricsSidebarPane.prototype.startEditing): + * inspector/front-end/ObjectPropertiesSection.js: + (WebInspector.ObjectPropertyTreeElement.prototype.startEditing): + * inspector/front-end/Section.js: + (WebInspector.Section): + (WebInspector.Section.prototype.get subtitleAsTextForTest): + (WebInspector.Section.prototype.get nextSibling): + (WebInspector.Section.prototype.get previousSibling): + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrame.prototype._editBreakpointCondition): + * inspector/front-end/StylesSidebarPane.js: + (WebInspector.StylePropertiesSection.prototype.nextEditableSibling): + (WebInspector.StylePropertiesSection.prototype.previousEditableSibling): + (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty): + (WebInspector.StylePropertiesSection.prototype.startEditingSelector): + (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted): + (WebInspector.StylePropertyTreeElement.prototype.): + (WebInspector.StylePropertyTreeElement.prototype): + * inspector/front-end/TextViewer.js: + (WebInspector.TextViewer.prototype._handleDoubleClick): + * inspector/front-end/WatchExpressionsSidebarPane.js: + (WebInspector.WatchExpressionTreeElement.prototype.startEditing): + * inspector/front-end/inspector.css: + (.child-editing): + * inspector/front-end/inspector.js: + (WebInspector.startEditing.defaultFinishHandler): + (WebInspector.startEditing): + * inspector/front-end/treeoutline.js: + (TreeElement.prototype.select): + +2010-12-13 Yael Aharon <yael.aharon@nokia.com> + + Unreviewed. + + Added svn propery eol-style. Patches to this file fail to apply on Windows EWS bot. + + * accessibility/AccessibilityAllInOne.cpp: Added property svn:eol-style. + +2010-12-13 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r73898. + http://trac.webkit.org/changeset/73898 + https://bugs.webkit.org/show_bug.cgi?id=50919 + + FileSystem and Database API's were broken (Requested by loislo + on #webkit). + + * inspector/Inspector.idl: + * inspector/InspectorDebuggerAgent.cpp: + (WebCore::InspectorDebuggerAgent::didParseSource): + * inspector/InspectorProfilerAgent.cpp: + (WebCore::InspectorProfilerAgent::resetState): + * inspector/front-end/DOMAgent.js: + * inspector/front-end/DebuggerModel.js: + (WebInspector.DebuggerModel): + (WebInspector.DebuggerModel.prototype.debuggerPaused): + (WebInspector.DebuggerModel.prototype.debuggerResumed): + * inspector/front-end/ProfilesPanel.js: + (WebInspector.ProfilesPanel): + (WebInspector.ProfilesPanel.prototype.updateMainViewWidth): + * inspector/front-end/ResourceManager.js: + (WebInspector.ResourceManager): + (WebInspector.ResourceManager.prototype._registerNotifyHandlers): + (WebInspector.ResourceManager.prototype._unbindResourceURL): + * inspector/front-end/inspector.js: + (WebInspector.addDatabase): + (WebInspector.addDOMStorage): + (WebInspector.updateDOMStorage): + (WebInspector.updateApplicationCacheStatus): + (WebInspector.didGetFileSystemPath): + (WebInspector.didGetFileSystemError): + (WebInspector.didGetFileSystemDisabled): + (WebInspector.updateNetworkState): + (WebInspector.attachDebuggerWhenShown): + (WebInspector.debuggerWasEnabled): + (WebInspector.debuggerWasDisabled): + (WebInspector.profilerWasEnabled): + (WebInspector.profilerWasDisabled): + (WebInspector.parsedScriptSource): + (WebInspector.restoredBreakpoint): + (WebInspector.failedToParseScriptSource): + (WebInspector.pausedScript): + (WebInspector.resumedScript): + (WebInspector.resetProfilesPanel): + (WebInspector.didCommitLoad): + (WebInspector.addProfileHeader): + (WebInspector.setRecordingProfile): + (WebInspector.addHeapSnapshotChunk): + (WebInspector.finishHeapSnapshot): + +2010-12-13 Anton Muhin <antonm@chromium.org> + + Reviewed by Pavel Feldman. + + [v8] More CSS wrappers GC work: keep document's style sheets, style sheet and css rule lists' items in proper object groups + https://bugs.webkit.org/show_bug.cgi?id=50828 + + * bindings/v8/DOMData.h: + (WebCore::DOMData::WrapperMapObjectRemover::visitDOMWrapper): + (WebCore::DOMData::removeObjectsFromWrapperMap): + * bindings/v8/DOMDataStore.h: + (WebCore::ChunkedTable::visit): + (WebCore::ChunkedTable::visitEntries): + (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::visit): + (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::ChunkedTableTraits::visit): + * bindings/v8/V8DOMMap.cpp: + (WebCore::removeAllDOMObjectsInCurrentThread): + (WebCore::visitDOMNodesInCurrentThread): + (WebCore::visitDOMObjectsInCurrentThread): + (WebCore::visitActiveDOMObjectsInCurrentThread): + (WebCore::visitDOMSVGElementInstancesInCurrentThread): + * bindings/v8/V8DOMMap.h: + (WebCore::WeakReferenceMap::visit): + * bindings/v8/V8GCController.cpp: + (WebCore::DOMObjectVisitor::visitDOMWrapper): + (WebCore::EnsureWeakDOMNodeVisitor::visitDOMWrapper): + (WebCore::GCPrologueVisitor::visitDOMWrapper): + (WebCore::NodeGrouperVisitor::visitDOMWrapper): + (WebCore::NodeGrouperVisitor::applyGrouping): + (WebCore::DOMObjectGrouperVisitor::visitDOMWrapper): + (WebCore::GCEpilogueVisitor::visitDOMWrapper): + +2010-12-13 Zoltan Herczeg <zherczeg@webkit.org> + + Unreviewed build fix for r73894. + + SVGFEImage should also check its hasResult() in its apply(). + + * svg/graphics/filters/SVGFEImage.cpp: + (WebCore::FEImage::apply): + +2010-12-13 Ilya Tikhonovsky <loislo@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: Protocol cleanup task. Assign domain attribute to Resources and Debugger specific functions. + + Debugger and Resources related notification functions of Inspector.idl were + marked as such with help of "domain" attribute. The other changes in js files + are reflecting this change. Some wrappers in WebInspector namespace were dropped, + the others were moved to DebuggerModel class. + + https://bugs.webkit.org/show_bug.cgi?id=50906 + + * inspector/Inspector.idl: + * inspector/InspectorDebuggerAgent.cpp: + (WebCore::InspectorDebuggerAgent::didParseSource): + * inspector/InspectorProfilerAgent.cpp: + (WebCore::InspectorProfilerAgent::resetState): + * inspector/front-end/DOMAgent.js: + (WebInspector.DOMAgent.prototype.didCommitLoad): + * inspector/front-end/DebuggerModel.js: + (WebInspector.DebuggerModel): + (WebInspector.DebuggerModel.prototype.pausedScript): + (WebInspector.DebuggerModel.prototype.resumedScript): + (WebInspector.DebuggerModel.prototype.attachDebuggerWhenShown): + (WebInspector.DebuggerModel.prototype.debuggerWasEnabled): + (WebInspector.DebuggerModel.prototype.debuggerWasDisabled): + (WebInspector.DebuggerModel.prototype.parsedScriptSource): + (WebInspector.DebuggerModel.prototype.failedToParseScriptSource): + * inspector/front-end/ProfilesPanel.js: + (WebInspector.ProfilesPanel): + (WebInspector.ProfilesPanel.prototype.addHeapSnapshots): + (WebInspector.ProfilesPanel.prototype.updateMainViewWidth): + (WebInspector.ProfilesPanel.prototype.setRecordingProfile): + * inspector/front-end/ResourceManager.js: + (WebInspector.ResourceManager): + (WebInspector.ResourceManager.prototype._unbindResourceURL): + (WebInspector.ResourceManager.prototype.updateDOMStorage): + (WebInspector.ResourceManager.prototype.updateApplicationCacheStatus): + (WebInspector.ResourceManager.prototype.didGetFileSystemPath): + (WebInspector.ResourceManager.prototype.didGetFileSystemError): + (WebInspector.ResourceManager.prototype.didGetFileSystemDisabled): + (WebInspector.ResourceManager.prototype.updateNetworkState): + (WebInspector.ResourceManager.prototype.addDatabase): + (WebInspector.ResourceManager.prototype.addDOMStorage): + * inspector/front-end/inspector.js: + +2010-12-13 Zoltan Herczeg <zherczeg@webkit.org> + + Reviewed by Dirk Schulze. + + Better result passing in filter primitives + https://bugs.webkit.org/show_bug.cgi?id=49907 + + SVG filter primitives can use the output of other filters. The + input and output format of a filter can be a premultiplied or + unmultiplied RGBA array, or an image buffer. All filter + primitive results were converted to image buffers before, which + could be an unecessary (and really costly) operation, if + a filter expects its input in the same format as the output + of the input filter primitive. This overhead is removed by + this patch. All apply() methods are updated according to this + new filter primitive interface. + + Filters do not generate their results twice (or more) anymore, + when their apply() called multiple times. + + The existing tests cover this feature. + + * manual-tests/svg-filter-animation.svg: Added. + * platform/graphics/filters/FEBlend.cpp: + (WebCore::FEBlend::apply): + * platform/graphics/filters/FEColorMatrix.cpp: + (WebCore::FEColorMatrix::apply): + * platform/graphics/filters/FEComponentTransfer.cpp: + (WebCore::FEComponentTransfer::apply): + * platform/graphics/filters/FEComposite.cpp: + (WebCore::FEComposite::apply): + * platform/graphics/filters/FEConvolveMatrix.cpp: + (WebCore::FEConvolveMatrix::apply): + * platform/graphics/filters/FEDisplacementMap.cpp: + (WebCore::FEDisplacementMap::apply): + * platform/graphics/filters/FEFlood.cpp: + (WebCore::FEFlood::apply): + * platform/graphics/filters/FEGaussianBlur.cpp: + (WebCore::FEGaussianBlur::apply): + * platform/graphics/filters/FELighting.cpp: + (WebCore::FELighting::apply): + * platform/graphics/filters/FEMerge.cpp: + (WebCore::FEMerge::apply): + * platform/graphics/filters/FEMerge.h: + * platform/graphics/filters/FEMorphology.cpp: + (WebCore::FEMorphology::apply): + * platform/graphics/filters/FEOffset.cpp: + (WebCore::FEOffset::apply): + * platform/graphics/filters/FETile.cpp: + (WebCore::FETile::apply): + * platform/graphics/filters/FETurbulence.cpp: + (WebCore::FETurbulence::apply): + * platform/graphics/filters/FilterEffect.cpp: + (WebCore::FilterEffect::requestedRegionOfInputImageData): + (WebCore::FilterEffect::asImageBuffer): + (WebCore::FilterEffect::asUnmultipliedImage): + (WebCore::FilterEffect::asPremultipliedImage): + (WebCore::FilterEffect::copyImageBytes): + (WebCore::FilterEffect::copyUnmultipliedImage): + (WebCore::FilterEffect::copyPremultipliedImage): + (WebCore::FilterEffect::createImageBufferResult): + (WebCore::FilterEffect::createUnmultipliedImageResult): + (WebCore::FilterEffect::createPremultipliedImageResult): + * platform/graphics/filters/FilterEffect.h: + (WebCore::FilterEffect::hasResult): + * platform/graphics/filters/SourceAlpha.cpp: + (WebCore::SourceAlpha::apply): + * platform/graphics/filters/SourceGraphic.cpp: + (WebCore::SourceGraphic::apply): + * platform/graphics/filters/SourceGraphic.h: + * rendering/RenderSVGResourceFilter.cpp: + (WebCore::RenderSVGResourceFilter::postApplyResource): + * svg/graphics/filters/SVGFEImage.cpp: + (WebCore::FEImage::apply): + +2010-12-13 Csaba Osztrogonác <ossy@webkit.org> + + Unreviewed. + + * WebCore.pro: Remove non-existant loader/Request.h from build system. + +2010-12-13 Noel Gordon <noel.gordon@gmail.com> + + Reviewed by Eric Seidel. + + [chromium] Reduce canvas.toDataURL("image/jpeg") run-time cost by 10% + https://bugs.webkit.org/show_bug.cgi?id=50804 + + Follow on from r73173, unroll the SkUnPreMultiply::PMColorToColor() call + viz., compute the unpremultiplatcion in-place. This reduces the run-time + cost of jpeg encoding by 10-15% for my image test set. + + No new tests: canvas.toDataURL() is covered by existing tests. + + * platform/image-encoders/skia/JPEGImageEncoder.cpp: + (WebCore::preMultipliedBGRAtoRGB): + +2010-12-13 Helder Correia <helder@sencha.com> + + Reviewed by Eric Seidel. + + [Qt] StillImage::draw() should use ContextShadow + https://bugs.webkit.org/show_bug.cgi?id=50849 + + The branch that checks for a shadow requirement in StillImage::draw() + is executed when drawing a canvas onto a canvas with + ctx1.drawImage(canvas2, x, y). The current implementation supports + solid shadows only. And if transformations are present, the offset gets + transformed as well. Thus, ContextShadow must be used instead in order + to support blur and correct offset transformations. + + Test: fast/canvas/canvas-draw-canvas-on-canvas-shadow.html + + * platform/graphics/qt/StillImageQt.cpp: + (WebCore::StillImage::draw): + +2010-12-12 Jon Honeycutt <jhoneycutt@apple.com> + + Unreviewed build fix. + + * editing/EditingAllInOne.cpp: + Add new file to the all-in-one. + +2010-12-12 Jon Honeycutt <jhoneycutt@apple.com> + + Unreviewed build fix. + + * WebCore.vcproj/WebCore.vcproj: + Remove accidentally-committed conflict marker. + +2010-10-28 MORITA Hajime <morrita@google.com> + + Reviewed by Ojan Vafai. + + spellcheck does not check pasted text + https://bugs.webkit.org/show_bug.cgi?id=40092 + + - Introduced SpellChecker class to encapsulate asynchronous spell + checker state: sequence id, requesting text and target node. + This is also the first step to decompose spell-check related + code to a separate class. + - Added EditorClient::isAsynchronousSpellCheckingEnabled() + to use async spellcheck API on the platform. + These APIs are touched by SpellChecker. + - Used SpellChecker to check a pasted test. Text to check is + collected from the subtree under the editingRoot. + - Added Setting::m_asynchronousSpellCheckingEnabled to control + async spell checking. + + Test: editing/spelling/spellcheck-paste.html + + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.exp.in: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * dom/DocumentMarkerController.cpp: + (WebCore::DocumentMarkerController::showMarkers): + (showDocumentMarkers): + * dom/DocumentMarkerController.h: + * dom/PositionIterator.cpp: + (WebCore::PositionIterator::setOffsetInLeafNode): + * dom/PositionIterator.h: + * editing/Editor.cpp: + (WebCore::Editor::replaceSelectionWithFragment): + (WebCore::Editor::Editor): + (WebCore::findFirstMarkable): + (WebCore::Editor::selectionStartHasSpellingMarkerFor): + * editing/Editor.h: + (WebCore::Editor::spellChecker): + * editing/SpellChecker.cpp: Added. + (WebCore::SpellChecker::SpellChecker): + (WebCore::SpellChecker::~SpellChecker): + (WebCore::SpellChecker::initRequest): + (WebCore::SpellChecker::clearRequest): + (WebCore::SpellChecker::isAsynchronousEnabled): + (WebCore::SpellChecker::canCheckAsynchronously): + (WebCore::SpellChecker::isBusy): + (WebCore::SpellChecker::isValid): + (WebCore::SpellChecker::isCheckable): + (WebCore::SpellChecker::requestCheckingFor): + (WebCore::forwardIterator): + (WebCore::SpellChecker::didCheck): + * editing/SpellChecker.h: Added. + (WebCore::SpellCheckingResult::SpellCheckingResult): + (WebCore::SpellCheckingResult::type): + (WebCore::SpellCheckingResult::location): + (WebCore::SpellCheckingResult::length): + * loader/EmptyClients.h: + (WebCore::EmptyEditorClient::requestCheckingOfString): + * page/EditorClient.h: + * page/Settings.cpp: + (WebCore::Settings::Settings): + * page/Settings.h: + (WebCore::Settings::setAsynchronousSpellCheckingEnabled): + (WebCore::Settings::asynchronousSpellCheckingEnabled): + +2010-12-09 Antonio Gomes <agomes@rim.com> + + Reviewed by Daniel Bates. + + Spatial Navigation: code clean up (part II) + https://bugs.webkit.org/show_bug.cgi?id=50666 + + No new tests needed. + + * page/FocusController.cpp: Removed static declaration of updateFocusCandidateIfNeeded() from + the top of FocusController.cpp, and added the 'static' keyword where the function is implemented; + * page/SpatialNavigation.cpp: In FocusCandidate constructor, renamed 'n' to 'node', and added an assert to it; + (WebCore::FocusCandidate::FocusCandidate): + (WebCore::virtualRectForAreaElementAndDirection): Added an assert to 'node'; + * page/SpatialNavigation.h:I reordered the declaration of some methods in order to group related ones; + Removed isScrollableContainerNode() function declaration since it is not used outside SpatialNavigation.cpp; + And removed the declaration of isNodeDeepDescendantOfDocument() since it does not exist anymore. + +2010-12-12 Philippe Normand <pnormand@igalia.com> + + Reviewed by Xan Lopez. + + build-webkit --gtk --minimal fails + https://bugs.webkit.org/show_bug.cgi?id=46267 + + No new tests, build fix only. + + * GNUmakefile.am: Include some JS bindings generated headers in + the build even if their corresponding feature is disabled. They + are needed to make the DOM bindings build. + +2010-12-12 Sam Magnuson <smagnuso@gmail.com> + + Reviewed by Eric Seidel. + + [Qt] Compile with QT_NO_QUUID_STRING. + https://bugs.webkit.org/show_bug.cgi?id=49745 + + * platform/UUID.cpp: + (WebCore::createCanonicalUUIDString): + +2010-12-12 Ragner Magalhaes <ragner.magalhaes@openbossa.org> + + Reviewed by Eric Seidel. + + [Qt] Missing style for date pickers on Qt Mobile theme + https://bugs.webkit.org/show_bug.cgi?id=50628 + + * css/themeQtMobile.css: + +2010-12-11 Alice Liu <alice.liu@apple.com> + + Mac build fix. + + * platform/network/mac/ResourceResponseMac.mm: + (WebCore::ResourceResponse::platformLazyInit): + Resolve string[0] ambiguity by passing 0U. + +2010-12-11 Adam Barth <abarth@webkit.org> + + Reviewed by Sam Weinig. + + [V8] Move to DOMWindow::setLocation + https://bugs.webkit.org/show_bug.cgi?id=50876 + + Recently, JavaScriptCore moved to implementing setLocation in WebCore. + This patch change V8 to use that common code path. I haven't removed + the old code path because it's still used for other things (like + assigning window.location.href), but I'll move the rest over in a + future patch. + + * bindings/v8/custom/V8DOMWindowCustom.cpp: + (WebCore::V8DOMWindow::locationAccessorSetter): + * bindings/v8/specialization/V8BindingState.cpp: + (WebCore::::getFirstWindow): + * bindings/v8/specialization/V8BindingState.h: + +2010-10-11 Diego Gonzalez <diegohcg@webkit.org> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Mock DeviceOrientation client for DRT + https://bugs.webkit.org/show_bug.cgi?id=47490 + + * WebCore.pro: + +2010-12-11 Joone Hur <joone@kldp.org> + + Reviewed by Alexey Proskuryakov. + + enumeration value ‘ResponseTypeArrayBuffer’ not handled in switch + https://bugs.webkit.org/show_bug.cgi?id=50871 + + Fix the warning which occurs when enumeration value is not handled in switch. + + No new tests, no change in behavior. + + * bindings/js/JSXMLHttpRequestCustom.cpp: + (WebCore::JSXMLHttpRequest::response): + +2010-12-11 Patrick Gansterer <paroga@webkit.org> + + Reviewed by Darin Adler. + + Add an overload to makeString for Vector<char> + https://bugs.webkit.org/show_bug.cgi?id=50123 + + This also contains a segfault fix for ImageBuffer::toDataURL of the Haiku port. + + * platform/graphics/cg/ImageBufferCG.cpp: + (WebCore::ImageBuffer::toDataURL): + * platform/graphics/gtk/ImageBufferGtk.cpp: + (WebCore::ImageBuffer::toDataURL): + * platform/graphics/haiku/ImageBufferHaiku.cpp: + (WebCore::ImageBuffer::toDataURL): + * platform/graphics/skia/ImageBufferSkia.cpp: + (WebCore::ImageBuffer::toDataURL): + +2010-12-10 Alexey Proskuryakov <ap@apple.com> + + Mac build fix. + + * platform/network/cf/ResourceResponseCFNet.cpp: (WebCore::ResourceResponse::platformLazyInit): + Resolve string[0] ambiguity by passing 0U. + +2010-12-10 Steve Falkenburg <sfalken@apple.com> + + Windows production build fix. + + Only the vsprops are indirected through WebKitVSPropsRedirectionDir, not the scripts in WebKitLibraries/win/tools/scripts. + + * WebCore.vcproj/WebCoreGeneratedCommon.vsprops: + * WebCore.vcproj/build-generated-files.sh: + +2010-12-10 John Knottenbelt <jknotten@chromium.org> + + Reviewed by Eric Seidel. + + Remove WebCore/platform/mac/GeolocationService.{h,mm} + https://bugs.webkit.org/show_bug.cgi?id=50074 + + Remove unused non-client-based geolocation code. + + * platform/mac/GeolocationServiceMac.h: Removed. + * platform/mac/GeolocationServiceMac.mm: Removed. + +2010-12-10 Alexey Proskuryakov <ap@apple.com> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=46573 + <rdar://problem/8479389> REGRESSION: charset="utf-8" (with quotes) doesn't work + + Test: http/tests/mime/quoted-charset.php + + * platform/network/cf/ResourceResponseCFNet.cpp: (WebCore::ResourceResponse::platformLazyInit): + * platform/network/mac/ResourceResponseMac.mm: (WebCore::ResourceResponse::platformLazyInit): + Work around a CFNetwork issue, strip quotes if they are present. + +2010-12-10 Vincent Scheib <scheib@chromium.org> + + Reviewed by James Robinson. + + Shader::loadShader() must initialize variable passed to getShaderiv + https://bugs.webkit.org/show_bug.cgi?id=50842 + + Test: fast/canvas/canvas-largedraws.html + + * platform/graphics/gpu/Shader.cpp: + (WebCore::Shader::loadShader): + +2010-12-10 Vincent Scheib <scheib@chromium.org> + + Reviewed by James Robinson. + + Texture::updateSubRect should pass IntRect by reference + https://bugs.webkit.org/show_bug.cgi?id=50845 + + No test, changing to pass by ref. + + * platform/graphics/gpu/Texture.cpp: + (WebCore::Texture::updateSubRect): + * platform/graphics/gpu/Texture.h: + +2010-12-10 Darin Adler <darin@apple.com> + + Reviewed by Sam Weinig. + + Move open and showModalDialog implementations from bindings into DOM class DOMWindow + https://bugs.webkit.org/show_bug.cgi?id=50836 + + * bindings/js/JSDOMWindowCustom.cpp: + (WebCore::JSDOMWindow::open): Removed most of the code and changed to call + DOMWindow::open. + (WebCore::DialogHandler::DialogHandler): Added. Object is used to handle the + arguments and return value in showModalDialog. + (WebCore::DialogHandler::dialogCreated): Ditto. + (WebCore::DialogHandler::returnValue): Ditto. + (WebCore::setUpDialog): Added. Function passed to showModalDialog that just + casts pointer to DialogHandler can calls dialogCreated. + (WebCore::JSDOMWindow::showModalDialog): Removed most of the code and changed + to call DOMWindow::showModalDialog. + (WebCore::JSDOMWindow::postMessage): Made style match the rest of the file by + renaming local variables and getting rid of a needless ones. + + * page/DOMWindow.cpp: + (WebCore::DOMWindow::parseModalDialogFeatures): Moved body of this function + to the WindowFeatures class. + (WebCore::DOMWindow::allowPopUp): Renamed argument from activeFrame to firstFrame, + because that's the frame we pass in here. Also added an overload so this can be + called on a window rather than a frame. + (WebCore::DOMWindow::setLocation): Renamed a couple variables so the names are + the same as in open and showModalDialog. Factored the JavaScript security check + into a new function named isInsecureScriptAccess. + (WebCore::DOMWindow::isInsecureScriptAccess): Here is the new function. + (WebCore::DOMWindow::createWindow): Added. Contains logic shared by open and + showModalDialog just as the function named createWindow in JSDOMWindowCustom.cpp + used to. + (WebCore::DOMWindow::open): Added. Code from JSDOMWindowCustom without the + JavaScript language binding part, and with a bit of refactoring to share code + with the rest of the DOMWindow class. + (WebCore::DOMWindow::showModalDialog): Ditto. + + * page/DOMWindow.h: Moved conditional parts of the file into separate paragraphs + in alphabetical order so they are not scattered thorugh the file. Removed redundant + includes. Added some blank lines for clarity. Added an open function and a + showModalDialog function. Added private createWindow and isInsecureScriptAccess + functions. + + * page/WindowFeatures.cpp: + (WebCore::isWindowFeaturesSeparator): Renamed from isSeparator for clarity. + (WebCore::WindowFeatures::WindowFeatures): Updated for name change. Used isEmpty + instead of checking length. Added a new constructor for use when making dialogs, + with code from the showModalDialog function. + (WebCore::WindowFeatures::boolFeature): Use DialogFeaturesMap typedef. + (WebCore::WindowFeatures::floatFeature): Use DialogFeaturesMap typedef. + Renamed a local variable and tweaked the comments a bit. + (WebCore::WindowFeatures::parseDialogFeatures): Added. Code moved here from + DOMWindow::parseDialogFeatures and refactored a bit. + + * page/WindowFeatures.h: Added new constructor, new parseDialogFeatures + function, DialogFeaturesMap typedef, and made setWindowFeature function private. + +2010-12-10 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Darin Adler. + + AX: refactor AccessibilityRenderObject::doAccessibilityHitTest + https://bugs.webkit.org/show_bug.cgi?id=50574 + + Refactors accessibility hit testing to allow for a more flexible model when handling elements + with fake sub-elements (like sliders or list boxes). + + Renamed doAccessibilityHitTest -> accessibilityHitTest, which is called on the root + accessibility render object. Then subclassers are able to override + elementAccessibilityHitTest to return their own specific elements. + + * accessibility/AccessibilityListBox.cpp: + (WebCore::AccessibilityListBox::elementAccessibilityHitTest): + * accessibility/AccessibilityListBox.h: + * accessibility/AccessibilityObject.h: + (WebCore::AccessibilityObject::accessibilityHitTest): + (WebCore::AccessibilityObject::elementAccessibilityHitTest): + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::accessibilityHitTest): + * accessibility/AccessibilityRenderObject.h: + * accessibility/AccessibilitySlider.cpp: + (WebCore::AccessibilitySlider::elementAccessibilityHitTest): + * accessibility/AccessibilitySlider.h: + * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: + (webkit_accessible_component_ref_accessible_at_point): + * accessibility/mac/AccessibilityObjectWrapper.mm: + (-[AccessibilityObjectWrapper accessibilityHitTest:]): + +2010-12-10 Kenneth Russell <kbr@google.com> + + Reviewed by Darin Adler. + + Clean up assertion in Extensions3DOpenGL.cpp + https://bugs.webkit.org/show_bug.cgi?id=50852 + + Built Release mode to test. No functionality change. + + * platform/graphics/opengl/Extensions3DOpenGL.cpp: + (WebCore::Extensions3DOpenGL::ensureEnabled): + +2010-12-10 Cosmin Truta <ctruta@chromium.org> + + Reviewed by Eric Seidel. + + Crash while processing ill-formed <textPath> ouside of <text> + https://bugs.webkit.org/show_bug.cgi?id=47759 + + Renderers within a <text> subtree are created only when their corresponding elements + satisfy the content model. + + Test: svg/custom/invalid-text-content.svg + + * svg/SVGTRefElement.cpp: + (WebCore::SVGTRefElement::childShouldCreateRenderer): Fixed to comply with the content model. + (WebCore::SVGTRefElement::rendererIsNeeded): Added. + * svg/SVGTRefElement.h: + * svg/SVGTSpanElement.cpp: + (WebCore::SVGTSpanElement::childShouldCreateRenderer): Fixed to comply with the content model. + (WebCore::SVGTSpanElement::rendererIsNeeded): Added. + * svg/SVGTSpanElement.h: Changed indentation. + * svg/SVGTextElement.cpp: + (WebCore::SVGTextElement::childShouldCreateRenderer): Reformatted. + * svg/SVGTextPathElement.cpp: + (WebCore::SVGTextPathElement::childShouldCreateRenderer): Fixed to comply with the content model. + (WebCore::SVGTextPathElement::rendererIsNeeded): Added. + * svg/SVGTextPathElement.h: + +2010-12-10 Zhenyao Mo <zmo@google.com> + + Reviewed by Adam Barth. + + Use enums instead of booleans in ImageSource/ImageDecoder constructors + https://bugs.webkit.org/show_bug.cgi?id=50818 + + This patch basically defines two enum type in ImageSource: AlphaOption + and GammaAndColorProfileOption and use them as ImageSource and ImageDecoder + constructor parameters instead of boolean typs. + + * platform/graphics/ImageSource.cpp: + (WebCore::ImageSource::ImageSource): + (WebCore::ImageSource::setData): + * platform/graphics/ImageSource.h: Define the two enum types. + * platform/graphics/cg/GraphicsContext3DCG.cpp: + (WebCore::GraphicsContext3D::getImageData): + * platform/graphics/cg/ImageSourceCG.cpp: + (WebCore::ImageSource::ImageSource): + * platform/graphics/qt/ImageDecoderQt.cpp: + (WebCore::ImageDecoder::create): + (WebCore::ImageDecoderQt::ImageDecoderQt): + * platform/graphics/qt/ImageDecoderQt.h: + * platform/graphics/skia/GraphicsContext3DSkia.cpp: + (WebCore::GraphicsContext3D::getImageData): + * platform/image-decoders/ImageDecoder.cpp: + (WebCore::ImageDecoder::create): + * platform/image-decoders/ImageDecoder.h: + (WebCore::ImageDecoder::ImageDecoder): + * platform/image-decoders/bmp/BMPImageDecoder.cpp: + (WebCore::BMPImageDecoder::BMPImageDecoder): + * platform/image-decoders/bmp/BMPImageDecoder.h: + * platform/image-decoders/gif/GIFImageDecoder.cpp: + (WebCore::GIFImageDecoder::GIFImageDecoder): + * platform/image-decoders/gif/GIFImageDecoder.h: + * platform/image-decoders/ico/ICOImageDecoder.cpp: + (WebCore::ICOImageDecoder::ICOImageDecoder): + (WebCore::ICOImageDecoder::decodeAtIndex): + * platform/image-decoders/ico/ICOImageDecoder.h: + * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: + (WebCore::JPEGImageDecoder::JPEGImageDecoder): + * platform/image-decoders/jpeg/JPEGImageDecoder.h: + * platform/image-decoders/png/PNGImageDecoder.cpp: + (WebCore::PNGImageDecoder::PNGImageDecoder): + * platform/image-decoders/png/PNGImageDecoder.h: + * platform/image-decoders/webp/WEBPImageDecoder.cpp: + (WebCore::WEBPImageDecoder::WEBPImageDecoder): + * platform/image-decoders/webp/WEBPImageDecoder.h: + +2010-12-10 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Darin Adler. + + REGRESSION(r73799): editing/execCommand/4920488.html fails + https://bugs.webkit.org/show_bug.cgi?id=50854 + + The regression was caused by Range::processContents's not extracting + m_end.container()->firstChild(). Fixed the bug by always adding the first child. + + * dom/Range.cpp: + (WebCore::Range::processContents): + +2010-12-10 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + REGRESSION: Infinite redirect on developer.apple.com + https://bugs.webkit.org/show_bug.cgi?id=45627 + + Tests: fast/loader/form-submit-aborts-parsing.html + fast/loader/location-change-aborts-parsing.html + + This patch is not pretty, but it fixes the bug. I stole this approach + from the old HTML parser (as suggested by Eric Seidel). The other + approaches that folks tried for this bug are better, but it's inclear + how to get them to work correctly. I've added a large FIXME comment. + + * html/parser/HTMLDocumentParser.cpp: + (WebCore::HTMLDocumentParser::pumpTokenizer): + * html/parser/HTMLTreeBuilder.h: + (WebCore::HTMLTreeBuilder::isParsingFragment): + +2010-12-10 Brian Weinstein <bweinstein@apple.com> + + Reviewed by Ada Chan. + + When we are creating a ContextMenuItem, only call setSubMenu if we have + a subMenu to set. + + * platform/ContextMenuItem.cpp: + (WebCore::ContextMenuItem::ContextMenuItem): + +2010-12-10 Kenneth Russell <kbr@google.com> + + Unreviewed, another build fix. #include <wtf/UnusedParam.h> needed + for Release builds. + + * platform/graphics/opengl/Extensions3DOpenGL.cpp: + +2010-12-10 Kenneth Russell <kbr@google.com> + + Unreviewed, build fix. Change #ifndef NDEBUG to #ifdef NDEBUG. + + * platform/graphics/opengl/Extensions3DOpenGL.cpp: + (WebCore::Extensions3DOpenGL::ensureEnabled): + +2010-12-10 Kenneth Russell <kbr@google.com> + + Reviewed by James Robinson. + + Implement extension entry points and remove EXTENSIONS enum + https://bugs.webkit.org/show_bug.cgi?id=40316 + + Implemented WebGLRenderingContext's getSupportedExtensions and + getExtensions entry points, and, to verify them, added support for + the first specified WebGL extension, OES_texture_float. This + extension is now advertised in the Chromium and WebKit ports when + the underlying hardware supports it. + + The new OES_texture_float test in the WebGL conformance suite + verifies the allocation and population of floating point textures, + and their use as render targets. However, because this extension + is optional, it is not easily testable with a layout test; there + is only one set of expectations for a given test, and two would be + needed, one when the extension is available and one when it is not. + + Tested with the oes-texture-float.html WebGL conformance test in + Chromium and WebKit on Mac OS X on hardware that supports the + extension. Also verified with a configuration that does not + advertise the extension that this same test passes. + + * CMakeLists.txt: + * DerivedSources.make: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pri: + * WebCore.pro: + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSWebGLRenderingContextCustom.cpp: + (WebCore::toJS): + (WebCore::JSWebGLRenderingContext::markChildren): + (WebCore::JSWebGLRenderingContext::getExtension): + (WebCore::JSWebGLRenderingContext::getSupportedExtensions): + * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp: + (WebCore::toV8Object): + (WebCore::V8WebGLRenderingContext::getExtensionCallback): + (WebCore::V8WebGLRenderingContext::getSupportedExtensionsCallback): + * html/canvas/OESTextureFloat.cpp: Added. + (WebCore::OESTextureFloat::OESTextureFloat): + (WebCore::OESTextureFloat::~OESTextureFloat): + (WebCore::OESTextureFloat::getName): + (WebCore::OESTextureFloat::create): + * html/canvas/OESTextureFloat.h: Added. + * html/canvas/OESTextureFloat.idl: Added. + * html/canvas/WebGLExtension.cpp: Added. + (WebCore::WebGLExtension::WebGLExtension): + (WebCore::WebGLExtension::~WebGLExtension): + * html/canvas/WebGLExtension.h: Added. + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::getExtension): + (WebCore::WebGLRenderingContext::getSupportedExtensions): + (WebCore::WebGLRenderingContext::validateTexFuncFormatAndType): + (WebCore::WebGLRenderingContext::validateTexFuncData): + (WebCore::WebGLRenderingContext::getNumberOfExtensions): + (WebCore::WebGLRenderingContext::getExtensionNumber): + * html/canvas/WebGLRenderingContext.h: + * html/canvas/WebGLRenderingContext.idl: + * platform/graphics/Extensions3D.h: + * platform/graphics/GraphicsContext3D.cpp: + (WebCore::GraphicsContext3D::computeFormatAndTypeParameters): + (WebCore::GraphicsContext3D::extractTextureData): + (WebCore::doUnpackingAndPacking): + (WebCore::doPacking): + (WebCore::doFloatingPointPacking): + (WebCore::GraphicsContext3D::packPixels): + * platform/graphics/GraphicsContext3D.h: + * platform/graphics/chromium/Extensions3DChromium.h: + * platform/graphics/opengl/Extensions3DOpenGL.cpp: + (WebCore::Extensions3DOpenGL::supports): + (WebCore::Extensions3DOpenGL::ensureEnabled): + * platform/graphics/opengl/Extensions3DOpenGL.h: + * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: + (WebCore::GraphicsContext3D::texImage2D): + * platform/graphics/qt/Extensions3DQt.cpp: + (WebCore::Extensions3DQt::ensureEnabled): + * platform/graphics/qt/Extensions3DQt.h: + +2010-12-10 Darin Adler <darin@apple.com> + + Try to fix Windows build. + + * dom/Range.cpp: + (WebCore::Range::processContents): Put typedef of NodeVector inside the function + instead of at the top of the file, since the use is restricted to this function. + There's another NodeVector in ContainerNode.cpp. + +2010-12-09 Brian Weinstein <bweinstein@apple.com> + + Reviewed by Adam Roben. + + Prep for WebKit2: Context menu support on Windows + https://bugs.webkit.org/show_bug.cgi?id=50514 + + Before this patch ContextMenu on Windows were backed by HMENUs, and ContextMenuItems + were backed by MENUITEMINFOs. This meant they couldn't be copied, and they needed to + be to work in WebKit2. + + This patch adds a new USE flag - CROSS_PLATFORM_CONTEXT_MENUS that are for a cross-platform + representation of context menus. This patch also has Windows adopt them. + + Cross-platform context menus change the API of context menus and the ContextMenuClient. There + is no more idea of a PlatformMenuDescription or a PlatformMenuItemDescription. Menus are backed + by a Vector of ContextMenuItems, and menu items are backed by the variables they need (enabled, checked + title, action, type, and submenu). + + This patch also refactors the ContextMenuClient interface to use a variation on the getCustomMenuFromDefaultItems + function to allow for customization of the context menu. + + For other ports to use CROSS_PLATFORM_CONTEXT_MENUS, all they need to do is write conversion functions from + a ContextMenu <-> native menu type, and ContextMenuItem <-> native menu item type. For Windows, this is done + in ContextMenuWin.cpp and ContextMenuItemWin.cpp. + + No new tests, no change in behavior. + + * WebCore.vcproj/WebCore.vcproj: Add new files (only needed on Windows for now). + * loader/EmptyClients.h: + (WebCore::EmptyContextMenuClient::customizeMenu): Define this function if CROSS_PLATFORM_CONTEXT_MENUS + is on. + * page/ContextMenuClient.h: Ditto. + * page/ContextMenuController.cpp: + (WebCore::ContextMenuController::showContextMenu): Call customizeMenu instead of + getCustomMenuFromDefaultItems if CROSS_PLATFORM_CONTEXT_MENUS is on. + * platform/ContextMenu.cpp: Added. + (WebCore::ContextMenu::ContextMenu): Empty constructor. + (WebCore::ContextMenu::setItems): Sets the items in the menu. + (WebCore::ContextMenu::items): Returns the items in the menu. + (WebCore::ContextMenu::itemAtIndex): + (WebCore::itemWithActionInMenu): Returns the item with the correct action, recursively descending + into submenus. + (WebCore::ContextMenu::itemWithAction): Calls through to itemWithActionInMenu. + * platform/ContextMenu.h: Added a new set of functions and member variables that are defined for + CROSS_PLATFORM_CONTEXT_MENUS. + (WebCore::ContextMenu::appendItem): Appends an item to the menu. + * platform/ContextMenuItem.cpp: Added. + (WebCore::ContextMenuItem::ContextMenuItem): + (WebCore::ContextMenuItem::~ContextMenuItem): + (WebCore::ContextMenuItem::setSubMenu): + * platform/ContextMenuItem.h: + (WebCore::ContextMenuItem::type): Returns the type. + (WebCore::ContextMenuItem::setType): Sets the type. + (WebCore::ContextMenuItem::action): Returns the action. + (WebCore::ContextMenuItem::setAction): Sets the action. + (WebCore::ContextMenuItem::title): Returns the title. + (WebCore::ContextMenuItem::setTitle): Sets the title. + (WebCore::ContextMenuItem::checked): Returns whether or not the menu item is checked. + (WebCore::ContextMenuItem::setChecked): Sets whether ot not the menu item is checked. + (WebCore::ContextMenuItem::enabled): Returns whether or not the menu item is enabled. + (WebCore::ContextMenuItem::setEnabled): Sets whether or not the menu item is enabled. + (WebCore::ContextMenuItem::submenu): Returns the submenu. + * platform/PlatformMenuDescription.h: Remove the idea if a PlatformMenuDescription if + CROSS_PLATFORM_CONTEXT_MENUS is on. + * platform/win/ContextMenuItemWin.cpp: + (WebCore::ContextMenuItem::ContextMenuItem): Creates a ContextMenuItem from a MENUITEMINFO. + (WebCore::ContextMenuItem::nativeMenuItem): Creates and returns a MENUITEMINFO. + * platform/win/ContextMenuWin.cpp: + (WebCore::ContextMenu::ContextMenu): Creates a ContextMenu from an HMENU. + (WebCore::ContextMenu::nativeMenu): Creates and returns an HMENU. + +2010-12-10 Emil Eklund <eae@chromium.org> + + Reviewed by Adam Barth. + + Fix crash in ReplaceSelectionCommand::doApply when selection is modified + during execution. + https://bugs.webkit.org/show_bug.cgi?id=50840 + + Test: editing/execCommand/insertHTML-mutation-crash.html + + * editing/ReplaceSelectionCommand.cpp: + (WebCore::ReplaceSelectionCommand::copyStyleToChildren): + Replaced raw node pointer with RefPtr. + + (WebCore::ReplaceSelectionCommand::doApply): + Replaced raw node pointer with RefPtr and added null check. + +2010-12-10 Emil Eklund <eae@chromium.org> + + Reviewed by Adam Barth. + + Fix crash in Range::processContents when modified during mutation event. + https://bugs.webkit.org/show_bug.cgi?id=50710 + + Test: fast/dom/Range/range-extractContents.html + + * dom/Range.cpp: + (WebCore::Range::processContents): + Replace raw pointers with RefPtrs and add checks. + +2010-12-09 Enrica Casucci <enrica@apple.com> + + Reviewed by Alexey Proskuryakov. + + Implement IME support for Mac. + <rdar://problem/7660589> WebKit2: Implement IME support for Mac. + https://bugs.webkit.org/show_bug.cgi?id=50788 + + * dom/KeyboardEvent.h: + (WebCore::KeypressCommand::KeypressCommand): Removed ASSERT in constructor, + since it is now used for more than one command. + +2010-12-10 Jessie Berlin <jberlin@apple.com> + + Windows build fix. Unreviewed. + + * WebCore.vcproj/WebCore.vcproj: + Remove duplicate </File> tag. + +2010-12-09 Jenn Braithwaite <jennb@chromium.org> + + Reviewed by Adam Barth. + + TextResourceDecoder::checkForHeadCharset can look way past the limit. + https://bugs.webkit.org/show_bug.cgi?id=47397 + + Replaced charset detection algorithm with real parser. + Added tests for parser bugs mentioned in the thread for this bug report. + Converted hixie's encoding parsing tests to a layout test. + + Tests: fast/encoding/bracket-in-script.html + fast/encoding/bracket-in-tag.html + fast/encoding/escaped-bracket.html + fast/encoding/meta-in-body.html + fast/encoding/meta-in-script.html + fast/encoding/meta-in-title.html + fast/encoding/mismatched-end-tag.html + fast/encoding/namespace-meta.html + fast/encoding/not-http-equiv-content.html + fast/encoding/parser-tests.html + fast/encoding/quotes-in-title.html + fast/encoding/tag-name-digit.html + http/tests/misc/charset-sniffer-end-sniffing.html + + * Android.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * html/parser/HTMLMetaCharsetParser.cpp: Added. + (WebCore::HTMLMetaCharsetParser::HTMLMetaCharsetParser): + (WebCore::HTMLMetaCharsetParser::~HTMLMetaCharsetParser): + (WebCore::HTMLMetaCharsetParser::extractCharset): + (WebCore::HTMLMetaCharsetParser::processMeta): + (WebCore::HTMLMetaCharsetParser::checkForMetaCharset): + * html/parser/HTMLMetaCharsetParser.h: Added. + (WebCore::HTMLMetaCharsetParser::create): + (WebCore::HTMLMetaCharsetParser::encoding): + * loader/TextResourceDecoder.cpp: + (WebCore::TextResourceDecoder::checkForHeadCharset): + (WebCore::TextResourceDecoder::checkForMetaCharset): + * loader/TextResourceDecoder.h: + +2010-12-10 Nate Chapin <japhet@chromium.org> + + Reviewed by Antti Koivisto. + + Merge Loader and Request. Currently, Loader is a singleton attached + to MemoryCache. Our goal is to remove knowledge of the loading process + from MemoryCache, so we should attach Loader to CachedResourceLoader instead. + Once Loader is moved off of MemoryCache, there's no reason it needs to be a singleton, + which removes the main reason for Request existing as a separate class (to store per-request + state that Loader couldn't). + + Loader will be given a more descriptive name in a later patch. + + https://bugs.webkit.org/show_bug.cgi?id=49837 + + Refactor only, no new tests. + + * Android.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * loader/FrameLoader.cpp: + * loader/Request.cpp: + * loader/Request.h: + * loader/cache/CachedFont.cpp: + * loader/cache/CachedImage.cpp: + * loader/cache/CachedResource.cpp: + * loader/cache/CachedResource.h: + * loader/cache/CachedResourceLoader.cpp: + (WebCore::CachedResourceLoader::CachedResourceLoader): + (WebCore::CachedResourceLoader::~CachedResourceLoader): + (WebCore::CachedResourceLoader::requestImage): + (WebCore::CachedResourceLoader::setAutoLoadImages): + (WebCore::CachedResourceLoader::load): + (WebCore::CachedResourceLoader::loadDone): Was setLoadInProgress(false), + plus other CachedResourceLoader cleanup that had been handled in Loader. + (WebCore::CachedResourceLoader::cancelRequests): Moved from Loader. + (WebCore::CachedResourceLoader::requestCount): + * loader/cache/CachedResourceLoader.h: + (WebCore::CachedResourceLoader::loadFinishing): Was setLoadInProgress(true) + * loader/cache/MemoryCache.h: + * loader/loader.cpp: + (WebCore::Loader::Loader): + (WebCore::Loader::~Loader): + (WebCore::Loader::load): + (WebCore::Loader::willSendRequest): + (WebCore::Loader::didFinishLoading): + (WebCore::Loader::didFail): + (WebCore::Loader::didReceiveResponse): + (WebCore::Loader::didReceiveData): + (WebCore::Loader::didReceiveCachedMetadata): + * loader/loader.h: + (WebCore::Loader::cachedResourceLoader): + +2010-12-10 Martin Robinson <mrobinson@igalia.com> + + Unreviewed, rolling out r73703. + http://trac.webkit.org/changeset/73703 + https://bugs.webkit.org/show_bug.cgi?id=49658 + + This patch is causing crashes on the GTK+ bots. + + * platform/ContextMenuItem.h: + (WebCore::PlatformMenuItemDescription::PlatformMenuItemDescription): + * platform/gtk/ContextMenuGtk.cpp: + (WebCore::ContextMenu::appendItem): + * platform/gtk/ContextMenuItemGtk.cpp: + (WebCore::ContextMenuItem::ContextMenuItem): + (WebCore::ContextMenuItem::~ContextMenuItem): + (WebCore::ContextMenuItem::createNativeMenuItem): + (WebCore::ContextMenuItem::releasePlatformDescription): + (WebCore::ContextMenuItem::type): + (WebCore::ContextMenuItem::setType): + (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-12-08 Mihai Parparita <mihaip@chromium.org> + + Reviewed by Darin Adler. + + fast/canvas/canvas-getImageData-negative-source.html fails on Mac + https://bugs.webkit.org/show_bug.cgi?id=47901 + + Test: fast/canvas/canvas-getImageData-rounding.html + + static_cast<unsigned> is generally not what we want in + convertLogicalToDevice. It produces inconsistent results when compiling + for 32-bit vs. 64-bit, and in any case we weren't getting correct + rounding behavior for source rectangles (e.g. we should get a source rect + of width 2 if the source X is 0.9 and the source width is 0.2, but we + were getting only one of width 1). + + * html/HTMLCanvasElement.cpp: + (WebCore::HTMLCanvasElement::convertLogicalToDevice): + (WebCore::HTMLCanvasElement::convertToValidDeviceSize): + * html/HTMLCanvasElement.h: + +2010-12-10 Hironori Bono <hbono@chromium.org> + + Reviewed by Ojan Vafai. + + [Chromium] Use libjpeg-turbo instead of libjpeg + https://bugs.webkit.org/show_bug.cgi?id=50054 + + This change replaces the hard-coded path to the GYP files of the JPEG + library with a 'libjpeg_gyp_path' variable, which is added by Chromium + r68453. (When building WebKit Chromium, this change sets its value to + '<(chromium_src_dir)/third_party/libjpeg/libjpeg.gyp' to avoid changing + the current behavior.) + + No new tests since this does not change the code at all. + + * WebCore.gyp/WebCore.gyp: + +2010-12-10 Chris Marrin <cmarrin@apple.com> + + Reviewed by Simon Fraser. + + Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations + https://bugs.webkit.org/show_bug.cgi?id=49388 + + Got rid of the NonZeroBeginTimeFlag. Functionality is now hidden inside + the implementation. + + * platform/graphics/ca/GraphicsLayerCA.cpp: + (WebCore::GraphicsLayerCA::setAnimationOnLayer): + * platform/graphics/ca/PlatformCAAnimation.h: + * platform/graphics/ca/mac/PlatformCAAnimationMac.mm: + (hasNonZeroBeginTimeFlag): + (setNonZeroBeginTimeFlag): + (PlatformCAAnimation::PlatformCAAnimation): + (PlatformCAAnimation::setBeginTime): + +2010-12-10 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: eliminate SourceFrameDelegate by passing scripts to SourceFrame constructor. + https://bugs.webkit.org/show_bug.cgi?id=50679 + + * inspector/front-end/Script.js: + * inspector/front-end/ScriptView.js: + (WebInspector.ScriptView): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel.prototype.reset): + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrame): + (WebInspector.SourceFrame.prototype._createViewerIfNeeded): + (WebInspector.SourceFrame.prototype._breakpointAdded): + (WebInspector.SourceFrame.prototype._doEditLine): + (WebInspector.SourceFrame.prototype._commitEditLine): + (WebInspector.SourceFrame.prototype._breakpoints): + (WebInspector.SourceFrame.prototype._sourceIDForLine): + * inspector/front-end/SourceView.js: + (WebInspector.SourceView): + +2010-12-10 Andreas Kling <kling@webkit.org> + + Reviewed by Eric Seidel. + + Don't do GraphicsContext save/restore just to preserve the CompositeOperator + https://bugs.webkit.org/show_bug.cgi?id=50070 + + Add GraphicsContext::compositeOperation() so we don't have to do a full + save/restore if the only context-tainting call is setCompositeOperation(). + + GraphicsContext::setCompositeOperation() now stores the op in its state + and calls a port-specific setPlatformCompositeOperation(). + + No new tests, this is an optimization. + + * platform/graphics/GraphicsContext.cpp: + (WebCore::GraphicsContext::setCompositeOperation): + (WebCore::GraphicsContext::compositeOperation): + * platform/graphics/GraphicsContext.h: + * platform/graphics/GraphicsContextPrivate.h: + (WebCore::GraphicsContextState::GraphicsContextState): + * platform/graphics/Image.cpp: + (WebCore::Image::fillWithSolidColor): + * platform/graphics/cairo/GraphicsContextCairo.cpp: + (WebCore::GraphicsContext::setPlatformCompositeOperation): + * platform/graphics/cg/GraphicsContextCG.cpp: + (WebCore::GraphicsContext::setPlatformCompositeOperation): + * platform/graphics/haiku/GraphicsContextHaiku.cpp: + (WebCore::GraphicsContext::setPlatformCompositeOperation): + * platform/graphics/mac/GraphicsContextMac.mm: + (WebCore::GraphicsContext::setPlatformCompositeOperation): + * platform/graphics/openvg/GraphicsContextOpenVG.cpp: + (WebCore::GraphicsContext::setPlatformCompositeOperation): + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContext::setPlatformCompositeOperation): + * platform/graphics/skia/GraphicsContextSkia.cpp: + (WebCore::GraphicsContext::setPlatformCompositeOperation): + * platform/graphics/skia/SkiaUtils.cpp: + (WebCore::WebCoreCompositeToSkiaComposite): + * platform/graphics/wince/GraphicsContextWinCE.cpp: + (WebCore::GraphicsContext::setPlatformCompositeOperation): + * platform/graphics/wx/GraphicsContextWx.cpp: + (WebCore::GraphicsContext::setPlatformCompositeOperation): + * rendering/RenderBoxModelObject.cpp: + (WebCore::RenderBoxModelObject::paintFillLayerExtended): + * rendering/RenderView.cpp: + (WebCore::RenderView::paintBoxDecorations): + +2010-12-10 Renata Hodovan <reni@webkit.org> + + Reviewed by Andreas Kling. + + GraphicsContext: Merge m_common and m_data + https://bugs.webkit.org/show_bug.cgi?id=49914 + + Move data members from GraphicsContextPrivate into GraphicsContext. So GraphicsContextPlatform.h + and m_common became unnecessary. They are removed. + Add two methods to GraphicsContext: platformInit() and platformDestroy(), which + make the constructor of GraphicsContext clearer. + Besides add a getter to the private GraphicsContext::m_state member, because some inline + functions in cairo need it. + + No new test is needed, because this is a refactoring. + + * WebCore.xcodeproj/project.pbxproj: + * platform/graphics/GraphicsContext.cpp: + (WebCore::GraphicsContext::GraphicsContext): + (WebCore::GraphicsContext::~GraphicsContext): + (WebCore::GraphicsContext::save): + (WebCore::GraphicsContext::restore): + (WebCore::GraphicsContext::setStrokeThickness): + (WebCore::GraphicsContext::setStrokeStyle): + (WebCore::GraphicsContext::setStrokeColor): + (WebCore::GraphicsContext::setShadow): + (WebCore::GraphicsContext::clearShadow): + (WebCore::GraphicsContext::getShadow): + (WebCore::GraphicsContext::strokeThickness): + (WebCore::GraphicsContext::strokeStyle): + (WebCore::GraphicsContext::strokeColor): + (WebCore::GraphicsContext::strokeColorSpace): + (WebCore::GraphicsContext::fillRule): + (WebCore::GraphicsContext::setFillRule): + (WebCore::GraphicsContext::setFillColor): + (WebCore::GraphicsContext::fillColor): + (WebCore::GraphicsContext::fillColorSpace): + (WebCore::GraphicsContext::setShouldAntialias): + (WebCore::GraphicsContext::shouldAntialias): + (WebCore::GraphicsContext::state): + (WebCore::GraphicsContext::setStrokePattern): + (WebCore::GraphicsContext::setFillPattern): + (WebCore::GraphicsContext::setStrokeGradient): + (WebCore::GraphicsContext::setFillGradient): + (WebCore::GraphicsContext::fillGradient): + (WebCore::GraphicsContext::strokeGradient): + (WebCore::GraphicsContext::fillPattern): + (WebCore::GraphicsContext::strokePattern): + (WebCore::GraphicsContext::setShadowsIgnoreTransforms): + (WebCore::GraphicsContext::updatingControlTints): + (WebCore::GraphicsContext::setUpdatingControlTints): + (WebCore::GraphicsContext::setPaintingDisabled): + (WebCore::GraphicsContext::paintingDisabled): + (WebCore::GraphicsContext::textDrawingMode): + (WebCore::GraphicsContext::setTextDrawingMode): + * platform/graphics/GraphicsContext.h: + (WebCore::GraphicsContextState::GraphicsContextState): + * platform/graphics/GraphicsContextPrivate.h: Removed. + * platform/graphics/cairo/GraphicsContextCairo.cpp: + (WebCore::setPlatformFill): + (WebCore::setPlatformStroke): + (WebCore::drawPathShadow): + (WebCore::fillCurrentCairoPath): + (WebCore::strokeCurrentCairoPath): + (WebCore::GraphicsContext::platformInit): + (WebCore::GraphicsContext::platformDestroy): + (WebCore::GraphicsContext::fillPath): + (WebCore::GraphicsContext::strokePath): + (WebCore::GraphicsContext::fillRect): + (WebCore::GraphicsContext::setPlatformShadow): + (WebCore::GraphicsContext::strokeRect): + (WebCore::GraphicsContext::setAlpha): + (WebCore::GraphicsContext::getAlpha): + * platform/graphics/cg/GraphicsContextCG.cpp: + (WebCore::GraphicsContext::platformInit): + (WebCore::GraphicsContext::platformDestroy): + (WebCore::GraphicsContext::applyStrokePattern): + (WebCore::GraphicsContext::applyFillPattern): + (WebCore::GraphicsContext::drawPath): + (WebCore::GraphicsContext::fillPath): + (WebCore::GraphicsContext::strokePath): + (WebCore::GraphicsContext::fillRect): + (WebCore::GraphicsContext::setPlatformShadow): + (WebCore::GraphicsContext::strokeRect): + * platform/graphics/haiku/GraphicsContextHaiku.cpp: + (WebCore::GraphicsContext::platformInit): + (WebCore::GraphicsContext::platformDestroy): + * platform/graphics/openvg/GraphicsContextOpenVG.cpp: + (WebCore::GraphicsContext::platformInit): + (WebCore::GraphicsContext::platformDestroy): + (WebCore::GraphicsContext::fillPath): + (WebCore::GraphicsContext::strokePath): + (WebCore::GraphicsContext::clip): + (WebCore::GraphicsContext::clipOut): + (WebCore::GraphicsContext::addInnerRoundedRectClip): + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContext::platformInit): + (WebCore::GraphicsContext::platformDestroy): + (WebCore::GraphicsContext::fillPath): + (WebCore::GraphicsContext::strokePath): + (WebCore::GraphicsContext::fillRect): + (WebCore::GraphicsContext::setPlatformShadow): + * platform/graphics/skia/GraphicsContextSkia.cpp: + (WebCore::GraphicsContext::platformInit): + (WebCore::GraphicsContext::platformDestroy): + (WebCore::GraphicsContext::fillPath): + (WebCore::GraphicsContext::setPlatformShadow): + * platform/graphics/win/GraphicsContextCGWin.cpp: + (WebCore::GraphicsContext::GraphicsContext): + (WebCore::GraphicsContext::platformInit): + * platform/graphics/win/GraphicsContextCairoWin.cpp: + (WebCore::GraphicsContext::GraphicsContext): + (WebCore::GraphicsContext::platformInit): + * platform/graphics/wince/GraphicsContextWinCE.cpp: + (WebCore::GraphicsContext::platformInit): + (WebCore::GraphicsContext::platformDestroy): + (WebCore::GraphicsContext::fillPath): + (WebCore::GraphicsContext::fillRect): + * platform/graphics/wx/GraphicsContextWx.cpp: + (WebCore::GraphicsContext::platformInit): + (WebCore::GraphicsContext::platformDestroy): + +2010-12-10 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: introduce a pair of set/remove methods for each breakpoint type. + https://bugs.webkit.org/show_bug.cgi?id=50809 + + * inspector/Inspector.idl: + * inspector/InspectorController.cpp: + (WebCore::InspectorController::InspectorController): + (WebCore::InspectorController::setEventListenerBreakpoint): + (WebCore::InspectorController::removeEventListenerBreakpoint): + (WebCore::InspectorController::hasEventListenerBreakpoint): + (WebCore::InspectorController::setXHRBreakpoint): + (WebCore::InspectorController::removeXHRBreakpoint): + (WebCore::InspectorController::hasXHRBreakpoint): + (WebCore::InspectorController::clearNativeBreakpoints): + * inspector/InspectorController.h: + * inspector/InspectorDOMAgent.cpp: + (WebCore::InspectorDOMAgent::setDOMBreakpoint): + (WebCore::InspectorDOMAgent::removeDOMBreakpoint): + (WebCore::InspectorDOMAgent::shouldBreakOnNodeInsertion): + (WebCore::InspectorDOMAgent::shouldBreakOnNodeRemoval): + (WebCore::InspectorDOMAgent::shouldBreakOnAttributeModification): + (WebCore::InspectorDOMAgent::descriptionForDOMEvent): + (WebCore::InspectorDOMAgent::didRemoveDOMNode): + * inspector/InspectorDOMAgent.h: + * inspector/InspectorInstrumentation.cpp: + (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl): + (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl): + (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl): + (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl): + (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded): + * inspector/front-end/BreakpointManager.js: + (WebInspector.BreakpointManager): + (WebInspector.NativeBreakpoint): + (WebInspector.DOMBreakpoint): + (WebInspector.EventListenerBreakpoint): + (WebInspector.XHRBreakpoint): + * inspector/front-end/CallStackSidebarPane.js: + (WebInspector.CallStackSidebarPane): + (WebInspector.CallStackSidebarPane.prototype._nativeBreakpointHit): + * inspector/front-end/DebuggerModel.js: + (WebInspector.DebuggerModel.prototype.debuggerPaused): + +2010-12-10 Adam Roben <aroben@apple.com> + + Windows production build fix after r72555 + + * WebCore.vcproj/WebCoreGeneratedCommon.vsprops: Use + "$(WebKitVSPropsRedirectionDir)..\..\WebKitLibraries\win" to find the + .vsprops files, rather than $(WebKitLibrariesDir). + +2010-12-10 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> + + Reviewed by nobody, build fix. + + [Qt] Second attempt to fix the build with Qt 4.6 broken in 73710. + + * platform/network/qt/QtNAMThreadSafeProxy.cpp: + (WebCore::QtNetworkReplyThreadSafeProxy::QtNetworkReplyThreadSafeProxy): + (WebCore::QtNetworkReplyThreadSafeProxy::localCustomRequest): + * platform/network/qt/QtNAMThreadSafeProxy.h: + +2010-12-10 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> + + Reviewed by nobody, build fix. + + [Qt] Fix the build with Qt 4.6 broken in 73710. + + * platform/network/qt/QtNAMThreadSafeProxy.cpp: + (WebCore::QtNetworkReplyThreadSafeProxy::QtNetworkReplyThreadSafeProxy): + * platform/network/qt/QtNAMThreadSafeProxy.h: + +2010-12-10 Emil Eklund <eae@chromium.org> + + Reviewed by Eric Seidel. + + Change EventHandler::dispatchMouseEvent code to use DOM traversal instead of render tree traversal + https://bugs.webkit.org/show_bug.cgi?id=49982 + + * page/EventHandler.cpp: + (WebCore::EventHandler::dispatchMouseEvent): + Walk up DOM/hosted tree rather than render tree. + +2010-12-10 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Support a QNetworkAccessManager affined to a different thread. + https://bugs.webkit.org/show_bug.cgi?id=50080 + + This patch introduce thread safe proxy classes for QNetworkAccessManager + and QNetworkReply. + If run in the same thread, these objects will forward the calls with + Qt::DirectConnection bindings, while in the other case they will use + Qt::QueuedConnection to carry requests accross threads. + + This patch basically: + - Makes sure that all access goes through these objects + - Reorders signal connections to make sure we are connected when the + signal comes + - Makes sure that no QObject in the WebCore thread is a child of the + reply which might be in a different thread. + - Forward the data directly in QByteArrays in signals instead of collecting + the data when the signal is handled. + + New test: tst_QWebPage::networkAccessManagerOnDifferentThread + + * WebCore.pro: + * platform/graphics/qt/MediaPlayerPrivateQt.cpp: + (WebCore::MediaPlayerPrivateQt::commitLoad): + * platform/network/qt/QNetworkReplyHandler.cpp: + (WebCore::FormDataIODevice::FormDataIODevice): + (WebCore::QNetworkReplyHandler::QNetworkReplyHandler): + (WebCore::QNetworkReplyHandler::~QNetworkReplyHandler): + (WebCore::QNetworkReplyHandler::setLoadMode): + (WebCore::QNetworkReplyHandler::abort): + (WebCore::QNetworkReplyHandler::release): + (WebCore::ignoreHttpError): + (WebCore::QNetworkReplyHandler::finish): + (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): + (WebCore::QNetworkReplyHandler::forwardData): + (WebCore::QNetworkReplyHandler::start): + (WebCore::QNetworkReplyHandler::sendQueuedItems): + * platform/network/qt/QNetworkReplyHandler.h: + * platform/network/qt/QtNAMThreadSafeProxy.cpp: Added. + * platform/network/qt/QtNAMThreadSafeProxy.h: Added. + * platform/network/qt/ResourceHandleQt.cpp: + (WebCore::ResourceHandle::willLoadFromCache): + * platform/qt/CookieJarQt.cpp: + (WebCore::networkAccessManager): + (WebCore::setCookies): + (WebCore::cookies): + (WebCore::cookieRequestHeaderFieldValue): + (WebCore::cookiesEnabled): + +2010-12-09 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Refactor QNetworkReplyHandler::finish() to prevent crashes. + https://bugs.webkit.org/show_bug.cgi?id=50761 + + This patch change the order to check if m_reply is null instead, + explicitly deleting the reply before calling start() for a redirect, + or after calling didFinishLoading()/didFail() in other cases. + + * platform/network/qt/QNetworkReplyHandler.cpp: + (WebCore::QNetworkReplyHandler::finish): + +2010-12-09 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Make sure we send the response before any data. + https://bugs.webkit.org/show_bug.cgi?id=50760 + + This patch make sure the data available flag is set before + we call sendResponseIfNeeded. + + * platform/network/qt/QNetworkReplyHandler.cpp: + (WebCore::QNetworkReplyHandler::QNetworkReplyHandler): + (WebCore::QNetworkReplyHandler::finish): + (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): + (WebCore::QNetworkReplyHandler::forwardData): + (WebCore::QNetworkReplyHandler::resetState): + * platform/network/qt/QNetworkReplyHandler.h: + +2010-12-10 Koan-Sin Tan <koansin.tan@gmail.com> + + Reviewed by Dan Bernstein. + + Bopomofo should be part of CJK Ideographs in WebCore/platform/graphics/Font.cpp + https://bugs.webkit.org/show_bug.cgi?id=50668 + + No new tests. Note that, as said in the bug report discussion, + I did have a test case for the bug. However, to show the test + case you need some "broken" Microsoft copyrighted fonts, such + as DFKai-SB. + + * platform/graphics/Font.cpp: + (WebCore::Font::isCJKIdeograph): + +2010-12-10 Carlos Garcia Campos <cgarcia@igalia.com> + + Reviewed by Martin Robinson. + + [GTK] Simplify context-menu handling code + https://bugs.webkit.org/show_bug.cgi?id=49658 + + * platform/ContextMenuItem.h: + * platform/gtk/ContextMenuGtk.cpp: + (WebCore::ContextMenu::appendItem): + * platform/gtk/ContextMenuItemGtk.cpp: + (WebCore::ContextMenuItem::ContextMenuItem): + (WebCore::ContextMenuItem::~ContextMenuItem): + (WebCore::ContextMenuItem::releasePlatformDescription): + (WebCore::ContextMenuItem::type): + (WebCore::ContextMenuItem::setType): + (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-12-10 Philippe Normand <pnormand@igalia.com> + + Reviewed by Gustavo Noronha Silva. + + [GStreamer] un-needed methods + https://bugs.webkit.org/show_bug.cgi?id=50805 + + No new tests, code cleanup only. + + * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: + * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: + +2010-12-10 Philippe Normand <pnormand@igalia.com> + + Reviewed by Gustavo Noronha Silva. + + [GStreamer] data: source could also support non-base64 encoded URIs + https://bugs.webkit.org/show_bug.cgi?id=30007 + + Removed our ancient implementation of dataurisrc. We should now + use the one in gst-plugins-bad which is more mature. + + * GNUmakefile.am: + * platform/graphics/gstreamer/DataSourceGStreamer.cpp: Removed. + * platform/graphics/gstreamer/DataSourceGStreamer.h: Removed. + * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: + (WebCore::doGstInit): + +2010-12-10 Zoltan Herczeg <zherczeg@webkit.org> + + Reviewed by Eric Seidel. + + [Qt] Fix crashes in debug mode + https://bugs.webkit.org/show_bug.cgi?id=49976 + + The m_methods hashmap of QtInstance contains InternalFunctions + whose depend on the current RuntimeObject. When we recreate the + RuntimeObject, we should also reset this hashmap. + + * bridge/qt/qt_instance.cpp: + (JSC::Bindings::QtInstance::newRuntimeObject): + +2010-12-10 François Sausset <sausset@gmail.com> + + Reviewed by Eric Seidel. + + MathML: update baselinePosition() call in RenderMathMLBlock.cpp + https://bugs.webkit.org/show_bug.cgi?id=50540 + + The call of baselinePosition() is outdated: new arguments added. + + * mathml/RenderMathMLBlock.cpp: + (WebCore::RenderMathMLBlock::paint): + +2010-12-10 Hans Wennborg <hans@chromium.org> + + Reviewed by Jeremy Orlow. + + IndexedDB: Numeric keys are floats. + https://bugs.webkit.org/show_bug.cgi?id=50674 + + Use floating point to represent numeric keys, + add version meta data to the SQLite db, + and migrate object stores that use integers. + + * bindings/v8/IDBBindingUtilities.cpp: + (WebCore::createIDBKeyFromValue): + * bindings/v8/custom/V8IDBKeyCustom.cpp: + (WebCore::toV8): + * storage/IDBFactoryBackendImpl.cpp: + (WebCore::createTables): + (WebCore::migrateDatabase): + (WebCore::IDBFactoryBackendImpl::open): + * storage/IDBKey.cpp: + (WebCore::IDBKey::IDBKey): + (WebCore::IDBKey::fromQuery): + (WebCore::IDBKey::bind): + (WebCore::IDBKey::bindWithNulls): + * storage/IDBKey.h: + (WebCore::IDBKey::create): + (WebCore::IDBKey::number): + +2010-12-10 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Xan Lopez. + + [Gtk] style="font-family: courier" makes text disappear + https://bugs.webkit.org/show_bug.cgi?id=47452 + + Don't ever use fonts that do not have any of the three charmaps that + Fontconfig supports (Unicode, Apple Roman and Symbol). If we select + a font that doesn't have one of these charmaps, use the next font in + the list. + + Test: platform/gtk/fonts/font-with-no-valid-encoding.html + + * platform/graphics/freetype/FontCacheFreeType.cpp: + (WebCore::FontCache::createFontPlatformData): Check whether the + font we selected has a valid Fontconfig charmap. + * platform/graphics/freetype/FontPlatformData.h: Added new method definition. + * platform/graphics/freetype/FontPlatformDataFreeType.cpp: + (WebCore::FontPlatformData::hasCompatibleCharmap): Added this method which + verifies that a font has a valid Fontconfig charmap. + +2010-12-09 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Ojan Vafai. + + Make DOM Mutation Events Asynchronous + https://bugs.webkit.org/show_bug.cgi?id=46936 + + Implemented DOM mutations events as scoped events. A scoped event is an event whose + dispatch is done via ScopedEventQueue. The behavior of the queue is controlled by + EventQueueScope objects (RAII idiom), which increments and decrements the scoping level + on its constructor and destructor respectively. + + When the scoping level is 0 (initial level), scoped events are dispatched as soon as + they are enqueued and act like synchronous events. When the scoping level is greater than 0, + however, events are queued in ScopedEventQueue and their dispatches are delayed until + the scoping level goes back to 0 (by the destruction of EventQueueScope). + + DOMSubtreeModified, DOMNodeInserted, DOMNodeRemoved, DOMNodeRemovedFromDocument, + DOMNodeInsertedIntoDocument, DOMFocusIn, DOMFocusOut, focusin, and focusout are treated as + scoped events, and a scope object is instantiated in EditCommand::apply to delay dispatches + of the events until the completion of each call of EditCommand::doApply. + + Test: fast/events/mutation/execCommands.html + + * Android.mk: Added ScopedEventQueue.cpp. + * CMakeLists.txt: Ditto. + * WebCore.pro: Ditto. + * GNUmakefile.am: Added ScopedEventQueue.cpp and ScopedEventQueue.h. + * WebCore.gypi: Ditto. + * WebCore.vcproj/project.vcproj: Ditto. + * WebCore.xcodeproj/project.pbxproj: Ditto. + * dom/ContainerNode.cpp: + (WebCore::dispatchChildInsertionEvents): Calls dispatchScopedEvent. + (WebCore::dispatchChildRemovalEvents): Ditto. + * dom/DOMAllInOne.cpp: Added ScopedEventQueue.cpp. + * dom/Element.cpp: + (WebCore::Element::dispatchAttrRemovalEvent): Ditto. + (WebCore::Element::dispatchAttrAdditionEvent): Ditto. + * dom/Node.cpp: + (WebCore::Node::dispatchScopedEvent): Added. + (WebCore::Node::dispatchSubtreeModifiedEvent): Calls dispatchScopedEvent. + * dom/Node.h: + * dom/ScopedEventQueue.cpp: Added. + (WebCore::ScopedEventQueue::initialize): Added. + (WebCore::ScopedEventQueue::enqueueEvent): Added. + (WebCore::ScopedEventQueue::dispatchAllEvents): Added. + (WebCore::ScopedEventQueue::dispatchEvent): Added. + (WebCore::ScopedEventQueue::instance): Added. + (WebCore::ScopedEventQueue::incrementScopingLevel): Added. + (WebCore::ScopedEventQueue::decrementScopingLevel): Added. + * dom/ScopedEventQueue.h: Added. + (WebCore::ScopedEventQueue::~ScopedEventQueue): Added. + (WebCore::ScopedEventQueue::ScopedEventQueue): Added. + (WebCore::EventQueueScope::EventQueueScope): Added. + (WebCore::EventQueueScope::~EventQueueScope): Added. + * editing/EditCommand.cpp: + (WebCore::EditCommand::apply): Instantiates EventQueueScope. + +2010-12-09 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r73684. + http://trac.webkit.org/changeset/73684 + https://bugs.webkit.org/show_bug.cgi?id=50801 + + "missing bug number" (Requested by rniwa on #webkit). + + * Android.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * dom/ContainerNode.cpp: + (WebCore::dispatchChildInsertionEvents): + (WebCore::dispatchChildRemovalEvents): + * dom/DOMAllInOne.cpp: + * dom/Element.cpp: + (WebCore::Element::dispatchAttrRemovalEvent): + (WebCore::Element::dispatchAttrAdditionEvent): + * dom/Node.cpp: + (WebCore::Node::dispatchSubtreeModifiedEvent): + (WebCore::Node::dispatchUIEvent): + * dom/Node.h: + * dom/ScopedEventQueue.cpp: Removed. + * dom/ScopedEventQueue.h: Removed. + * editing/EditCommand.cpp: + (WebCore::EditCommand::apply): + +2010-12-09 Qi Zhang <qi.2.zhang@nokia.com> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] enable orientation flag when QtMobility available + https://bugs.webkit.org/show_bug.cgi?id=50781 + + When QtMobility available, enable orientation flag by default. + + * features.pri: + +2010-12-09 Kenichi Ishibashi <bashi@google.com> + + Reviewed by Kent Tamura. + + Improve validation API support of <object> and <keygen> + https://bugs.webkit.org/show_bug.cgi?id=50663 + + Adds validation API to HTMLObjectElement class. + Makes HTMLKeygenElement::willValidate() return false. + + Test: fast/forms/setCustomValidity-existence.html + + * html/HTMLKeygenElement.h: + (WebCore::HTMLKeygenElement::willValidate): Added. + * html/HTMLObjectElement.h: + (WebCore::HTMLObjectElement::validationMessage): Added. + (WebCore::HTMLObjectElement::checkValidity): Added. + (WebCore::HTMLObjectElement::setCustomValidity): Added. + * html/HTMLObjectElement.idl: Added validation API properties. + +2010-12-09 Sadrul Habib Chowdhury <sadrul@chromium.org> + + Reviewed by Kent Tamura. + + Make sure a non-zero value is used for tile-width to avoid a crash + https://bugs.webkit.org/show_bug.cgi?id=50341 + + The scaled tile width can be very small at times (e.g. with 'style: font 1 + required'). So use a minimum width of 1 instead of using 0 (which leads to a + crash). + + Tests: fast/dom/HTMLProgressElement/progress-element-with-style-crash.html + + * rendering/RenderThemeChromiumSkia.cpp: + (WebCore::RenderThemeChromiumSkia::paintProgressBar): + +2010-12-09 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Ojan Vafai. + + Implemented DOM mutations events as scoped events. A scoped event is an event whose + dispatch is done via ScopedEventQueue. The behavior of the queue is controlled by + EventQueueScope objects (RAII idiom), which increments and decrements the scoping level + on its constructor and destructor respectively. + + When the scoping level is 0 (initial level), scoped events are dispatched as soon as + they are enqueued and act like synchronous events. When the scoping level is greater than 0, + however, events are queued in ScopedEventQueue and their dispatches are delayed until + the scoping level goes back to 0 (by the destruction of EventQueueScope). + + DOMSubtreeModified, DOMNodeInserted, DOMNodeRemoved, DOMNodeRemovedFromDocument, + DOMNodeInsertedIntoDocument, DOMFocusIn, DOMFocusOut, focusin, and focusout are treated as + scoped events, and a scope object is instantiated in EditCommand::apply to delay dispatches + of the events until the completion of each call of EditCommand::doApply. + + Test: fast/events/mutation/execCommands.html + + * Android.mk: Added ScopedEventQueue.cpp. + * CMakeLists.txt: Ditto. + * WebCore.pro: Ditto. + * GNUmakefile.am: Added ScopedEventQueue.cpp and ScopedEventQueue.h. + * WebCore.gypi: Ditto. + * WebCore.vcproj/project.vcproj: Ditto. + * WebCore.xcodeproj/project.pbxproj: Ditto. + * dom/ContainerNode.cpp: + (WebCore::dispatchChildInsertionEvents): Calls dispatchScopedEvent. + (WebCore::dispatchChildRemovalEvents): Ditto. + * dom/DOMAllInOne.cpp: Added ScopedEventQueue.cpp. + * dom/Element.cpp: + (WebCore::Element::dispatchAttrRemovalEvent): Ditto. + (WebCore::Element::dispatchAttrAdditionEvent): Ditto. + * dom/Node.cpp: + (WebCore::Node::dispatchScopedEvent): Added. + (WebCore::Node::dispatchSubtreeModifiedEvent): Calls dispatchScopedEvent. + * dom/Node.h: + * dom/ScopedEventQueue.cpp: Added. + (WebCore::ScopedEventQueue::initialize): Added. + (WebCore::ScopedEventQueue::enqueueEvent): Added. + (WebCore::ScopedEventQueue::dispatchAllEvents): Added. + (WebCore::ScopedEventQueue::dispatchEvent): Added. + (WebCore::ScopedEventQueue::instance): Added. + (WebCore::ScopedEventQueue::incrementScopingLevel): Added. + (WebCore::ScopedEventQueue::decrementScopingLevel): Added. + * dom/ScopedEventQueue.h: Added. + (WebCore::ScopedEventQueue::~ScopedEventQueue): Added. + (WebCore::ScopedEventQueue::ScopedEventQueue): Added. + (WebCore::EventQueueScope::EventQueueScope): Added. + (WebCore::EventQueueScope::~EventQueueScope): Added. + * editing/EditCommand.cpp: + (WebCore::EditCommand::apply): Instantiates EventQueueScope. + +2010-12-09 Sam Weinig <sam@webkit.org> + + Reviewed by Gavin Barraclough. + + Fix scrolling with mouse wheel in WebKit2 views. Once + we coalesce wheel events, we can re-enable this. + + * platform/mac/ScrollAnimatorMac.mm: + (WebCore::ScrollAnimatorMac::scroll): + +2010-12-09 Abhishek Arya <inferno@chromium.org> + + Reviewed by James Robinson. + + For details element, ensure that if we ended up being inline that we set out replaced + flag so that we are treated like an inline block. + https://bugs.webkit.org/show_bug.cgi?id=50671 + + Test: fast/html/details-element-render-inline-crash.html + + * rendering/RenderDetails.cpp: + (WebCore::RenderDetails::styleDidChange): setReplaced to true if we are set as inline. + * rendering/RenderDetails.h: function definition. + +2010-12-09 Jasmin Lapalme <jlapalme@druide.com> + + Reviewed by Alexey Proskuryakov. + + Fix a faulty conversion from UTF-8 to UTF-16 in WebCore during an XSLT transformation. + https://bugs.webkit.org/show_bug.cgi?id=50708 + + Test: fast/xsl/utf8-chunks.xml + + * xml/XSLTProcessorLibxslt.cpp: + (WebCore::writeToVector): now converts and returns the correct byte count when the end of the chunk is in the middle of a multibyte UTF-8 character. + +2010-12-09 Vincent Scheib <scheib@chromium.org> + + Reviewed by James Robinson. + + Clip update rectangle for Texture::updateSubRect to texture size + https://bugs.webkit.org/show_bug.cgi?id=49929 + + Test: fast/canvas/canvas-largedraws.html + + * platform/graphics/gpu/Texture.cpp: + (WebCore::Texture::updateSubRect): + +2010-12-09 Kenneth Russell <kbr@google.com> + + Unreviewed. Another speculative Gtk build fix after r73669. Add + needed derived sources to GNUmakefile.am. + + * GNUmakefile.am: + +2010-12-09 Kenneth Russell <kbr@google.com> + + Unreviewed. Speculative Gtk build fix after + https://bugs.webkit.org/show_bug.cgi?id=36512 / r73669. Process + all of the WebGL classes' IDL files. + + * CMakeLists.txt: + +2010-12-09 Zhenyao Mo <zmo@google.com> + + Reviewed by Kenneth Russell. + + Expose constructor functions for instanceof checks of WebGL objects + https://bugs.webkit.org/show_bug.cgi?id=36512 + + Test: fast/canvas/webgl/instanceof-test.html + + * bindings/generic/RuntimeEnabledFeatures.h: + (WebCore::RuntimeEnabledFeatures::webGLActiveInfoEnabled): + (WebCore::RuntimeEnabledFeatures::webGLBufferEnabled): + (WebCore::RuntimeEnabledFeatures::webGLFramebufferEnabled): + (WebCore::RuntimeEnabledFeatures::webGLProgramEnabled): + (WebCore::RuntimeEnabledFeatures::webGLRenderbufferEnabled): + (WebCore::RuntimeEnabledFeatures::webGLShaderEnabled): + (WebCore::RuntimeEnabledFeatures::webGLTextureEnabled): + (WebCore::RuntimeEnabledFeatures::webGLUniformLocationEnabled): + * html/canvas/WebGLActiveInfo.idl: Remove OmitConstructor. + * html/canvas/WebGLBuffer.idl: Ditto. + * html/canvas/WebGLFramebuffer.idl: Ditto. + * html/canvas/WebGLProgram.idl: Ditto. + * html/canvas/WebGLRenderbuffer.idl: Ditto. + * html/canvas/WebGLShader.idl: Ditto. + * html/canvas/WebGLTexture.idl: Ditto. + * html/canvas/WebGLUniformLocation.idl: Ditto. + * page/DOMWindow.idl: Expose constructors for WebGL objects in DOMWindow. + +2010-12-09 Timothy Hatcher <timothy@apple.com> + + Export Color::white and Color::transparent. + + Reviewed by Anders Carlsson. + + * WebCore.exp.in: + +2010-12-09 Sam Weinig <sam@webkit.org> + + Fix failing Mac tests. + + * platform/mac/ScrollAnimatorMac.mm: + (WebCore::ScrollAnimatorMac::scroll): Don't smooth scroll if the default + AppleScrollAnimationEnabled is false. + +2010-12-09 James Robinson <jamesr@chromium.org> + + Reviewed by Kenneth Russell. + + [chromium] Compositor needs to manage its VRAM use + https://bugs.webkit.org/show_bug.cgi?id=49629 + + This adds a basic texture manager to the Chromium compositor to limit the amount of VRAM + used by compositor textures and switches ContentLayerChromium, ImageLayerChromium, and + RenderSurfaceChromium to use managed LayerTexture. The other *LayerChromium classes (Canvas, + Video, and WebGL) and the root layer are still unmanaged. + + The TextureManager works by providing tokens to callers that want to use a managed texture. + The token can be used to request a texture, see if the previously requested texture is still + available, and to protect/unprotect textures when they cannot be collected. Whenever a + texture is created the manager attempts to free up the least recently used textures until the + total memory use is below the provided threshhold. If the manager cannot satisfy the memory + limit it will not return any new textures until some old textures are released. + + A LayerTexture wraps a TextureManager token, size, and format. A LayerChromium can check if a + previously requested texture is still available for use and reserve the LayerTexture's underlying + storage between the updateContentsIfDirty() and the draw() call. + + Also changes LayerChromium from having separate contentsDirty()/updateContents() calls to a single + updateContentsIfDirty(). + + Tests: platform/chromium/compositing/lots-of-img-layers-with-opacity.html + platform/chromium/compositing/lots-of-img-layers.html + + * WebCore.gypi: + * platform/graphics/chromium/Canvas2DLayerChromium.cpp: + (WebCore::Canvas2DLayerChromium::updateContentsIfDirty): + * platform/graphics/chromium/Canvas2DLayerChromium.h: + * platform/graphics/chromium/ContentLayerChromium.cpp: + (WebCore::ContentLayerChromium::cleanupResources): + (WebCore::ContentLayerChromium::updateContentsIfDirty): + (WebCore::ContentLayerChromium::updateTextureRect): + (WebCore::ContentLayerChromium::draw): + * platform/graphics/chromium/ContentLayerChromium.h: + * platform/graphics/chromium/ImageLayerChromium.cpp: + (WebCore::ImageLayerChromium::updateContentsIfDirty): + * platform/graphics/chromium/ImageLayerChromium.h: + * platform/graphics/chromium/LayerChromium.h: + (WebCore::LayerChromium::updateContentsIfDirty): + (WebCore::LayerChromium::draw): + * platform/graphics/chromium/LayerRendererChromium.cpp: + (WebCore::LayerRendererChromium::LayerRendererChromium): + (WebCore::LayerRendererChromium::useShader): + (WebCore::LayerRendererChromium::prepareToDrawLayers): + (WebCore::LayerRendererChromium::updateRootLayerTextureRect): + (WebCore::LayerRendererChromium::drawLayers): + (WebCore::LayerRendererChromium::getFramebufferPixels): + (WebCore::LayerRendererChromium::createLayerTexture): + (WebCore::LayerRendererChromium::deleteLayerTexture): + (WebCore::LayerRendererChromium::updateLayersRecursive): + (WebCore::LayerRendererChromium::useRenderSurface): + (WebCore::LayerRendererChromium::drawLayer): + (WebCore::LayerRendererChromium::setScissorToRect): + (WebCore::LayerRendererChromium::setDrawViewportRect): + (WebCore::LayerRendererChromium::initializeSharedObjects): + (WebCore::LayerRendererChromium::cleanupSharedObjects): + * platform/graphics/chromium/LayerRendererChromium.h: + (WebCore::LayerRendererChromium::renderSurfaceSharedValues): + (WebCore::LayerRendererChromium::textureManager): + * platform/graphics/chromium/LayerTexture.cpp: Added. + (WebCore::LayerTexture::LayerTexture): + (WebCore::LayerTexture::~LayerTexture): + (WebCore::LayerTexture::isValid): + (WebCore::LayerTexture::reserve): + (WebCore::LayerTexture::unreserve): + (WebCore::LayerTexture::bindTexture): + (WebCore::LayerTexture::framebufferTexture2D): + * platform/graphics/chromium/LayerTexture.h: Added. + (WebCore::LayerTexture::create): + * platform/graphics/chromium/PluginLayerChromium.cpp: + (WebCore::PluginLayerChromium::updateContentsIfDirty): + * platform/graphics/chromium/PluginLayerChromium.h: + * platform/graphics/chromium/RenderSurfaceChromium.cpp: + (WebCore::RenderSurfaceChromium::SharedValues::SharedValues): + (WebCore::RenderSurfaceChromium::SharedValues::~SharedValues): + (WebCore::RenderSurfaceChromium::RenderSurfaceChromium): + (WebCore::RenderSurfaceChromium::cleanupResources): + (WebCore::RenderSurfaceChromium::prepareContentsTexture): + (WebCore::RenderSurfaceChromium::draw): + * platform/graphics/chromium/RenderSurfaceChromium.h: + (WebCore::RenderSurfaceChromium::SharedValues::shaderProgram): + (WebCore::RenderSurfaceChromium::SharedValues::shaderSamplerLocation): + (WebCore::RenderSurfaceChromium::SharedValues::shaderMatrixLocation): + (WebCore::RenderSurfaceChromium::SharedValues::shaderAlphaLocation): + (WebCore::RenderSurfaceChromium::SharedValues::initialized): + * platform/graphics/chromium/TextureManager.cpp: Added. + (WebCore::memoryUseBytes): + (WebCore::TextureManager::TextureManager): + (WebCore::TextureManager::getToken): + (WebCore::TextureManager::releaseToken): + (WebCore::TextureManager::hasTexture): + (WebCore::TextureManager::protectTexture): + (WebCore::TextureManager::unprotectTexture): + (WebCore::TextureManager::reduceMemoryToLimit): + (WebCore::TextureManager::addTexture): + (WebCore::TextureManager::removeTexture): + (WebCore::TextureManager::requestTexture): + * platform/graphics/chromium/TextureManager.h: Added. + (WebCore::TextureManager::create): + * platform/graphics/chromium/VideoLayerChromium.cpp: + (WebCore::VideoLayerChromium::updateContentsIfDirty): + * platform/graphics/chromium/VideoLayerChromium.h: + * platform/graphics/chromium/WebGLLayerChromium.cpp: + (WebCore::WebGLLayerChromium::updateContentsIfDirty): + * platform/graphics/chromium/WebGLLayerChromium.h: + +2010-12-09 Darin Adler <darin@apple.com> + + Reviewed by Sam Weinig. + + Rework my recent setLocation refactoring to use DOMWindow instead of Frame. + It's difficult to make correct security decisions based on Frame since a + Frame can navigate to a new document. + + Fixes some test failures that I somehow missed before the last check-in. + + * bindings/js/JSDOMWindowBase.cpp: + (WebCore::JSDOMWindowBase::crossDomainAccessErrorMessage): Call to the + shell DOMWindow; not sure this one matters, but it's closer to the old + code before my last patch. Also pass the DOMWindow rather than the + frame to crossDomainAccessErrorMessage. + + * bindings/js/JSDOMWindowCustom.cpp: + (WebCore::JSDOMWindow::setLocation): Pass DOMWindow rather than Frame + to the DOMWindow::setLocation function. + + * page/DOMWindow.cpp: + (WebCore::DOMWindow::setLocation): Take DOMWindow rather than Frame. + (WebCore::DOMWindow::crossDomainAccessErrorMessage): Ditto. + + * page/DOMWindow.h: Update new functions to take DOMWindow rather + than Frame. + +2010-12-09 Sam Weinig <sam@webkit.org> + + Try and fix the mac build. + + * WebCore.exp.in: + +2010-12-09 Dan Bernstein <mitz@apple.com> + + Reviewed by Dave Hyatt. + + Removed an unused variable. + + * rendering/InlineFlowBox.cpp: + (WebCore::InlineFlowBox::computeLogicalBoxHeights): Removed parentLineHeight. + +2010-12-09 Darin Adler <darin@apple.com> + + Reviewed by Geoffrey Garen. + + Move DOMWindow::setLocation logic into DOMWindow class and out of JavaScript binding + https://bugs.webkit.org/show_bug.cgi?id=50640 + + * bindings/js/JSDOMBinding.cpp: + (WebCore::printErrorMessageForFrame): Removed body; just call through to + DOMWindow::printErrorMessage. + + * bindings/js/JSDOMWindowBase.cpp: + (WebCore::JSDOMWindowBase::crossDomainAccessErrorMessage): Removed body; + just call through to DOMWindow::crossDomainAccessErrorMessage. + + * bindings/js/JSDOMWindowCustom.cpp: + (WebCore::JSDOMWindow::setLocation): Changed terminology to use activeFrame and + firstFrame, rather than the older lexicalFrame and dynamicFrame. Removed most + of the body and moved it into DOMWindow::setLocation. + + * page/DOMWindow.cpp: + (WebCore::DOMWindow::setLocation): Added. Does all the same work that + JSDOMWindow::setLocation used to do, but in a way that's not specific + to JavaScript. + (WebCore::DOMWindow::printErrorMessage): Added. + (WebCore::DOMWindow::crossDomainAccessErrorMessage): Added. + + * page/DOMWindow.h: Added setLocation, printErrorMessage, and + crossDomainAccessErrorMessage. + +2010-12-09 Sam Weinig <sam@webkit.org> + + Reviewed by Dan Bernstein. + + WebKit2 needs smooth scrolling support on the mac + <rdar://problem/8219402> + + * WebCore.xcodeproj/project.pbxproj: Change ScrollAnimatorMac.cpp to ScrollAnimatorMac.mm. + * platform/mac/ScrollAnimatorMac.cpp: Removed. + * platform/mac/ScrollAnimatorMac.h: + * platform/mac/ScrollAnimatorMac.mm: Copied from platform/mac/ScrollAnimatorMac.cpp. + (-[ScrollAnimationHelperDelegate initWithScrollAnimator:WebCore::]): + (-[ScrollAnimationHelperDelegate bounds]): + (-[ScrollAnimationHelperDelegate _immediateScrollToPoint:]): + (-[ScrollAnimationHelperDelegate convertSizeToBase:]): + (-[ScrollAnimationHelperDelegate convertSizeFromBase:]): + (-[ScrollAnimationHelperDelegate superview]): + (-[ScrollAnimationHelperDelegate documentView]): + (-[ScrollAnimationHelperDelegate window]): + (-[ScrollAnimationHelperDelegate _recursiveRecomputeToolTips]): + (WebCore::ScrollAnimatorMac::ScrollAnimatorMac): + (WebCore::ScrollAnimatorMac::scroll): + (WebCore::ScrollAnimatorMac::setScrollPositionAndStopAnimation): + (WebCore::ScrollAnimatorMac::currentPosition): + (WebCore::ScrollAnimatorMac::immediateScrollToPoint): + Add implementation of ScrollAnimator for the Mac. + +2010-12-09 Brady Eidson <beidson@apple.com> + + Reviewed by Anders Carlsson. + + <rdar://problem/8613779> and https://bugs.webkit.org/show_bug.cgi?id=50777 + WebKit2 ContextMenuClient support + + Export some symbols and headers needed by WebKit2 Mac: + * WebCore.exp.in: + * WebCore.xcodeproj/project.pbxproj: + +2010-12-09 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r73635. + http://trac.webkit.org/changeset/73635 + https://bugs.webkit.org/show_bug.cgi?id=50778 + + 'Side-effects on 3 css tests needs closer review' (Requested + by mwenge on #webkit). + + * platform/graphics/qt/ImageQt.cpp: + (loadResourcePixmap): + * platform/qt/RenderThemeQt.cpp: + (WebCore::RenderThemeQt::computeSizeBasedOnStyle): + (WebCore::RenderThemeQt::paintSearchField): + (WebCore::RenderThemeQt::adjustSearchFieldStyle): + (WebCore::RenderThemeQt::adjustSearchFieldCancelButtonStyle): + (WebCore::RenderThemeQt::paintSearchFieldCancelButton): + * platform/qt/RenderThemeQt.h: + +2010-12-09 Robert Hogan <robert@webkit.org> + + Reviewed by Andreas Kling. + + [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. + + https://bugs.webkit.org/show_bug.cgi?id=42887 + + * platform/graphics/qt/ImageQt.cpp: + (loadResourcePixmap): + * platform/qt/RenderThemeQt.cpp: + (WebCore::RenderThemeQt::computeSizeBasedOnStyle): + (WebCore::RenderThemeQt::paintSearchField): + (WebCore::RenderThemeQt::adjustSearchFieldStyle): + (WebCore::RenderThemeQt::adjustSearchFieldCancelButtonStyle): + (WebCore::RenderThemeQt::convertToPaintingRect): + (WebCore::RenderThemeQt::paintSearchFieldCancelButton): + * platform/qt/RenderThemeQt.h: + +2010-12-09 Yael Aharon <yael.aharon@nokia.com> + + Reviewed by Antonio Gomes. + + Spatial Navigation: Crash when handling iframe of size 0. + https://bugs.webkit.org/show_bug.cgi?id=50730 + + if we have a frame of size 0, we would get into infinite loop and eventually crash. The reason is + that when the algorithm sees a starting rect of size 0, it assumes that there is no focused node, + thus restarts itself. The solution is to avoid considering iframes with size 0 for the spatial + navigation algorithm. + + Test: fast/spatial-navigation/snav-hidden-iframe-zero-size.html + + * page/FocusController.cpp: + (WebCore::updateFocusCandidateIfNeeded): + +2010-12-09 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r73616. + http://trac.webkit.org/changeset/73616 + https://bugs.webkit.org/show_bug.cgi?id=50772 + + Breaks chromium win build (Requested by hwennborg on #webkit). + + * bindings/v8/IDBBindingUtilities.cpp: + (WebCore::createIDBKeyFromValue): + * bindings/v8/custom/V8IDBKeyCustom.cpp: + (WebCore::toV8): + * storage/IDBFactoryBackendImpl.cpp: + (WebCore::createTables): + (WebCore::IDBFactoryBackendImpl::open): + * storage/IDBKey.cpp: + (WebCore::IDBKey::IDBKey): + (WebCore::IDBKey::fromQuery): + (WebCore::IDBKey::bind): + (WebCore::IDBKey::bindWithNulls): + * storage/IDBKey.h: + (WebCore::IDBKey::create): + (WebCore::IDBKey::number): + +2010-12-09 Antonio Gomes <agomes@rim.com> + + Rubber stamped by by Gustavo Noronha Silva. + + Buildfix for GTK+ with building with -no-video. + + paintStockIcon static function was implemented under the ENABLE(VIDEO) guard + but used from outside the guard. See RenderThemeGtk::paintSearchFieldResultsDecoration() + and RenderThemeGtk::paintSearchFieldCancelButton() methods. + + * platform/gtk/RenderThemeGtk.cpp: + (WebCore::getMediaElementFromRenderObject): + +2010-12-07 Antonio Gomes <agomes@rim.com> + + Reviewed by Daniel Bates. + + Spatial Navigation: code clean up + https://bugs.webkit.org/show_bug.cgi?id=50666 + + Patch unifies two FocusCandidate constructors, making caller sites + simpler. Now the special handling HTMLAreaElement gets is done within + the non default constructor (i.e. FocusCanditate(Node*, FocusDirection)). + + No new tests needed. + + * page/FocusController.cpp: + (WebCore::FocusController::findFocusCandidateInContainer): + * page/SpatialNavigation.cpp: + (WebCore::FocusCandidate::FocusCandidate): + +2010-12-09 Philippe Normand <pnormand@igalia.com> + + Reviewed by Eric Carlson. + + [GStreamer] disable fullscreen on MacOS Tiger and Leopard + https://bugs.webkit.org/show_bug.cgi?id=50748 + + Don't support fullscreen video on Tiger and Leopard, just like the + QTKit player. + + * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: + (WebCore::MediaPlayerPrivateGStreamer::supportsFullscreen): + +2010-12-06 Philippe Normand <pnormand@igalia.com> + + Reviewed by Martin Robinson. + + [GTK] Support the Mozilla-style Fullscreen Javascript API + https://bugs.webkit.org/show_bug.cgi?id=50572 + + * GNUmakefile.am: enable the Javascript Fullscreen API feature if + it's been requested at configure time. + +2010-12-09 Yong Li <yoli@rim.com> + + Reviewed by Darin Adler. + + Check the return value of ImageBuffer::create() + to avoid crash when ImageBuffer::create() fails. + https://bugs.webkit.org/show_bug.cgi?id=50631 + + No new test because it relies on the platform implementation + of ImageBuffer. It is hard to make ImageBuffer::create() fail + in most ports. + + * platform/graphics/GeneratedImage.cpp: + (WebCore::GeneratedImage::drawPattern): + +2010-12-09 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Dan Bernstein. + + Implement "Use Selection for Find" in WebKit2 + https://bugs.webkit.org/show_bug.cgi?id=50737 + <rdar://problem/8564881> + + Implement a TakeFindStringFromSelection editor command. This is + used solely to implement the "Use Selection for Find" menu command + on Mac, and is not made available to script. On WebKit2, it is + very convenient to reuse the editing machinery since this command + is very similar to Copy. + + * editing/Editor.h: + * editing/EditorCommand.cpp: + (WebCore::executeTakeFindStringFromSelection): Call to a mac-only Editor function. + (WebCore::enabledTakeFindStringFromSelection): Check using Editor::canCopyExcludingStandaloneImage + (WebCore::createCommandMap): Add "TakeFindStringFromSelection" command. + * editing/mac/EditorMac.mm: + (WebCore::Editor::canCopyExcludingStandaloneImages): Helper function; we can't use Editor::canCopy + since it would make no sense to enable "Use Selection for Find" when viewing a standalone image + document. + (WebCore::Editor::takeFindStringFromSelection): Implement by copying the selected text + to the special Find pasteboard. + +2010-12-09 Abhishek Arya <inferno@chromium.org> + + Reviewed by Dimitri Glazkov. + + As part of r73559, I added the referenceNode check to validate whether the root + node of the iterator matches the node which is getting moved to other document. + referenceNode is initialized to root, however can get moved using previousNode + and nextNode methods, so it is required to use root directly. + https://bugs.webkit.org/show_bug.cgi?id=50764 + + Test: fast/dom/node-iterator-reference-node-moved-crash.html + + * dom/Document.cpp: + (WebCore::Document::moveNodeIteratorsToNewDocument): change referenceNode to root. + +2010-12-08 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Darin Adler. + + Provide a generic way to store shadowParent on a Node. + https://bugs.webkit.org/show_bug.cgi?id=50184 + + This patch makes TreeShared::m_parent act as either parentNode() or + shadowHost() for Node. The distinction is controlled by IsShadowRootFlag. + + Refactoring, so no new tests. See performance result testing in bug. + + * dom/Element.cpp: + (WebCore::Element::recalcStyle): Changed to use parentOrHostNode(). + * dom/Node.cpp: + (WebCore::Node::shadowHost): Added. + (WebCore::Node::setShadowHost): Added. + (WebCore::Node::isContentEditable): Changed to use parentOrHostNode(). + (WebCore::Node::isContentRichlyEditable): Ditto. + (WebCore::Node::nextRenderer): Ditto. + (WebCore::Node::virtualComputedStyle): Ditto. + (WebCore::Node::canStartSelection): Ditto. + (WebCore::Node::shadowTreeRootNode): Changed to use parentNodeGuaranteedHostFree(). + (WebCore::Node::getEventAncestors): Ditto. + (WebCore::Node::defaultEventHandler): Changed to use parentOrHostNode(). + * dom/Node.h: Added an extra flag and adjusted bit counts. + (WebCore::Node::isShadowNode): Made non-virtual, switched to use flag. + (WebCore::Node::parentNode): Made to recognize flag. + (WebCore::Node::parentOrHostNode): Changed to use straight parent() and made const. + (WebCore::Node::parentNodeGuaranteedHostFree): Added. + (WebCore::Node::shadowParentNode): Made non-virtual and const. + * editing/TextIterator.cpp: + (WebCore::depthCrossingShadowBoundaries): Changed to use parentOrHostNode(); + (WebCore::nextInPreOrderCrossingShadowBoundaries): Ditto. + (WebCore::previousInPostOrderCrossingShadowBoundaries): Ditto. + (WebCore::setUpFullyClippedStack): Ditto. + (WebCore::TextIterator::advance): Ditto. + (WebCore::SimplifiedBackwardsTextIterator::advance): Ditto. + * page/DOMSelection.cpp: + (WebCore::DOMSelection::anchorNode): Changed to use parentNodeGuaranteedHostFree(). + (WebCore::DOMSelection::focusNode): Ditto. + (WebCore::DOMSelection::baseNode): Ditto. + (WebCore::DOMSelection::extentNode): Ditto. + (WebCore::DOMSelection::getRangeAt): Ditto. + * rendering/MediaControlElements.cpp: + (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement): + Changed to setShadowHost(). + (WebCore::MediaControlShadowRootElement::updateStyle): Changed to use shadowHost(). + (WebCore::MediaControlShadowRootElement::detach): Added an override to + explicitly set shadowHost to 0. Otherwise, the element will leak. + * rendering/MediaControlElements.h: Added detach def, removed members that are + no longer needed. + * rendering/RenderSVGShadowTreeRootContainer.cpp: + (WebCore::RenderSVGShadowTreeRootContainer::~RenderSVGShadowTreeRootContainer): + Added explicit clearing of shadowHost to avoid leaking and crashes, + because SVG shadow DOM can be dynamically attached/detached, producing + stale nodes in over/out event handling. + * rendering/RenderSlider.cpp: + (WebCore::SliderThumbElement::defaultEventHandler): Changed to use shadowHost(). + * rendering/RenderTextControlSingleLine.cpp: + (WebCore::RenderTextControlSingleLine::~RenderTextControlSingleLine): + Added explicit clearing of shadowHost and explicit destruction to + avoid out-of-order removal of children. + * rendering/RenderTreeAsText.cpp: + (WebCore::nodePosition): Simplified code. + * rendering/SVGShadowTreeElements.cpp: + (WebCore::SVGShadowTreeRootElement::SVGShadowTreeRootElement): Added + setting of shadowHost. + (WebCore::SVGShadowTreeRootElement::attachElement): Changed to use shadowHost(). + (WebCore::SVGShadowTreeRootElement::clearShadowHost): Added. + * rendering/SVGShadowTreeElements.h: Added def, removed members that are + no longer needed. + * rendering/ShadowElement.cpp: + (WebCore::ShadowBlockElement::initAsPart): Changed to use shadowHost(). + * rendering/ShadowElement.h: Removed members that are no longer needed. + (WebCore::ShadowElement::ShadowElement): Added setting of shadowHost. + (WebCore::ShadowElement::detach): Added. + * rendering/TextControlInnerElements.cpp: + (WebCore::TextControlInnerElement::TextControlInnerElement): Added setting + of shadowHost. + (WebCore::TextControlInnerElement::attachInnerElement): Changed to use + isShadowNode(). + (WebCore::TextControlInnerElement::detach): Added. + * rendering/TextControlInnerElements.h: Removed members that are no + longer needed. + * svg/SVGElement.cpp: + (WebCore::SVGElement::ownerSVGElement): Simplified code. + (WebCore::SVGElement::viewportElement): Ditto. + * svg/SVGLocatable.cpp: + (WebCore::SVGLocatable::computeCTM): Ditto. + * svg/SVGStyledElement.cpp: + (WebCore::SVGStyledElement::title): Ditto. + * svg/SVGUseElement.cpp: + (WebCore::ShadowTreeUpdateBlocker::while): Ditto. + +2010-12-09 Brady Eidson <beidson@apple.com> + + Reviewed by Maciej Stachowiak. + + <rdar://problem/7660733> and https://bugs.webkit.org/show_bug.cgi?id=50191 + WebKit2 Authentication Support + + * WebCore.exp.in: + +2010-12-09 Peter Beverloo <peter@lvp-media.com> + + Reviewed by Maciej Stachowiak. + + Default CSS definitions for the figure and figcaption elements. + + Tests: fast/html/figcaption-element.html + fast/html/figure-element.html + + * css/html.css: + (figure): The default figure-style equals a blockquote + (figcaption): A non-sectioning block-level element + +2010-12-09 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: Console records for failed XHRs should contain call stack and request method + https://bugs.webkit.org/show_bug.cgi?id=50390 + + When inspector front-end is open we capture call stack at the place where request is sent and + pass the stack along with other request data. There is a new type of console messages which + is NetworkErrorMessageType, all messages of that type will have requestId field initialized + with the corresponding network request identifier so that later on when we need to display + that message in the front-end we could pull request data from the Network panel using + this identifier. If there are no data for given requestId message formatting falls back to + the old implementation which lacks such things as call stack, request method and exact + source location. + + * inspector/ConsoleMessage.cpp: + (WebCore::ConsoleMessage::ConsoleMessage): + (WebCore::ConsoleMessage::addToFrontend): + (WebCore::ConsoleMessage::isEqual): + * inspector/ConsoleMessage.h: + * inspector/Inspector.idl: + * inspector/InspectorController.cpp: + (WebCore::InspectorController::didReceiveResponse): + (WebCore::InspectorController::didFailLoading): + * inspector/InspectorResourceAgent.cpp: + (WebCore::InspectorResourceAgent::identifierForInitialRequest): + * inspector/front-end/ConsoleView.js: + (WebInspector.ConsoleView.prototype.updateMessageRepeatCount): + (WebInspector.ConsoleMessage): + (WebInspector.ConsoleMessage.prototype._formatMessage): + (WebInspector.ConsoleMessage.prototype.toMessageElement): + (WebInspector.ConsoleMessage.prototype.toString): + (WebInspector.ConsoleMessage.prototype.isEqual): + * inspector/front-end/ResourceManager.js: + (WebInspector.ResourceManager.prototype.identifierForInitialRequest): + * inspector/front-end/inspector.js: + (WebInspector.addConsoleMessage): + * page/Console.h: + +2010-12-09 Dai Mikurube <dmikurube@google.com> + + Reviewed by Kent Tamura. + + Implement "required" attribute for select tags + https://bugs.webkit.org/show_bug.cgi?id=50380 + + Test: fast/forms/select-live-pseudo-selectors.html + platform/mac/fast/objc/dom-html-select-live-pseudo-selectors.html + + * dom/SelectElement.cpp: + (WebCore::SelectElement::updateValidity): Added. It's a pure virtual function which is prepared so that HTMLSelectElement::updateValidity() calls HTMLSelectElement::setNeedsValidityCheck(). + (WebCore::SelectElement::parseMultipleAttribute): Added calling updateValidity(). + * html/HTMLSelectElement.cpp: + (WebCore::HTMLSelectElement::deselectItems): Added calling setNeedsValidityCheck() to enable validity check after changing. No tests for this change since this function is not exposed to JavaScript or any web interface. + (WebCore::HTMLSelectElement::setSelectedIndex): Added calling setNeedsValidityCheck(). + (WebCore::HTMLSelectElement::setSelectedIndexByUser): Added calling setNeedsValidityCheck(). + (WebCore::HTMLSelectElement::valueMissing): Added valueMissing() to check if selecting an invalid or placeholder label option when a valid required attribute is specified. + (WebCore::HTMLSelectElement::listBoxSelectItem): Added calling setNeedsValidityCheck(). No tests for this change since it is not called yet. Look at the bug 36177 and the changeset 56180. + (WebCore::HTMLSelectElement::add): Added calling setNeedsValidityCheck(). + (WebCore::HTMLSelectElement::remove): Added calling setNeedsValidityCheck(). + (WebCore::HTMLSelectElement::restoreFormControlState): Added calling setNeedsValidityCheck(). + (WebCore::HTMLSelectElement::parseMappedAttribute): Added calling setNeedsValidityCheck(). + (WebCore::HTMLSelectElement::selectAll): Added calling setNeedsValidityCheck(). + (WebCore::HTMLSelectElement::reset): Added calling setNeedsValidityCheck(). + (WebCore::HTMLSelectElement::updateListBoxSelection): Added calling setNeedsValidityCheck(). Skipped adding tests for this change as too complicated.. + (WebCore::HTMLSelectElement::setLength): Added calling setNeedsValidityCheck(). + (WebCore::HTMLSelectElement::isRequiredFormControl): Check if required or not. + (WebCore::HTMLSelectElement::hasPlaceholderLabelOption): Added. + (WebCore::HTMLSelectElement::updateValidity): Added. It calls setNeedsValidityCheck(). + * html/HTMLSelectElement.h: + (WebCore::HTMLSelectElement::isOptionalFormControl): Check if not required. + * html/HTMLSelectElement.idl: Added a required attribute to select elements.. + * html/ValidityState.cpp: + (WebCore::ValidityState::valueMissing): Added valueMissing check for select elements into the global checker, ValidityState::valueMissing(). + * wml/WMLSelectElement.h: + (WebCore::WMLSelectElement::updateValidity): Added. It does nothing. + +2010-12-07 Jeremy Orlow <jorlow@chromium.org> + + Reviewed by Steve Block. + + IndexedDB returns the wrong exceptions + https://bugs.webkit.org/show_bug.cgi?id=50632 + + IndexedDB exceptions need to have an offset so they can + be distinguished from DOM exceptions. We also need to + add strings for the various exceptions. Lastly, make + IDBDatabaseException use the common exception base class. + + * bindings/js/JSDOMBinding.cpp: + (WebCore::setDOMException): + * bindings/v8/V8Proxy.cpp: + (WebCore::V8Proxy::setDOMException): + * dom/ExceptionCode.cpp: + (WebCore::getExceptionCodeDescription): + * dom/ExceptionCode.h: + * storage/IDBDatabaseError.h: + (WebCore::IDBDatabaseError::code): + * storage/IDBDatabaseException.h: + (WebCore::IDBDatabaseException::create): + (WebCore::IDBDatabaseException::ErrorCodeToExceptionCode): + (WebCore::IDBDatabaseException::IDBDatabaseException): + * storage/IDBDatabaseException.idl: + +2010-12-09 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk> + + Build fix for GTK+3. Use functions added for GTK+ 2.24 to get the + GDK window size. + + * plugins/gtk/gtk2xtbin.c: + (gtk_xtbin_realize): + +2010-12-09 Siddharth Mathur <siddharth.mathur@nokia.com> + + Reviewed by Laszlo Gombos. + + Use BUILDING_WEBKIT like other ports + https://bugs.webkit.org/show_bug.cgi?id=50713 + + * WebCore.pro: Change BUILD_WEBKIT to BUILDING_WEBKIT + +2010-12-08 Erik Arvidsson <arv@chromium.org> + + Reviewed by Darin Adler. + + Replace getAttribute().isNull() with fastHasAttribute() + https://bugs.webkit.org/show_bug.cgi?id=50719 + + Covered by existing tests. + + * dom/SelectElement.cpp: + (WebCore::SelectElement::reset): + * html/HTMLAppletElement.cpp: + (WebCore::HTMLAppletElement::rendererIsNeeded): + * html/HTMLCollection.cpp: + (WebCore::HTMLCollection::itemAfter): + * html/HTMLFormControlElement.cpp: + (WebCore::HTMLFormControlElement::formNoValidate): + * html/HTMLFormElement.cpp: + (WebCore::HTMLFormElement::noValidate): + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::defaultChecked): + (WebCore::HTMLInputElement::multiple): + (WebCore::HTMLInputElement::webkitdirectory): + * html/HTMLOptionElement.cpp: + (WebCore::HTMLOptionElement::defaultSelected): + * html/HTMLScriptElement.cpp: + (WebCore::HTMLScriptElement::asyncAttributeValue): + (WebCore::HTMLScriptElement::deferAttributeValue): + * rendering/RenderFileUploadControl.cpp: + (WebCore::RenderFileUploadControl::allowsMultipleFiles): + (WebCore::RenderFileUploadControl::allowsDirectoryUpload): + +2010-12-08 Nicolas Dufresne <nicolas.dufresne@collabora.co.uk> + + Reviewed by Martin Robinson. + + Full page size flash plugins do not show in all situations + https://bugs.webkit.org/show_bug.cgi?id=47742 + + This patch moves the plugin widget size allocation after the + NPP_SetWindow is called with the effect that the resize of Flash + content no longer result in grey flash. This seems logical since the + widget tree cannot be fully constructed before the plugin receives + the new container window. + + Test: manual-tests/plugins/gtk-windowed-grey-glitch.html + + * plugins/gtk/PluginViewGtk.cpp: + (WebCore::PluginView::setNPWindowIfNeeded): + +2010-12-08 David Hyatt <hyatt@apple.com> + + Reviewed by Simon Fraser. + + Fix regression from xji's wheel scroll patch. The vertical case is looking at the horizontal + maximum position and not the vertical position. + + * platform/ScrollView.cpp: + (WebCore::ScrollView::wheelEvent): + +2010-12-08 Sam Weinig <sam@webkit.org> + + Reviewed by Darin Adler. + + Need a way to get a WKBundleFrameRef from JS HTMLIFrameElement + https://bugs.webkit.org/show_bug.cgi?id=50726 + + * WebCore.xcodeproj/project.pbxproj: Expose HTMLIFrameElement.h. + +2010-12-08 Matthew Delaney <mdelaney@apple.com> + + Reviewed by Simon Fraser. + + Add getter and setters for acceleratesRendering flag on layers + https://bugs.webkit.org/show_bug.cgi?id=50717 + + * platform/graphics/GraphicsLayer.cpp: + * platform/graphics/ca/GraphicsLayerCA.cpp: + * platform/graphics/ca/mac/PlatformCALayerMac.mm: + Plumbed through acceleratedRendering flag. + +2010-12-07 Zhenyao Mo <zmo@google.com> + + Reviewed by Kenneth Russell. + + WebGLUniformLocation objects must be invalidated during linkProgram + https://bugs.webkit.org/show_bug.cgi?id=37118 + + * html/canvas/WebGLProgram.cpp: + (WebCore::WebGLProgram::WebGLProgram): Initialize link count to 0. + (WebCore::WebGLProgram::cacheActiveAttribLocations): Don't check link status through gl call; use the cached status instead. + * html/canvas/WebGLProgram.h: + (WebCore::WebGLProgram::getLinkCount): Get link count. + (WebCore::WebGLProgram::increaseLinkCount): Increase link count by 1. + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::getUniform): Fix a bug where wrong error is generated. + (WebCore::WebGLRenderingContext::linkProgram): call increaseLinkCount after linkProgram. + * html/canvas/WebGLUniformLocation.cpp: + (WebCore::WebGLUniformLocation::WebGLUniformLocation): Set program's link count upon creation. + (WebCore::WebGLUniformLocation::program): Return null if count doesn't match the program's. + (WebCore::WebGLUniformLocation::location): Return -1 if count doesn't match the program's. + * html/canvas/WebGLUniformLocation.h: + +2010-12-08 Adele Peterson <adele@apple.com> + + Reviewed by Darin Adler. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=50725 + <rdar://problem/8694972> REGRESSION (r72052): "Search" placeholder in MobileMe mail is positioned too high + + Test: fast/forms/placeholder-position.html + + Since we center the inner text element for single line text controls, + we should ask the subclass to give us the y offset instead of trying to calculate it in the RenderTextControl class. + + * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::paintPlaceholder): + * rendering/RenderTextControl.h: + * rendering/RenderTextControlMultiLine.cpp: (WebCore::RenderTextControlMultiLine::textBlockInsetTop): + * rendering/RenderTextControlMultiLine.h: + * rendering/RenderTextControlSingleLine.cpp: (WebCore::RenderTextControlSingleLine::textBlockInsetTop): + * rendering/RenderTextControlSingleLine.h: + +2010-12-08 Chris Rogers <crogers@google.com> + + Reviewed by Kenneth Russell. + + Add web audio files to mac port Xcode projects + https://bugs.webkit.org/show_bug.cgi?id=50721 + + No new tests since audio API is not yet implemented. + + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSDOMWindowCustom.cpp: + (WebCore::JSDOMWindow::webkitAudioContext): + +2010-12-08 Kent Tamura <tkent@chromium.org> + + Reviewed by Alexey Proskuryakov. + + Yensign hack should work with Shift_JIS and ISO-2022-JP encodings. + https://bugs.webkit.org/show_bug.cgi?id=49714 + + IE chooses a font which shows a yensign for 0x5c code point for a page + encoded in x-mac-japanese, ISO-2022-JP, EUC-JP, Shift_JIS, Shift_JIS_X0213-2000, + x-sjis, and Windows-31J. + We have emulated this behavior by replacing 0x5c with 0xa5 for EUC-JP and + Shift_JIS_X0213-2000. This change adds other encodings above. + + Also, we move the HashSet initialization for isJapanese() and + backslashAsCurrencySymbol() to TextEncodingRegistry.cpp because of + ease of making them multi-thread safe. + + * platform/text/TextEncoding.cpp: + (WebCore::TextEncoding::isJapanese): Just calls isJapaneseEncoding(). + (WebCore::TextEncoding::backslashAsCurrencySymbol): Uses shouldShowBackslashAsCurrencySymbolIn(). + * platform/text/TextEncodingRegistry.cpp: + (WebCore::addEncodingName): Moved from TextEncoding.cpp, and stop using atomicCanonicalTextEncodingName(). + (WebCore::buildQuirksSets): Added. Initializes HashSets for isJapaneseEncoding() and shouldShowBackslashAsCurrencySymbolIn(). + (WebCore::isJapaneseEncoding): + (WebCore::shouldShowBackslashAsCurrencySymbolIn): + (WebCore::extendTextCodecMaps): Add a call to buildQuirksSets(). + * platform/text/TextEncodingRegistry.h: + +2010-12-08 Andy Estes <aestes@apple.com> + + Reviewed by Darin Adler. + + Reflected unsigned attributes should be in the range [0, 2^31). + https://bugs.webkit.org/show_bug.cgi?id=50472 + + HTML5 says that unsigned reflected attributes should be in the range + [0, 2^31). When a value isn't in this range, a default value (or 0) + should be returned instead. Update the JS bindings code generator to + ensure 0 is returned when a content attribute value falls outside of + this range. + + Tests: bindings/scripts/test/TestObj.idl + fast/html/marquee-element.html + + * bindings/scripts/CodeGeneratorJS.pm: Return the maximum of 0 and the + content attribute as a 32-bit signed int when converting a native value + to an unsigned JS value. + * bindings/scripts/test/TestObj.idl: Add a reflected unsigned attribute + to test code generation. + * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Update test results. + * bindings/scripts/test/CPP/WebDOMTestObj.h: Ditto. + * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Ditto. + * bindings/scripts/test/GObject/WebKitDOMTestObj.h: Ditto. + * bindings/scripts/test/JS/JSTestObj.cpp: Ditto. + * bindings/scripts/test/JS/JSTestObj.h: Ditto. + * bindings/scripts/test/ObjC/DOMTestObj.h: Ditto. + * bindings/scripts/test/ObjC/DOMTestObj.mm: Ditto. + * bindings/scripts/test/V8/V8TestObj.cpp: Ditto. + +2010-12-08 Carlos Garcia Campos <cgarcia@igalia.com> + + Reviewed by Martin Robinson. + + [GTK] Use gtk_icon_set_render_icon() to render icons in RenderThemeGtk + https://bugs.webkit.org/show_bug.cgi?id=50623 + + We don't need to cache the icons since the will be cached by GTK+, + and they will be rendered using the state and text direction. + + * platform/gtk/RenderThemeGtk.cpp: + (WebCore::paintStockIcon): + (WebCore::getMediaButtonIconSize): + (WebCore::RenderThemeGtk::initMediaColors): + (WebCore::RenderThemeGtk::initMediaButtons): + (WebCore::RenderThemeGtk::RenderThemeGtk): + (WebCore::RenderThemeGtk::~RenderThemeGtk): + (WebCore::RenderThemeGtk::gtkIconState): + (WebCore::RenderThemeGtk::adjustSearchFieldResultsDecorationStyle): + (WebCore::centerRectVerticallyInParentInputElement): + (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration): + (WebCore::RenderThemeGtk::adjustSearchFieldCancelButtonStyle): + (WebCore::RenderThemeGtk::paintSearchFieldCancelButton): + (WebCore::RenderThemeGtk::platformColorsDidChange): + (WebCore::RenderThemeGtk::paintMediaButton): + (WebCore::RenderThemeGtk::paintMediaFullscreenButton): + (WebCore::RenderThemeGtk::paintMediaMuteButton): + (WebCore::RenderThemeGtk::paintMediaPlayButton): + (WebCore::RenderThemeGtk::paintMediaSeekBackButton): + (WebCore::RenderThemeGtk::paintMediaSeekForwardButton): + * platform/gtk/RenderThemeGtk.h: + +2010-12-08 Abhishek Arya <inferno@chromium.org> + + Reviewed by Dimitri Glazkov. + + Detach node iterator and move to new document when node gets moved. + https://bugs.webkit.org/show_bug.cgi?id=50697 + + Test: fast/dom/node-iterator-document-moved-crash.html + + * dom/Document.cpp: Method that takes a node and new document as argument. + It detaches the node iterators belonging to the current document and attaches + them to the new document. + (WebCore::Document::moveNodeIteratorsToNewDocument): + * dom/Document.h: Function definition. + * dom/Node.cpp: When node is moved to another document, call the function to move + the iterators appropriately. + (WebCore::Node::setDocument): + +2010-12-08 James Robinson <jamesr@chromium.org> + + Reviewed by Kenneth Russell. + + [chromium] Text is blurry on a large composited layer with an odd center x/y coordinate + https://bugs.webkit.org/show_bug.cgi?id=50702 + + Compute the center of a large layer using floats instead of ints to avoid roundoff errors. + + Test: compositing/text-on-large-layer.html + + * platform/graphics/chromium/ContentLayerChromium.cpp: + (WebCore::ContentLayerChromium::draw): + +2010-12-08 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Dan Bernstein. + + REGRESSION: LayoutTests/editing/selection/caret-rtl-2.html fails + https://bugs.webkit.org/show_bug.cgi?id=33503 + + The bug was caused by Font::offsetForPosition's not taking into account the containing block's text direction. + When RTL text appears in a LTR block, the offset at the beginning of RTL text is on the left of RTL text, + and the offset at the end of RTL text is on the right of RTL text. For example, if we had RTL text CBA, + then the correspondance between letters and offsets in logical order are: A -> 0, B -> 1, and C -> 2. + + Case 1. CBA appears in a RTL block: + In this case, clicking on the visual left of CBA puts the caret naturally at Position("CBA", 2). + Clicking on the visual right of CBA puts the caret at Position("CBA", 0) as expected. + Case 2. CBA appears in a LTR block: + Because the containing block flows from left to right, by convention, Position("CBA", 2") corresponds + to the visual right of CBA, and Position("CBA", 0) corresponds to the visual left of CBA. + Therefore, clicking on the visual left of CBA should put the caret at Position("CBA", 0), + and clicking on the visual right should put it at Position("CBA", 2). + + The bug was caused by WebKit's not considering case 2. The same bug also exist for LTR text in a RTL block. + Fixed the bug by taking care of the case 2 in InlineTextBox::offsetForPosition. + + Tests: editing/selection/caret-ltr-2-left.html + editing/selection/caret-ltr-2.html + editing/selection/caret-ltr-right.html + editing/selection/caret-ltr.html + editing/selection/caret-rtl-2-left.html + editing/selection/caret-rtl-right.html + + * rendering/InlineTextBox.cpp: + (WebCore::InlineTextBox::offsetForPosition): + +2010-12-08 Anders Carlsson <andersca@apple.com> + + Reviewed by Darin Adler. + + Fix some clang++ warnings (one of which was an actual bug) + https://bugs.webkit.org/show_bug.cgi?id=50700 + + * page/mac/DragControllerMac.mm: + (WebCore::DragController::dragOperation): + Add parentheses to silent a clang warning. + + * page/mac/EventHandlerMac.mm: + (WebCore::EventHandler::needsKeyboardEventDisambiguationQuirks): + Fix || vs && precedence bug uncovered by clang. + + * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: + (WebCore::GraphicsContext3D::reshape): + Use an early return to avoid a warning. + +2010-12-08 Chris Marrin <cmarrin@apple.com> + + Reviewed by Simon Fraser. + + Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations + https://bugs.webkit.org/show_bug.cgi?id=49388 + + Added copy constructors and casting operators to go between + TransformationMatrix and CATransform3D. Also added a copy + constructor to go from CGAffineTransform to TransformationMatrix. + Used these new methods to clean up platform CA code. This will + make it easier to port to Windows. + + I also fixed a couple of build issues found when trying out a + Windows build. + + This is a resubmission of changesets r73477 and r73483 with a + fix for the SL build. The failure was because TransformationMatrix + included QuartzCore/CATransform3D.h which brought in some system + libraries, including Quickdraw, which has a definition for + 'Cursor' which clashed with WebCore's 'Cursor' class. So I had + to qualify its use in WebChromeClient.cpp in WebKit2. + + * WebCore.xcodeproj/project.pbxproj: + * platform/graphics/ca/GraphicsLayerCA.cpp: + (WebCore::GraphicsLayerCA::updateContentsTransform): + (WebCore::GraphicsLayerCA::ensureCloneLayers): + (WebCore::GraphicsLayerCA::fetchCloneLayers): + * platform/graphics/ca/TransformationMatrixCA.cpp: Copied from WebCore/platform/graphics/ca/TransformationMatrixCA.cpp. + * platform/graphics/ca/mac/PlatformCAAnimationMac.mm: + (PlatformCAAnimation::setFromValue): + (PlatformCAAnimation::setToValue): + (PlatformCAAnimation::setValues): + * platform/graphics/ca/mac/PlatformCALayerMac.mm: + (PlatformCALayer::transform): + (PlatformCALayer::setTransform): + (PlatformCALayer::sublayerTransform): + (PlatformCALayer::setSublayerTransform): + (PlatformCALayer::contentsTransform): + (PlatformCALayer::setContentsTransform): + * platform/graphics/cg/TransformationMatrixCG.cpp: + (WebCore::TransformationMatrix::TransformationMatrix): + * platform/graphics/transforms/TransformationMatrix.h: + +2010-12-07 Brian Weinstein <bweinstein@apple.com> + + Reviewed by John Sullivan. + + Layering Violation in ContextMenu - member variable of type HitTestResult + https://bugs.webkit.org/show_bug.cgi?id=50586 + + ContextMenu had a layering violation by having a member variable of type HitTestResult, because + classes in WebCore/platform can't know about classes in WebCore. + + This patch moves the HitTestResult and all functions that use it out of ContextMenu into ContextMenuController. + All of the functions that dealt with populating the ContextMenu are now in ContextMenuController, and this + allowed us to delete the ContextMenu file, putting all of the cross-platform code that used to be it + in ContextMenuController, and the rest of the code is in the platform-specific files. + + No change in behavior, no new tests. + + * Android.mk: Removed ContextMenu.cpp. + * CMakeLists.txt: Ditto. + * GNUmakefile.am: Ditto. + * WebCore.gypi: Ditto. + * WebCore.pro: Ditto. + * WebCore.vcproj/WebCore.vcproj: Ditto. + * WebCore.xcodeproj/project.pbxproj: Ditto. + + * page/ContextMenuController.cpp: + (WebCore::ContextMenuController::ContextMenuController): Initialized m_hitTestResult to an empty HitTestResult. + (WebCore::ContextMenuController::handleContextMenuEvent): Call populate on the ContextMenuController instead + of the ContextMenu. + (WebCore::ContextMenuController::createContextMenu): Fix some indination, and store the HitTestResult in a member + variable. + (WebCore::ContextMenuController::showContextMenu): Call addInspectElementItem on the ContextMenuController. + (WebCore::ContextMenuController::contextMenuItemSelected): Use m_hitTestResult whenever we need a HitTestResult. + (WebCore::ContextMenuController::appendItem): Validates the item for its state, and then appends it to the parent menu. + This allowed us to move checkOrEnableIfNeeded from ContextMenu. + + These functions were all moved from ContextMenu, and changed slightly to fit in ContextMenuController. + All calls to ContextMenu::appendItem were changed to ContextMenuController::appendItem, which takes care + of validating the menu. + (WebCore::separatorItem): Moved from ContextMenu. + (WebCore::ContextMenuController::createAndAppendFontSubMenu): Ditto. + (WebCore::ContextMenuController::createAndAppendSpellingAndGrammarSubMenu): Ditto. + (WebCore::ContextMenuController::createAndAppendSpeechSubMenu): Ditto. + (WebCore::ContextMenuController::createAndAppendWritingDirectionSubMenu): Ditto. + (WebCore::ContextMenuController::createAndAppendTextDirectionSubMenu): Ditto. + (WebCore::ContextMenuController::createAndAppendSubstitutionsSubMenu): Ditto. + (WebCore::ContextMenuController::createAndAppendTransformationsSubMenu): Ditto. + (WebCore::selectionContainsPossibleWord): Ditto. + (WebCore::ContextMenuController::populate): Ditto. + (WebCore::ContextMenuController::addInspectElementItem): Ditto. + (WebCore::ContextMenuController::checkOrEnableIfNeeded): Ditto. + + * page/ContextMenuController.h: + (WebCore::ContextMenuController::hitTestResult): Returns the HitTestResult of the current ContextMenu. + + * platform/ContextMenu.cpp: Removed. + * platform/ContextMenu.h: + * platform/efl/ContextMenuEfl.cpp: + (WebCore::ContextMenu::ContextMenu): Removed m_hitTestResult from the constructor. + (WebCore::ContextMenu::appendItem): Removed the call to checkOrEnableIfNeeded. + * platform/gtk/ContextMenuGtk.cpp: + (WebCore::ContextMenu::ContextMenu): Removed m_hitTestResult from the constructor. + (WebCore::ContextMenu::appendItem): Ditto. + * platform/haiku/ContextMenuHaiku.cpp: + (WebCore::ContextMenu::ContextMenu): Removed m_hitTestResult from the constructor. + (WebCore::ContextMenu::appendItem): Ditto. + (WebCore::ContextMenu::insertItem): Ditto. + * platform/mac/ContextMenuMac.mm: + (-[WebCoreMenuTarget validateMenuItem:]): Calls checkOrEnableIfNeeded on the controller instead of + the context menu. + (WebCore::ContextMenu::ContextMenu): Removed m_hitTestResult from the constructor. + (WebCore::ContextMenu::appendItem): Removed the call to checkOrEnableIfNeeded. + (WebCore::ContextMenu::insertItem): Ditto. + * platform/win/ContextMenuWin.cpp: + (WebCore::ContextMenu::ContextMenu): Removed m_hitTestResult from the constructor. + (WebCore::ContextMenu::insertItem): Removed the call to checkOrEnableIfNeeded. + * platform/wx/ContextMenuWx.cpp: + (WebCore::ContextMenu::ContextMenu): Removed m_hitTestResult from the constructor. + (ContextMenu::appendItem): Ditto. + +2010-12-08 Martin Robinson <mrobinson@igalia.com> + + Reviewed by John Sullivan. + + [GTK] Layering violation in ContextMenuGtk.cpp + https://bugs.webkit.org/show_bug.cgi?id=50676 + + ContextMenuGtk accesses the page's ContextMenuController, which is a layering + violation. This was fixed for Mac with change r73469. We make a similar fix here + by moving the "activated" signal connection to the WebKit layer. + + * platform/gtk/ContextMenuGtk.cpp: + (WebCore::ContextMenu::appendItem): Remove access of ContextMenuController. This + is a layering violation. + +2010-12-08 Jessie Berlin <jberlin@apple.com> + + Reviewed by Adam Roben. + + WebKit2: Implement WebChromeClient::exceededDatabaseQuota + https://bugs.webkit.org/show_bug.cgi?id=50656 + + * WebCore.exp.in: + Export the symbol for SecurityOrigin::databaseIdentifier. + +2010-12-08 Csaba Osztrogonác <ossy@webkit.org> + + Unreviewed, rolling out r73521. + http://trac.webkit.org/changeset/73521 + https://bugs.webkit.org/show_bug.cgi?id=50640 + + It broke 90 layout tests + + * bindings/js/JSDOMBinding.cpp: + (WebCore::printErrorMessageForFrame): + * bindings/js/JSDOMWindowBase.cpp: + (WebCore::JSDOMWindowBase::crossDomainAccessErrorMessage): + * bindings/js/JSDOMWindowCustom.cpp: + (WebCore::JSDOMWindow::setLocation): + * page/DOMWindow.cpp: + * page/DOMWindow.h: + +2010-12-08 David Hyatt <hyatt@apple.com> + + Reviewed by Anders Carlsson. + + https://bugs.webkit.org/show_bug.cgi?id=50576 + + REGRESSION in position of autocomplete popup on RTL page. + + RTL static position computation did not subtract out the width of the enclosing box if the + immediate parent was a RenderInline. This bug was exposed by properly changing the RenderView + to be RTL when the document was RTL. + + Added three new tests in fast/block/positioning. + + * rendering/RenderBox.cpp: + (WebCore::RenderBox::computePositionedLogicalWidth): + +2010-12-08 Xiaomei Ji <xji@chromium.org> + + Reviewed by David Hyatt. + + Fix backward mouse wheeling not working when scroll position is below 0. + https://bugs.webkit.org/show_bug.cgi?id=50370 + + Tests: fast/events/wheelevent-in-horizontal-scrollbar-in-rtl.html + fast/events/wheelevent-in-vertical-scrollbar-in-rtl.html + + * platform/ScrollView.cpp: + (WebCore::ScrollView::wheelEvent): + +2010-12-08 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dan Bernstein. + + Fix pauseAnimation API to work with shorthand properties + https://bugs.webkit.org/show_bug.cgi?id=50639 + + The pause API is always called with a long-hand property, but that + property may be animating via a shorthand. Detect this, and pause + such shorthand animations. + + * page/animation/AnimationBase.cpp: + (WebCore::ShorthandPropertyWrapper::propertyWrappers): Expose the vector + of wrappers used by a shorthand wrapper. + + (WebCore::gatherEnclosingShorthandProperties): Utility function that walks + through the shorthand wrappers, keeping track of which can affect the given + property. + (WebCore::AnimationBase::animatableShorthandsAffectingProperty): Return a set + of shorthand properties that can affect the given property. + + * page/animation/AnimationBase.h: New method. + * page/animation/CompositeAnimation.cpp: + (WebCore::CompositeAnimation::pauseTransitionAtTime): If we don't find the + property itself, check whether it's being animated via shorthands. + +2010-12-08 David Hyatt <hyatt@apple.com> + + Reviewed by Beth Dakin. + + <rdar://problem/8740920> Gestures: Frame::scalePage() broken by r73885 + + Make sure the transform applied to the RenderView for page scaling is incorporated into the + docTop/Bottom/Left/Right accessors. + + * rendering/RenderView.cpp: + (WebCore::RenderView::docTop): + (WebCore::RenderView::docBottom): + (WebCore::RenderView::docLeft): + (WebCore::RenderView::docRight): + +2010-12-08 Ilya Tikhonovsky <loislo@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: Protocol cleanup task. Remove WebInspector wrappers + for TimelineAgent functions. + + https://bugs.webkit.org/show_bug.cgi?id=50690 + + * inspector/Inspector.idl: + * inspector/front-end/TimelineAgent.js: + * inspector/front-end/TimelinePanel.js: + (WebInspector.TimelinePanel): + (WebInspector.TimelinePanel.prototype.timelineProfilerWasStarted): + (WebInspector.TimelinePanel.prototype.timelineProfilerWasStopped): + +2010-12-08 Philippe Normand <pnormand@igalia.com> + + Reviewed by Gustavo Noronha Silva. + + [GTK] media/fullscreen* failing on 64-bits Debug + https://bugs.webkit.org/show_bug.cgi?id=50394 + + Avoid emiting durationchanged in the case where the previous + duration was 0 because that case is already handled by the + HTMLMediaElement. + + Test: media/media-fullscreen*.html + + * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: + (WebCore::MediaPlayerPrivateGStreamer::durationChanged): + +2010-12-07 Darin Adler <darin@apple.com> + + Reviewed by Geoffrey Garen. + + Move DOMWindow::setLocation logic into DOMWindow class and out of JavaScript binding + https://bugs.webkit.org/show_bug.cgi?id=50640 + + * bindings/js/JSDOMBinding.cpp: + (WebCore::printErrorMessageForFrame): Removed body; just call through to + DOMWindow::printErrorMessage. + + * bindings/js/JSDOMWindowBase.cpp: + (WebCore::JSDOMWindowBase::crossDomainAccessErrorMessage): Removed body; + just call through to DOMWindow::crossDomainAccessErrorMessage. + + * bindings/js/JSDOMWindowCustom.cpp: + (WebCore::JSDOMWindow::setLocation): Changed terminology to use activeFrame and + firstFrame, rather than the older lexicalFrame and dynamicFrame. Removed most + of the body and moved it into DOMWindow::setLocation. + + * page/DOMWindow.cpp: + (WebCore::DOMWindow::setLocation): Added. Does all the same work that + JSDOMWindow::setLocation used to do, but in a way that's not specific + to JavaScript. + (WebCore::DOMWindow::printErrorMessage): Added. + (WebCore::DOMWindow::crossDomainAccessErrorMessage): Added. + + * page/DOMWindow.h: Added setLocation, printErrorMessage, and + crossDomainAccessErrorMessage. + +2010-12-08 Alejandro G. Castro <alex@igalia.com> + + Unreviewed, rolling out r73494. + http://trac.webkit.org/changeset/73494 + https://bugs.webkit.org/show_bug.cgi?id=50380 + + The tests added are crashing in the debug bots (macn and gtk) + + * html/HTMLSelectElement.cpp: + (WebCore::HTMLSelectElement::deselectItems): + (WebCore::HTMLSelectElement::setSelectedIndex): + (WebCore::HTMLSelectElement::setSelectedIndexByUser): + (WebCore::HTMLSelectElement::listBoxSelectItem): + (WebCore::HTMLSelectElement::add): + (WebCore::HTMLSelectElement::remove): + (WebCore::HTMLSelectElement::restoreFormControlState): + (WebCore::HTMLSelectElement::parseMappedAttribute): + (WebCore::HTMLSelectElement::selectAll): + (WebCore::HTMLSelectElement::reset): + (WebCore::HTMLSelectElement::updateListBoxSelection): + (WebCore::HTMLSelectElement::setLength): + * html/HTMLSelectElement.h: + (WebCore::HTMLSelectElement::isOptionalFormControl): + * html/HTMLSelectElement.idl: + * html/ValidityState.cpp: + (WebCore::ValidityState::valueMissing): + +2010-12-07 Ilya Tikhonovsky <loislo@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: Inspector protocol cleanup task. Remove + WebInspector wrappers for DOMAgent functions. + + There were a lot of wrappers in WebInspector namespace + for different WebInspector agents functions. As far as we have a + generic mechanic for such functions we can remove these + wrappers and register domAgent instance as a handler for + DOM domain notifications. + + https://bugs.webkit.org/show_bug.cgi?id=50626 + + * inspector/Inspector.idl: + * inspector/front-end/DOMAgent.js: + (WebInspector.DOMNode): + (WebInspector.DOMAgent): + (WebInspector.DOMAgent.prototype.attributesUpdated): + (WebInspector.DOMAgent.prototype.characterDataModified): + (WebInspector.DOMAgent.prototype.setDocument): + (WebInspector.DOMAgent.prototype.setDetachedRoot): + (WebInspector.DOMAgent.prototype.setChildNodes): + (WebInspector.DOMAgent.prototype.childNodeCountUpdated): + (WebInspector.DOMAgent.prototype.childNodeInserted): + (WebInspector.DOMAgent.prototype.childNodeRemoved): + (WebInspector.EventListeners.getEventListenersForNodeAsync): + * inspector/front-end/inspector.js: + (WebInspector.didCommitLoad): + +2010-12-08 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: remove groupLevel counter from console messages + https://bugs.webkit.org/show_bug.cgi?id=50672 + + * inspector/ConsoleMessage.cpp: + (WebCore::ConsoleMessage::ConsoleMessage): + (WebCore::ConsoleMessage::addToFrontend): + (WebCore::ConsoleMessage::isEqual): + * inspector/ConsoleMessage.h: + * inspector/InspectorController.cpp: + (WebCore::InspectorController::InspectorController): + (WebCore::InspectorController::addMessageToConsole): + (WebCore::InspectorController::clearConsoleMessages): + (WebCore::InspectorController::startGroup): + (WebCore::InspectorController::endGroup): + * inspector/InspectorController.h: + * inspector/front-end/ConsoleView.js: + (WebInspector.ConsoleView.createFilterElement): + (WebInspector.ConsoleView): + (WebInspector.ConsoleView.prototype.filter): + (WebInspector.ConsoleView.prototype.afterShow): + (WebInspector.ConsoleView.prototype.addMessage): + (WebInspector.ConsoleView.prototype.updateMessageRepeatCount): + (WebInspector.ConsoleView.prototype.clearMessages): + (WebInspector.ConsoleMessage): + (WebInspector.ConsoleMessage.createTextMessage): + (WebInspector.ConsoleMessage.prototype.toMessageElement): + (WebInspector.ConsoleMessage.prototype._addMessageHeader): + (WebInspector.ConsoleMessage.prototype._updateRepeatCount): + (WebInspector.ConsoleMessage.prototype.toString): + (WebInspector.ConsoleMessage.prototype.isEqual): + (WebInspector.ConsoleGroup): + * inspector/front-end/Resource.js: + (WebInspector.Resource.prototype._checkWarning): + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrame.prototype._addMessageToSource): + * inspector/front-end/inspector.js: + (WebInspector.addConsoleMessage): + (WebInspector.log.logMessage): + (WebInspector.log): + +2010-12-07 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: introduce DebuggerModel class representing InspectorDebuggerAgent state. + https://bugs.webkit.org/show_bug.cgi?id=50567 + + Moved debugging-related code from BreakpointManager to DebuggerModel. Moved Breakpoint class to a separate file. + + * English.lproj/localizedStrings.js: + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * inspector/front-end/Breakpoint.js: Added. + (WebInspector.Breakpoint): Moved from BreakpointManager.js. + * inspector/front-end/BreakpointManager.js: + (WebInspector.BreakpointManager): Remove debugger-related methods. + * inspector/front-end/CallStackSidebarPane.js: + (WebInspector.CallStackSidebarPane): + (WebInspector.CallStackSidebarPane.prototype._nativeBreakpointHit): + (WebInspector.CallStackSidebarPane.prototype._scriptBreakpointHit): + * inspector/front-end/DebuggerModel.js: Added. + (WebInspector.DebuggerModel): Moved debugger-related methods from BreakpointManager. + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel): + (WebInspector.ScriptsPanel.prototype.continueToLine): + (WebInspector.ScriptsPanel.prototype.editScriptSource.mycallback): + (WebInspector.ScriptsPanel.prototype.editScriptSource): + (WebInspector.ScriptsPanel.prototype._debuggerPaused): + (WebInspector.ScriptsPanel.prototype._debuggerResumed): + (WebInspector.ScriptsPanel.prototype.reset): + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrame.prototype._createViewerIfNeeded): + (WebInspector.SourceFrameDelegate.prototype.addBreakpoint): + (WebInspector.SourceFrameDelegate.prototype.breakpoints): + (WebInspector.SourceFrameDelegate.prototype.findBreakpoint): + * inspector/front-end/WebKit.qrc: + * inspector/front-end/inspector.html: + * inspector/front-end/inspector.js: + (WebInspector.createJSBreakpointsSidebarPane): + (WebInspector.restoredBreakpoint): + (WebInspector.pausedScript): + (WebInspector.resumedScript): + (WebInspector.reset): + +2010-12-08 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: SourceFrame refactoring. + https://bugs.webkit.org/show_bug.cgi?id=50223 + + SourceFrame should ask BreakpointManager about existing breakpoints instead of maintaining + it's own storages. Move common code from ScriptView and SourceView to SourceFrame. + + * inspector/front-end/BreakpointManager.js: + (WebInspector.BreakpointManager.prototype.findBreakpoints): + (WebInspector.BreakpointManager.prototype.findBreakpoint): + * inspector/front-end/Script.js: + (WebInspector.Script): + (WebInspector.Script.prototype.get linesCount): + (WebInspector.Script.prototype.get source): + (WebInspector.Script.prototype.set source): + * inspector/front-end/ScriptView.js: + (WebInspector.ScriptView): + (WebInspector.ScriptView.prototype._scriptSourceChanged): + (WebInspector.ScriptFrameDelegateImpl): + (WebInspector.ScriptFrameDelegateImpl.prototype.canEditScripts): + (WebInspector.ScriptFrameDelegateImpl.prototype.editLineComplete): + (WebInspector.ScriptFrameDelegateImpl.prototype.scripts): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel): + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrame): Add common methods of ScriptView and SourceView. + (WebInspector.SourceFrameDelegate): + (WebInspector.SourceFrameDelegate.prototype.canEditScripts): + (WebInspector.SourceFrameDelegate.prototype.editLineComplete): + (WebInspector.SourceFrameDelegate.prototype.scripts): + * inspector/front-end/SourceView.js: + (WebInspector.SourceView): + (WebInspector.SourceView.prototype._contentLoaded): + (WebInspector.ResourceFrameDelegateImpl): + (WebInspector.ResourceFrameDelegateImpl.prototype.canEditScripts): + (WebInspector.ResourceFrameDelegateImpl.prototype.editLineComplete): + (WebInspector.ResourceFrameDelegateImpl.prototype.scripts): + +2010-12-08 Yuta Kitamura <yutak@chromium.org> + + Unreviewed, rolling out r73492. + http://trac.webkit.org/changeset/73492 + https://bugs.webkit.org/show_bug.cgi?id=49914 + + Caused a lot of pixel test failures and broke Windows build. + + * WebCore.xcodeproj/project.pbxproj: + * platform/graphics/GraphicsContext.cpp: + (WebCore::GraphicsContext::createGraphicsContextPrivate): + (WebCore::GraphicsContext::destroyGraphicsContextPrivate): + (WebCore::GraphicsContext::save): + (WebCore::GraphicsContext::restore): + (WebCore::GraphicsContext::setStrokeThickness): + (WebCore::GraphicsContext::setStrokeStyle): + (WebCore::GraphicsContext::setStrokeColor): + (WebCore::GraphicsContext::setShadow): + (WebCore::GraphicsContext::clearShadow): + (WebCore::GraphicsContext::getShadow): + (WebCore::GraphicsContext::strokeThickness): + (WebCore::GraphicsContext::strokeStyle): + (WebCore::GraphicsContext::strokeColor): + (WebCore::GraphicsContext::strokeColorSpace): + (WebCore::GraphicsContext::fillRule): + (WebCore::GraphicsContext::setFillRule): + (WebCore::GraphicsContext::setFillColor): + (WebCore::GraphicsContext::fillColor): + (WebCore::GraphicsContext::fillColorSpace): + (WebCore::GraphicsContext::setShouldAntialias): + (WebCore::GraphicsContext::shouldAntialias): + (WebCore::GraphicsContext::setStrokePattern): + (WebCore::GraphicsContext::setFillPattern): + (WebCore::GraphicsContext::setStrokeGradient): + (WebCore::GraphicsContext::setFillGradient): + (WebCore::GraphicsContext::fillGradient): + (WebCore::GraphicsContext::strokeGradient): + (WebCore::GraphicsContext::fillPattern): + (WebCore::GraphicsContext::strokePattern): + (WebCore::GraphicsContext::setShadowsIgnoreTransforms): + (WebCore::GraphicsContext::updatingControlTints): + (WebCore::GraphicsContext::setUpdatingControlTints): + (WebCore::GraphicsContext::setPaintingDisabled): + (WebCore::GraphicsContext::paintingDisabled): + (WebCore::GraphicsContext::textDrawingMode): + (WebCore::GraphicsContext::setTextDrawingMode): + * platform/graphics/GraphicsContext.h: + * platform/graphics/GraphicsContextPrivate.h: Added. + (WebCore::GraphicsContextState::GraphicsContextState): + (WebCore::GraphicsContextPrivate::GraphicsContextPrivate): + * platform/graphics/cairo/GraphicsContextCairo.cpp: + (WebCore::setPlatformFill): + (WebCore::setPlatformStroke): + (WebCore::drawPathShadow): + (WebCore::fillCurrentCairoPath): + (WebCore::strokeCurrentCairoPath): + (WebCore::GraphicsContext::GraphicsContext): + (WebCore::GraphicsContext::~GraphicsContext): + (WebCore::GraphicsContext::fillPath): + (WebCore::GraphicsContext::strokePath): + (WebCore::GraphicsContext::fillRect): + (WebCore::GraphicsContext::setPlatformShadow): + (WebCore::GraphicsContext::strokeRect): + (WebCore::GraphicsContext::setAlpha): + (WebCore::GraphicsContext::getAlpha): + * platform/graphics/cg/GraphicsContextCG.cpp: + (WebCore::GraphicsContext::GraphicsContext): + (WebCore::GraphicsContext::~GraphicsContext): + (WebCore::GraphicsContext::applyStrokePattern): + (WebCore::GraphicsContext::applyFillPattern): + (WebCore::GraphicsContext::drawPath): + (WebCore::GraphicsContext::fillPath): + (WebCore::GraphicsContext::strokePath): + (WebCore::GraphicsContext::fillRect): + (WebCore::GraphicsContext::setPlatformShadow): + (WebCore::GraphicsContext::strokeRect): + * platform/graphics/haiku/GraphicsContextHaiku.cpp: + (WebCore::GraphicsContext::GraphicsContext): + (WebCore::GraphicsContext::~GraphicsContext): + * platform/graphics/openvg/GraphicsContextOpenVG.cpp: + (WebCore::GraphicsContext::GraphicsContext): + (WebCore::GraphicsContext::~GraphicsContext): + (WebCore::GraphicsContext::fillPath): + (WebCore::GraphicsContext::strokePath): + (WebCore::GraphicsContext::clip): + (WebCore::GraphicsContext::clipOut): + (WebCore::GraphicsContext::addInnerRoundedRectClip): + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContext::GraphicsContext): + (WebCore::GraphicsContext::~GraphicsContext): + (WebCore::GraphicsContext::fillPath): + (WebCore::GraphicsContext::strokePath): + (WebCore::GraphicsContext::fillRect): + (WebCore::GraphicsContext::setPlatformShadow): + * platform/graphics/skia/GraphicsContextSkia.cpp: + (WebCore::GraphicsContext::GraphicsContext): + (WebCore::GraphicsContext::~GraphicsContext): + (WebCore::GraphicsContext::fillPath): + (WebCore::GraphicsContext::setPlatformShadow): + * platform/graphics/win/GraphicsContextCGWin.cpp: + (WebCore::GraphicsContext::GraphicsContext): + * platform/graphics/win/GraphicsContextCairoWin.cpp: + (WebCore::GraphicsContext::GraphicsContext): + * platform/graphics/wince/GraphicsContextWinCE.cpp: + (WebCore::GraphicsContext::GraphicsContext): + (WebCore::GraphicsContext::~GraphicsContext): + (WebCore::GraphicsContext::fillPath): + (WebCore::GraphicsContext::fillRect): + * platform/graphics/wx/GraphicsContextWx.cpp: + (WebCore::GraphicsContext::GraphicsContext): + (WebCore::GraphicsContext::~GraphicsContext): + +2010-12-08 Dai Mikurube <dmikurube@google.com> + + Reviewed by Kent Tamura. + + Implement "required" attribute for select tags + https://bugs.webkit.org/show_bug.cgi?id=50380 + + Test: fast/forms/select-live-pseudo-selectors.html + platform/mac/fast/objc/dom-html-select-live-pseudo-selectors.html + + * html/HTMLSelectElement.cpp: + (WebCore::HTMLSelectElement::deselectItems): Added calling setNeedsValidityCheck() to enable validity check after changing. No tests for this change since this function is not exposed to JavaScript or any web interface. + (WebCore::HTMLSelectElement::setSelectedIndex): Added calling setNeedsValidityCheck(). + (WebCore::HTMLSelectElement::setSelectedIndexByUser): Added calling setNeedsValidityCheck(). + (WebCore::HTMLSelectElement::valueMissing): Added valueMissing() to check if selecting an invalid or placeholder label option when a valid required attribute is specified. + (WebCore::HTMLSelectElement::listBoxSelectItem): Added calling setNeedsValidityCheck(). No tests for this change since it is not called yet. Look at the bug 36177 and the changeset 56180. + (WebCore::HTMLSelectElement::add): Added calling setNeedsValidityCheck(). + (WebCore::HTMLSelectElement::remove): Added calling setNeedsValidityCheck(). + (WebCore::HTMLSelectElement::restoreFormControlState): Added calling setNeedsValidityCheck(). + (WebCore::HTMLSelectElement::parseMappedAttribute): Added calling setNeedsValidityCheck(). + (WebCore::HTMLSelectElement::selectAll): Added calling setNeedsValidityCheck(). + (WebCore::HTMLSelectElement::reset): Added calling setNeedsValidityCheck(). + (WebCore::HTMLSelectElement::updateListBoxSelection): Added calling setNeedsValidityCheck(). Skipped adding tests for this change as too complicated.. + (WebCore::HTMLSelectElement::setLength): Added calling setNeedsValidityCheck(). + (WebCore::HTMLSelectElement::isRequiredFormControl): Check if required or not. + (WebCore::HTMLSelectElement::hasPlaceholderLabelOption): Added. + * html/HTMLSelectElement.h: + (WebCore::HTMLSelectElement::isOptionalFormControl): Check if not required. + * html/HTMLSelectElement.idl: Added a required attribute to select elements.. + * html/ValidityState.cpp: + (WebCore::ValidityState::valueMissing): Added valueMissing check for select elements into the global checker, ValidityState::valueMissing(). + +2010-12-08 Renata Hodovan <reni@webkit.org> + + Reviewed by Andreas Kling. + + GraphicsContext: Merge m_common and m_data + https://bugs.webkit.org/show_bug.cgi?id=49914 + + Move data members from GraphicsContextPrivate into GraphicsContext. So GraphicsContextPlatform.h + and m_common became unnecessary. They are removed. + Add two methods to GraphicsContext: platformInit() and platformDestroy(), which + make the constructor of GraphicsContext clearer. + Besides add a getter to the private GraphicsContext::m_state member, because some inline + functions in cairo need it. + + No new test is needed, because this is a refactoring. + + * WebCore.xcodeproj/project.pbxproj: + * platform/graphics/GraphicsContext.cpp: + (WebCore::GraphicsContext::GraphicsContext): + (WebCore::GraphicsContext::~GraphicsContext): + (WebCore::GraphicsContext::save): + (WebCore::GraphicsContext::restore): + (WebCore::GraphicsContext::setStrokeThickness): + (WebCore::GraphicsContext::setStrokeStyle): + (WebCore::GraphicsContext::setStrokeColor): + (WebCore::GraphicsContext::setShadow): + (WebCore::GraphicsContext::clearShadow): + (WebCore::GraphicsContext::getShadow): + (WebCore::GraphicsContext::strokeThickness): + (WebCore::GraphicsContext::strokeStyle): + (WebCore::GraphicsContext::strokeColor): + (WebCore::GraphicsContext::strokeColorSpace): + (WebCore::GraphicsContext::fillRule): + (WebCore::GraphicsContext::setFillRule): + (WebCore::GraphicsContext::setFillColor): + (WebCore::GraphicsContext::fillColor): + (WebCore::GraphicsContext::fillColorSpace): + (WebCore::GraphicsContext::setShouldAntialias): + (WebCore::GraphicsContext::shouldAntialias): + (WebCore::GraphicsContext::state): + (WebCore::GraphicsContext::setStrokePattern): + (WebCore::GraphicsContext::setFillPattern): + (WebCore::GraphicsContext::setStrokeGradient): + (WebCore::GraphicsContext::setFillGradient): + (WebCore::GraphicsContext::fillGradient): + (WebCore::GraphicsContext::strokeGradient): + (WebCore::GraphicsContext::fillPattern): + (WebCore::GraphicsContext::strokePattern): + (WebCore::GraphicsContext::setShadowsIgnoreTransforms): + (WebCore::GraphicsContext::updatingControlTints): + (WebCore::GraphicsContext::setUpdatingControlTints): + (WebCore::GraphicsContext::setPaintingDisabled): + (WebCore::GraphicsContext::paintingDisabled): + (WebCore::GraphicsContext::textDrawingMode): + (WebCore::GraphicsContext::setTextDrawingMode): + * platform/graphics/GraphicsContext.h: + (WebCore::GraphicsContextState::GraphicsContextState): + * platform/graphics/GraphicsContextPrivate.h: Removed. + * platform/graphics/cairo/GraphicsContextCairo.cpp: + (WebCore::setPlatformFill): + (WebCore::setPlatformStroke): + (WebCore::drawPathShadow): + (WebCore::fillCurrentCairoPath): + (WebCore::strokeCurrentCairoPath): + (WebCore::GraphicsContext::platformInit): + (WebCore::GraphicsContext::platformDestroy): + (WebCore::GraphicsContext::fillPath): + (WebCore::GraphicsContext::strokePath): + (WebCore::GraphicsContext::fillRect): + (WebCore::GraphicsContext::setPlatformShadow): + (WebCore::GraphicsContext::strokeRect): + (WebCore::GraphicsContext::setAlpha): + (WebCore::GraphicsContext::getAlpha): + * platform/graphics/cg/GraphicsContextCG.cpp: + (WebCore::GraphicsContext::platformInit): + (WebCore::GraphicsContext::platformDestroy): + (WebCore::GraphicsContext::applyStrokePattern): + (WebCore::GraphicsContext::applyFillPattern): + (WebCore::GraphicsContext::drawPath): + (WebCore::GraphicsContext::fillPath): + (WebCore::GraphicsContext::strokePath): + (WebCore::GraphicsContext::fillRect): + (WebCore::GraphicsContext::setPlatformShadow): + (WebCore::GraphicsContext::strokeRect): + * platform/graphics/haiku/GraphicsContextHaiku.cpp: + (WebCore::GraphicsContext::platformInit): + (WebCore::GraphicsContext::platformDestroy): + * platform/graphics/openvg/GraphicsContextOpenVG.cpp: + (WebCore::GraphicsContext::platformInit): + (WebCore::GraphicsContext::platformDestroy): + (WebCore::GraphicsContext::fillPath): + (WebCore::GraphicsContext::strokePath): + (WebCore::GraphicsContext::clip): + (WebCore::GraphicsContext::clipOut): + (WebCore::GraphicsContext::addInnerRoundedRectClip): + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContext::platformInit): + (WebCore::GraphicsContext::platformDestroy): + (WebCore::GraphicsContext::fillPath): + (WebCore::GraphicsContext::strokePath): + (WebCore::GraphicsContext::fillRect): + (WebCore::GraphicsContext::setPlatformShadow): + * platform/graphics/skia/GraphicsContextSkia.cpp: + (WebCore::GraphicsContext::platformInit): + (WebCore::GraphicsContext::platformDestroy): + (WebCore::GraphicsContext::fillPath): + (WebCore::GraphicsContext::setPlatformShadow): + * platform/graphics/win/GraphicsContextCGWin.cpp: + (WebCore::GraphicsContext::platformInit): + * platform/graphics/win/GraphicsContextCairoWin.cpp: + (WebCore::GraphicsContext::platformInit): + * platform/graphics/wince/GraphicsContextWinCE.cpp: + (WebCore::GraphicsContext::platformInit): + (WebCore::GraphicsContext::platformDestroy): + (WebCore::GraphicsContext::fillPath): + (WebCore::GraphicsContext::fillRect): + * platform/graphics/wx/GraphicsContextWx.cpp: + (WebCore::GraphicsContext::platformInit): + (WebCore::GraphicsContext::platformDestroy): + +2010-12-07 Anton Muhin <antonm@chromium.org> + + Reviewed by Nate Chapin. + + Port http://trac.webkit.org/changeset/72819/ to v8-backed ports. + https://bugs.webkit.org/show_bug.cgi?id=50246 + + * bindings/v8/V8DOMMap.h: + (WebCore::AbstractWeakReferenceMap::Visitor::startMap): + (WebCore::AbstractWeakReferenceMap::Visitor::endMap): + (WebCore::WeakReferenceMap::visit): + * bindings/v8/V8GCController.cpp: + (WebCore::GrouperItem::GrouperItem): + (WebCore::GrouperItem::groupId): + (WebCore::makeV8ObjectGroups): + (WebCore::NodeGrouperVisitor::NodeGrouperVisitor): + (WebCore::NodeGrouperVisitor::visitDOMWrapper): + (WebCore::NodeGrouperVisitor::applyGrouping): + (WebCore::DOMObjectGrouperVisitor::ObjectGrouperVisitor): + (WebCore::DOMObjectGrouperVisitor::startMap): + (WebCore::DOMObjectGrouperVisitor::endMap): + (WebCore::DOMObjectGrouperVisitor::visitDOMWrapper): + (WebCore::V8GCController::gcPrologue): + +2010-12-07 Daniel Bates <dbates@rim.com> + + Reviewed by Martin Robinson. + + Implement focus ring support for image maps + https://bugs.webkit.org/show_bug.cgi?id=50371 + + Implement GraphicsContext::drawFocusRing(const Path&, ...) so as to support + drawing a focus ring for image maps. + + Tests: fast/images/imagemap-circle-focus-ring.html + fast/images/imagemap-polygon-focus-ring.html + + * platform/graphics/cairo/GraphicsContextCairo.cpp: + (WebCore::adjustFocusRingColor): Added. + (WebCore::adjustFocusRingLineWidth): Added. + (WebCore::focusRingStrokeStyle): Added. + (WebCore::GraphicsContext::drawFocusRing): Moved code for determining focus ring- color, + line width and stroke style into functions adjustFocusRingColor(), adjustFocusRingLineWidth(), + and focusRingStrokeStyle(), respectively. Implemented GraphicsContext::drawFocusRing(const Path&, ...). + +2010-12-07 Sergio Villar Senin <svillar@igalia.com> + + Reviewed by Xan Lopez. + + [GTK] WebKitSoupCache fails to load resources when cache contents are externally removed + https://bugs.webkit.org/show_bug.cgi?id=50577 + + Try to download cached resources again if they are no longer + accesible by the cache. + + * platform/network/soup/cache/soup-request-http.c: + (send_async_cb): + (webkit_soup_request_http_send_async): + +2010-12-06 MORITA Hajime <morrita@google.com> + + Reviewed by Dimitri Glazkov. + + RenderIndicator subclasses should not change the render tree during layout. + https://bugs.webkit.org/show_bug.cgi?id=50026 + + The old code created shadow elements during a layout computation, + that makes the layout state inconsisntent and cause an assertion failure. + This change created shadow elements before the layout to avoid + state inconsistencies. + + Instead of creating shadows on demand, RenderMeter and + RenderProgress now create all necessary shadows before layouts, + and change its visibilities during the layout: Changing + visibilities doesn't trigger relayout and keep the state + consistent. + + RenderMeter uses new HidablePartElement for shadow elements, + which can toggle visibiliby between hidden and original value. + + Test: fast/dom/HTMLMeterElement/meter-element-crash.html + + * html/HTMLMeterElement.cpp: + (WebCore::HTMLMeterElement::attach): Calling updateFromElement() + * html/HTMLMeterElement.h: + * html/HTMLProgressElement.cpp: + (WebCore::HTMLProgressElement::attach): Calling updateFromElement() + * html/HTMLProgressElement.h: + * rendering/RenderIndicator.cpp: + * rendering/RenderIndicator.h: + * rendering/RenderMeter.cpp: + (WebCore::MeterPartElement::MeterPartElement): Added to hold a restorable visibility. + (WebCore::MeterPartElement::createForPart): + (WebCore::MeterPartElement::hide): + (WebCore::MeterPartElement::restoreVisibility): + (WebCore::MeterPartElement::updateStyleForPart): + (WebCore::MeterPartElement::saveVisibility): + (WebCore::RenderMeter::~RenderMeter): + (WebCore::RenderMeter::createPart): Extracted + (WebCore::RenderMeter::updateFromElement): Had a shadow generation. + (WebCore::RenderMeter::layoutParts): Removed shadow generation code. + (WebCore::RenderMeter::shouldHaveParts): + (WebCore::RenderMeter::valuePartRect): Adopted orientation. + (WebCore::RenderMeter::orientation): Morphed from isHorizontal() + (WebCore::RenderMeter::valuePseudoId): Adoptedn orientation + (WebCore::RenderMeter::barPseudoId): Adopted orientation. + * rendering/RenderMeter.h: + (WebCore::RenderMeter::shadowAttached): + * rendering/RenderProgress.cpp: + (WebCore::RenderProgress::updateFromElement): Had a shadow generation. + (WebCore::RenderProgress::layoutParts): + * rendering/RenderProgress.h: + * rendering/ShadowElement.cpp: + (WebCore::ShadowBlockElement::createForPart): Extracted initAsPart(). + (WebCore::ShadowBlockElement::initAsPart): Extracted from createForPart(). + * rendering/ShadowElement.h: + +2010-11-29 Mihai Parparita <mihaip@chromium.org> + + Reviewed by Adam Barth. + + returning to a POST result within a frame does a GET instead of a POST + https://bugs.webkit.org/show_bug.cgi?id=10199 + + FrameLoader::loadURLIntoChildFrame had a check for whether a frame + had a HistoryItem, and if so used that item's URL. However, that did + not handle the case where the HistoryItem had FormData and thus was the + result of a POST request. FrameLoader::navigateToDifferentDocument (now + renamed to loadDifferentDocumentItem) does all that, so just switch to + using it instead. + + Besides the bug fix, the only difference in behavior is that we use the + HistoryItem's URL instead of original URL when restoring it in a child + frame. This seems desirable too (for consistency with other browsers, and + so that we can avoid form double-submits for forms that that do + POST-then-redirect), and is tested by + fast/history/history-back-initial-vs-final-url.html. + + Tests: fast/history/history-back-initial-vs-final-url.html + http/tests/navigation/post-frames-goback1.html + http/tests/navigation/postredirect-frames-goback1.html + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::loadURLIntoChildFrame): Switch to using + loadDifferentDocumentItem. Also cleaned up ordering slightly (if + on the archive path, there's no need to do any of the other checks). + (WebCore::FrameLoader::loadDifferentDocumentItem): Renamed from + navigateToDifferentDocument so that calling it from loadItem and + loadURLIntoChildFrame flows more easily. + (WebCore::FrameLoader::loadSameDocumentItem): Similarly, renamed from + navigateWithinDocument. + (WebCore::FrameLoader::loadItem): Update callsites to the above methods. + * loader/FrameLoader.h: + +2010-12-07 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + Made tables repaint correctly in all writing modes + Part of: Make tables work with vertical text + https://bugs.webkit.org/show_bug.cgi?id=46417 + + Tests: fast/repaint/table-writing-modes-h.html + fast/repaint/table-writing-modes-v.html + + * rendering/RenderTableSection.cpp: + (WebCore::RenderTableSection::paintObject): Compute the ranges of rows and + columns to repaint based on the logical extent of the repaint rect. + +2010-12-07 Alexey Marinichev <amarinichev@chromium.org> + + Reviewed by James Robinson. + + [chromium] compositor lost context recovery fix + https://bugs.webkit.org/show_bug.cgi?id=50614 + + To test, load a page that triggers the compositor, kill the GPU + process and hover over a link to redraw and thus restart the GPU + process. Without this patch it will assert in + ContentLayerChromium::updateTextureRect; with this patch it will not. + + * platform/graphics/chromium/LayerChromium.cpp: + (WebCore::LayerChromium::setNeedsDisplay): + +2010-12-07 Anders Carlsson <andersca@apple.com> + + Fix the last clang++ build error. + + * platform/graphics/ca/mac/PlatformCALayerMac.mm: + (PlatformCALayer::animationForKey): + Cast the returned animation to the correct type. + +2010-12-07 Anders Carlsson <andersca@apple.com> + + Fix some clang++ build errors. + + * platform/graphics/ca/GraphicsLayerCA.cpp: + (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer): + Remove unused variable. + + * platform/graphics/ca/mac/PlatformCAAnimationMac.mm: + * platform/graphics/ca/mac/PlatformCALayerMac.mm: + Fix constness of pointers. + +2010-12-07 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Chris Marrin. + + Fix the Color -> CGColorRef conversions for the debug colors + used for compositing layers. + + * platform/graphics/ca/mac/PlatformCALayerMac.mm: + (PlatformCALayer::setBackgroundColor): + (PlatformCALayer::setBorderColor): + +2010-12-07 Brian Weinstein <bweinstein@apple.com> + + Reviewed by John Sullivan. + + Part of Layering Violation in ContextMenu + https://bugs.webkit.org/show_bug.cgi?id=50586 + + ContextMenuMac.mm had a WebCoreMenuTarget class, which was responsible for wrapping + a ContextMenuItem, and calling through to the ContextMenuController to validate it + and call a function when it was selected. + + It was a layering violation to have this class here, because ContextMenu can't know + about ContextMenuController. + + This patch moves the class that wraps the ContextMenuItems to WebKit/mac/WebHTMLView.mm, + and sets up the menu targets there. + + No change in behavior, no new tests. + + * WebCore.exp.in: Added function that needs to be exported. + * platform/mac/ContextMenuMac.mm: + (WebCore::ContextMenu::ContextMenu): Don't set the sharedMenuTarget anymore. + (WebCore::ContextMenu::appendItem): Don't call setMenuItemTarget (this is done in WebKit now). + (WebCore::ContextMenu::insertItem): Ditto. + +2010-12-07 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dan Bernstein. + + -webkit-transition Fails on Multiple text-shadow Shadows + https://bugs.webkit.org/show_bug.cgi?id=42281 + + When transitioning multiple shadows, the blend function for + ShadowData dropped all but the first and last shadow because + of a failure to append to the end of the list. Fixed. + + Test: transitions/multiple-text-shadow-transition.html + + * page/animation/AnimationBase.cpp: + (WebCore::PropertyWrapperShadow::blend): + +2010-12-07 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Beth Dakin. + + CSS animation doesn't work for border-radius + https://bugs.webkit.org/show_bug.cgi?id=48340 + + Include CSSPropertyBorderRadius in the list of shorthand + properties, so that the individual border-radius properties + get animated. + + Test: transitions/border-radius-transition.html + + * page/animation/AnimationBase.cpp: + (WebCore::addShorthandProperties): + +2010-12-07 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Kent Tamura. + + Implement HTML5 hidden attribute + https://bugs.webkit.org/show_bug.cgi?id=40511 + + Test: fast/html/hidden-attr.html + + * html/HTMLElement.cpp: + (WebCore::HTMLElement::mapToEntry): Pick up hidden as a global mapped attribute. + (WebCore::HTMLElement::parseMappedAttribute): Map hidden attribute to display: none. + +2010-12-07 Kenneth Russell <kbr@google.com> + + Reviewed by David Levin. + + Fix compilation of core web audio files on Windows + https://bugs.webkit.org/show_bug.cgi?id=50603 + + Changed a few constructs using C99 features of math.h to use + wtf/MathExtras.h instead. Changed inline definitions of a couple of + const static doubles in classes to out-of-line. Built Chrome with + web audio enabled on Windows and Mac OS X to test these changes. + + No new tests since audio API is not yet implemented. + + * WebCore.gypi: + * platform/audio/AudioResampler.cpp: + * platform/audio/Biquad.cpp: + (WebCore::Biquad::setLowpassParams): + (WebCore::Biquad::setHighpassParams): + (WebCore::Biquad::setLowShelfParams): + * platform/audio/Cone.cpp: + (WebCore::ConeEffect::gain): + * platform/audio/EqualPowerPanner.cpp: + (WebCore::EqualPowerPanner::pan): + * platform/audio/FFTFrame.cpp: + (WebCore::FFTFrame::interpolateFrequencyComponents): + (WebCore::FFTFrame::extractAverageGroupDelay): + (WebCore::FFTFrame::addConstantGroupDelay): + * platform/audio/HRTFKernel.cpp: + * platform/audio/HRTFPanner.cpp: + * webaudio/AudioBufferSourceNode.cpp: + (WebCore::AudioBufferSourceNode::readFromBufferWithGrainEnvelope): + * webaudio/AudioPannerNode.cpp: + (WebCore::AudioPannerNode::getAzimuthElevation): + * webaudio/AudioParam.cpp: Added. + (AudioParam::setValue): + (AudioParam::smooth): + * webaudio/AudioParam.h: + * webaudio/RealtimeAnalyser.cpp: + +2010-11-25 Philippe Normand <pnormand@igalia.com> + + Reviewed by Martin Robinson. + + [GStreamer] faster elements linking + https://bugs.webkit.org/show_bug.cgi?id=50067 + + Perform less checks during GStreamer elements linking if building + against GStreamer >= 0.10.30. + + * platform/graphics/gstreamer/GStreamerGWorld.cpp: + (WebCore::GStreamerGWorld::enterFullscreen): + * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: + (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin): + +2010-12-07 Philippe Normand <pnormand@igalia.com> + + Reviewed by Gustavo Noronha Silva. + + [GStreamer] ::buffered() should return multiple ranges in some cases + https://bugs.webkit.org/show_bug.cgi?id=45101 + + Improved the ::buffered() method thanks to the new buffering query + support that landed in GStreamer 0.10.31. The method now + queries the media buffered-ranges on the pipeline and queue2 + handles it if it's buffering the media to disk. + + The webkitwebsrc element also gained BYTES duration query + support. This is needed in the rare cases where uridecodebin + configures its queue before the HTTP server returns the media + Content-Length. + + Test: http/tests/media/video-buffered.html + + * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: + (WebCore::MediaPlayerPrivateGStreamer::buffered): + * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp: + (webkit_web_src_init): + (webKitWebSrcQuery): Make webkitwebsrc handle the duration queries + if it's aware of the media content-length. + * platform/gtk/RenderThemeGtk.cpp: + (WebCore::RenderThemeGtk::paintMediaSliderTrack): Fix position of + the second and next buffered ranges. + +2010-12-07 Yael Aharon <yael.aharon@nokia.com> + + Reviewed by Antonio Gomes. + + Spatial navigation not Working for Map and Area Tags + https://bugs.webkit.org/show_bug.cgi?id=47142 + + Give area elements special treatment in spatial navigation algorithm by getting the + rect of the area from the associated image. Since area elements are likely to overlap + if they are not rects, or if authors are not careful, we flatten the rect of area elements. + + Tests: fast/spatial-navigation/snav-imagemap-area-not-focusable.html + fast/spatial-navigation/snav-imagemap-area-without-image.html + fast/spatial-navigation/snav-imagemap-overlapped-areas.html + fast/spatial-navigation/snav-imagemap-simple.html + + * page/FocusController.cpp: + (WebCore::FocusController::findFocusCandidateInContainer): + (WebCore::FocusController::advanceFocusDirectionallyInContainer): + (WebCore::FocusController::advanceFocusDirectionally): + * page/SpatialNavigation.cpp: + (WebCore::FocusCandidate::FocusCandidate): + (WebCore::virtualRectForDirection): + (WebCore::virtualRectForAreaElementAndDirection): + * page/SpatialNavigation.h: + (WebCore::FocusCandidate::FocusCandidate): + +2010-12-07 Darin Adler <darin@apple.com> + + Try to fix V8 build. + + * bindings/generic/BindingDOMWindow.h: + (WebCore::BindingDOMWindow::createWindow): Pass security origin. + +2010-12-07 Darin Adler <darin@apple.com> + + Another build fix. + + * loader/CrossOriginAccessControl.cpp: Added a missing include. + +2010-12-07 Darin Adler <darin@apple.com> + + Try to fix build. + + * plugins/PluginView.cpp: + (WebCore::PluginView::start): Pass security origin. + (WebCore::PluginView::getURLNotify): Ditto. + (WebCore::PluginView::getURL): Ditto. + (WebCore::PluginView::handlePost): Ditto. + +2010-12-06 Darin Adler <darin@apple.com> + + Reviewed by Sam Weinig. + + Pass security origin to make local file decision correctly + https://bugs.webkit.org/show_bug.cgi?id=48603 + + * bindings/generic/BindingDOMWindow.h: + (WebCore::BindingDOMWindow::createWindow): Pass security origin. + (WebCore::BindingDOMWindow::open): Ditto. + * bindings/generic/BindingFrame.h: + (WebCore::BindingFrame::navigateIfAllowed): Ditto. + + * bindings/js/JSDOMWindowCustom.cpp: + (WebCore::JSDOMWindow::setLocation): Pass security origin. + (WebCore::createWindow): Ditto. + (WebCore::JSDOMWindow::open): Ditto. + + * bindings/js/JSDocumentCustom.cpp: + (WebCore::JSDocument::setLocation): Pass security origin. + + * dom/Document.cpp: + (WebCore::Document::processHttpEquiv): Pass security origin. + + * inspector/InspectorController.cpp: + (WebCore::InspectorController::openInInspectedWindow): + Pass security origin. + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::changeLocation): Added a security origin + argument, passed through to urlSelected. + (WebCore::FrameLoader::urlSelected): Replaced the resource request + and frame name arguments with a frame load request arguments in one + overload, and changed the other overload to pass in the current + frame's document for the security origin. + (WebCore::FrameLoader::loadFrameRequest): Moved the canDisplay + check before the referrer computation because it no longer needs + to look at the referrer. Replaced the call to canDisplay that + used the target frame's security origin and the call to + deprecatedCanDisplay with a single call to canDisplay that uses + the requester security origin. + + * loader/FrameLoader.h: Updated for argument changes above. + + * loader/NavigationScheduler.cpp: + (WebCore::ScheduledURLNavigation::ScheduledURLNavigation): Added + a security origin. + (WebCore::ScheduledURLNavigation::fire): Pass the security origin + in to FrameLoader::changeLocation. + (WebCore::ScheduledURLNavigation::securityOrigin): Added. + (WebCore::ScheduledRedirect::ScheduledRedirect): Added a security + origin argument. + (WebCore::ScheduledLocationChange::ScheduledLocationChange): Ditto. + (WebCore::ScheduledRefresh::ScheduledRefresh): Ditto. + (WebCore::ScheduledRefresh::fire): Pass the security origin in to + FrameLoader::changeLocation. + (WebCore::ScheduledFormSubmission::fire): Include the security + origin when constructing form submission. + (WebCore::NavigationScheduler::scheduleRedirect): Include the security + origin when creating the scheduled navigation object. + (WebCore::NavigationScheduler::scheduleLocationChange): Ditto. + (WebCore::NavigationScheduler::scheduleRefresh): Ditto. + + * loader/NavigationScheduler.h: Added the security origin argument + to scheduleLocationChange. + + * loader/SubframeLoader.cpp: + (WebCore::SubframeLoader::loadOrRedirectSubframe): Pass in the security + origin when calling scheduleLocationChange. + * loader/appcache/ApplicationCacheGroup.cpp: + (WebCore::ApplicationCacheGroup::selectCache): Ditto. + + * page/ContextMenuController.cpp: + (WebCore::openNewWindow): Pass in the security origin. + (WebCore::ContextMenuController::contextMenuItemSelected): Ditto. + + * page/FrameLoadRequest.h: Added a security origin called the requester + to all FrameLoadRequest objects. + + * page/XSSAuditor.cpp: + (WebCore::XSSAuditor::findInRequest): Added the security origin. + +2010-12-07 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: avoid initializing Context on when creating attaching listener to ScriptDebugServer + https://bugs.webkit.org/show_bug.cgi?id=50627 + + * bindings/v8/ScriptDebugServer.cpp: + (WebCore::ScriptDebugServer::addListener): don't try to collect already parsed scripts if context has + not been initialized yet. + +2010-12-07 Csaba Osztrogonác <ossy@webkit.org> + + Unreviewed. Rolling out r73421, because it made transitions/color-transition-all.html flakey. + + * page/animation/AnimationBase.cpp: + (WebCore::addShorthandProperties): + +2010-12-07 Martin Robinson <mrobinson@igalia.com> + + Unreviewed, rolling out r73392. + http://trac.webkit.org/changeset/73392 + https://bugs.webkit.org/show_bug.cgi?id=50489 + + This commit caused crashes on the GTK+ bots + + * bindings/ScriptControllerBase.cpp: + (WebCore::ScriptController::executeIfJavaScriptURL): + * dom/Document.cpp: + (WebCore::Document::Document): + (WebCore::Document::close): + (WebCore::Document::lastModified): + (WebCore::Document::finishedParsing): + (WebCore::Document::initSecurityContext): + (WebCore::Document::updateURLForPushOrReplaceState): + * dom/Document.h: + * dom/ProcessingInstruction.cpp: + (WebCore::ProcessingInstruction::checkStyleSheet): + * dom/ScriptElement.cpp: + (WebCore::ScriptElement::scriptCharset): + * html/HTMLLinkElement.cpp: + (WebCore::HTMLLinkElement::process): + * html/MediaDocument.cpp: + (WebCore::MediaDocument::replaceMediaElementTimerFired): + * html/PluginDocument.cpp: + (WebCore::PluginDocumentParser::createDocumentStructure): + * loader/DocumentLoader.cpp: + (WebCore::DocumentLoader::DocumentLoader): + (WebCore::DocumentLoader::finishedLoading): + (WebCore::DocumentLoader::commitData): + (WebCore::DocumentLoader::setupForReplaceByMIMEType): + (WebCore::DocumentLoader::setFrame): + * loader/DocumentLoader.h: + * loader/DocumentWriter.cpp: + (WebCore::DocumentWriter::begin): + * loader/DocumentWriter.h: + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::FrameLoader): + (WebCore::FrameLoader::init): + (WebCore::FrameLoader::clear): + (WebCore::FrameLoader::receivedFirstData): + (WebCore::FrameLoader::transitionToCommitted): + (WebCore::FrameLoader::open): + (WebCore::FrameLoader::finishedLoadingDocument): + (WebCore::FrameLoader::addExtraFieldsToRequest): + * loader/FrameLoader.h: + (WebCore::FrameLoader::writer): + * loader/cache/CachedResourceLoader.cpp: + (WebCore::CachedResourceLoader::requestPreload): + * platform/network/FormDataBuilder.cpp: + (WebCore::FormDataBuilder::encodingFromAcceptCharset): + * svg/graphics/SVGImage.cpp: + (WebCore::SVGImage::dataChanged): + +2010-12-07 Patrick Gansterer <paroga@webkit.org> + + Reviewed by Andreas Kling. + + [CMake] Remove WebKitGenerators + https://bugs.webkit.org/show_bug.cgi?id=50445 + + Move remaining logic into main CMakeLists.txt. + + * CMakeLists.txt: + +2010-12-07 Justin Schuh <jschuh@chromium.org> + + Reviewed by Nikolas Zimmermann. + + Clear old SVG cursor entry before adding a new one + https://bugs.webkit.org/show_bug.cgi?id=50549 + + Test: svg/css/cursor-replace.svg + + * css/CSSCursorImageValue.cpp: + (WebCore::CSSCursorImageValue::~CSSCursorImageValue): + * svg/SVGCursorElement.cpp: + (WebCore::SVGCursorElement::~SVGCursorElement): + (WebCore::SVGCursorElement::removeClient): + (WebCore::SVGCursorElement::removeReferencedElement): + * svg/SVGCursorElement.h: + * svg/SVGElement.cpp: + (WebCore::SVGElement::setCursorElement): + (WebCore::SVGElement::cursorElementRemoved): + (WebCore::SVGElement::setCursorImageValue): + (WebCore::SVGElement::cursorImageElementRemoved): + * svg/SVGElement.h: + +2010-12-07 Kenichi Ishibashi <bashi@google.com> + + Reviewed by Kent Tamura. + + Let HTMLObjectElement be a form associated element + https://bugs.webkit.org/show_bug.cgi?id=48821 + + Introduces FormAssociatedElement class which would be a super class + of form assocated elements. Some of member functions and variables of + HTMLFormControlElement are migrated into this class. + Following the HTML5 spec, HTMLFormControlElement class and + HTMLObjectElement class are subclasses of it for now. + + Test: fast/forms/form-collection-elements-order.html + + * Android.mk: Added FormAssociatedElement.cpp + * CMakeLists.txt: Ditto. + * GNUmakefile.am: Added FormAssociatedElement.{cpp,h} + * WebCore.exp.in: Added the symbol for toHTMLElement(FormAssociatedElement*) + * WebCore.gypi: Added FormAssociatedElement.{cpp,h} + * WebCore.pro: Ditto. + * WebCore.vcproj/WebCore.vcproj: Ditto. + * WebCore.xcodeproj/project.pbxproj: Ditto. + * dom/CheckedRadioButtons.h: Fixed class forward declaration order. + * dom/Document.cpp: + (WebCore::Document::registerFormElementWithFormAttribute): Modified to + use FormAssociatedElement instead of HTMLFormControlElement + (WebCore::Document::unregisterFormElementWithFormAttribute): Ditto. + (WebCore::Document::resetFormElementsOwner): + * dom/Document.h: Ditto. + * html/DOMFormData.cpp: Ditto. + (WebCore::DOMFormData::DOMFormData): + * html/FormAssociatedElement.cpp: Copied and renamed from WebCore/html/HTMLFormControlElement.cpp. + (WebCore::FormAssociatedElement::FormAssociatedElement): + (WebCore::FormAssociatedElement::~FormAssociatedElement): + (WebCore::FormAssociatedElement::validity): + (WebCore::FormAssociatedElement::insertedIntoTree): + (WebCore::FormAssociatedElement::removedFromTree): + (WebCore::FormAssociatedElement::removeFromForm): + (WebCore::FormAssociatedElement::resetFormOwner): + (WebCore::FormAssociatedElement::formAttributeChanged): + (WebCore::toHTMLElement): + * html/FormAssociatedElement.h: Ditto. + (WebCore::FormAssociatedElement::ref): + (WebCore::FormAssociatedElement::deref): + (WebCore::FormAssociatedElement::formDestroyed): + (WebCore::FormAssociatedElement::setForm): + * html/HTMLElement.h: Changed the access level of findFormAncestor(). + * html/HTMLFormCollection.cpp: + (WebCore::HTMLFormCollection::item): Modified to use FormAssociatedElement + instead of HTMLFormControlElement. + (WebCore::HTMLFormCollection::getNamedFormItem): Ditto. + (WebCore::HTMLFormCollection::updateNameCache): Ditto. + * html/HTMLFormControlElement.cpp: Modified regarding with the change of class + hierarchy. + (WebCore::HTMLFormControlElement::HTMLFormControlElement): + (WebCore::HTMLFormControlElement::~HTMLFormControlElement): + (WebCore::HTMLFormControlElement::insertedIntoTree): + (WebCore::HTMLFormControlElement::removedFromTree): + (WebCore::HTMLFormControlElement::supportsFocus): + (WebCore::HTMLFormControlElement::checkValidity): + (WebCore::HTMLFormControlElement::virtualForm): + (WebCore::HTMLFormControlElement::isDefaultButtonForForm): + (WebCore::HTMLFormControlElement::attributeChanged): + * html/HTMLFormControlElement.h: Ditto. + (WebCore::HTMLFormControlElement::form): + (WebCore::HTMLFormControlElement::disabled): + (WebCore::HTMLFormControlElement::type): + (WebCore::HTMLFormControlElement::refFormAssociatedElement): + (WebCore::HTMLFormControlElement::derefFormAssociatedElement): + * html/HTMLFormElement.cpp: Modified to use FormAssociatedElement + instead of HTMLFormControlElement. + (WebCore::HTMLFormElement::submitImplicitly): + (WebCore::HTMLFormElement::validateInteractively): + (WebCore::HTMLFormElement::submit): + (WebCore::HTMLFormElement::reset): + (WebCore::HTMLFormElement::formElementIndexWithFormAttribute): + (WebCore::HTMLFormElement::formElementIndex): + (WebCore::HTMLFormElement::registerFormElement): + (WebCore::HTMLFormElement::removeFormElement): + (WebCore::HTMLFormElement::defaultButton): + (WebCore::HTMLFormElement::checkValidity): + (WebCore::HTMLFormElement::collectUnhandledInvalidControls): + (WebCore::HTMLFormElement::documentDidBecomeActive): + * html/HTMLFormElement.h: Ditto. + (WebCore::HTMLFormElement::associatedElements): + * html/HTMLInputElement.cpp: Ditto. + (WebCore::HTMLInputElement::updateCheckedRadioButtons): + * html/HTMLObjectElement.cpp: Modified regarding with the change of class + hierarchy. + (WebCore::HTMLObjectElement::HTMLObjectElement): + (WebCore::HTMLObjectElement::~HTMLObjectElement): + (WebCore::HTMLObjectElement::create): + (WebCore::HTMLObjectElement::attributeChanged): + (WebCore::HTMLObjectElement::insertedIntoTree): + (WebCore::HTMLObjectElement::removedFromTree): + (WebCore::HTMLObjectElement::appendFormData): + (WebCore::HTMLObjectElement::formControlName): + * html/HTMLObjectElement.h: Ditto. + (WebCore::HTMLObjectElement::form): + (WebCore::HTMLObjectElement::isFormControlElement): + (WebCore::HTMLObjectElement::isEnumeratable): + (WebCore::HTMLObjectElement::refFormAssociatedElement): + (WebCore::HTMLObjectElement::derefFormAssociatedElement): + * html/HTMLTagNames.in: Added constructorNeedsFormElement to object tag. + * html/ValidationMessage.cpp: Modified to use FormAssociatedElement + instead of HTMLFormControlElement. + (WebCore::ValidationMessage::ValidationMessage): + (WebCore::ValidationMessage::create): + * html/ValidationMessage.h: Ditto. + * html/ValidityState.cpp: Ditto. + (WebCore::ValidityState::validationMessage): + (WebCore::ValidityState::setCustomErrorMessage): + (WebCore::ValidityState::valueMissing): + (WebCore::ValidityState::typeMismatch): + (WebCore::ValidityState::patternMismatch): + (WebCore::ValidityState::tooLong): + (WebCore::ValidityState::rangeUnderflow): + (WebCore::ValidityState::rangeOverflow): + (WebCore::ValidityState::stepMismatch): + * html/ValidityState.h: Ditto. + (WebCore::ValidityState::create): + (WebCore::ValidityState::ValidityState): + * loader/FormSubmission.cpp: Ditto. + (WebCore::FormSubmission::create): + +2010-12-06 Pavel Feldman <pfeldman@chromium.org> + + Not reviewed. Rolling out r72988 for breaking iframes. + + * css/CSSImportRule.cpp: + (WebCore::CSSImportRule::insertedIntoParent): + +2010-12-06 Hironori Bono <hbono@chromium.org> + + Reviewed by David Levin. + + [Chromium] Refactor FontCacheChromiumWin.cpp + https://bugs.webkit.org/show_bug.cgi?id=50611 + + This change just moved the helper functions for the WebCore::FontCache class to the beginning of ths file. + + No new tests are added since this is a refactoring. + + * platform/graphics/chromium/FontCacheChromiumWin.cpp: + (WebCore::fontDataFromDescriptionAndLogFont): Moved to the beginning of the file. + (WebCore::toGDIFontWeight): Moved to the beginning of the file. + (WebCore::FillLogFont): Moved to the beginning of the file. + (WebCore::TraitsInFamilyProcData::TraitsInFamilyProcData): Moved to the beginning of the file. + (WebCore::traitsInFamilyEnumProc): Moved to the beginning of the file. + (WebCore::FontCache::platformInit): Moved after the static functions. + +2010-12-06 Alexey Marinichev <amarinichev@chromium.org> + + Reviewed by Kenneth Russell. + + Throw webglcontextlost and webglcontextrestored events when a WebGL context is lost and restored. + https://bugs.webkit.org/show_bug.cgi?id=50364 + + No new tests since there is currently no way to force a context lost event. + + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::WebGLRenderingContextRestoreTimer::fired): + (WebCore::WebGLRenderingContext::create): + (WebCore::WebGLRenderingContext::WebGLRenderingContext): + (WebCore::WebGLRenderingContext::isContextLost): + (WebCore::WebGLRenderingContext::loseContext): + (WebCore::WebGLRenderingContext::restoreContext): + * html/canvas/WebGLRenderingContext.h: + (WebCore::WebGLRenderingContext::WebGLRenderingContextRestoreTimer::WebGLRenderingContextRestoreTimer): + +2010-12-06 David Hyatt <hyatt@apple.com> + + Reviewed by Simon Fraser. + + https://bugs.webkit.org/show_bug.cgi?id=50593 + + Fix background canvas painting for documents with left/top overflow. The math from the original RTL patch was incorrect. + + Just use the RenderView's document dimensions always. + + * rendering/RenderBox.cpp: + (WebCore::RenderBox::paintRootBoxDecorations): + +2010-12-06 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Beth Dakin. + + CSS animation doesn't work for border-radius + https://bugs.webkit.org/show_bug.cgi?id=48340 + + Include CSSPropertyBorderRadius in the list of shorthand + properties, so that the individual border-radius properties + get animated. + + Test: transitions/border-radius-transition.html + + * page/animation/AnimationBase.cpp: + (WebCore::addShorthandProperties): + +2010-12-06 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Tony Chang. + + ApplyStyleCommand should take EditingStyle instead of CSSStyleDeclaration + https://bugs.webkit.org/show_bug.cgi?id=49938 + + Modified ApplyStyleCommand::ApplyStyleCommand and ApplyStyleCommand::create to take EditingStyle* + instead of CSSStyleDeclaration*. Also replaced much of code in Editor::computeAndSetTypingStyle + by calls to EditingStyle's member functions and extracted EditingStyle::overrideWith and + EditingStyle::extractAndRemoveBlockProperties. + + No new tests are added since this is a refactoring. + + * WebCore.exp.in: Added SelectionController::copyTypingStyle and EditingStyle::~EditingStyle. + * css/CSSMutableStyleDeclaration.cpp: Made CSSMutableStyleDeclaration* in the argument list const. + (WebCore::CSSMutableStyleDeclaration::merge): + * css/CSSMutableStyleDeclaration.h: + * editing/ApplyStyleCommand.cpp: + (WebCore::ApplyStyleCommand::ApplyStyleCommand): Takes EditingStyle* instead of CSSStyleDeclaration*. + (WebCore::ApplyStyleCommand::doApply): Uses EditingStyle. + * editing/ApplyStyleCommand.h: m_style is now a ref-pointer to EditingStyle instead of CSSMutableStyleDeclaration. + (WebCore::ApplyStyleCommand::create): Takes EditingStyle* instead of CSSStyleDeclaration*. + * editing/CompositeEditCommand.cpp: + (WebCore::CompositeEditCommand::applyStyle): Ditto. + (WebCore::CompositeEditCommand::moveParagraphs): Calls applyStyle. + (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): Ditto. + * editing/CompositeEditCommand.h: + * editing/DeleteSelectionCommand.cpp: + (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete): Ditto. + * editing/EditCommand.cpp: + * editing/EditCommand.h: + * editing/EditingStyle.cpp: + (WebCore::EditingStyle::~EditingStyle): Added. + (WebCore::EditingStyle::overrideWithStyle): Extracted from Editor::calculateTypingStyleAfterDelete. + (WebCore::EditingStyle::copy): Added. + (WebCore::EditingStyle::extractAndRemoveBlockProperties): Extracted from Editor::calculateTypingStyleAfterDelete. + * editing/EditingStyle.h: + * editing/Editor.cpp: + (WebCore::Editor::applyStyle): Calls ApplyStyleCommand::create. + (WebCore::Editor::applyParagraphStyle): Ditto. + (WebCore::Editor::computeAndSetTypingStyle): Ditto. + * editing/InsertLineBreakCommand.cpp: + (WebCore::InsertLineBreakCommand::doApply): Calls applyStyle. + * editing/InsertParagraphSeparatorCommand.cpp: + (WebCore::InsertParagraphSeparatorCommand::applyStyleAfterInsertion): Ditto. + * editing/InsertTextCommand.cpp: + (WebCore::InsertTextCommand::input): Ditto. + * editing/RemoveFormatCommand.cpp: + (WebCore::RemoveFormatCommand::doApply): Calls ApplyStyleCommand::create. + * editing/ReplaceSelectionCommand.cpp: + (WebCore::ReplaceSelectionCommand::completeHTMLReplacement): Calls applyStyle. + * editing/SelectionController.cpp: + (WebCore::SelectionController::copyTypingStyle): Moved from SelectionController.h + * editing/SelectionController.h: + +2010-12-05 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Tony Chang. + + Executing FormatBlock on multiple paragraphs inside pre does not remove the outer pre + https://bugs.webkit.org/show_bug.cgi?id=47300 + + The bug was caused by FormatBlockCommand::formatRange's not removing refNode when the refNode + contains more than one paragraphs even when the refNode is fully selected. + + Fixed the bug by modifying FormatBlockCommand::formatRange to correctly remove the node in + such a situation. + + Also fixed a bug in ApplyBlockElementCommand::formatSelection that the end of selection + is not properly updated when the end of selection resides in the node split by + rangeForParagraphSplittingTextNodesIfNeeded or endOfNextParagrahSplittingTextNodesIfNeeded. + + Test: editing/execCommand/format-block-multiple-paragraphs-in-pre.html + + * editing/ApplyBlockElementCommand.cpp: + (WebCore::ApplyBlockElementCommand::formatSelection): Calls formatRange with m_endOfLastParagraph. + (WebCore::ApplyBlockElementCommand::rangeForParagraphSplittingTextNodesIfNeeded): Updates + m_endOfLastParagraph when the position points to the node split by this function. + (WebCore::ApplyBlockElementCommand::endOfNextParagrahSplittingTextNodesIfNeeded): Ditto. + * editing/ApplyBlockElementCommand.h: Added m_endOfLastParagraph as a member variable. + * editing/FormatBlockCommand.cpp: + (WebCore::FormatBlockCommand::formatRange): See above. + * editing/FormatBlockCommand.h: + * editing/IndentOutdentCommand.cpp: + (WebCore::IndentOutdentCommand::formatRange): Ignores the end of selection. + * editing/IndentOutdentCommand.h: + +2010-12-03 Zhenyao Mo <zmo@google.com> + + Reviewed by Kenneth Russell. + + Postpone gl delete* calls until shaders/programs are no longer attached + https://bugs.webkit.org/show_bug.cgi?id=50501 + + * html/canvas/WebGLBuffer.cpp: + (WebCore::WebGLBuffer::deleteObjectImpl): Simply delete GL resource. + * html/canvas/WebGLFramebuffer.cpp: + (WebCore::WebGLFramebuffer::deleteObjectImpl): Ditto. + * html/canvas/WebGLObject.cpp: + (WebCore::WebGLObject::deleteObject): Tracking whether deleteObjectImpl should be called or not. + * html/canvas/WebGLObject.h: + (WebCore::WebGLObject::detachContext): Set attachmentCount to 0 to ensure OpenGL resource deletion. + (WebCore::WebGLObject::onDetached): No need to track attachmentCount here as we track it in deleteObject. + (WebCore::WebGLObject::isDeleted): Make this public. + * html/canvas/WebGLProgram.cpp: + (WebCore::WebGLProgram::deleteObjectImpl): Simply delete GL resource. + * html/canvas/WebGLRenderbuffer.cpp: + (WebCore::WebGLRenderbuffer::deleteObjectImpl): Ditto. + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::getProgramParameter): intercept DELETE_STATUS. + (WebCore::WebGLRenderingContext::getShaderParameter): Ditto. + * html/canvas/WebGLShader.cpp: + (WebCore::WebGLShader::deleteObjectImpl): Simply delete GL resource. + * html/canvas/WebGLTexture.cpp: + (WebCore::WebGLTexture::deleteObjectImpl): Simply delete GL resource. + +2010-12-06 Ryosuke Niwa <rniwa@webkit.org> + + Yet unreviewed another Leopard build fix for r73380. + + * platform/graphics/ca/mac/PlatformCAAnimationMac.mm: + (PlatformCAAnimation::setKeyTimes): + * platform/graphics/ca/mac/PlatformCALayerMac.mm: + (PlatformCALayer::platformCALayer): + +2010-12-06 Andy Estes <aestes@apple.com> + + Reviewed by Darin Adler. + + Marquee elements do not stop animating when scrollAmount is set to 0. + https://bugs.webkit.org/show_bug.cgi?id=50434 + + Test: fast/html/marquee-scrollamount.html + + * rendering/RenderMarquee.cpp: + (WebCore::RenderMarquee::timerFired): Allow increment to be 0. + +2010-12-06 Ryosuke Niwa <rniwa@webkit.org> + + Unreviewed Leopard buildfix for r73380. + + * platform/graphics/ca/mac/PlatformCAAnimationMac.mm: + (PlatformCAAnimation::setTimingFunctions): + * platform/graphics/ca/mac/PlatformCALayerMac.mm: + (PlatformCALayer::PlatformCALayer): + +2010-12-06 Philippe Normand <pnormand@igalia.com> + + Reviewed by Martin Robinson. + + [GStreamer] use ResourceHandle::setDefersLoading in WebKitWebSourceGStreamer + https://bugs.webkit.org/show_bug.cgi?id=44157 + + * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp: + (webKitWebSrcNeedDataMainCb): + (webKitWebSrcEnoughDataMainCb): Replaced platform-specific code + with cross-platform ResourceHandle::setDefersLoading calls. + +2010-12-06 Ryosuke Niwa <rniwa@webkit.org> + + Unreviewed Leopard build fix for r73388. + + * accessibility/AccessibilitySlider.cpp: + (WebCore::AccessibilitySlider::maxValueForRange): + (WebCore::AccessibilitySlider::minValueForRange): + +2010-12-06 Ryosuke Niwa <rniwa@webkit.org> + + Unreviewed build fix for Leopard after r73379. + + * platform/graphics/cg/GraphicsContextCG.cpp: + (WebCore::GraphicsContext::setAllowsFontSmoothing): + +2010-12-06 Nate Chapin <japhet@chromium.org> + + Reviewed by Adam Barth. + + Make DocumentWriter a member of DocumentLoader + instead of FrameLoader. + https://bugs.webkit.org/show_bug.cgi?id=50489 + + Refactor, no new tests. + + * bindings/ScriptControllerBase.cpp: + (WebCore::ScriptController::executeIfJavaScriptURL): + * dom/Document.cpp: + (WebCore::Document::Document): + (WebCore::Document::close): + (WebCore::Document::lastModified): + (WebCore::Document::finishedParsing): + (WebCore::Document::initSecurityContext): + (WebCore::Document::updateURLForPushOrReplaceState): + * dom/Document.h: + (WebCore::Document::setDocumentLoader): + (WebCore::Document::loader): + * dom/ProcessingInstruction.cpp: + (WebCore::ProcessingInstruction::checkStyleSheet): + * dom/ScriptElement.cpp: + (WebCore::ScriptElement::scriptCharset): + * html/HTMLLinkElement.cpp: + (WebCore::HTMLLinkElement::process): + * html/MediaDocument.cpp: + (WebCore::MediaDocument::replaceMediaElementTimerFired): + * html/PluginDocument.cpp: + (WebCore::PluginDocumentParser::createDocumentStructure): + * loader/DocumentLoader.cpp: + (WebCore::DocumentLoader::DocumentLoader): + (WebCore::DocumentLoader::finishedLoading): + (WebCore::DocumentLoader::commitData): + (WebCore::DocumentLoader::setupForReplaceByMIMEType): + (WebCore::DocumentLoader::setFrame): + * loader/DocumentLoader.h: + (WebCore::DocumentLoader::writer): + * loader/DocumentWriter.h: + (WebCore::DocumentWriter::setFrame): + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::FrameLoader): + (WebCore::FrameLoader::init): + (WebCore::FrameLoader::clear): + (WebCore::FrameLoader::receivedFirstData): + (WebCore::FrameLoader::transitionToCommitted): + (WebCore::FrameLoader::open): + (WebCore::FrameLoader::finishedLoadingDocument): + (WebCore::FrameLoader::addExtraFieldsToRequest): + * loader/FrameLoader.h: + (WebCore::FrameLoader::notifier): + * loader/cache/CachedResourceLoader.cpp: + (WebCore::CachedResourceLoader::requestPreload): + * platform/network/FormDataBuilder.cpp: + (WebCore::FormDataBuilder::encodingFromAcceptCharset): + * svg/graphics/SVGImage.cpp: + (WebCore::SVGImage::dataChanged): + +2010-12-06 Mark Rowe <mrowe@apple.com> + + Build fix. + + * WebCore.xcodeproj/project.pbxproj: Don't force WebCore to build against the 10.5 SDK. + That's just plain wrong. + +2010-12-06 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Darin Adler. + + HTML5 Slider does not work correctly with VoiceOver + https://bugs.webkit.org/show_bug.cgi?id=50505 + + Address a few problems with the Mac implementation for the accessibility slider. + 1) The value indicator is not hit testable. + 2) The value indicator does not return an AXValue. + 3) In the slider, the min/max values are not correct when min/max attributes are not present. + 4) When you change the value with the keyboard, it doesn't send out the right notification. + 5) Sliders were returning AXValue and AXTopLevelUIElement attributes twice in their list of attributes. + + Test: platform/mac/accessibility/html-slider-indicator.html + + * accessibility/AccessibilityObject.cpp: + (WebCore::AccessibilityObject::getAttribute): + Use fastGetAttribute on Element, instead of getAttribute. + * accessibility/AccessibilityObject.h: + (WebCore::AccessibilityObject::isInputSlider): + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::doAccessibilityHitTest): + * accessibility/AccessibilitySlider.cpp: + (WebCore::AccessibilitySlider::doAccessibilityHitTest): + (WebCore::AccessibilitySlider::maxValueForRange): + (WebCore::AccessibilitySlider::minValueForRange): + * accessibility/AccessibilitySlider.h: + (WebCore::AccessibilitySlider::isInputSlider): + * accessibility/mac/AccessibilityObjectWrapper.mm: + (-[AccessibilityObjectWrapper accessibilityAttributeNames]): + (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::applyStep): + +2010-12-06 David Hyatt <hyatt@apple.com> + + Reviewed by Simon Fraser. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=49220 <<rdar://problem/8644849>, REGRESSION: transforms now + O(n^3) from pathological behavior in lowestPosition, rightmostPosition, leftmostPosition and topmostPosition. + + This patch throws out the lowest/rightmost/leftmost/topmostPosition functions and re-architects layout overflow + in the engine to cache all the information required to properly handle scrolling. + + In the old code, there were two types of overflow: layout overflow and visual overflow. The former could + affect scrolling and the latter could not. The distinction was largely meaningless, since layout overflow + wasn't actually used to determine scroll width or scroll height. It didn't propagate across self-painting layer + boundaries either. In the old code, the term visible overflow meant the union of the layout overflow and + visual overflow rects. + + In the new code, the two types of overflow remain, but the distinction between the two is now clear. Visual overflow + is used purely for painting and hit testing checks and layout overflow is used specifically for scrolling. It has + been expanded to propagate across self-painting layers, to factor in relative positioning and transforms, and to + work with writing modes. + + In order to minimize layout test changes, layers no longer incorporate right/bottom overflow into their width/height members. + Doing so uncovered two bugs where left/top overflow was ignored (proof that even having layer dimensions is harmful). + A render tree dump hack has been put into the code to keep this overflow dumping for the RenderView's layer, since otherwise + a huge number of tests would change. + + Added fast/overflow/overflow-rtl-vertical.html to test vertical writing-mode overflow. Existing tests cover the rest. + + * page/FrameView.cpp: + (WebCore::FrameView::adjustViewSize): + (WebCore::FrameView::forceLayoutForPagination): + Changed to use RenderView's docTop/Left/Width/Height accessors, which simply grab the overflow and properly flip it + to account for writing modes. + + * platform/graphics/IntRect.h: + (WebCore::IntRect::shiftLeftEdgeTo): + (WebCore::IntRect::shiftRightEdgeTo): + (WebCore::IntRect::shiftTopEdgeTo): + (WebCore::IntRect::shiftBottomEdgeTo): + New helper functions for sliding the edge of a rectangle without moving any of the other three edges. + + * rendering/InlineBox.h: + (WebCore::InlineBox::frameRect): + frameRect is a helper for obtaining the x, y, width, height of an InlineBox as an IntRect. + + * rendering/InlineFlowBox.cpp: + (WebCore::InlineFlowBox::placeBoxesInInlineDirection): + All of the overflow setting in the inline direction has been removed from this function. All line overflow is computed + at once now in a single function: computeOverflow. + + (WebCore::InlineFlowBox::addBoxShadowVisualOverflow): + (WebCore::InlineFlowBox::addTextBoxVisualOverflow): + (WebCore::InlineFlowBox::addReplacedChildOverflow): + Helper for propagating overflow from specific types of children that occur on a line into the InlineFlowBox's overflow. + + (WebCore::InlineFlowBox::computeOverflow): + The new function that computes both horizontal and vertical overflow for a line box. + + (WebCore::InlineFlowBox::setLayoutOverflow): + (WebCore::InlineFlowBox::setVisualOverflow): + (WebCore::InlineFlowBox::setOverflowFromLogicalRects): + New functions that set the overflow computed by computeOverflow. These replace setBlockDirectionOverflowPositions + and setInlineDirectionOverflowPositions. They essentially do the same thing, but they operate on rectangles. + + (WebCore::InlineFlowBox::nodeAtPoint): + (WebCore::InlineFlowBox::paint): + Changed to use visual overflow instead of visible overflow. (Visible overflow as a union of layout and visual + overflow is no longer necessary, since visual overflow is now equivalent to the old visible overflow concept.) + + * rendering/InlineFlowBox.h: + (WebCore::InlineFlowBox::logicalLayoutOverflowRect): + (WebCore::InlineFlowBox::logicalVisualOverflowRect): + Helpers for obtaining logical overflow rectangles, since lines compute their overflow in logical terms before + converting to block coordinates at the end. + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::layoutBlock): + (WebCore::RenderBlock::addOverflowFromChildren): + (WebCore::RenderBlock::computeOverflow): + (WebCore::RenderBlock::addOverflowFromFloats): + (WebCore::RenderBlock::addOverflowFromPositionedObjects): + Blocks now have a computeOverflow function called at the end of layout that adds in all the types of overflow. The addOverflowFromChildren + method is virtual so that RenderListItem and RenderTable can subclass it. RenderListItem has to position its list marker and + propagate marker overflow up, and RenderTable adds in overflow from its sections. + + (WebCore::RenderBlock::layoutOnlyPositionedObjects): + (WebCore::RenderBlock::layoutPositionedObjects): + When only positioned objects lay out, overflow must still be recomputed. The refactoring of overflow computation into a single + callable method: computeOverflow, makes it possible for this to be done easily. + + (WebCore::RenderBlock::paint): + visible -> visual. + + (WebCore::RenderBlock::addOverhangingFloats): + The propagation of float overflow has changed substantially. The basic rules are: + (1) The float must be in our floating objects list to contribute to overflow. + (2) The float must be a descendant to contribute to overflow. + (3) The block must have the outermost list that contains the float, or it has a self-painting layer and + so the float needs to be included in its overflow. + + (WebCore::RenderBlock::nodeAtPoint): + visible -> visual. + + (WebCore::RenderBlock::layoutColumns): + Remove column overflow computation from layoutColumns and move it to computeOverflow. + + (WebCore::RenderBlock::adjustLinePositionForPagination): + visible -> visual. + + * rendering/RenderBlock.h: + (WebCore::RenderBlock::scrollbarsChanged): + Added a new virtual method used by table cells when scrollbars in an overflow:auto/scroll table cell come and go. + + * rendering/RenderBlockLineLayout.cpp: + (WebCore::RenderBlock::layoutInlineChildren): + (WebCore::RenderBlock::determineStartPosition): + (WebCore::RenderBlock::matchedEndLine): + (WebCore::RenderBlock::addOverflowFromInlineChildren): + (WebCore::RenderBlock::beforeSideVisualOverflowForLine): + (WebCore::RenderBlock::afterSideVisualOverflowForLine): + visible -> visual. + + * rendering/RenderBox.cpp: + (WebCore::RenderBox::scrollWidth): + (WebCore::RenderBox::scrollHeight): + Patched to use layoutOverflow functions instead of the old rightmost/leftmostPosition functions. + + (WebCore::RenderBox::paintRootBoxDecorations): + Use docLeft and docTop here, so that writing modes are handled. + + (WebCore::RenderBox::clippedOverflowRectForRepaint): + visible -> visual. + + (WebCore::RenderBox::addOverflowFromChild): + (WebCore::RenderBox::addLayoutOverflow): + (WebCore::RenderBox::addVisualOverflow): + (WebCore::RenderBox::logicalVisualOverflowRectForPropagation): + (WebCore::RenderBox::visualOverflowRectForPropagation): + (WebCore::RenderBox::logicalLayoutOverflowRectForPropagation): + (WebCore::RenderBox::layoutOverflowRectForPropagation): + * rendering/RenderBox.h: + The new overflow system for boxes. Layout overflow now crosses self-painting layer boundaries and adjusts child boxes + for transforms, relative positioning and writing mode differences. + + (WebCore::RenderBox::layoutOverflowRect): + (WebCore::RenderBox::topLayoutOverflow): + (WebCore::RenderBox::bottomLayoutOverflow): + (WebCore::RenderBox::leftLayoutOverflow): + (WebCore::RenderBox::rightLayoutOverflow): + Changed the default rectangle for layout overflow to be the client box to match the scrollable areas of overflow regions. + + (WebCore::RenderBox::clientLogicalBottom): + New helper for obtaining the logical bottom of the client box. + + (WebCore::RenderBox::clientBoxRect): + New helper for obtaining the clientLeft/Top/Width/Height box. + + * rendering/RenderBoxModelObject.h: + (WebCore::RenderBoxModelObject::relativePositionLogicalOffset): + Helper for obtaining the relative position offset transposed for vertical writing modes. Used by line overflow. + + * rendering/RenderFlexibleBox.cpp: + (WebCore::RenderFlexibleBox::layoutBlock): + Changed flexible boxes to just call the base class computeOverflow method. + + * rendering/RenderInline.cpp: + (WebCore::RenderInline::linesVisualOverflowBoundingBox): + (WebCore::RenderInline::clippedOverflowRectForRepaint): + visible -> visual. + + * rendering/RenderInline.h: + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::updateLayerPosition): + Changed layers to no longer incorporate right/bottom overflow into width/height. This is the reason many layout + tests change. (Not doing this makes the layout test changes far worse, since overflow propagates across self-painting + layers now.) + + (WebCore::RenderLayer::overflowTop): + (WebCore::RenderLayer::overflowBottom): + (WebCore::RenderLayer::overflowLeft): + (WebCore::RenderLayer::overflowRight): + overflowTop/Bottom/Left/Right return overflow that accounts for writing modes, i.e., purely physical overflow that can be used + to set up the scroll area. + + (WebCore::RenderLayer::computeScrollDimensions): + Drastically simplified this method now that overflowTop/Bottom/Left/Right just do the right thing regarding unreachable overflow. + + (WebCore::RenderLayer::updateScrollInfoAfterLayout): + Make sure to explicitly set the vertical scrollbar's position just as we did with horizontal scrollbars, so that clamping to the + bottom works. + + (WebCore::performOverlapTests): + (WebCore::RenderLayer::paintLayer): + Fix a bug in performOverlapTests. It incorrectly used the layer's bounds, and so it didn't account for left/top overflow out + of the layer (see why I hate layers even having dimensions?). Changed it to use the bounding box of the layer instead. + + (WebCore::RenderLayer::hitTest): + Fix a bug in hit testing. It incorrectly used the root layer's bounds as the limit of the hit test, and so it didn't account + for left/top overflow in a ScrollView (hate hate hate layers having dimensions). I changed it to use the hit test rect instead, + so that the damage rect never stops the point from being tested (unless the hit test request says not to ignore clipping). + + (WebCore::RenderLayer::localBoundingBox): + visible -> visual. + + * rendering/RenderLayer.h: + Added the new overflowTop/Left/Right/Bottom accessors. + + * rendering/RenderLineBoxList.cpp: + (WebCore::RenderLineBoxList::anyLineIntersectsRect): + (WebCore::RenderLineBoxList::lineIntersectsDirtyRect): + (WebCore::RenderLineBoxList::paint): + (WebCore::RenderLineBoxList::hitTest): + visible -> visual. + + * rendering/RenderListItem.cpp: + (WebCore::RenderListItem::addOverflowFromChildren): + (WebCore::RenderListItem::positionListMarker): + * rendering/RenderListItem.h: + RenderListItem now positions the list marker when computing its overflow, since the marker propagates overflow back up to the list item. + + * rendering/RenderListMarker.cpp: + (WebCore::RenderListMarker::paint): + visible -> visual. + + * rendering/RenderMarquee.cpp: + (WebCore::RenderMarquee::computePosition): + Changed to use overflow functions instead of rightmost/lowestPosition. + + * rendering/RenderMedia.cpp: + * rendering/RenderMedia.h: + Removed the lowest/topmost/rightmost/leftmostPosition functions, since control overflow is handled properly already. + + * rendering/RenderOverflow.h: + (WebCore::RenderOverflow::RenderOverflow): + (WebCore::RenderOverflow::setLayoutOverflow): + (WebCore::RenderOverflow::setVisualOverflow): + Add new setters for layout and visual overflow as rects. + + * rendering/RenderReplaced.cpp: + (WebCore::RenderReplaced::shouldPaint): + (WebCore::RenderReplaced::clippedOverflowRectForRepaint): + visible -> visual. + + * rendering/RenderRubyRun.cpp: + (WebCore::RenderRubyRun::layout): + Call computeOverflow to recompute our overflow information after we adjust the ruby. + + * rendering/RenderTable.cpp: + (WebCore::RenderTable::layout): + (WebCore::RenderTable::addOverflowFromChildren): + (WebCore::RenderTable::paint): + * rendering/RenderTable.h: + Move section overflow propagation into addOverflowFromChildren, and change RenderTable to just call computeOverflow. + + * rendering/RenderTableCell.cpp: + (WebCore::RenderTableCell::clippedOverflowRectForRepaint): + visible -> visual. + + (WebCore::RenderTableCell::scrollbarsChanged): + Adding unreachable overflow support (something that in the old code only existed for positioned objects in the root view) exposed + a bug in table layout. If scrollbars are added during the layout that occurs after intrinsic padding was incorporated into the + cell, then the cell won't lay out properly the second time (after the scrollbars have been added). We have to adjust the intrinsic + padding accounting for the presence of the new scrollbar so the second layout will get the right dimensions. + + * rendering/RenderTableCell.h: + (WebCore::RenderTableCell::hasVisualOverflow): + visible -> visual. + + * rendering/RenderTableSection.cpp: + (WebCore::RenderTableSection::layoutRows): + * rendering/RenderTableSection.h: + visible -> visual. Removed the leftmost/rightmost/topmost/bottommostPosition functions. + + * rendering/RenderTreeAsText.cpp: + (WebCore::writeLayers): + Added a hack to render tree dumping to include right/bottom overflow for the root layer only. This keeps a zillion layout tests + from failing. + + * rendering/RenderView.cpp: + (WebCore::RenderView::layout): + (WebCore::RenderView::docTop): + (WebCore::RenderView::docBottom): + (WebCore::RenderView::docLeft): + (WebCore::RenderView::docRight): + * rendering/RenderView.h: + (WebCore::RenderView::docHeight): + (WebCore::RenderView::docWidth): + RenderView now uses docLeft/Top/Height/Width functions, which are just overflow queries that account for writing modes. These methods + are now the preferred way to query for the physical dimensions of a document. + + * rendering/RootInlineBox.cpp: + (WebCore::RootInlineBox::addHighlightOverflow): + Changed to call setOverflowFromLogicalRects instead of the block/inline position functions. + + (WebCore::RootInlineBox::alignBoxesInBlockDirection): + Remove the computation of block direction overflow, since it now all happens at once after the line is built. + + (WebCore::RootInlineBox::paddedLayoutOverflowRect): + * rendering/RootInlineBox.h: + Added a new helper function for incorporating the end padding into a line. This end padding also includes the single pixel for a caret + in LTR if needed. + +2010-12-06 Chris Marrin <cmarrin@apple.com> + + Reviewed by Simon Fraser. + + Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations + https://bugs.webkit.org/show_bug.cgi?id=49388 + + Replaced GraphicsLayerMac with GraphicsLayerCA. GraphicsLayerCA is essentially + identical to GraphicsLayerMac, but replaces all the CoreAnimation specific calls + with calls to PlatformCALayer and PlatformCAAnimation. This makes GraphicsLayerCA + platform neutral as long as implementations of those two classes are available. + Added implementations in PlatformCALayerMac and PlatformCAAnimationMac. Also got + rid of GraphicsLayer::nativeLayer() and replaced it with GraphicsLayer::platformLayer() + to avoid confusion since both names were used to refer to the same thing. + + This patch is only for Mac. Windows implementation has not changed. + + * WebCore.xcodeproj/project.pbxproj: + * platform/graphics/GraphicsLayer.h: + * platform/graphics/ca/GraphicsLayerCA.cpp: Copied from WebCore/platform/graphics/ca/GraphicsLayerCA.cpp. + * platform/graphics/ca/GraphicsLayerCA.h: Copied from WebCore/platform/graphics/ca/GraphicsLayerCA.h. + * platform/graphics/ca/PlatformCAAnimation.h: Copied from WebCore/platform/graphics/ca/PlatformCAAnimation.h. + * platform/graphics/ca/PlatformCALayer.h: Copied from WebCore/platform/graphics/ca/PlatformCALayer.h. + * platform/graphics/ca/mac/PlatformCAAnimationMac.mm: Copied from WebCore/platform/graphics/ca/mac/PlatformCAAnimationMac.mm. + (toCAMediaTimingFunction): + * platform/graphics/ca/mac/PlatformCALayerMac.mm: Copied from WebCore/platform/graphics/ca/mac/PlatformCALayerMac.mm. + (PlatformCALayer::PlatformCALayer): + * platform/graphics/chromium/GraphicsLayerChromium.cpp: + * platform/graphics/chromium/GraphicsLayerChromium.h: + * platform/graphics/mac/GraphicsLayerMac.h: Removed. + * platform/graphics/mac/GraphicsLayerMac.mm: Removed. + * platform/graphics/mac/WebLayer.h: + * platform/graphics/mac/WebLayer.mm: + (-[WebLayer setNeedsDisplay]): + (-[WebLayer setNeedsDisplayInRect:]): + (-[WebLayer display]): + (-[WebLayer drawInContext:]): + * platform/graphics/mac/WebTiledLayer.h: + * platform/graphics/mac/WebTiledLayer.mm: + (-[WebTiledLayer setNeedsDisplay]): + (-[WebTiledLayer setNeedsDisplayInRect:]): + (-[WebTiledLayer display]): + (-[WebTiledLayer drawInContext:]): + * platform/graphics/qt/GraphicsLayerQt.cpp: + (WebCore::GraphicsLayerQtImpl::flushChanges): + * platform/graphics/qt/GraphicsLayerQt.h: + * platform/graphics/win/GraphicsLayerCACF.cpp: + * platform/graphics/win/GraphicsLayerCACF.h: + +2010-12-06 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dan Bernstein. + + Font antialiasing (smoothing) changes when elements are rendered into compositing layers + https://bugs.webkit.org/show_bug.cgi?id=23364 + + Text rendered by Core Graphics over a transparent background looks bad because of + font smoothing, so turn off smoothing when rendering text into compositing layers. + + * platform/graphics/GraphicsContext.h: + * platform/graphics/cg/GraphicsContextCG.cpp: + (WebCore::GraphicsContext::setAllowsFontSmoothing): + * platform/graphics/mac/WebLayer.mm: + (drawLayerContents): + +2010-12-06 Patrick Gansterer <paroga@webkit.org> + + Reviewed by Andreas Kling. + + [WINCE] Add build system + https://bugs.webkit.org/show_bug.cgi?id=50522 + + * CMakeListsWinCE.txt: Added. + +2010-12-06 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Oliver Hunt. + + AX does not support HTML5 "required" + https://bugs.webkit.org/show_bug.cgi?id=50507 + + Test: platform/mac/accessibility/html5-required-attribute.html + + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::isRequired): + +2010-12-06 Alejandro G. Castro <alex@igalia.com> + + Reviewed by Martin Robinson. + + [GTK] using shadows leaks memory + https://bugs.webkit.org/show_bug.cgi?id=50541 + + Fixed leaks in the shadow code. + * platform/graphics/cairo/CairoUtilities.cpp: + (WebCore::drawPatternToCairoContext): adoptRef instead of just + getting a new reference. + * platform/graphics/cairo/GraphicsContextCairo.cpp: + (WebCore::drawPathShadow): handle cairo_path_t with smart + pointers. + +2010-12-06 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + [v8] Web Inspector: remove duplicate code for capturing stack trace + https://bugs.webkit.org/show_bug.cgi?id=50461 + + No new tests. Covered with existing inspector tests. + + * bindings/js/ScriptCallStackFactory.cpp: + (WebCore::createScriptCallStack): + * bindings/js/ScriptCallStackFactory.h: + * bindings/v8/ScriptCallStackFactory.cpp: + (WebCore::toScriptCallFrame): + (WebCore::toScriptCallFramesVector): + (WebCore::createScriptCallStack): + * bindings/v8/ScriptCallStackFactory.h: + * bindings/v8/V8ConsoleMessage.cpp: + (WebCore::V8ConsoleMessage::handler): + * inspector/ScriptCallFrame.cpp: + (WebCore::ScriptCallFrame::ScriptCallFrame): + (WebCore::ScriptCallFrame::isEqual): + (WebCore::ScriptCallFrame::buildInspectorObject): + * inspector/ScriptCallFrame.h: + (WebCore::ScriptCallFrame::sourceURL): + * inspector/ScriptCallStack.h: + * inspector/TimelineRecordFactory.cpp: + (WebCore::TimelineRecordFactory::createGenericRecord): + * inspector/front-end/ConsoleView.js: + (WebInspector.ConsoleMessage.prototype._populateStackTraceTreeElement): + +== Rolled over to ChangeLog-2010-12-06 == |