summaryrefslogtreecommitdiffstats
path: root/Source/WebCore/ChangeLog-2011-02-16
diff options
context:
space:
mode:
authorBen Murdoch <benm@google.com>2011-05-24 11:24:40 +0100
committerBen Murdoch <benm@google.com>2011-06-02 09:53:15 +0100
commit81bc750723a18f21cd17d1b173cd2a4dda9cea6e (patch)
tree7a9e5ed86ff429fd347a25153107221543909b19 /Source/WebCore/ChangeLog-2011-02-16
parent94088a6d336c1dd80a1e734af51e96abcbb689a7 (diff)
downloadexternal_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-1647896
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 ==