Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(182)

Unified Diff: Source/WebCore/ChangeLog

Side-by-side diff isn't available for this file because of its large size.
Issue 10873100: Merge 125961 - [chromium] Fix random noise around text in FPS HUD. (Closed) Base URL: http://svn.webkit.org/repository/webkit/branches/chromium/1229/
Patch Set: Created 8 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
Download patch
« no previous file with comments | « no previous file | Source/WebCore/platform/graphics/chromium/CompositorHUDFontAtlas.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/WebCore/ChangeLog
===================================================================
--- Source/WebCore/ChangeLog (revision 126822)
+++ Source/WebCore/ChangeLog (working copy)
@@ -1,3 +1,7807 @@
+2012-08-17 Vangelis Kokkevis <vangelis@chromium.org>
+
+ [chromium] Fix random noise around text in FPS HUD.
+ https://bugs.webkit.org/show_bug.cgi?id=94400
+
+ Reviewed by James Robinson.
+
+ This was the result of an incorrect clear operation on the canvas
+ that stores the font atlas used by the HUD.
+
+
+ * platform/graphics/chromium/CompositorHUDFontAtlas.cpp:
+ (WebCore::CompositorHUDFontAtlas::generateFontAtlas):
+
+2012-08-17 Dirk Pranke <dpranke@chromium.org>
+
+ Unreviewed, rolling out r125897.
+ http://trac.webkit.org/changeset/125897
+ https://bugs.webkit.org/show_bug.cgi?id=94326
+
+ This patch seems to have broken the inspector on the apple mac bots.
+
+ * WebCore.gypi:
+ * inspector/compile-front-end.py:
+ * inspector/front-end/AuditsPanel.js:
+ * inspector/front-end/CodeMirrorTextEditor.js:
+ (WebInspector.CodeMirrorTextEditor):
+ (WebInspector.CodeMirrorTextEditor.prototype._toRange):
+ (WebInspector.CodeMirrorTextEditor.prototype._loadLibraries.loadLibrary):
+ (WebInspector.CodeMirrorTextEditor.prototype._loadLibraries):
+ * inspector/front-end/Color.js:
+ * inspector/front-end/ElementsPanel.js:
+ * inspector/front-end/ExtensionServer.js:
+ (WebInspector.ExtensionServer.prototype._onCreatePanel):
+ * inspector/front-end/Panel.js:
+ (WebInspector.Panel):
+ (WebInspector.PanelDescriptor):
+ (WebInspector.PanelDescriptor.prototype.panel):
+ * inspector/front-end/ResourcesPanel.js:
+ * inspector/front-end/SettingsScreen.js:
+ (WebInspector.GenericSettingsTab):
+ * inspector/front-end/SourceFrame.js:
+ (WebInspector.SourceFrame):
+ * inspector/front-end/Spectrum.js:
+ (WebInspector.Spectrum.prototype.get outputColorFormat):
+ * inspector/front-end/StylesSidebarPane.js:
+ * inspector/front-end/TimelinePanel.js:
+ * inspector/front-end/inspector.html:
+ * inspector/front-end/inspector.js:
+ (WebInspector._panelDescriptors):
+ (WebInspector.doLoadedDone):
+ * inspector/front-end/utilities.js:
+
+2012-08-17 Chris Rogers <crogers@google.com>
+
+ AudioParam must support k-rate processing with audio-rate connections
+ https://bugs.webkit.org/show_bug.cgi?id=94385
+
+ Reviewed by Kenneth Russell.
+
+ Fully implement AudioParam *final* value calculation according to spec:
+ https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#AudioParam
+
+ In particular, this covers the case where the parameter is k-rate, and we also
+ have audio-rate connections to the AudioParam.
+
+ * Modules/webaudio/AudioParam.cpp:
+ (WebCore::AudioParam::finalValue):
+ (WebCore):
+ (WebCore::AudioParam::calculateSampleAccurateValues):
+ (WebCore::AudioParam::calculateFinalValues):
+ * Modules/webaudio/AudioParam.h:
+ (AudioParam):
+ * Modules/webaudio/DelayDSPKernel.cpp:
+ (WebCore::DelayDSPKernel::process):
+
+2012-08-17 Alice Cheng <alice_cheng@apple.com>
+
+ Preserve styling elements in DeleteSelectionCommand
+ <rdar://problem/12040676>
+ https://bugs.webkit.org/show_bug.cgi?id=93643
+
+ Reviewed by Ryosuke Niwa.
+
+ Styling elements (<link> and <style>) can appear inside editable content. To
+ prevent accidental deletion, we move styling elements to rootEditableElement in
+ DeleteSelectionCommand undoably.
+
+ Test: editing/execCommand/delete-selection-has-style.html
+
+ * editing/DeleteSelectionCommand.cpp:
+ (WebCore::DeleteSelectionCommand::makeStylingElementsDirectChildrenOfEditableRootToPreventStyleLoss): Added to preserve styling elements during the command
+ (WebCore::DeleteSelectionCommand::handleGeneralDelete): Modified to preserve styling elements during the command
+ * editing/DeleteSelectionCommand.h:
+ (DeleteSelectionCommand):
+
+2012-08-17 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r125940.
+ http://trac.webkit.org/changeset/125940
+ https://bugs.webkit.org/show_bug.cgi?id=94398
+
+ "Causes crashes on the bots
+ http://build.webkit.org/results/Apple%20Lion%20Debug%20WK2%20(Tests)/r125944%20(2626)/fast/css
+ /first-letter-removed-added-crash-log.txt" (Requested by
+ bradee-oh on #webkit).
+
+ * rendering/RenderListItem.cpp:
+ * rendering/RenderListItem.h:
+ (RenderListItem):
+ * rendering/RenderObject.cpp:
+ * rendering/RenderObject.h:
+ (RenderObject):
+ * rendering/RenderObjectChildList.cpp:
+ (WebCore::RenderObjectChildList::removeChildNode):
+ * rendering/RenderObjectChildList.h:
+ (RenderObjectChildList):
+ * rendering/RenderQuote.cpp:
+ * rendering/RenderQuote.h:
+ * rendering/RenderRegion.cpp:
+ * rendering/RenderRegion.h:
+ (RenderRegion):
+
+2012-08-17 Sukolsak Sakshuwong <sukolsak@google.com>
+
+ Disconnect UndoManager when its undo scope host is destroyed
+ https://bugs.webkit.org/show_bug.cgi?id=94388
+
+ Reviewed by Ryosuke Niwa.
+
+ Disconnect UndoManager in Element's destructor to prevent
+ use-after-free vulnerabilities.
+
+ Test: editing/undomanager/undoscopehost-use-after-free.html
+
+ * dom/Element.cpp:
+ (WebCore::Element::~Element):
+
+2012-08-17 Dan Bernstein <mitz@apple.com>
+
+ Fixed incorrect references to JSVoidCallback.{cpp,h} in the project file.
+
+ * WebCore.xcodeproj/project.pbxproj:
+
+2012-08-17 Ryosuke Niwa <rniwa@webkit.org>
+
+ Fix Xcode project file.
+
+ * WebCore.xcodeproj/project.pbxproj:
+
+2012-08-17 Kangil Han <kangil.han@samsung.com>
+
+ [BlackBerry][EFL] Remove compile warning in WebCore
+ https://bugs.webkit.org/show_bug.cgi?id=94328
+
+ Reviewed by Rob Buis.
+
+ Fixed compile time warning in WebCore.
+
+ * platform/efl/RenderThemeEfl.cpp:
+ (WebCore::RenderThemeEfl::createEdje): unused variable ‘errmsg’ [-Wunused-variable]
+ * platform/graphics/harfbuzz/ng/HarfBuzzShaper.cpp:
+ (WebCore::HarfBuzzShaper::selectionRect): ‘toX’ may be used uninitialized in this function [-Wuninitialized], ‘fromX’ may be used uniniti
+
+2012-08-17 Arnaud Renevier <a.renevier@sisa.samsung.com>
+
+ [V8] use checkInboundData in setWebGLArrayHelper
+ https://bugs.webkit.org/show_bug.cgi?id=93051
+
+ Reviewed by Kenneth Russell.
+
+ Use TypedArray method checkInboundData in setWebGLArrayHelper instead
+ of performing the computation manually.
+
+ No new tests. This patch doesn't change behavior.
+
+ * bindings/v8/custom/V8ArrayBufferViewCustom.h:
+ (WebCore::setWebGLArrayHelper):
+
+2012-08-17 Alexey Proskuryakov <ap@apple.com>
+
+ REGRESSION (r125912): Crashes in worker tests
+ https://bugs.webkit.org/show_bug.cgi?id=94390
+
+ Reviewed by Brady Eidson and Sam Weinig.
+
+ * bindings/js/JSDOMBinding.cpp: (WebCore::reportException): It's always fine
+ to report an exception on a worker context, but it's not fine to treat those as windows.
+
+2012-08-17 James Robinson <jamesr@chromium.org>
+
+ [chromium] Add missing header files to .gypi and missing include to CCTiledLayerImpl.cpp
+ https://bugs.webkit.org/show_bug.cgi?id=94391
+
+ Reviewed by Adrienne Walker.
+
+ * WebCore.gypi:
+ * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
+
+2012-08-17 David Grogan <dgrogan@chromium.org>
+
+ IndexedDB: Test if getting a TRANSACTION_INACTIVE_ERR is possible when setting version
+ https://bugs.webkit.org/show_bug.cgi?id=94269
+
+ Reviewed by Ojan Vafai.
+
+ I don't see a path through which this code is exercised.
+ ASSERT_NOT_REACHED doesn't cause any of our tests to fail. It might be
+ timing-related, in which case this ASSERT should be sporadically hit.
+ If this ASSERT is hit, see if we can write a test that exercises it or
+ at least add comments explaining how it gets exercised. If this ASSERT
+ is not hit after a while, change it to
+ ASSERT(transaction.scheduleTask(...)).
+
+ No new tests, we're looking for existing tests to fail.
+
+ * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
+ (WebCore::IDBDatabaseBackendImpl::setVersion):
+ (WebCore::IDBDatabaseBackendImpl::runIntVersionChangeTransaction):
+
+2012-08-17 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r125922.
+ http://trac.webkit.org/changeset/125922
+ https://bugs.webkit.org/show_bug.cgi?id=94389
+
+ "Causing failing/crashing tests on Mac bots" (Requested by
+ bradee-oh on #webkit).
+
+ * WebCore.gypi:
+ * inspector/front-end/CPUProfileView.js:
+ (WebInspector.CPUProfileHeader.prototype.createView):
+ * inspector/front-end/CSSSelectorProfileView.js:
+ (WebInspector.CSSSelectorProfileType.prototype.buttonClicked):
+ (WebInspector.CSSSelectorProfileType.prototype._startRecordingProfile):
+ (WebInspector.CSSSelectorProfileType.prototype._stopRecordingProfile):
+ (WebInspector.CSSProfileHeader.prototype.createView):
+ * inspector/front-end/HeapSnapshotDataGrids.js:
+ (WebInspector.HeapSnapshotSortableDataGrid.prototype.populateContextMenu.revealInDominatorsView):
+ (WebInspector.HeapSnapshotSortableDataGrid.prototype.populateContextMenu.else.revealInSummaryView):
+ (WebInspector.HeapSnapshotSortableDataGrid.prototype.populateContextMenu):
+ * inspector/front-end/HeapSnapshotView.js:
+ (WebInspector.HeapSnapshotView.prototype._profiles):
+ (WebInspector.HeapSnapshotView.prototype.populateContextMenu):
+ (WebInspector.HeapSnapshotProfileType.prototype.buttonClicked):
+ (WebInspector.HeapProfileHeader.prototype.createView):
+ * inspector/front-end/InspectorFrontendAPI.js:
+ (InspectorFrontendAPI.isProfilingJavaScript):
+ (InspectorFrontendAPI.startProfilingJavaScript):
+ (InspectorFrontendAPI.stopProfilingJavaScript):
+ * inspector/front-end/NativeMemorySnapshotView.js:
+ (WebInspector.NativeMemoryProfileHeader.prototype.createView):
+ * inspector/front-end/ProfilesPanel.js:
+ (WebInspector.ProfileType.prototype.buttonClicked):
+ (WebInspector.ProfileHeader.prototype.view):
+ (WebInspector.ProfileHeader.prototype.createView):
+ (WebInspector.ProfilesPanel.prototype.toggleRecordButton):
+ (WebInspector.ProfilesPanel.prototype.showProfileForURL):
+ (WebInspector.RevealInHeapSnapshotContextMenuProvider.prototype.populateContextMenu.didReceiveHeapObjectId):
+ (WebInspector.RevealInHeapSnapshotContextMenuProvider.prototype.populateContextMenu):
+ (WebInspector.ProfileSidebarTreeElement.prototype.handleContextMenuEvent):
+ (WebInspector.ProfileGroupSidebarTreeElement.prototype.onselect):
+ * inspector/front-end/Settings.js:
+ * inspector/front-end/externs.js:
+ * inspector/front-end/inspector.html:
+ * inspector/front-end/inspector.js:
+ (WebInspector._panelDescriptors):
+ (WebInspector._toggleSearchingForNode):
+ (WebInspector._requestZoom.set InspectorFrontendHost):
+ (WebInspector._requestZoom):
+ (WebInspector.documentClick.followLink):
+ (WebInspector.documentClick):
+ (WebInspector.frontendReused):
+
+2012-08-17 Julien Chaffraix <jchaffraix@webkit.org>
+
+ Introduce a will-be-removed-from-tree notification in RenderObject
+ https://bugs.webkit.org/show_bug.cgi?id=94271
+
+ Reviewed by Abhishek Arya.
+
+ Following bug 93874, we have an insertion notification. This change adds the
+ matching removal notification (willBeRemovedFromTree).
+
+ Refactoring covered by existing tests.
+
+ * rendering/RenderObjectChildList.cpp:
+ (WebCore::RenderObjectChildList::removeChildNode):
+ Removed the code from here and moved it below.
+
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::willBeRemovedFromTree):
+ * rendering/RenderObject.h:
+ This is the base function that should be called by every instance.
+
+ * rendering/RenderListItem.cpp:
+ (WebCore::RenderListItem::willBeRemovedFromTree):
+ * rendering/RenderListItem.h:
+ * rendering/RenderQuote.cpp:
+ (WebCore::RenderQuote::willBeRemovedFromTree):
+ * rendering/RenderQuote.h:
+ * rendering/RenderRegion.cpp:
+ (WebCore::RenderRegion::willBeRemovedFromTree):
+ * rendering/RenderRegion.h:
+ Overriden functions.
+
+2012-08-17 Brian Anderson <brianderson@chromium.org>
+
+ Fix vsyncTick drought when vsync throttling is disabled
+ https://bugs.webkit.org/show_bug.cgi?id=94012
+
+ Reviewed by James Robinson.
+
+ CCFrameRateController made an assumption that every vsyncTick results
+ in a call to didBeginFrame, which is not necessarily true and causes
+ the CCFrameRateController to stop ticking when vsync is disabled. We
+ move the manual ticks out of didBeginFrame and manually tick in the
+ proper place.
+
+ CCFrameRateControllerTest updated with use cases that should tick
+ without a didBeginFrame and will fail without this patch.
+
+ * platform/graphics/chromium/cc/CCFrameRateController.cpp:
+ (WebCore::CCFrameRateController::setActive):
+ (WebCore::CCFrameRateController::onTimerTick):
+ (WebCore::CCFrameRateController::didBeginFrame):
+
+2012-08-16 Ojan Vafai <ojan@chromium.org>
+
+ Delete some dead code in RenderBox::computePercentageLogicalHeight
+ https://bugs.webkit.org/show_bug.cgi?id=94262
+
+ Reviewed by Tony Chang.
+
+ I'm pretty sure this is dead code. None of the layout tests hit this code,
+ including the ones added in the original patch http://trac.webkit.org/changeset/10983.
+ I spent a good while and could not concoct a test that hits this code.
+
+ The test-cases added in that file, as well as the test-cases I came up with that should
+ go through this codepath, instead go through computePositionedLogicalHeight and never
+ hit computePercentageLogicalHeight.
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::computePercentageLogicalHeight):
+
+2012-08-17 Benjamin Poulain <bpoulain@apple.com>
+
+ Make it easier to append a literal to StringBuilder
+ https://bugs.webkit.org/show_bug.cgi?id=94273
+
+ Reviewed by Kentaro Hara.
+
+ Use StringBuilder::appendLiteral() in MarkupAccumulator instead of computing every
+ value individually.
+
+ * editing/MarkupAccumulator.cpp:
+ (WebCore::MarkupAccumulator::appendComment):
+ (WebCore::MarkupAccumulator::appendXMLDeclaration):
+ (WebCore::MarkupAccumulator::appendDocumentType):
+ (WebCore::MarkupAccumulator::appendCDATASection):
+
+2012-08-17 Benjamin Poulain <bpoulain@apple.com>
+
+ Share the StringImpl the CSS property names
+ https://bugs.webkit.org/show_bug.cgi?id=94187
+
+ Reviewed by Alexey Proskuryakov.
+
+ Previously, we would instanciate a new String every time a CSS property name was needed.
+
+ This patches moves the creation of the AtomicString to CSSPropertyNames and reuse that
+ StringImpl whenever needed.
+
+ With the patch, accessing CSS property names from JavaScript gets about 2.1 times faster.
+
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
+ (WebCore::CSSComputedStyleDeclaration::item):
+ * css/CSSPrimitiveValue.cpp:
+ (WebCore::valueOrPropertyName):
+ * css/CSSProperty.cpp:
+ (WebCore::CSSProperty::cssName):
+ * css/PropertySetCSSStyleDeclaration.cpp:
+ (WebCore::PropertySetCSSStyleDeclaration::item):
+ (WebCore::PropertySetCSSStyleDeclaration::getPropertyShorthand):
+ * css/makeprop.pl:
+ * inspector/InspectorCSSAgent.cpp:
+ (WebCore::InspectorCSSAgent::getSupportedCSSProperties):
+ * inspector/InspectorStyleSheet.cpp:
+ (WebCore::InspectorStyle::styleWithProperties):
+ * page/animation/ImplicitAnimation.cpp:
+ (WebCore::ImplicitAnimation::sendTransitionEvent):
+
+2012-08-16 James Robinson <jamesr@chromium.org>
+
+ [chromium] Add Source/WebCore/platform/graphics/chromium/cc/ to include path and remove cc/ prefix from includes
+ https://bugs.webkit.org/show_bug.cgi?id=94279
+
+ Reviewed by Adam Barth.
+
+ This brings us more in line with the rest of the WebKit repo and avoids potential header collisions during
+ transition.
+
+ * WebCore.gyp/WebCore.gyp:
+ * platform/chromium/support/CCThreadImpl.cpp:
+ * platform/chromium/support/CCThreadImpl.h:
+ * platform/chromium/support/WebCompositorImpl.cpp:
+ * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.cpp:
+ * platform/graphics/chromium/CanvasLayerTextureUpdater.cpp:
+ * platform/graphics/chromium/ContentLayerChromium.cpp:
+ * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp:
+ * platform/graphics/chromium/HeadsUpDisplayLayerChromium.cpp:
+ * platform/graphics/chromium/HeadsUpDisplayLayerChromium.h:
+ * platform/graphics/chromium/IOSurfaceLayerChromium.cpp:
+ * platform/graphics/chromium/ImageLayerChromium.cpp:
+ * platform/graphics/chromium/LayerChromium.cpp:
+ * platform/graphics/chromium/LayerChromium.h:
+ * platform/graphics/chromium/LayerRendererChromium.cpp:
+ * platform/graphics/chromium/LayerRendererChromium.h:
+ * platform/graphics/chromium/LayerTextureUpdater.h:
+ * platform/graphics/chromium/LinkHighlight.cpp:
+ * platform/graphics/chromium/RateLimiter.cpp:
+ * platform/graphics/chromium/RenderSurfaceChromium.cpp:
+ * platform/graphics/chromium/ScrollbarLayerChromium.cpp:
+ * platform/graphics/chromium/SolidColorLayerChromium.cpp:
+ * platform/graphics/chromium/TextureLayerChromium.cpp:
+ * platform/graphics/chromium/TiledLayerChromium.cpp:
+ * platform/graphics/chromium/TiledLayerChromium.h:
+ * platform/graphics/chromium/TreeSynchronizer.cpp:
+ * platform/graphics/chromium/VideoLayerChromium.cpp:
+ * platform/graphics/chromium/cc/CCActiveAnimation.cpp:
+ * platform/graphics/chromium/cc/CCActiveGestureAnimation.cpp:
+ * platform/graphics/chromium/cc/CCAnimationCurve.cpp:
+ * platform/graphics/chromium/cc/CCAnimationEvents.h:
+ * platform/graphics/chromium/cc/CCCheckerboardDrawQuad.cpp:
+ * platform/graphics/chromium/cc/CCCheckerboardDrawQuad.h:
+ * platform/graphics/chromium/cc/CCDamageTracker.cpp:
+ * platform/graphics/chromium/cc/CCDebugBorderDrawQuad.cpp:
+ * platform/graphics/chromium/cc/CCDebugBorderDrawQuad.h:
+ * platform/graphics/chromium/cc/CCDelayBasedTimeSource.cpp:
+ * platform/graphics/chromium/cc/CCDelayBasedTimeSource.h:
+ * platform/graphics/chromium/cc/CCDrawQuad.cpp:
+ * platform/graphics/chromium/cc/CCDrawQuad.h:
+ * platform/graphics/chromium/cc/CCFontAtlas.cpp:
+ * platform/graphics/chromium/cc/CCFrameRateController.cpp:
+ * platform/graphics/chromium/cc/CCFrameRateController.h:
+ * platform/graphics/chromium/cc/CCHeadsUpDisplayLayerImpl.cpp:
+ * platform/graphics/chromium/cc/CCHeadsUpDisplayLayerImpl.h:
+ * platform/graphics/chromium/cc/CCIOSurfaceDrawQuad.cpp:
+ * platform/graphics/chromium/cc/CCIOSurfaceDrawQuad.h:
+ * platform/graphics/chromium/cc/CCIOSurfaceLayerImpl.cpp:
+ * platform/graphics/chromium/cc/CCIOSurfaceLayerImpl.h:
+ * platform/graphics/chromium/cc/CCKeyframedAnimationCurve.cpp:
+ * platform/graphics/chromium/cc/CCKeyframedAnimationCurve.h:
+ * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
+ * platform/graphics/chromium/cc/CCLayerAnimationController.h:
+ * platform/graphics/chromium/cc/CCLayerImpl.cpp:
+ * platform/graphics/chromium/cc/CCLayerImpl.h:
+ * platform/graphics/chromium/cc/CCLayerIterator.cpp:
+ * platform/graphics/chromium/cc/CCLayerIterator.h:
+ * platform/graphics/chromium/cc/CCLayerQuad.cpp:
+ * platform/graphics/chromium/cc/CCLayerSorter.cpp:
+ * platform/graphics/chromium/cc/CCLayerSorter.h:
+ * platform/graphics/chromium/cc/CCLayerTilingData.cpp:
+ * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
+ * platform/graphics/chromium/cc/CCLayerTreeHost.h:
+ * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
+ * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
+ * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
+ * platform/graphics/chromium/cc/CCMathUtil.cpp:
+ * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
+ * platform/graphics/chromium/cc/CCOcclusionTracker.h:
+ * platform/graphics/chromium/cc/CCOverdrawMetrics.cpp:
+ * platform/graphics/chromium/cc/CCPageScaleAnimation.cpp:
+ * platform/graphics/chromium/cc/CCPrioritizedTexture.h:
+ * platform/graphics/chromium/cc/CCProxy.cpp:
+ * platform/graphics/chromium/cc/CCQuadCuller.cpp:
+ * platform/graphics/chromium/cc/CCRenderPass.cpp:
+ * platform/graphics/chromium/cc/CCRenderPass.h:
+ * platform/graphics/chromium/cc/CCRenderPassDrawQuad.cpp:
+ * platform/graphics/chromium/cc/CCRenderPassDrawQuad.h:
+ * platform/graphics/chromium/cc/CCRenderSurface.cpp:
+ * platform/graphics/chromium/cc/CCRenderSurface.h:
+ * platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp:
+ * platform/graphics/chromium/cc/CCRenderer.h:
+ * platform/graphics/chromium/cc/CCResourceProvider.cpp:
+ * platform/graphics/chromium/cc/CCResourceProvider.h:
+ * platform/graphics/chromium/cc/CCScheduler.cpp:
+ * platform/graphics/chromium/cc/CCScheduler.h:
+ * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
+ * platform/graphics/chromium/cc/CCScopedTexture.cpp:
+ * platform/graphics/chromium/cc/CCScopedTexture.h:
+ * platform/graphics/chromium/cc/CCScopedThreadProxy.h:
+ * platform/graphics/chromium/cc/CCScrollbarAnimationController.cpp:
+ * platform/graphics/chromium/cc/CCScrollbarAnimationControllerLinearFade.cpp:
+ * platform/graphics/chromium/cc/CCScrollbarAnimationControllerLinearFade.h:
+ * platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
+ * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
+ * platform/graphics/chromium/cc/CCSettings.cpp:
+ * platform/graphics/chromium/cc/CCSharedQuadState.cpp:
+ * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
+ * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
+ * platform/graphics/chromium/cc/CCSolidColorDrawQuad.cpp:
+ * platform/graphics/chromium/cc/CCSolidColorDrawQuad.h:
+ * platform/graphics/chromium/cc/CCSolidColorLayerImpl.cpp:
+ * platform/graphics/chromium/cc/CCSolidColorLayerImpl.h:
+ * platform/graphics/chromium/cc/CCStreamVideoDrawQuad.cpp:
+ * platform/graphics/chromium/cc/CCStreamVideoDrawQuad.h:
+ * platform/graphics/chromium/cc/CCTexture.cpp:
+ * platform/graphics/chromium/cc/CCTexture.h:
+ * platform/graphics/chromium/cc/CCTextureDrawQuad.cpp:
+ * platform/graphics/chromium/cc/CCTextureDrawQuad.h:
+ * platform/graphics/chromium/cc/CCTextureLayerImpl.cpp:
+ * platform/graphics/chromium/cc/CCTextureLayerImpl.h:
+ * platform/graphics/chromium/cc/CCTextureUpdateController.cpp:
+ * platform/graphics/chromium/cc/CCTextureUpdateController.h:
+ * platform/graphics/chromium/cc/CCTextureUpdateQueue.cpp:
+ * platform/graphics/chromium/cc/CCThreadProxy.cpp:
+ * platform/graphics/chromium/cc/CCThreadProxy.h:
+ * platform/graphics/chromium/cc/CCThreadTask.h:
+ * platform/graphics/chromium/cc/CCTileDrawQuad.cpp:
+ * platform/graphics/chromium/cc/CCTileDrawQuad.h:
+ * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
+ * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
+ * platform/graphics/chromium/cc/CCTimer.cpp:
+ * platform/graphics/chromium/cc/CCTimingFunction.cpp:
+ * platform/graphics/chromium/cc/CCTimingFunction.h:
+ * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
+ * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
+ * platform/graphics/chromium/cc/CCYUVVideoDrawQuad.cpp:
+ * platform/graphics/chromium/cc/CCYUVVideoDrawQuad.h:
+ * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
+
+2012-08-17 Ojan Vafai <ojan@chromium.org>
+
+ Delete dead code in deprecated flexbox for RTL line-clamp
+ https://bugs.webkit.org/show_bug.cgi?id=94282
+
+ Reviewed by Tony Chang.
+
+ -webkit-line-clamp and direction:rtl is not supported. Delete some
+ obviously dead code that half-tries to support it.
+ * rendering/RenderDeprecatedFlexibleBox.cpp:
+ (WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
+
+2012-08-17 John Mellor <johnme@chromium.org>
+
+ Text Autosizing: Increase line height in proportion to font size.
+ https://bugs.webkit.org/show_bug.cgi?id=91660
+
+ Reviewed by Julien Chaffraix.
+
+ This patch causes line heights to be increased in proportion to font
+ size (so autosized text doesn't overlap itself). It does this by adding
+ a textAutosizingMultiplier() to RenderStyle, which the lineHeight()
+ getter multiplies its response by.
+
+ It also cleans up one or two things, for example treatAsInline is
+ renamed isNotAnAutosizingContainer to clarify that its purpose is to
+ discriminate autosizing containers (the smallest unit that we can turn
+ Text Autosizing on or off for; in particular these are not allowed to
+ be line participants, since multiple sizes on one line looks awful).
+
+ Tests: fast/text-autosizing/em-margin-border-padding.html
+ fast/text-autosizing/narrow-child.html
+ fast/text-autosizing/nested-em-line-height.html
+ fast/text-autosizing/simple-paragraph.html
+ fast/text-autosizing/span-child.html
+ fast/text-autosizing/wide-child.html
+
+ * css/StyleBuilder.cpp:
+ (WebCore::ApplyPropertyLineHeight::applyValue):
+
+ Replaced Length(-100.0, Percent) with RenderStyle::initialLineHeight(),
+ which is equivalent but makes the intent clearer.
+
+ (WebCore::ApplyPropertyLineHeight::createHandler):
+
+ Use specifiedLineHeight to match setLineHeight which takes a specified
+ line height (and generally this avoids accidentally inheriting text
+ autosizing).
+
+ * css/StyleResolver.cpp:
+ (WebCore::StyleResolver::applyProperty):
+
+ Similarly use specifiedLineHeight when inheriting line height.
+
+ * page/animation/CSSPropertyAnimation.cpp:
+ (WebCore::CSSPropertyAnimation::ensurePropertyMap):
+
+ Get and set specified lineHeight/fontSize if Text Autosizing is
+ enabled to avoid setting the specified value to the computed value
+ (causing values to be multiplied more than once!).
+
+ * platform/blackberry/RenderThemeBlackBerry.cpp:
+ (WebCore::RenderThemeBlackBerry::adjustMediaControlStyle):
+
+ Adjust for renamed setBlendedFontSize, and maintain cast to int.
+
+ * rendering/RenderTextControlSingleLine.cpp:
+ (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
+
+ Replaced Length(-100.0, Percent) with RenderStyle::initialLineHeight(),
+ which is equivalent but makes the intent clearer.
+
+ * rendering/TextAutosizer.cpp:
+ (WebCore::TextAutosizer::processSubtree):
+
+ Use nextInPreOrderMatchingFilter instead of traverseNext, and some
+ other methods that got renamed.
+
+ (WebCore::TextAutosizer::processBox):
+
+ Renamed from processBlock, since RenderBoxes are sufficient; use
+ renamed nextInPreOrderMatchingFilter; make two calls to setMultiplier
+ (one for parent for line height) instead of processText.
+
+ (WebCore::TextAutosizer::setMultiplier):
+
+ Simplified from previous processText method; this just sets the
+ style's textAutosizingMultiplier (and the style does the rest).
+
+ (WebCore::TextAutosizer::isNotAnAutosizingContainer):
+
+ Renamed from treatAsInline; added explanatory comment; changed
+ isRenderBlock to isBox as boxes still have logicalWidth; changed
+ isInlineBlockOrInlineTable to isInline as it was an omission that
+ other inlines were allowed.
+
+ (WebCore::TextAutosizer::nextInPreOrderMatchingFilter):
+
+ Renamed from TextAutosizer::traverseNext.
+
+ (RenderObjectFilterFunctor):
+
+ Renamed from RenderObjectFilter to clafiry that it's a function ptr.
+
+ * rendering/TextAutosizer.h:
+ (TextAutosizer): Previously mentioned renamings.
+
+ * rendering/mathml/RenderMathMLSubSup.cpp:
+ (WebCore::RenderMathMLSubSup::fixScriptsStyle):
+
+ Adjust for renamed setBlendedFontSize.
+
+ * rendering/style/RenderStyle.cpp:
+ (WebCore::RenderStyle::diff):
+
+ textAutosizingMultiplier is a StyleDifferenceLayout (we want
+ setNeedsLayoutAndPrefWidthsRecalc to get called).
+
+ (WebCore::RenderStyle::setFontSize):
+
+ Renamed from setBlendedFontSize; if Text Autosizing is enabled and a
+ multiplier is set it auto-calculates the computedSize; float
+ param instead of int as discussed on webkit.org/b/91660.
+
+ * rendering/style/RenderStyle.h:
+
+ Added specifiedFontSize, computedFontSize and specifiedLineHeight
+ getters; changed lineHeight to dynamically calculate autosized line
+ height, and made computedLineHeight use this value instead of the
+ specified line height; also added textAutosizingMultiplier
+ getter/setter (the setter updated the font description's computed
+ size, by calling setFontSize); also renamed the parameter to
+ setLineHeight to explicitly note that it's setting the
+ specifiedLineHeight (and can still be adjusted by autosizing).
+
+ * rendering/style/StyleVisualData.cpp/.h:
+
+ Added m_textAutosizingMultiplier (this seems the best place to put a
+ non-inherited non-rare presentational property).
+
+2012-08-17 Raphael Kubo da Costa <rakuco@webkit.org>
+
+ [CMake] Add FindDBus.cmake and use it in the EFL port.
+ https://bugs.webkit.org/show_bug.cgi?id=94319
+
+ Reviewed by Daniel Bates.
+
+ * PlatformEfl.cmake: Link against DBUS_LIBRARIES and add
+ DBUS_INCLUDE_DIRS to the include path list if BATTERY_STATUS
+ support is enabled.
+
+2012-08-17 Pavel Feldman <pfeldman@chromium.org>
+
+ Web Inspector: make profiles panel a lazily loaded module.
+ https://bugs.webkit.org/show_bug.cgi?id=94351
+
+ Reviewed by Yury Semikhatsky.
+
+ Moving files from .html to importScript.
+
+ * WebCore.gypi:
+ * inspector/front-end/CPUProfileView.js:
+ (WebInspector.CPUProfileHeader.prototype.createView):
+ * inspector/front-end/CSSSelectorProfileView.js:
+ (WebInspector.CSSSelectorProfileType.prototype.buttonClicked):
+ (WebInspector.CSSSelectorProfileType.prototype._startRecordingProfile):
+ (WebInspector.CSSSelectorProfileType.prototype._stopRecordingProfile):
+ (WebInspector.CSSProfileHeader.prototype.createView):
+ * inspector/front-end/HeapSnapshotDataGrids.js:
+ (WebInspector.HeapSnapshotSortableDataGrid.prototype.populateContextMenu.revealInDominatorsView):
+ (WebInspector.HeapSnapshotSortableDataGrid.prototype.populateContextMenu.else.revealInSummaryView):
+ (WebInspector.HeapSnapshotSortableDataGrid.prototype.populateContextMenu):
+ * inspector/front-end/HeapSnapshotView.js:
+ (WebInspector.HeapSnapshotView.prototype._profiles):
+ (WebInspector.HeapSnapshotView.prototype.populateContextMenu):
+ (WebInspector.HeapSnapshotProfileType.prototype.buttonClicked):
+ (WebInspector.HeapProfileHeader.prototype.createView):
+ * inspector/front-end/InspectorFrontendAPI.js:
+ (InspectorFrontendAPI.isProfilingJavaScript):
+ (InspectorFrontendAPI.startProfilingJavaScript):
+ (InspectorFrontendAPI.stopProfilingJavaScript):
+ * inspector/front-end/NativeMemorySnapshotView.js:
+ (WebInspector.NativeMemoryProfileHeader.prototype.createView):
+ * inspector/front-end/ProfilesPanel.js:
+ (WebInspector.ProfileType.prototype.buttonClicked):
+ (WebInspector.ProfileHeader.prototype.view):
+ (WebInspector.ProfileHeader.prototype.createView):
+ (WebInspector.ProfilesPanel.prototype.toggleRecordButton):
+ (WebInspector.ProfilesPanel.prototype.showProfileForURL):
+ (WebInspector.RevealInHeapSnapshotContextMenuProvider.prototype.populateContextMenu.didReceiveHeapObjectId):
+ (WebInspector.RevealInHeapSnapshotContextMenuProvider.prototype.populateContextMenu):
+ (WebInspector.ProfileSidebarTreeElement.prototype.handleContextMenuEvent):
+ (WebInspector.ProfileGroupSidebarTreeElement.prototype.onselect):
+ * inspector/front-end/externs.js:
+ * inspector/front-end/inspector.html:
+ * inspector/front-end/inspector.js:
+ (WebInspector._panelDescriptors):
+ (WebInspector._toggleSearchingForNode):
+ (WebInspector._profilesLinkifier):
+ (WebInspector._requestZoom.set InspectorFrontendHost):
+ (WebInspector._requestZoom):
+ (WebInspector.documentClick.followLink):
+ (WebInspector.documentClick):
+
+2012-08-17 Dominic Mazzoni <dmazzoni@google.com>
+
+ REGRESSION(r125710) - canvas-fallback-content tests asserting in Chromium
+ https://bugs.webkit.org/show_bug.cgi?id=94156
+
+ Reviewed by Chris Fleizach.
+
+ When determining if a Node is focusable, check the canvas subtree
+ case first before encountering assertions that assume that anything
+ focusable must have an associated renderer.
+
+ Fixes existing tests so they don't assert.
+
+ * dom/Node.cpp:
+ (WebCore::Node::isFocusable):
+
+2012-08-17 Arpita Bahuguna <arpitabahuguna@gmail.com>
+
+ ASSERTION FAILED: allocatedMaxLogicalWidth <= cellMaxLogicalWidth : int WebCore::AutoTableLayout::calcEffectiveLogicalWidth()
+ https://bugs.webkit.org/show_bug.cgi?id=92471
+
+ Reviewed by Julien Chaffraix.
+
+ The assert occurs due to the float based computations causing a floating
+ point rounding error between allocatedMaxLogicalWidth and cellMaxLogicalWidth.
+
+ Test: fast/table/assert-autotablelayout-maxlogicalwidth.html
+
+ * rendering/AutoTableLayout.cpp:
+ (WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
+ Converting float based calculations for computing max logical width to int based;
+ similar to the calculations for min logical width.
+
+2012-08-17 John J. Barton <johnjbarton@chromium.org>
+
+ Web Inspector: Add //@ sourceURL to test-runner evals
+ https://bugs.webkit.org/show_bug.cgi?id=94268
+
+ Reviewed by Pavel Feldman.
+
+ Postpend a line that tells the debugger what to call this eval buffer.
+ Name ends in the sequennce number so all evals will appear together.
+ evaluateInWebInspector0.js eg
+
+ * inspector/front-end/TestController.js:
+ (WebInspector.evaluateForTestInFrontend):
+
+2012-08-17 Adam Barth <abarth@webkit.org>
+
+ REGRESSION (r125592): Crash in Console::addMessage, under InjectedBundle::reportException
+ https://bugs.webkit.org/show_bug.cgi?id=94220
+
+ Reviewed by Alexey Proskuryakov.
+
+ Previously, this code was trying to detect whether a DOMWindow is
+ currently displayed in a Frame by testing whether
+ DOMWindow->scriptExecutionContext is zero. That used to work, but now
+ that DOMWindow->scriptExecutionContext is non-zero for detached
+ DOMWindow, this code doesn't work anymore. This patch replaces the code
+ with the current idiom, which is to call
+ DOMWindow::isCurrentDisplayedInFrame.
+
+ Alexey and I couldn't figure out how to test this change. This bug
+ causes a crash when some Safari extensions are installed, but it's not
+ clear whether this bug can be triggered from the web platform. We're
+ going to ask Jessie for ideas when she gets back from vacation.
+
+ * bindings/js/JSDOMBinding.cpp:
+ (WebCore::reportException):
+
+2012-08-17 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r125892.
+ http://trac.webkit.org/changeset/125892
+ https://bugs.webkit.org/show_bug.cgi?id=94350
+
+ Broke windows build (Requested by vollick on #webkit).
+
+ * platform/graphics/chromium/cc/CCActiveAnimation.cpp:
+ (WebCore::CCActiveAnimation::CCActiveAnimation):
+ (WebCore::CCActiveAnimation::~CCActiveAnimation):
+ (WebCore::CCActiveAnimation::setRunState):
+ (WebCore::CCActiveAnimation::cloneForImplThread):
+ * platform/graphics/chromium/cc/CCActiveAnimation.h:
+ (CCActiveAnimation):
+ * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
+ (WebCore::CCLayerAnimationController::pushNewAnimationsToImplThread):
+ (WebCore):
+ (WebCore::CCLayerAnimationController::replaceImplThreadAnimations):
+ (WebCore::CCLayerAnimationController::tickAnimations):
+
+2012-08-17 Zach Kuznia <zork@chromium.org>
+
+ Add support for Skia Magnifier filter to Chromium layers
+ https://bugs.webkit.org/show_bug.cgi?id=93939
+
+ Reviewed by James Robinson.
+
+ This is used by Chrome OS for the screen magnifier
+
+ * platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp:
+ (WebCore::CCRenderSurfaceFilters::optimize):
+ (WebCore::CCRenderSurfaceFilters::apply):
+
+2012-08-17 Allan Sandfeld Jensen <allan.jensen@nokia.com>
+
+ Touch adjustment for context menu gestures
+ https://bugs.webkit.org/show_bug.cgi?id=94101
+
+ Reviewed by Antonio Gomes.
+
+ Adds a new filter for detecting nodes that provides extra context-menu items,
+ and use that in a new set of functions for adjusting context-menu gestures.
+
+ Tests: touchadjustment/context-menu-select-text.html
+ touchadjustment/context-menu.html
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::bestContextMenuNodeForTouchPoint):
+ (WebCore::EventHandler::adjustGesturePosition):
+ * page/EventHandler.h:
+ (EventHandler):
+ * page/TouchAdjustment.cpp:
+ (WebCore::TouchAdjustment::nodeProvidesContextMenuItems):
+ (TouchAdjustment):
+ (WebCore::findBestContextMenuCandidate):
+ * page/TouchAdjustment.h:
+ * testing/Internals.cpp:
+ (WebCore::Internals::touchPositionAdjustedToBestContextMenuNode):
+ (WebCore::Internals::touchNodeAdjustedToBestContextMenuNode):
+ * testing/Internals.h:
+ (Internals):
+ * testing/Internals.idl:
+
+2012-08-17 Pavel Feldman <pfeldman@chromium.org>
+
+ https://bugs.webkit.org/show_bug.cgi?id=94326
+
+ Reviewed by Vsevolod Vlasov.
+
+ Loading code on demand (upon the panel access).
+
+ * WebCore.gypi:
+ * inspector/front-end/AuditsPanel.js:
+ * inspector/front-end/CodeMirrorTextEditor.js:
+ (WebInspector.CodeMirrorTextEditor):
+ (WebInspector.CodeMirrorTextEditor.prototype._toRange):
+ * inspector/front-end/ElementsPanel.js:
+ * inspector/front-end/ExtensionServer.js:
+ (WebInspector.ExtensionServer.prototype._onCreatePanel):
+ * inspector/front-end/Panel.js:
+ (WebInspector.Panel):
+ (WebInspector.PanelDescriptor):
+ (WebInspector.PanelDescriptor.prototype.panel):
+ * inspector/front-end/ResourcesPanel.js:
+ * inspector/front-end/SourceFrame.js:
+ (WebInspector.SourceFrame):
+ * inspector/front-end/TimelinePanel.js:
+ * inspector/front-end/inspector.html:
+ * inspector/front-end/inspector.js:
+ (WebInspector._panelDescriptors):
+ (WebInspector.doLoadedDone):
+ * inspector/front-end/utilities.js:
+
+2012-08-17 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r125880.
+ http://trac.webkit.org/changeset/125880
+ https://bugs.webkit.org/show_bug.cgi?id=94347
+
+ Breaks front-end compilation: SourceFrame passed where View is
+ expected. (Requested by pfeldman on #webkit).
+
+ * inspector/front-end/CodeMirrorTextEditor.js:
+ (WebInspector.CodeMirrorTextEditor.prototype._loadLibraries):
+ * inspector/front-end/DefaultTextEditor.js:
+ (WebInspector.DefaultTextEditor.prototype.wasShown):
+ (WebInspector.DefaultTextEditor.prototype.willHide):
+ * inspector/front-end/JavaScriptSourceFrame.js:
+ (WebInspector.JavaScriptSourceFrame):
+ (WebInspector.JavaScriptSourceFrame.prototype.wasShown):
+ (WebInspector.JavaScriptSourceFrame.prototype.willHide):
+ * inspector/front-end/SourceFrame.js:
+ (WebInspector.SourceFrame):
+ (WebInspector.SourceFrame.prototype.wasShown):
+ (WebInspector.SourceFrame.prototype.willHide):
+ * inspector/front-end/TextEditor.js:
+ * inspector/front-end/scriptsPanel.css:
+ (.script-view):
+ (.script-view.visible):
+
+2012-08-17 Milian Wolff <milian.wolff@kdab.com>
+
+ [Qt] QNX build fails due to ctype usage in system headers
+ https://bugs.webkit.org/show_bug.cgi?id=93849
+
+ Reviewed by Simon Hausmann.
+
+ Move the check for whether DisallowCType should be active or not
+ to the DisallowCType.h header. This way, we can update the list
+ of platforms or OSes which do not work with this header in a
+ central place. All users can now safely include the header
+ and do not need to place custom guards around it.
+
+ * config.h:
+
+2012-08-17 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Unreviewed trivial build fix: Correct file name in bindings/js/DOMTransaction.h used in HEADERS
+
+ * Target.pri:
+
+2012-08-17 Ian Vollick <vollick@chromium.org>
+
+ [chromium] Add tracing for active composited animations
+ https://bugs.webkit.org/show_bug.cgi?id=84210
+
+ Reviewed by James Robinson.
+
+ This patch issues the trace events from the animations. Animations will
+ report when they start and finish on the main and impl threads (via
+ TRACE_EVENT_ASYNC*), and also issues instant trace events whenever they
+ change state.
+
+ No new tests, only changes tracing behavior.
+
+ * platform/graphics/chromium/cc/CCActiveAnimation.cpp:
+ (WebCore::CCActiveAnimation::CCActiveAnimation):
+ (WebCore::CCActiveAnimation::~CCActiveAnimation):
+ (WebCore::CCActiveAnimation::setRunState):
+ (WebCore::CCActiveAnimation::clone):
+ (WebCore):
+ (WebCore::CCActiveAnimation::cloneAndInitialize):
+ * platform/graphics/chromium/cc/CCActiveAnimation.h:
+ (WebCore::CCActiveAnimation::isControllingInstance):
+ (CCActiveAnimation):
+ * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
+ (WebCore::CCLayerAnimationController::pushNewAnimationsToImplThread):
+ (WebCore::CCLayerAnimationController::replaceImplThreadAnimations):
+ (WebCore::CCLayerAnimationController::tickAnimations):
+
+2012-08-17 John J. Barton <johnjbarton@chromium.org>
+
+ Web Inspector: enhance external test-runner and add cleanup code
+ https://bugs.webkit.org/show_bug.cgi?id=94231
+
+ Reviewed by Pavel Feldman.
+
+ add 'click on test result to select for next run' feature.
+ remember the users size for the inspector popup.
+ refactor server URLs to one location at top of file.
+ use the same value for both tests and scanner servers.
+ remove one extra instruction on the page.
+ refactor clean up code.
+ close the two popup windows if the test-runner.html is reloaded.
+
+ * inspector/front-end/test-runner.html:
+
+2012-08-17 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Unreviewed trivial follow-up fix to r125873: Add missing adoptRef to avoid leaks.
+
+ * bridge/qt/qt_instance.cpp:
+ (JSC::Bindings::WeakMap::set):
+
+2012-08-17 Kentaro Hara <haraken@chromium.org>
+
+ Remove RefPtr from DateInputType::m_pickerElement
+ https://bugs.webkit.org/show_bug.cgi?id=94330
+
+ Reviewed by Kent Tamura.
+
+ To avoid reference cycles of RefPtr<Node>s, we want to remove
+ unnecessary RefPtr<Node>s. The rationale is describe in bug 94324.
+
+ DateInputType::m_pickerElement does not need to be a RefPtr<Node>,
+ because it is guaranteed to point to a shadow DOM tree of the DateInputType
+ node, which is guaranteed to exist in the subtree of the DateInputType node.
+
+ No tests. No change in behavior.
+
+ * html/DateInputType.cpp:
+ (WebCore::DateInputType::DateInputType):
+ (WebCore::DateInputType::createShadowSubtree):
+ (WebCore::DateInputType::destroyShadowSubtree):
+ * html/DateInputType.h:
+ (DateInputType):
+
+2012-08-17 Dan Carney <dcarney@google.com>
+
+ Refactor away IsolatedWorld
+ https://bugs.webkit.org/show_bug.cgi?id=93971
+
+ Reviewed by Kentaro Hara.
+
+ Remove IsolatedWorld class as it was 1:1 with DOMWrapperWorld.
+ This update fixes a bad assertion which caused the previous
+ version to be rolled back.
+
+ No tests. No change in functionality.
+
+ * UseV8.cmake:
+ * WebCore.gypi:
+ * bindings/v8/DOMWrapperWorld.cpp:
+ (WebCore):
+ (WebCore::mainThreadNormalWorld):
+ * bindings/v8/DOMWrapperWorld.h:
+ (WebCore):
+ (DOMWrapperWorld):
+ (WebCore::DOMWrapperWorld::create):
+ (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
+ (WebCore::DOMWrapperWorld::count):
+ (WebCore::DOMWrapperWorld::worldId):
+ (WebCore::DOMWrapperWorld::domDataStore):
+ (WebCore::DOMWrapperWorld::DOMWrapperWorld):
+ * bindings/v8/IsolatedWorld.cpp: Removed.
+ * bindings/v8/IsolatedWorld.h: Removed.
+ * bindings/v8/V8DOMWrapper.h:
+ (WebCore::V8DOMWrapper::getCachedWrapper):
+ * bindings/v8/V8IsolatedContext.cpp:
+ (WebCore::V8IsolatedContext::V8IsolatedContext):
+ (WebCore::V8IsolatedContext::destroy):
+ * bindings/v8/V8IsolatedContext.h:
+ (WebCore::V8IsolatedContext::getEntered):
+ (WebCore::V8IsolatedContext::world):
+ (V8IsolatedContext):
+ * bindings/v8/V8PerIsolateData.h:
+ (WebCore::V8PerIsolateData::registerDOMDataStore):
+ (WebCore::V8PerIsolateData::unregisterDOMDataStore):
+
+2012-08-17 Kangil Han <kangil.han@samsung.com>
+
+ [EFL] Remove alloca usage
+ https://bugs.webkit.org/show_bug.cgi?id=93931
+
+ Reviewed by Carlos Garcia Campos.
+
+ This patch is unifying the approaches for the creation of Edje_Message_Float_Set messages, and getting rid of alloca is part of it, since it is not portable.
+
+ * platform/efl/RenderThemeEfl.cpp:
+ (WebCore::RenderThemeEfl::paintThemePart):
+ * platform/efl/ScrollbarEfl.cpp:
+ (ScrollbarEfl::updateThumbPositionAndProportion):
+
+2012-08-17 Alexander Pavlov <apavlov@chromium.org>
+
+ Web Inspector: hovering over an image link in Timeline popup kills popup
+ https://bugs.webkit.org/show_bug.cgi?id=94213
+
+ Reviewed by Pavel Feldman.
+
+ - Fixed bug with ElementsPanel PopoverHelper acting on the TimelinePanel (due to which the original issue occurs).
+ - Image preview added to resource entries popover in the timeline.
+ - Extracted the core image preview building code into UIUtils.js.
+ - Drive-by: fixed image centering in the preview element.
+
+ * inspector/front-end/ElementsPanel.js:
+ (WebInspector.ElementsPanel):
+ (WebInspector.ElementsPanel.prototype._showPopover.showPopover):
+ (WebInspector.ElementsPanel.prototype._showPopover):
+ * inspector/front-end/TimelinePanel.js:
+ (WebInspector.TimelinePanel.prototype._showPopover.showCallback):
+ (WebInspector.TimelinePanel.prototype._showPopover):
+ * inspector/front-end/TimelinePresentationModel.js:
+ (WebInspector.TimelinePresentationModel.needsPreviewElement):
+ (WebInspector.TimelinePresentationModel.Record.prototype.generatePopupContent):
+ First build the image preview element if necessary, then do everything else.
+ (WebInspector.TimelinePresentationModel.Record.prototype._generatePopupContentWithImagePreview):
+ Original generatePopupContent() code plus the preview generation when necessary.
+ * inspector/front-end/UIUtils.js:
+ (WebInspector.buildImagePreviewContents.errorCallback):
+ (WebInspector.buildImagePreviewContents.buildContent):
+ (WebInspector.buildImagePreviewContents): Extracted from ElementsPanel. Enabled building of preview elements without the dimensions text data.
+ * inspector/front-end/elementsPanel.css:
+ (.image-preview-container):
+ (.image-preview-container img):
+ * inspector/front-end/timelinePanel.css:
+ (.image-preview-container): Fixed centering of the preview container contents.
+ (.image-preview-container img):
+ (.image-container):
+
+2012-08-17 Andrey Kosyakov <caseq@chromium.org>
+
+ Web Inspector: decouple extension server from the Elements panel
+ https://bugs.webkit.org/show_bug.cgi?id=94322
+
+ Reviewed by Pavel Feldman.
+
+ - relay WebInspector.ElementsTreeOutline.Events.SelectedNodeChanged received in ElementsPanel on WebInspector.notifications;
+
+ * inspector/front-end/ElementsPanel.js:
+ (WebInspector.ElementsPanel.prototype._selectedNodeChanged):
+ * inspector/front-end/ExtensionServer.js:
+
+2012-08-17 Jan Keromnes <janx@linux.com>
+
+ Web Inspector: SourceFrame shouldn't be a View
+ https://bugs.webkit.org/show_bug.cgi?id=93444
+
+ Reviewed by Pavel Feldman.
+
+ Move SourceFrame from being a View to being an Object. This will allow
+ future ExtensionSourceFrames to share a single iframe ExtensionView.
+
+ * inspector/front-end/CodeMirrorTextEditor.js:
+ (WebInspector.CodeMirrorTextEditor.prototype.wasShown):
+ (WebInspector.CodeMirrorTextEditor.prototype.willHide):
+ * inspector/front-end/DefaultTextEditor.js:
+ (WebInspector.DefaultTextEditor.prototype.wasShown):
+ (WebInspector.DefaultTextEditor.prototype.willHide):
+ * inspector/front-end/JavaScriptSourceFrame.js:
+ (WebInspector.JavaScriptSourceFrame):
+ * inspector/front-end/SourceFrame.js:
+ (WebInspector.SourceFrame):
+ (WebInspector.SourceFrame.prototype.show):
+ (WebInspector.SourceFrame.prototype.detach):
+ (WebInspector.SourceFrame.prototype.focus):
+ (WebInspector.SourceFrame.prototype._onTextEditorWasShown):
+ (WebInspector.SourceFrame.prototype._onTextEditorWillHide):
+ * inspector/front-end/TextEditor.js:
+ * inspector/front-end/scriptsPanel.css:
+
+2012-08-17 Pavel Chadnov <chadnov@google.com>
+
+ Web Inspector: requests filtering in network tab
+ https://bugs.webkit.org/show_bug.cgi?id=93090
+
+ Reviewed by Vsevolod Vlasov.
+
+ Added filtering support to search panel.
+ Implemented filtering for network panel.
+
+ * inspector/front-end/NetworkPanel.js:
+ (WebInspector.NetworkLogView.prototype._clearSearchMatchedList):
+ (WebInspector.NetworkLogView.prototype._updateHighlightIfMatched):
+ (WebInspector.NetworkLogView.prototype._highlightMatchedRequests):
+ (WebInspector.NetworkLogView.prototype._highlightNthMatchedRequestForSearch):
+ (WebInspector.NetworkLogView.prototype.performSearch):
+ (WebInspector.NetworkLogView.prototype.performFilter):
+ (WebInspector.NetworkLogView.prototype.jumpToPreviousSearchResult):
+ (WebInspector.NetworkLogView.prototype.jumpToNextSearchResult):
+ (WebInspector.NetworkPanel.prototype.performFilter):
+ (WebInspector.NetworkDataGridNode.prototype._highlightMatchedSubstring):
+ * inspector/front-end/SearchController.js:
+ (WebInspector.SearchController):
+ (WebInspector.SearchController.prototype.cancelSearch):
+ (WebInspector.SearchController.prototype.showSearchField):
+ (WebInspector.SearchController.prototype._switchFilterToSearch):
+ (WebInspector.SearchController.prototype._switchSearchToFilter):
+ (WebInspector.SearchController.prototype._updateFilterVisibility):
+ (WebInspector.SearchController.prototype._replaceAll):
+ (WebInspector.SearchController.prototype._filterCheckboxClick):
+ (WebInspector.SearchController.prototype._performFilter):
+ (WebInspector.SearchController.prototype._onFilterInput):
+ (WebInspector.SearchController.prototype._onSearchInput):
+ (WebInspector.SearchController.prototype.resetFilter):
+ * inspector/front-end/inspector.css:
+ (.filter):
+ * inspector/front-end/networkLogView.css:
+ (.network-log-grid.data-grid.filter-other table.data tr.revealed.network-type-other:not(.filtered-out)):
+
+2012-08-17 Anthony Berent <aberent@chromium.org>
+
+ View source doesn't interpret escape characters in hrefs.
+ https://bugs.webkit.org/show_bug.cgi?id=94216
+
+ Reviewed by Adam Barth.
+
+ The cause was that HTMLViewSourceDocument was passing the unparsed content of the href attribute to the DOM as the URL for the link.
+ The fix is to pass the parsed content of the href attribute to the DOM.
+
+ Test: fast/forms/frames/viewsource-link-on-href-value.html extended to test this case.
+
+ * html/HTMLViewSourceDocument.cpp:
+ (WebCore::HTMLViewSourceDocument::processTagToken): Pass parsed URL to AddRange.
+ (WebCore::HTMLViewSourceDocument::addRange):Added argument for parsed URL, and used this instead of text, to create link.
+ * html/HTMLViewSourceDocument.h:
+ (HTMLViewSourceDocument): Add new link argument to addRange for parsed URL, defaulting to "".
+
+2012-08-17 Yoshifumi Inoue <yosin@chromium.org>
+
+ [Forms] Rename SpinButtonElement::StepActionHandler to SpinButtonOwner
+ https://bugs.webkit.org/show_bug.cgi?id=94311
+
+ Reviewed by Kent Tamura.
+
+ This patch renames SpinButtonElement::StepActionHandler class to
+ SpinButtonOwner for adding functions to it for communicating spin
+ button and its owner.
+
+ No new tests. This patch doesn't change behavior.
+
+ * html/TextFieldInputType.cpp:
+ (WebCore::TextFieldInputType::~TextFieldInputType):
+ (WebCore::TextFieldInputType::destroyShadowSubtree):
+ * html/TextFieldInputType.h:
+ (TextFieldInputType):
+ * html/shadow/DateTimeEditElement.cpp:
+ (WebCore::DateTimeEditElement::~DateTimeEditElement):
+ * html/shadow/DateTimeEditElement.h:
+ (DateTimeEditElement):
+ * html/shadow/SpinButtonElement.cpp:
+ (WebCore::SpinButtonElement::SpinButtonElement):
+ (WebCore::SpinButtonElement::create):
+ (WebCore::SpinButtonElement::doStepAction):
+ * html/shadow/SpinButtonElement.h:
+ (WebCore::SpinButtonElement::SpinButtonOwner::~SpinButtonOwner):
+ (SpinButtonElement):
+ (WebCore::SpinButtonElement::removeSpinButtonOwner):
+
+2012-08-16 Simon Hausmann <simon.hausmann@nokia.com>
+
+ [Qt] Replace use of internal Weak smart pointer with JSWeakObjectMap
+ https://bugs.webkit.org/show_bug.cgi?id=93872
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ The intention of this patch series is to replace use of internal JSC
+ API with use of the stable and public C API.
+
+ The JSC::Weak template is internal API and the only part of the C API
+ that exposes similar functionality is the JSWeakObjectMap. It is
+ special in the sense that its life-time is tied to the life-time of the
+ JS global object, which in turn is subject to garbage collection. In
+ order to maximize re-use of the same map across different JSContextRef
+ instances, we use one JSWeakObjectMap per context group and store the
+ map in a separate context.
+
+ * bridge/qt/qt_instance.cpp:
+ (JSC::Bindings::unusedWeakObjectMapCallback):
+ (Bindings):
+ (JSC::Bindings::WeakMapImpl::WeakMapImpl):
+ (JSC::Bindings::WeakMapImpl::~WeakMapImpl):
+ (JSC::Bindings::WeakMap::~WeakMap):
+ (JSC::Bindings::WeakMap::set):
+ (JSC::Bindings::WeakMap::get):
+ (JSC::Bindings::WeakMap::remove):
+ * bridge/qt/qt_instance.h:
+ (WeakMapImpl):
+ (Bindings):
+ (WeakMap):
+ (QtInstance):
+ * bridge/qt/qt_runtime.cpp:
+ (JSC::Bindings::QtRuntimeMethod::~QtRuntimeMethod):
+ (JSC::Bindings::QtRuntimeMethod::jsObjectRef):
+ * bridge/qt/qt_runtime.h:
+ (QtRuntimeMethod):
+
+
+2012-08-16 Pavel Feldman <pfeldman@chromium.org>
+
+ Web Inspector: build Elements, Resources, Timeline, Audits and Console panels lazily.
+ https://bugs.webkit.org/show_bug.cgi?id=94222
+
+ Reviewed by Vsevolod Vlasov.
+
+ There is no need to construct these panels on inspector startup - we can do that lazily.
+ This change introduces the concept of PanelDescriptor that is sufficient for the panel
+ representation before it has been selected. It also makes selected panels build lazily.
+
+ The next step is to migrate rest of the panels and load the panel code lazily as well.
+ That should speed up startup time significantly.
+
+ * inspector/front-end/AuditsPanel.js:
+ (WebInspector.AuditsPanel):
+ (WebInspector.AuditsPanel.prototype._auditFinishedCallback):
+ (WebInspector.AuditsSidebarTreeElement):
+ (WebInspector.AuditsSidebarTreeElement.prototype.onselect):
+ (WebInspector.AuditResultSidebarTreeElement):
+ (WebInspector.AuditResultSidebarTreeElement.prototype.onselect):
+ * inspector/front-end/ConsolePanel.js:
+ * inspector/front-end/DOMStorage.js:
+ (WebInspector.DOMStorageDispatcher.prototype.addDOMStorage):
+ (WebInspector.DOMStorageDispatcher.prototype.domStorageUpdated):
+ * inspector/front-end/Database.js:
+ (WebInspector.DatabaseDispatcher.prototype.addDatabase):
+ * inspector/front-end/ElementsPanel.js:
+ (WebInspector.ElementsPanel):
+ (WebInspector.ElementsPanel.prototype.revealAndSelectNode):
+ (WebInspector.ElementsPanel.prototype.setSearchingForNode):
+ (WebInspector.ElementsPanel.prototype.toggleSearchingForNode):
+ * inspector/front-end/ElementsTreeOutline.js:
+ (WebInspector.ElementsTreeElement.prototype._populateForcedPseudoStateItems):
+ * inspector/front-end/ExtensionPanel.js:
+ (WebInspector.ExtensionPanel):
+ (WebInspector.ExtensionPanel.prototype.jumpToPreviousSearchResult):
+ * inspector/front-end/ExtensionServer.js:
+ (WebInspector.ExtensionServer.prototype._onCreatePanel):
+ (WebInspector.ExtensionServer.prototype._onAddAuditCategory):
+ * inspector/front-end/InspectorFrontendAPI.js:
+ (InspectorFrontendAPI.isTimelineProfilingEnabled):
+ (InspectorFrontendAPI.setTimelineProfilingEnabled):
+ (InspectorFrontendAPI.showConsole):
+ (InspectorFrontendAPI.showResources):
+ (InspectorFrontendAPI.enterInspectElementMode):
+ * inspector/front-end/InspectorView.js:
+ (WebInspector.InspectorView):
+ (WebInspector.InspectorView.prototype.addPanel):
+ (WebInspector.InspectorView.prototype.panel):
+ (WebInspector.InspectorView.prototype.showPanel):
+ (WebInspector.InspectorView.prototype._keyDownInternal):
+ * inspector/front-end/NetworkPanel.js:
+ * inspector/front-end/Panel.js:
+ (WebInspector.Panel.prototype.wasShown):
+ (WebInspector.Panel.prototype.willHide):
+ (WebInspector.PanelDescriptor):
+ (WebInspector.PanelDescriptor.prototype.name):
+ (WebInspector.PanelDescriptor.prototype.title):
+ (WebInspector.PanelDescriptor.prototype.iconURL):
+ (WebInspector.PanelDescriptor.prototype.setIconURL):
+ (WebInspector.PanelDescriptor.prototype.panel):
+ (WebInspector.PanelDescriptor.prototype.lazy):
+ * inspector/front-end/ProfilesPanel.js:
+ * inspector/front-end/ResourceTreeModel.js:
+ (WebInspector.ResourceTreeModel.prototype.cachedResourcesLoaded):
+ * inspector/front-end/ResourcesPanel.js:
+ (WebInspector.ResourcesPanel):
+ * inspector/front-end/ScriptsPanel.js:
+ * inspector/front-end/StylesSidebarPane.js:
+ (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted.successCallback):
+ (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
+ (WebInspector.StylePropertyTreeElement.prototype.updateTitle.linkifyURL):
+ * inspector/front-end/TimelinePanel.js:
+ * inspector/front-end/Toolbar.js:
+ (WebInspector.Toolbar.prototype.addPanel):
+ (WebInspector.Toolbar.prototype._createPanelToolbarItem.onToolbarItemClicked):
+ (WebInspector.Toolbar.prototype._createPanelToolbarItem.panelSelected):
+ (WebInspector.Toolbar.prototype._createPanelToolbarItem):
+ (WebInspector.Toolbar.prototype._panelSelected):
+ (WebInspector.Toolbar.prototype._setDropdownVisible):
+ (WebInspector.ToolbarDropdown):
+ (WebInspector.ToolbarDropdown.prototype.show):
+ (WebInspector.ToolbarDropdown.prototype._populate):
+ * inspector/front-end/inspector.css:
+ (.toolbar-small .toolbar-icon.custom-toolbar-icon):
+ * inspector/front-end/inspector.js:
+ (WebInspector._panelDescriptors):
+ (WebInspector._panelSelected):
+ (WebInspector._createGlobalStatusBarItems):
+ (WebInspector.documentClick.followLink):
+ (WebInspector.documentClick):
+ (WebInspector.openResource):
+ (WebInspector.showPanel):
+ (WebInspector.panel):
+ (WebInspector.inspect.):
+ (WebInspector.inspect):
+ (WebInspector._showAnchorLocation):
+ (WebInspector.showProfileForURL):
+ (WebInspector.frontendReused):
+
+2012-08-17 Pascal Massimino <pascal.massimino@gmail.com>
+
+ libwebp-0.2.0: handle alpha channel if present
+
+ https://bugs.webkit.org/show_bug.cgi?id=93430
+
+ Reviewed by Adam Barth.
+
+ updated the Layout test webp-image-decoding.html
+
+ * platform/image-decoders/webp/WEBPImageDecoder.cpp:
+ (outputMode):
+ switch to premultiplied-RGB if needed
+ (WebCore::WEBPImageDecoder::WEBPImageDecoder):
+ (WebCore::WEBPImageDecoder::decode):
+ use WebPGetFeatures() instead of WebPGetInfo(),
+ to detect presence of alpha channel
+ * platform/image-decoders/webp/WEBPImageDecoder.h:
+ (WEBPImageDecoder):
+ add a m_hasAlpha field
+
+2012-08-17 Yoshifumi Inoue <yosin@chromium.org>
+
+ [Forms] Enable multiple fields time input UI for Chromium except Android
+ https://bugs.webkit.org/show_bug.cgi?id=94195
+
+ Reviewed by Kent Tamura.
+
+ This patch enables multiple fields time input UI for Chromium except
+ for Android.
+
+ No new tests. Existing tests in fast/forms/time-multiple-fields/
+ covers appearance and functionality of multiple fields time UI.
+
+ A manual checking for browser displays multiple fields time input UI
+ is needed.
+
+ * bindings/generic/RuntimeEnabledFeatures.cpp:
+ (WebCore): Changed RuntimeEnabledFeatures::isInputTypeTimeEnabled to true
+ if ENABLE_INPUT_TYPE_TIME is enabled.
+
+2012-08-17 Yoshifumi Inoue <yosin@chromium.org>
+
+ [Forms] Introduce SpinButtonElement.{cpp,h} into build
+ https://bugs.webkit.org/show_bug.cgi?id=94289
+
+ Reviewed by Kent Tamura.
+
+ This patch introduces html/shadow/SpinButtonElement.{cpp,h} into
+ build, files were copied from TextControlInnerElements.{cpp,h} by
+ bug 93943.
+
+ No new tests. This patch doesn't changes behavior.
+
+ * CMakeLists.txt: Added SpinButtonElement.cpp
+ * GNUmakefile.list.am: Added SpinButtonElement.{cpp,h}
+ * Target.pri: Added SpinButtonElement.cpp
+ * WebCore.gypi: Added SpinButtonElement.{cpp,h}
+ * WebCore.vcproj/WebCore.vcproj: Added SpinButtonElement.{cpp,h}
+ * WebCore.xcodeproj/project.pbxproj: Added SpinButtonElement.{cpp,h}
+ * accessibility/AccessibilitySpinButton.h: Replaced include file to SpinButtonElement.h from TextControlInnerElements.h
+ * html/TextFieldInputType.h: Added include file SpinButtonElement.h
+ * html/shadow/DateTimeEditElement.h: Replaced include file to SpinButtonElement.h from TextControlInnerElements.h
+ * html/shadow/SpinButtonElement.cpp: Removed code other than SpinButtonElement.
+ * html/shadow/SpinButtonElement.h: Removed code other than SpinButtonElement.
+ * html/shadow/TextControlInnerElements.cpp: Removed code of SpinButtonElement.
+ * html/shadow/TextControlInnerElements.h: Removed SpinButtonElement.
+ * rendering/RenderTheme.cpp: Added include file SpinButtonElement.h
+
+2012-08-17 Sukolsak Sakshuwong <sukolsak@google.com>
+
+ Implement UndoManager's V8 bindings
+ https://bugs.webkit.org/show_bug.cgi?id=93912
+
+ Reviewed by Ryosuke Niwa.
+
+ This patch implements V8 bindings for UndoManager's transact() method.
+ We keep alive the user objects passed to transact() by storing them in
+ a hidden property of DOMTransaction's wrapper and registering implicit
+ references from UndoManager to DOMTransaction.
+
+ Tests: editing/undomanager/domtransaction-survives-gc.html
+ editing/undomanager/undomanager-isolated-world.html
+ editing/undomanager/undomanager-transact.html
+ editing/undomanager/undomanager-undo-redo.html
+ editing/undomanager/undomanager-use-after-free.html
+
+ * CMakeLists.txt:
+ * DerivedSources.cpp:
+ * DerivedSources.make:
+ * DerivedSources.pri:
+ * GNUmakefile.list.am:
+ * Target.pri:
+ * UseJSC.cmake:
+ * UseV8.cmake:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/DOMTransaction.cpp: Added.
+ (WebCore):
+ (WebCore::DOMTransaction::DOMTransaction):
+ (WebCore::DOMTransaction::create):
+ (WebCore::DOMTransaction::apply):
+ (WebCore::DOMTransaction::unapply):
+ (WebCore::DOMTransaction::reapply):
+ * bindings/js/DOMTransaction.h: Added.
+ (WebCore):
+ (DOMTransaction):
+ (WebCore::DOMTransaction::undoManager):
+ (WebCore::DOMTransaction::setUndoManager):
+ * bindings/js/JSBindingsAllInOne.cpp:
+ * bindings/js/JSUndoManagerCustom.cpp: Added.
+ (WebCore):
+ (WebCore::JSUndoManager::transact):
+ * bindings/v8/DOMTransaction.cpp: Added.
+ (WebCore):
+ (WebCore::DOMTransaction::DOMTransaction):
+ (WebCore::DOMTransaction::create):
+ (WebCore::DOMTransaction::apply):
+ (WebCore::DOMTransaction::unapply):
+ (WebCore::DOMTransaction::reapply):
+ (WebCore::DOMTransaction::getFunction):
+ (WebCore::DOMTransaction::callFunction):
+ * bindings/v8/DOMTransaction.h: Added.
+ (WebCore):
+ (DOMTransaction):
+ (WebCore::DOMTransaction::undoManager):
+ (WebCore::DOMTransaction::setUndoManager):
+ * bindings/v8/V8HiddenPropertyName.h:
+ (WebCore):
+ * bindings/v8/custom/V8DOMTransactionCustom.cpp: Added.
+ (WebCore):
+ (WebCore::V8DOMTransaction::visitDOMWrapper):
+ * bindings/v8/custom/V8UndoManagerCustom.cpp: Added.
+ (WebCore):
+ (WebCore::V8UndoManager::transactCallback):
+ * dom/Document.cpp:
+ (WebCore::Document::~Document):
+ (WebCore::Document::undoManager):
+ * dom/Element.cpp:
+ (WebCore::Element::undoManager):
+ (WebCore::Element::disconnectUndoManager):
+ * editing/CompositeEditCommand.h:
+ * editing/DOMTransaction.idl: Added.
+ * editing/Editor.cpp:
+ (WebCore::Editor::appliedEditing):
+ (WebCore::Editor::unappliedEditing):
+ (WebCore::Editor::reappliedEditing):
+ (WebCore::Editor::canUndo):
+ (WebCore::Editor::undo):
+ (WebCore::Editor::canRedo):
+ (WebCore::Editor::redo):
+ * editing/UndoManager.cpp:
+ (WebCore::UndoManager::create):
+ (WebCore::UndoManager::UndoManager):
+ (WebCore::clearStack):
+ (WebCore):
+ (WebCore::UndoManager::disconnect):
+ (WebCore::UndoManager::stop):
+ (WebCore::UndoManager::~UndoManager):
+ (WebCore::createUndoManagerEntry):
+ (WebCore::UndoManager::transact):
+ (WebCore::UndoManager::undo):
+ (WebCore::UndoManager::redo):
+ (WebCore::UndoManager::registerUndoStep):
+ (WebCore::UndoManager::registerRedoStep):
+ (WebCore::UndoManager::clearUndo):
+ (WebCore::UndoManager::clearRedo):
+ * editing/UndoManager.h:
+ (WebCore):
+ (UndoManager):
+ (WebCore::UndoManager::position):
+ (WebCore::UndoManager::canUndo):
+ (WebCore::UndoManager::canRedo):
+ (WebCore::UndoManager::undoScopeHost):
+ (WebCore::UndoManager::ownerNode):
+ * editing/UndoManager.idl:
+ * editing/UndoStep.h:
+ (UndoStep):
+
+2012-08-16 Andrey Kosyakov <caseq@chromium.org>
+
+ Web Inspector: CPU profile view select overlaps with status bar buttons
+ https://bugs.webkit.org/show_bug.cgi?id=94243
+
+ Reviewed by Pavel Feldman.
+
+ - use StatusBarComboBox inated of plain select element in the status bar of CPU profile view;
+ - add StatusBarComboBox.select()
+
+ * inspector/front-end/CPUProfileView.js:
+ (WebInspector.CPUProfileView.prototype.get statusBarItems):
+ * inspector/front-end/StatusBarButton.js:
+ (WebInspector.StatusBarComboBox.prototype.selectedOption):
+ (WebInspector.StatusBarComboBox.prototype.select):
+ * inspector/front-end/externs.js: drive-by fix: add declaration to suppress compilation error;
+ (Array.prototype.select):
+
+2012-08-16 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: Snippet script mapping should not load snippets until workspace reset event is dispatched on scripts panel.
+ https://bugs.webkit.org/show_bug.cgi?id=94218
+
+ Reviewed by Pavel Feldman.
+
+ Scripts panel does not load uiSourceCodes in workspace reset handler anymore.
+ Snippet script mapping does not start reloading snippets after reset until WorkspaceReset event is dispatched.
+
+ * inspector/front-end/JavaScriptSourceFrame.js: Simplified isComittingEditing to be reset synchronously.
+ (WebInspector.JavaScriptSourceFrame.prototype.commitEditing):
+ (WebInspector.JavaScriptSourceFrame.prototype._didEditContent):
+ * inspector/front-end/ScriptSnippetModel.js:
+ (WebInspector.ScriptSnippetModel.prototype._reset):
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded):
+ (WebInspector.ScriptsPanel.prototype._addUISourceCode):
+ (WebInspector.ScriptsPanel.prototype._reset):
+ * inspector/front-end/UISourceCodeFrame.js: Simplified isComittingEditing to be reset synchronously.
+ (WebInspector.UISourceCodeFrame.prototype.commitEditing):
+ (WebInspector.UISourceCodeFrame.prototype._didEditContent):
+
+2012-08-16 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r125829.
+ http://trac.webkit.org/changeset/125829
+ https://bugs.webkit.org/show_bug.cgi?id=94299
+
+ Maybe causing Chromium AutomationTabHelperBrowserTest failures
+ (Requested by enne on #webkit).
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::init):
+ (WebCore::FrameLoader::prepareForLoadStart):
+ (WebCore::FrameLoader::clearProvisionalLoad):
+ (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
+ (WebCore::FrameLoader::detachFromParent):
+ * loader/FrameLoader.h:
+ (FrameLoader):
+
+2012-08-16 Nico Weber <thakis@chromium.org>
+
+ [chromium/mac] Remove RenderThemeChromiumMac::paintTextField override
+ https://bugs.webkit.org/show_bug.cgi?id=94276
+
+ Reviewed by Eric Seidel.
+
+ The comment says this can go once 10.5 goes away. Besides, the
+ superclass implementation has the same hack anyway.
+
+ No behavior change.
+
+ * rendering/RenderThemeChromiumMac.h:
+ (RenderThemeChromiumMac):
+ * rendering/RenderThemeChromiumMac.mm:
+
+2012-08-16 David Barr <davidbarr@chromium.org>
+
+ @import url("#foo") causes stack overflow
+ https://bugs.webkit.org/show_bug.cgi?id=93687
+
+ Reviewed by Tony Chang.
+
+ Test: http/tests/css/css-imports-url-fragment.html
+
+ * css/StyleRuleImport.cpp:
+ (WebCore::StyleRuleImport::requestStyleSheet): Ignore the fragment identifier in cycle detection.
+
+2012-08-16 Antoine Labour <piman@chromium.org>
+
+ [chromium] Add resource transfer functions to CCResourceProvider
+ https://bugs.webkit.org/show_bug.cgi?id=93524
+
+ Reviewed by James Robinson.
+
+ This adds methods to CCResourceProvider to be able to transport
+ resources from a child to a parent.
+
+ Added test to CCResourceProviderTest.
+
+ * platform/graphics/chromium/cc/CCResourceProvider.cpp:
+ (WebCore::CCResourceProvider::inUseByConsumer):
+ (WebCore::CCResourceProvider::createResource):
+ (WebCore::CCResourceProvider::createResourceFromExternalTexture):
+ (WebCore::CCResourceProvider::CCResourceProvider):
+ (WebCore::CCResourceProvider::createChild):
+ (WebCore):
+ (WebCore::CCResourceProvider::destroyChild):
+ (WebCore::CCResourceProvider::getChildToParentMap):
+ (WebCore::CCResourceProvider::prepareSendToParent):
+ (WebCore::CCResourceProvider::prepareSendToChild):
+ (WebCore::CCResourceProvider::receiveFromChild):
+ (WebCore::CCResourceProvider::receiveFromParent):
+ (WebCore::CCResourceProvider::transferResource):
+ * platform/graphics/chromium/cc/CCResourceProvider.h:
+ (Mailbox):
+ (TransferableResource):
+ (TransferableResourceList):
+ (CCResourceProvider):
+ (Resource):
+ (Child):
+
+2012-08-16 David Grogan <dgrogan@chromium.org>
+
+ IndexedDB: Frontend and plumbing for integer versions
+ https://bugs.webkit.org/show_bug.cgi?id=92897
+
+ Reviewed by Tony Chang.
+
+ This patch exposes integer versions and the upgradeneeded event to
+ script.
+
+ The events surrounding an IDBOpenDBRequest follow a new pattern
+ compared to other idb requests. An open request can receive a blocked
+ event, an upgradeneeded event, and then a success event. When
+ dispatching the upgradeneeded and success events the request has its
+ readyState set to DONE and its result property set to an IDBDatabase.
+ We usually think of IDBRequests firing one event with one result,
+ cursors being the big exception. There are some minor changes around
+ enqueuing and dispatching events to support this.
+
+ There's also some funkiness in
+ IDBRequest::onSuccess(PassRefPtr<IDBDatabaseBackendInterface>) so that
+ the IDBDatabase object delivered in upgradeneeded is reused for the
+ success event.
+
+ Tests - expectations are updated in this patch.
+
+ * Modules/indexeddb/IDBDatabase.cpp:
+ (WebCore::IDBDatabase::setVersion):
+ (WebCore::IDBDatabase::onVersionChange):
+ (WebCore):
+ (WebCore::IDBDatabase::registerFrontendCallbacks):
+ * Modules/indexeddb/IDBDatabase.h:
+ (IDBDatabase):
+ * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
+ (WebCore::IDBDatabaseBackendImpl::runIntVersionChangeTransaction):
+ * Modules/indexeddb/IDBDatabaseCallbacks.h:
+ (IDBDatabaseCallbacks):
+ * Modules/indexeddb/IDBDatabaseCallbacksImpl.cpp:
+ (WebCore::IDBDatabaseCallbacksImpl::onVersionChange):
+ (WebCore):
+ * Modules/indexeddb/IDBDatabaseCallbacksImpl.h:
+ (IDBDatabaseCallbacksImpl):
+ * Modules/indexeddb/IDBFactory.cpp:
+ (WebCore::IDBFactory::open):
+ (WebCore):
+ * Modules/indexeddb/IDBFactory.h:
+ (IDBFactory):
+ * Modules/indexeddb/IDBFactory.idl:
+ * Modules/indexeddb/IDBFactoryBackendImpl.cpp:
+ (WebCore::IDBFactoryBackendImpl::open):
+ * Modules/indexeddb/IDBFactoryBackendImpl.h:
+ (IDBFactoryBackendImpl):
+ * Modules/indexeddb/IDBFactoryBackendInterface.h:
+ (IDBFactoryBackendInterface):
+ * Modules/indexeddb/IDBOpenDBRequest.cpp: Added.
+ (WebCore):
+ (WebCore::IDBOpenDBRequest::create):
+ (WebCore::IDBOpenDBRequest::IDBOpenDBRequest):
+ (WebCore::IDBOpenDBRequest::~IDBOpenDBRequest):
+ (WebCore::IDBOpenDBRequest::interfaceName):
+ (WebCore::IDBOpenDBRequest::onBlocked):
+ (WebCore::IDBOpenDBRequest::onUpgradeNeeded):
+ (WebCore::IDBOpenDBRequest::shouldEnqueueEvent):
+ * Modules/indexeddb/IDBOpenDBRequest.h: Copied from Source/WebCore/Modules/indexeddb/IDBDatabaseCallbacksImpl.h.
+ (WebCore):
+ (IDBOpenDBRequest):
+ * Modules/indexeddb/IDBOpenDBRequest.idl: Copied from Source/WebCore/Modules/indexeddb/IDBDatabaseCallbacks.h.
+ * Modules/indexeddb/IDBRequest.cpp:
+ (WebCore::IDBRequest::IDBRequest):
+ (WebCore::IDBRequest::shouldEnqueueEvent):
+ (WebCore::IDBRequest::onSuccess):
+ This function works with WebIDBCallbacksImpl::onSuccess to reuse its
+ IDBDatabaseBackendInterface that it got during
+ IDBOpenDBRequest::onUpgradeNeeded.
+
+ (WebCore::IDBRequest::dispatchEvent):
+ (WebCore::IDBRequest::transactionDidDispatchCompleteOrAbort):
+ (WebCore):
+ (WebCore::IDBRequest::enqueueEvent):
+ * Modules/indexeddb/IDBRequest.h:
+ (WebCore::IDBRequest::onBlocked):
+ (IDBRequest):
+ * Modules/indexeddb/IDBTransaction.cpp:
+ We now take a pointer to the openDBRequest if this is a version
+ change transaction as a result of an open-with-version call so that we
+ can clear the transaction property on the openDBRequest as soon as the
+ upgradeneeded event is dispatched per the spec ("... set request's
+ transaction property to null... ", currently 4.8.12).
+
+ (WebCore::IDBTransaction::create):
+ (WebCore):
+ (WebCore::IDBTransaction::IDBTransaction):
+ (WebCore::IDBTransaction::setActive):
+ (WebCore::IDBTransaction::onComplete):
+ (WebCore::IDBTransaction::dispatchEvent):
+ * Modules/indexeddb/IDBTransaction.h:
+ (WebCore):
+ (IDBTransaction):
+ * Modules/indexeddb/IDBTransactionBackendImpl.cpp:
+ (WebCore::IDBTransactionBackendImpl::commit):
+ * Modules/indexeddb/IDBUpgradeNeededEvent.cpp: Copied from Source/WebCore/Modules/indexeddb/IDBDatabaseCallbacksImpl.cpp.
+ (WebCore):
+ (WebCore::IDBUpgradeNeededEvent::create):
+ (WebCore::IDBUpgradeNeededEvent::IDBUpgradeNeededEvent):
+ (WebCore::IDBUpgradeNeededEvent::~IDBUpgradeNeededEvent):
+ (WebCore::IDBUpgradeNeededEvent::oldVersion):
+ (WebCore::IDBUpgradeNeededEvent::newVersion):
+ (WebCore::IDBUpgradeNeededEvent::interfaceName):
+ * Modules/indexeddb/IDBUpgradeNeededEvent.h: Copied from Source/WebKit/chromium/src/WebIDBDatabaseCallbacksImpl.h.
+ (WebCore):
+ (IDBUpgradeNeededEvent):
+ * Modules/indexeddb/IDBUpgradeNeededEvent.idl: Copied from Source/WebCore/Modules/indexeddb/IDBDatabaseCallbacks.h.
+ * WebCore.gypi:
+ * dom/EventNames.h:
+ (WebCore):
+ * dom/EventNames.in:
+ * dom/EventTargetFactory.in:
+ * inspector/InspectorIndexedDBAgent.cpp:
+ (WebCore):
+
+2012-08-16 Yoshifumi Inoue <yosin@chromium.org>
+
+ [Forms] Cleanup CSS selectors for multiple fields time input UI
+ https://bugs.webkit.org/show_bug.cgi?id=94287
+
+ Reviewed by Kent Tamura.
+
+ This patch cleans CSS selectors for multiple fields time input UI:
+ - Removed "width" from fields: we use monospace font for field.
+ - Use "em" instead of "px" for unit.
+ - Add left margin to spin button.
+
+ Changes of this patch affect only both ENABLE_INPUT_TYPE_TIME and
+ ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS are enabled.
+
+ Tests: fast/forms/time-multiple-fields/time-multiple-fields-appearance-basic.html
+ fast/forms/time-multiple-fields/time-multiple-fields-appearance-disabled-readonly.html
+ fast/forms/time-multiple-fields/time-multiple-fields-appearance-pseudo-classes.html
+ fast/forms/time-multiple-fields/time-multiple-fields-appearance-pseudo-elements.html
+ fast/forms/time-multiple-fields/time-multiple-fields-appearance-style.html
+
+ * css/html.css:
+ (input::-webkit-datetime-edit-ampm-field):
+ (input::-webkit-datetime-edit-hour-field):
+ (input::-webkit-datetime-edit-millisecond-field):
+ (input::-webkit-datetime-edit-minute-field):
+ (input::-webkit-datetime-edit-second-field):
+ (input[type=time]::-webkit-inner-spin-button):
+
+2012-08-16 John Bates <jbates@google.com>
+
+ Fix vsync-disabled Null pointer crash bug
+ https://bugs.webkit.org/show_bug.cgi?id=94280
+
+ Reviewed by Kentaro Hara.
+
+ The m_timeSource member is NULL for vsync-disabled path, need to check for that.
+
+ Tests: Covered by Chromium throughput tests. All the compositor thread throughput tests are crashing.
+
+ * platform/graphics/chromium/cc/CCFrameRateController.cpp:
+ (WebCore::CCFrameRateController::setTimebaseAndInterval):
+
+2012-08-16 Michael Saboff <msaboff@apple.com>
+
+ HTML Parser should produce 8bit substrings for inline style and script elements
+ https://bugs.webkit.org/show_bug.cgi?id=93742
+
+ Reviewed by Benjamin Poulain.
+
+ Currently all data associated with a token is stored and processed as UChars.
+ Added code to determine that the contents of token data is all 8 bit by keeping
+ the logical OR value of all prior characters. Also added a flag that the parser
+ can set to indicate when the token data is converted to a String that we want
+ to make an 8 bit string if possible. Enabled this handling for script, style,
+ iframe, noembed, noframes, noscript and xmp tags.
+
+ No new tests. Existing tests provide coverage.
+
+ * html/parser/HTMLTokenizer.cpp:
+ (WebCore::HTMLTokenizer::nextToken):
+ * html/parser/HTMLTreeBuilder.cpp:
+ (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::ExternalCharacterTokenBuffer):
+ (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::isAll8BitData):
+ (HTMLTreeBuilder::ExternalCharacterTokenBuffer):
+ (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::takeRemaining):
+ * xml/parser/MarkupTokenBase.h:
+ (WebCore::MarkupTokenBase::clear):
+ (WebCore::MarkupTokenBase::appendToCharacter):
+ (MarkupTokenBase):
+ (WebCore::MarkupTokenBase::eraseCharacters):
+ (WebCore::MarkupTokenBase::setConvertTo8Bit):
+ (WebCore::MarkupTokenBase::isAll8BitData):
+ (WebCore::AtomicMarkupTokenBase::AtomicMarkupTokenBase):
+ (WebCore::AtomicMarkupTokenBase::isAll8BitData):
+ (AtomicMarkupTokenBase):
+ (WebCore::AtomicMarkupTokenBase::clearExternalCharacters):
+
+2012-08-16 Michelangelo De Simone <michelangelo@webkit.org>
+
+ [Part 3] Parse the custom() function in -webkit-filter: parse the 3d-transforms parameters
+ https://bugs.webkit.org/show_bug.cgi?id=71443
+
+ Reviewed by Dirk Schulze.
+
+ custom() now correctly parses the 3d-tranforms parameters. In order to do that the parseTransform() method
+ has been refactored and split to reuse already present code.
+
+ * css/CSSParser.cpp:
+ (WebCore::parseTranslateTransformValue): Renamed from parseTransformValue()
+ (WebCore::CSSParser::parseValue): Reference updated from parseTransformValue() to parseTranslateTransformValue()
+ (WebCore::CSSParser::parseTransform): This method has been split in two to reuse already present code
+ (WebCore):
+ (WebCore::CSSParser::parseTransformValue): New method to parse single transform values
+ (WebCore::CSSParser::parseCustomFilter): Updated to parse the transform parameters
+ (WebCore::CSSParser::parseCustomFilterTransform): New method to parse custom() transforms
+ * css/CSSParser.h:
+
+2012-08-16 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r125838.
+ http://trac.webkit.org/changeset/125838
+ https://bugs.webkit.org/show_bug.cgi?id=94283
+
+ Breaks Mac compile due to bug 74625 (Requested by enne on
+ #webkit).
+
+ * platform/graphics/chromium/cc/CCResourceProvider.cpp:
+ (WebCore::CCResourceProvider::inUseByConsumer):
+ (WebCore::CCResourceProvider::createResource):
+ (WebCore::CCResourceProvider::createResourceFromExternalTexture):
+ (WebCore::CCResourceProvider::deleteOwnedResources):
+ (WebCore::CCResourceProvider::CCResourceProvider):
+ * platform/graphics/chromium/cc/CCResourceProvider.h:
+ (CCResourceProvider):
+ (Resource):
+
+2012-08-16 Kenneth Russell <kbr@google.com>
+
+ Unreviewed, rolling out r125800.
+ http://trac.webkit.org/changeset/125800
+ https://bugs.webkit.org/show_bug.cgi?id=84281
+
+ Hypothesis that this change caused gpu_throughput_tests to
+ start timing out on all platforms on the Chromium GPU
+ canaries.
+
+ * platform/graphics/chromium/cc/CCFrameRateController.cpp:
+ * platform/graphics/chromium/cc/CCFrameRateController.h:
+ (CCFrameRateController):
+ * platform/graphics/chromium/cc/CCScheduler.cpp:
+ (WebCore::CCScheduler::processScheduledActions):
+ * platform/graphics/chromium/cc/CCScheduler.h:
+ (CCSchedulerClient):
+ * platform/graphics/chromium/cc/CCTextureUpdateController.cpp:
+ (WebCore::CCTextureUpdateController::maxPartialTextureUpdates):
+ (WebCore::CCTextureUpdateController::CCTextureUpdateController):
+ (WebCore::CCTextureUpdateController::updateMoreTextures):
+ (WebCore::CCTextureUpdateController::updateMoreTexturesSize):
+ * platform/graphics/chromium/cc/CCTextureUpdateController.h:
+ (WebCore::CCTextureUpdateController::create):
+ (CCTextureUpdateController):
+ * platform/graphics/chromium/cc/CCThreadProxy.cpp:
+ (WebCore::CCThreadProxy::beginFrameCompleteOnImplThread):
+ (WebCore::CCThreadProxy::scheduledActionUpdateMoreResources):
+ * platform/graphics/chromium/cc/CCThreadProxy.h:
+
+2012-08-16 Kenneth Russell <kbr@google.com>
+
+ Unreviewed, rolling out r125833.
+ http://trac.webkit.org/changeset/125833
+ https://bugs.webkit.org/show_bug.cgi?id=94234
+
+ Was not the cause of the test failures. Per
+ http://crbug.com/143311 , it is probably WebKit r125800.
+
+ * platform/graphics/chromium/Canvas2DLayerBridge.cpp:
+ (WebCore::Canvas2DLayerBridge::~Canvas2DLayerBridge):
+ (WebCore::Canvas2DLayerBridge::deferredCanvas):
+ (WebCore):
+ (WebCore::Canvas2DLayerBridge::prepareForDraw):
+ (WebCore::Canvas2DLayerBridge::skCanvas):
+ * platform/graphics/chromium/Canvas2DLayerBridge.h:
+ (Canvas2DLayerBridge):
+ * platform/graphics/skia/ImageBufferSkia.cpp:
+
+2012-08-16 Antoine Labour <piman@chromium.org>
+
+ [chromium] Add resource transfer functions to CCResourceProvider
+ https://bugs.webkit.org/show_bug.cgi?id=93524
+
+ Reviewed by James Robinson.
+
+ This adds methods to CCResourceProvider to be able to transport
+ resources from a child to a parent.
+
+ Added test to CCResourceProviderTest.
+
+ * platform/graphics/chromium/cc/CCResourceProvider.cpp:
+ (WebCore::CCResourceProvider::inUseByConsumer):
+ (WebCore::CCResourceProvider::createResource):
+ (WebCore::CCResourceProvider::createResourceFromExternalTexture):
+ (WebCore::CCResourceProvider::CCResourceProvider):
+ (WebCore::CCResourceProvider::createChild):
+ (WebCore):
+ (WebCore::CCResourceProvider::destroyChild):
+ (WebCore::CCResourceProvider::getChildToParentMap):
+ (WebCore::CCResourceProvider::prepareSendToParent):
+ (WebCore::CCResourceProvider::prepareSendToChild):
+ (WebCore::CCResourceProvider::receiveFromChild):
+ (WebCore::CCResourceProvider::receiveFromParent):
+ (WebCore::CCResourceProvider::transferResource):
+ * platform/graphics/chromium/cc/CCResourceProvider.h:
+ (Mailbox):
+ (TransferableResource):
+ (TransferableResourceList):
+ (CCResourceProvider):
+ (Resource):
+ (Child):
+
+2012-08-16 Kent Tamura <tkent@chromium.org>
+
+ [Chromium-win] Use native digits in a case of "context" substitution setting too.
+ https://bugs.webkit.org/show_bug.cgi?id=94210
+
+ Reviewed by Hajime Morita.
+
+ Use native digits in a case of "context" substitution setting, not only
+ "native" substitution. IE10's input[type=number] always show native
+ digits even if the system setting is "context". We had better follow
+ this behavior.
+
+ No new tests. This behavior depends on the system locale setting.
+
+ * platform/text/LocaleWin.cpp:
+ (WebCore::LocaleWin::initializeNumberLocalizerData):
+ Uses 0-9 only if the substitution setting is "0 to 9". It measn we apply
+ native digits if the substitution setting is "context" or "native".
+
+2012-08-16 Huang Dongsung <luxtella@company100.net>
+
+ [Texmap] Render gif animation well.
+ https://bugs.webkit.org/show_bug.cgi?id=93458
+
+ Reviewed by Noam Rosenthal.
+
+ GraphicsLayerTextureMapper::setContentsToImage() checks the pointer to the
+ image, not nativeImagePtr, so Texmap currently draws only the first frame of gif
+ animations. This patch makes Texmap draw gif animations.
+
+ No new tests, could not write a test due to DRT limitation, see Bug 93458.
+
+ * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
+ (WebCore::GraphicsLayerTextureMapper::setContentsNeedsDisplay):
+ (WebCore::GraphicsLayerTextureMapper::setContentsToImage):
+ * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
+ (GraphicsLayerTextureMapper):
+
+2012-08-16 Kenneth Russell <kbr@google.com>
+
+ Unreviewed, rolling out r125804.
+ http://trac.webkit.org/changeset/125804
+ https://bugs.webkit.org/show_bug.cgi?id=94234
+
+ Made threaded tests in performance_browser_tests start timing
+ out on Chromium GPU bots
+
+ * platform/graphics/chromium/Canvas2DLayerBridge.cpp:
+ (AcceleratedDeviceContext):
+ (WebCore::AcceleratedDeviceContext::AcceleratedDeviceContext):
+ (WebCore::AcceleratedDeviceContext::prepareForDraw):
+ (WebCore):
+ (WebCore::Canvas2DLayerBridge::~Canvas2DLayerBridge):
+ (WebCore::Canvas2DLayerBridge::skCanvas):
+ * platform/graphics/chromium/Canvas2DLayerBridge.h:
+ (Canvas2DLayerBridge):
+ * platform/graphics/skia/ImageBufferSkia.cpp:
+
+2012-08-16 Adam Barth <abarth@webkit.org>
+
+ Rename DOMWindow::clear to something more descriptive
+ https://bugs.webkit.org/show_bug.cgi?id=93993
+
+ Reviewed by Eric Seidel.
+
+ As requested by Eric Seidel. In WebKit, we typically use "clear" to
+ mean zeroing out a pointer (e.g., OwnPtr::clear). For DOMWindow, it's
+ more like we're resetting the DOMWindow to a known state (i.e., its
+ initial state), modulo a wrinkle w.r.t. the PageCache. The new name
+ attempts to clarify the situation.
+
+ * dom/Document.cpp:
+ (WebCore::Document::~Document):
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::clear):
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::~DOMWindow):
+ (WebCore::DOMWindow::frameDestroyed):
+ (WebCore::DOMWindow::resetUnlessSuspendedForPageCache):
+ (WebCore::DOMWindow::resetDOMWindowProperties):
+ * page/DOMWindow.h:
+ (DOMWindow):
+
+2012-08-16 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r125717.
+ http://trac.webkit.org/changeset/125717
+ https://bugs.webkit.org/show_bug.cgi?id=94272
+
+ Likely to be causing Chromium Win Debug extensions browser
+ tests to fail (Requested by enne on #webkit).
+
+ * UseV8.cmake:
+ * WebCore.gypi:
+ * bindings/v8/DOMWrapperWorld.cpp:
+ (WebCore::DOMWrapperWorld::DOMWrapperWorld):
+ (WebCore::mainThreadNormalWorld):
+ * bindings/v8/DOMWrapperWorld.h:
+ (WebCore):
+ (WebCore::DOMWrapperWorld::create):
+ (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
+ (DOMWrapperWorld):
+ * bindings/v8/IsolatedWorld.cpp: Copied from Source/WebCore/bindings/v8/DOMWrapperWorld.cpp.
+ (WebCore):
+ (WebCore::IsolatedWorld::IsolatedWorld):
+ (WebCore::IsolatedWorld::~IsolatedWorld):
+ * bindings/v8/IsolatedWorld.h: Copied from Source/WebCore/bindings/v8/DOMWrapperWorld.h.
+ (WebCore):
+ (IsolatedWorld):
+ (WebCore::IsolatedWorld::create):
+ (WebCore::IsolatedWorld::count):
+ (WebCore::IsolatedWorld::id):
+ (WebCore::IsolatedWorld::domDataStore):
+ * bindings/v8/V8DOMWrapper.h:
+ (WebCore::V8DOMWrapper::getCachedWrapper):
+ * bindings/v8/V8IsolatedContext.cpp:
+ (WebCore::V8IsolatedContext::V8IsolatedContext):
+ (WebCore::V8IsolatedContext::destroy):
+ * bindings/v8/V8IsolatedContext.h:
+ (WebCore::V8IsolatedContext::getEntered):
+ (WebCore::V8IsolatedContext::world):
+ (V8IsolatedContext):
+
+2012-08-16 Nico Weber <thakis@chromium.org>
+
+ Delete ThemeChromiumMac, use ThemeMac in chromium/mac instead
+ https://bugs.webkit.org/show_bug.cgi?id=94260
+
+ Reviewed by James Robinson.
+
+ ThemeChromiumMac was introduced when ThemeMac assumed that an
+ in-process Cocoa view existed. With WebKit2, that's no longer true,
+ and the files can now be merged.
+
+ No behavior change.
+
+ * WebCore.gyp/WebCore.gyp:
+ * WebCore.gypi:
+ * platform/chromium/ThemeChromiumMac.h: Removed.
+ * platform/chromium/ThemeChromiumMac.mm: Removed.
+ * platform/mac/ThemeMac.mm:
+ (WebCore::paintStepper):
+ (WebCore::ThemeMac::ensuredView):
+
+2012-08-16 Nate Chapin <japhet@chromium.org>
+
+ ProgressTracker never completes if iframe detached during parsing
+ https://bugs.webkit.org/show_bug.cgi?id=92272
+
+ Reviewed by Adam Barth.
+
+ Add a simple helper class to FrameLoader to ensure progressStarted/progressCompleted calls are matched,
+ and balance the calls when the Frame is detached.
+
+ No new tests, as this behavior has only been producing reliably by setting a breakpoint in a specific place.
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::init):
+ (WebCore::FrameLoader::FrameProgressTracker::progressStarted):
+ (WebCore::FrameLoader::FrameProgressTracker::progressCompleted):
+ (WebCore::FrameLoader::FrameProgressTracker::~FrameProgressTracker):
+ (WebCore::FrameLoader::prepareForLoadStart):
+ (WebCore::FrameLoader::clearProvisionalLoad):
+ (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
+ (WebCore::FrameLoader::detachFromParent):
+ * loader/FrameLoader.h:
+ (FrameProgressTracker):
+ (WebCore::FrameLoader::FrameProgressTracker::create):
+ (WebCore::FrameLoader::FrameProgressTracker::FrameProgressTracker):
+
+2012-08-16 Arnaud Renevier <a.renevier@sisa.samsung.com>
+
+ Update TypedArrays to throw RangeError or similar instead of INDEX_SIZE_ERR
+ https://bugs.webkit.org/show_bug.cgi?id=45118
+
+ Reviewed by Kenneth Russell.
+
+ Update TypedArrays to raise JavaScript RangeError instead of dom
+ INDEX_SIZE_ERR exceptions. Also, update TypedArrays to raise TypeError
+ instead of JavaScript SyntaxError or dom exceptions SYNTAX_ERR when
+ calling set method with invalid arguments.
+
+ Specification does not define the type of exceptions to raise, but
+ other browsers raise JavaScript errors, so those changes will improve
+ compatibility.
+
+ New Test: fast/canvas/webgl/array-set-invalid-arguments.html
+
+ Updated Tests expectations:
+ fast/canvas/webgl/array-set-out-of-bounds.html
+ fast/canvas/webgl/data-view-crash.html
+ fast/canvas/webgl/data-view-test.html
+
+ * bindings/js/JSArrayBufferViewHelper.h:
+ (WebCore):
+ (WebCore::setWebGLArrayWithTypedArrayArgument):
+ (WebCore::setWebGLArrayHelper):
+ (WebCore::constructArrayBufferViewWithTypedArrayArgument):
+ (WebCore::constructArrayBufferViewWithArrayBufferArgument):
+ (WebCore::constructArrayBufferView):
+ * bindings/v8/custom/V8ArrayBufferViewCustom.h:
+ (WebCore):
+ (WebCore::constructWebGLArrayWithArrayBufferArgument):
+ (WebCore::setWebGLArrayHelper):
+
+2012-08-16 Alexandre Elias <aelias@google.com>
+
+ [chromium] Replace destRect with destOffset in texture upload
+ https://bugs.webkit.org/show_bug.cgi?id=94154
+
+ Reviewed by James Robinson.
+
+ Previously, texture upload code implicitly assumed that sourceRect and
+ destRect have the same size. The behavior is undefined if they are
+ different, since they are used interchangeably and there's no support
+ for scaling from one rect to the other. This patch enforces that
+ constraint at the interface level by replacing all instances of
+ "IntRect destRect" by "IntSize destOffset".
+
+ No new tests (no-op refactoring).
+
+ * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.cpp:
+ (WebCore::BitmapCanvasLayerTextureUpdater::Texture::updateRect):
+ (WebCore::BitmapCanvasLayerTextureUpdater::updateTextureRect):
+ * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.h:
+ (Texture):
+ (BitmapCanvasLayerTextureUpdater):
+ * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.cpp:
+ (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::Texture::updateRect):
+ * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.h:
+ (Texture):
+ * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp:
+ (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::Texture::updateRect):
+ (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::updateTextureRect):
+ * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.h:
+ (Texture):
+ (FrameBufferSkPictureCanvasLayerTextureUpdater):
+ * platform/graphics/chromium/ImageLayerChromium.cpp:
+ (WebCore::ImageLayerTextureUpdater::updateTextureRect):
+ * platform/graphics/chromium/LayerRendererChromium.cpp:
+ * platform/graphics/chromium/LayerTextureSubImage.cpp:
+ (WebCore::LayerTextureSubImage::upload):
+ (WebCore::LayerTextureSubImage::uploadWithTexSubImage):
+ (WebCore::LayerTextureSubImage::uploadWithMapTexSubImage):
+ * platform/graphics/chromium/LayerTextureSubImage.h:
+ (LayerTextureSubImage):
+ * platform/graphics/chromium/LayerTextureUpdater.h:
+ (Texture):
+ * platform/graphics/chromium/ScrollbarLayerChromium.cpp:
+ (WebCore::ScrollbarLayerChromium::updatePart):
+ * platform/graphics/chromium/TextureUploader.h:
+ (Parameters):
+ * platform/graphics/chromium/ThrottledTextureUploader.cpp:
+ (WebCore::ThrottledTextureUploader::uploadTexture):
+ * platform/graphics/chromium/TiledLayerChromium.cpp:
+ (WebCore::TiledLayerChromium::updateTileTextures):
+ * platform/graphics/chromium/cc/CCHeadsUpDisplayLayerImpl.cpp:
+ (WebCore::CCHeadsUpDisplayLayerImpl::willDraw):
+ * platform/graphics/chromium/cc/CCPrioritizedTexture.cpp:
+ (WebCore::CCPrioritizedTexture::upload):
+ * platform/graphics/chromium/cc/CCPrioritizedTexture.h:
+ (CCPrioritizedTexture):
+ * platform/graphics/chromium/cc/CCResourceProvider.cpp:
+ (WebCore::CCResourceProvider::upload):
+ * platform/graphics/chromium/cc/CCResourceProvider.h:
+ (CCResourceProvider):
+ * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
+ (WebCore::CCVideoLayerImpl::copyPlaneData):
+
+2012-08-16 James Robinson <jamesr@chromium.org>
+
+ [chromium] Remove unnecessary tree hierarchy inspection APIs from WebLayer
+ https://bugs.webkit.org/show_bug.cgi?id=94229
+
+ Reviewed by Adrienne Walker.
+
+ Tweak updateLayerPreserves3D() logic to use the existing GraphicsLayer tree hierarchy instead of pulling the
+ hierarchy off of WebLayer.
+
+ * platform/graphics/chromium/GraphicsLayerChromium.cpp:
+ (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
+
+2012-08-16 Ryosuke Niwa <rniwa@webkit.org>
+
+ Let Xcode have its own way.
+
+ * WebCore.xcodeproj/project.pbxproj:
+
+2012-08-16 Mike West <mkwst@chromium.org>
+
+ Refactor CSPDirective to support non-sourcelist types.
+ https://bugs.webkit.org/show_bug.cgi?id=94252
+
+ Reviewed by Adam Barth.
+
+ The 'CSPDirective' was built to support source list Content Security
+ Policy directives like 'script-src' or 'object-src'. It doesn't support
+ new directive types like 'script-nonce' or 'plugin-types'. That
+ functionality has been implemented by hanging state off of
+ CSPDirectiveList, which isn't a great solution.
+
+ This patch pulls the source list functionality out of CSPDirective and
+ into SourceListDirective, and likewise pulls the nonce and media list
+ functionality into NonceDirective and MediaListDirective.
+
+ No new tests have been added; this refactoring should be externally
+ transparent, and the current CSP tests should continue to pass.
+
+ * page/ContentSecurityPolicy.cpp:
+ (WebCore::CSPDirective::CSPDirective):
+ (CSPDirective):
+ (WebCore::CSPDirective::text):
+ (WebCore::CSPDirective::policy):
+ CSPDirective is now a parent class for NonceDirective,
+ MediaListDirective, and SourceListDirective. It stores a pointer
+ to the ContentSecurityPolicy object in order to facilitate logging,
+ which now needs to happen at this level, rather than higher up in
+ CSPDirectiveList.
+ (WebCore):
+ (NonceDirective):
+ (WebCore::NonceDirective::NonceDirective):
+ (WebCore::NonceDirective::allows):
+ (WebCore::NonceDirective::parse):
+ Pull the nonce parsing code and state out of CSPDirectiveList
+ and into this new class.
+ (MediaListDirective):
+ (WebCore::MediaListDirective::MediaListDirective):
+ (WebCore::MediaListDirective::allows):
+ (WebCore::MediaListDirective::parse):
+ Pull the media list parsing code and state out of CSPDirectiveList
+ and into this new class.
+ (SourceListDirective):
+ (WebCore::SourceListDirective::SourceListDirective):
+ (WebCore::SourceListDirective::allows):
+ Pull the source list functionality out of CSPDirective
+ and into this new class.
+ (CSPDirectiveList):
+ (WebCore::CSPDirectiveList::checkEval):
+ (WebCore::CSPDirectiveList::checkInline):
+ (WebCore::CSPDirectiveList::checkNonce):
+ (WebCore::CSPDirectiveList::checkSource):
+ (WebCore::CSPDirectiveList::checkMediaType):
+ (WebCore::CSPDirectiveList::operativeDirective):
+ (WebCore::CSPDirectiveList::checkEvalAndReportViolation):
+ (WebCore::CSPDirectiveList::checkNonceAndReportViolation):
+ (WebCore::CSPDirectiveList::checkMediaTypeAndReportViolation):
+ (WebCore::CSPDirectiveList::checkInlineAndReportViolation):
+ (WebCore::CSPDirectiveList::checkSourceAndReportViolation):
+ (WebCore::CSPDirectiveList::allowJavaScriptURLs):
+ (WebCore::CSPDirectiveList::allowInlineEventHandlers):
+ (WebCore::CSPDirectiveList::allowScriptNonce):
+ (WebCore::CSPDirectiveList::allowPluginType):
+ (WebCore::CSPDirectiveList::setCSPDirective):
+ (WebCore::CSPDirectiveList::addDirective):
+ Use the new classes rather than CSPDirective (or no directive
+ at all, in the case of nonces and plugin types).
+
+2012-08-16 Adam Barth <abarth@webkit.org>
+
+ Null checks of m_frame->document()->domWindow() aren't needed
+ https://bugs.webkit.org/show_bug.cgi?id=94052
+
+ Reviewed by Eric Seidel.
+
+ If a document is attached to a frame, then its DOMWindow is necessarily
+ non-0. Checking for 0 is needless.
+
+ * loader/DocumentLoader.cpp:
+ (WebCore::DocumentLoader::checkLoadComplete):
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::stopLoading):
+ (WebCore::FrameLoader::didOpenURL):
+ (WebCore::FrameLoader::prepareForCachedPageRestore):
+
+2012-08-16 Max Feil <mfeil@rim.com>
+
+ [BlackBerry] Some media controls are mispositioned for dynamic live streams (HLS)
+ https://bugs.webkit.org/show_bug.cgi?id=94176
+
+ Reviewed by Antonio Gomes.
+
+ The default HTML5 media controls for dynamic live streams have
+ no timeline or timeline container, which for BlackBerry results
+ in mispositioning of the buttons that are supposed to be to
+ the right of the timeline (fullscreen and mute). Instead of
+ being right justified they incorrectly appear on the left next
+ to the play button. The fix is to explicitly position these 2
+ buttons whenever the media duration is infinite (indicating a
+ live stream).
+
+ Manual test: ManualTests/blackberry/video-hls-controls.html
+
+ * platform/blackberry/RenderThemeBlackBerry.cpp:
+ (WebCore::RenderThemeBlackBerry::adjustMediaControlStyle):
+
+2012-08-16 Abhishek Arya <inferno@chromium.org>
+
+ Regression(r118248): Replaced element not layout
+ https://bugs.webkit.org/show_bug.cgi?id=85804
+
+ Reviewed by Levi Weintraub.
+
+ r118248 moved the layout call of replaced elements to nextLineBreak.
+ This was intended to delay the layout after all the lineboxes are cleared
+ in RenderBlock::layoutInlineChildren. However, this caused the end line
+ object to not layout at all. We revert to the old planned way to just
+ keep a local vector of replaced elements to layout and then layout all of them
+ after the lineboxes are cleared.
+
+ Test: fast/replaced/replaced-last-line-layout.html
+
+ * rendering/RenderBlockLineLayout.cpp:
+ (WebCore::RenderBlock::layoutInlineChildren):
+ (WebCore::RenderBlock::LineBreaker::nextLineBreak):
+
+2012-08-16 Benjamin Poulain <bpoulain@apple.com>
+
+ Do not perform 8 to 16bits characters conversion when converting a WTFString to NSString/CFString
+ https://bugs.webkit.org/show_bug.cgi?id=90720
+
+ Reviewed by Geoffrey Garen.
+
+ In most String to CFString conversion, we should be able to use the "NoCopy" constructor and have
+ a relatively cheap conversion from WTF::String to CFString.
+
+ When the String is 8 bits, it was converted to 16 bits by getData16SlowCase() because of the call
+ to String::characters().
+
+ This patch adds a path for creating a CFString from a 8bits string using CFStringCreateWithBytes.
+
+ This is covered by existing tests.
+
+ * platform/text/cf/StringCF.cpp:
+ (WTF::String::createCFString): CFSTR() create static CFString, it is unecessary to retain it.
+ * platform/text/cf/StringImplCF.cpp:
+ (WTF::StringImpl::createCFString): The logic to avoid the StringWrapperCFAllocator has also been simplified.
+ The allocator creation is now closer to where it is useful.
+
+ The function CFStringCreateWithBytesNoCopy() does not necessarilly allocate a new string, it can reuse
+ existing strings. In those cases, the allocator is not used. For that reason, the assertion regarding
+ currentString is moved to the branch that always allocate new strings.
+
+2012-08-16 Adam Barth <abarth@webkit.org>
+
+ DirectoryEntry should use Dictionary rather than custom bindings code
+ https://bugs.webkit.org/show_bug.cgi?id=94207
+
+ Reviewed by Eric Seidel.
+
+ Since this code was written, we added native support for WebIDL
+ Dictionary objects. This patch moves DirectoryEntry to use this
+ automatic facility instead of custom code.
+
+ I've also renamed and simplified WebKitFlags. This is possible because
+ this object was no longer exposed via IDL (even before to this patch).
+
+ * GNUmakefile.list.am:
+ * Modules/filesystem/DOMFileSystemBase.cpp:
+ (WebCore::DOMFileSystemBase::getFile):
+ (WebCore::DOMFileSystemBase::getDirectory):
+ * Modules/filesystem/DOMFileSystemBase.h:
+ (DOMFileSystemBase):
+ * Modules/filesystem/DirectoryEntry.cpp:
+ (WebCore::DirectoryEntry::getFile):
+ (WebCore::DirectoryEntry::getDirectory):
+ * Modules/filesystem/DirectoryEntry.h:
+ (DirectoryEntry):
+ * Modules/filesystem/DirectoryEntry.idl:
+ * Modules/filesystem/DirectoryEntrySync.cpp:
+ (WebCore::DirectoryEntrySync::getFile):
+ (WebCore::DirectoryEntrySync::getDirectory):
+ * Modules/filesystem/DirectoryEntrySync.h:
+ (DirectoryEntrySync):
+ * Modules/filesystem/DirectoryEntrySync.idl:
+ * Modules/filesystem/FileSystemCallbacks.cpp:
+ (WebCore):
+ (WebCore::ResolveURICallbacks::didOpenFileSystem):
+ * Modules/filesystem/FileSystemFlags.h: Renamed from Source/WebCore/Modules/filesystem/WebKitFlags.h.
+ (WebCore):
+ (WebCore::FileSystemFlags::FileSystemFlags):
+ (FileSystemFlags):
+ * Modules/filesystem/WorkerContextFileSystem.cpp:
+ (WebCore::WorkerContextFileSystem::webkitResolveLocalFileSystemSyncURL):
+ * Target.pri:
+ * UseJSC.cmake:
+ * UseV8.cmake:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSDirectoryEntryCustom.cpp: Removed.
+ * bindings/js/JSDirectoryEntrySyncCustom.cpp: Removed.
+ * bindings/v8/custom/V8DirectoryEntryCustom.cpp: Removed.
+ * bindings/v8/custom/V8DirectoryEntrySyncCustom.cpp: Removed.
+
+2012-08-15 Antti Koivisto <antti@apple.com>
+
+ Remove StyleSheetContents::m_finalURL
+ https://bugs.webkit.org/show_bug.cgi?id=94140
+
+ Reviewed by Andreas Kling.
+
+ It is equal (or empty in case of inline stylesheets) to the baseURL passed in CSSParserContext.
+ Removing it simplifies the constructors and the related code.
+
+ * css/CSSStyleSheet.cpp:
+ (WebCore::CSSStyleSheet::createInline):
+ (WebCore::CSSStyleSheet::canAccessRules):
+ (WebCore::CSSStyleSheet::rules):
+ (WebCore::CSSStyleSheet::cssRules):
+
+ - factor access check to a function
+ - allow document always access rules of its inline stylesheets
+
+ * css/StyleRuleImport.cpp:
+ (WebCore::StyleRuleImport::setCSSStyleSheet):
+ (WebCore::StyleRuleImport::requestStyleSheet):
+ * css/StyleSheetContents.cpp:
+ (WebCore::StyleSheetContents::StyleSheetContents):
+ (WebCore::StyleSheetContents::parseAuthorStyleSheet):
+ * css/StyleSheetContents.h:
+ (WebCore::StyleSheetContents::create):
+ (WebCore::StyleSheetContents::originalURL):
+ (StyleSheetContents):
+ * dom/ProcessingInstruction.cpp:
+ (WebCore::ProcessingInstruction::setCSSStyleSheet):
+ * html/HTMLLinkElement.cpp:
+ (WebCore::HTMLLinkElement::setCSSStyleSheet):
+ * inspector/InspectorStyleSheet.cpp:
+ (WebCore::fillMediaListChain):
+ (WebCore::InspectorStyleSheet::styleSheetURL):
+ * xml/XSLImportRule.cpp:
+ (WebCore::XSLImportRule::loadSheet):
+
+2012-08-16 Justin Novosad <junov@chromium.org>
+
+ [Chromium] Changing Canvas2DLayerBridge to use SkDeferredCanvas's notification client API
+ https://bugs.webkit.org/show_bug.cgi?id=94234
+
+ Reviewed by James Robinson.
+
+ The existing DeviceContext API in skia's SkDeferredCanvas is being
+ deprecated in favor of the new NotificationClient interface, which is
+ designed to allow WebKit to control deferred canvas global memory
+ consumption.
+
+ No new tests: this patch does not fix any bug and does not add new
+ functionality. It is just a transition to a new skia interface.
+ Coverage is assured by existing tests.
+
+ * platform/graphics/chromium/Canvas2DLayerBridge.cpp:
+ (WebCore):
+ Removed the AcceleratedDeviceContext class completely and mixed it
+ into Canvas2DLayerBridge by inheriting
+ SkDeferredCanvas::NotificationClient
+ (WebCore::Canvas2DLayerBridge::~Canvas2DLayerBridge):
+ (WebCore::Canvas2DLayerBridge::deferredCanvas):
+ (WebCore::Canvas2DLayerBridge::prepareForDraw):
+ (WebCore::Canvas2DLayerBridge::skCanvas):
+ * platform/graphics/chromium/Canvas2DLayerBridge.h:
+ (Canvas2DLayerBridge):
+ * platform/graphics/skia/ImageBufferSkia.cpp:
+ Cleaning up unnecessary include of SkDeferredCanvas.h
+
+2012-08-16 David Reveman <reveman@chromium.org>
+
+ [Chromium] Avoid aliasing global symbol monotonicallyIncreasingTime().
+ https://bugs.webkit.org/show_bug.cgi?id=94233
+
+ Reviewed by James Robinson.
+
+ Rename virtual function CCDelayBasedTimeSource::monotonicallyIncreasingTime()
+ that exist for testing purposes to CCDelayBasedTimeSource::monotonicTimeNow().
+
+ No new tests.
+
+ * platform/graphics/chromium/cc/CCDelayBasedTimeSource.cpp:
+ (WebCore::CCDelayBasedTimeSource::setActive):
+ (WebCore::CCDelayBasedTimeSource::onTimerFired):
+ (WebCore::CCDelayBasedTimeSource::monotonicTimeNow):
+ * platform/graphics/chromium/cc/CCDelayBasedTimeSource.h:
+
+2012-08-16 David Reveman <reveman@chromium.org>
+
+ [Chromium] Schedule texture uploads based on hard-coded timer and vsync.
+ https://bugs.webkit.org/show_bug.cgi?id=84281
+
+ Reviewed by James Robinson.
+
+ Improve interaction between vsync and texture uploads by performing
+ uploads in smaller batches and use a hard-coded timer to emulate
+ upload completion. This greatly reduces the chance of the compositor
+ missing a vsync due to being busy with texture uploads.
+
+ The CCScheduler client is now given a time limit when told to update
+ more resources. This time limit is passed to an instance of the
+ CCTextureUpdateController class, which is responsible for performing
+ texture updates until the limit is reached.
+
+ Unit tests: CCSchedulerTest.RequestCommit
+ CCTextureUpdateControllerTest.UpdateMoreTextures
+ CCTextureUpdateControllerTest.HasMoreUpdates
+
+ * platform/graphics/chromium/cc/CCFrameRateController.cpp:
+ (WebCore::CCFrameRateController::nextTickTime):
+ (WebCore):
+ * platform/graphics/chromium/cc/CCFrameRateController.h:
+ (CCFrameRateController):
+ * platform/graphics/chromium/cc/CCScheduler.cpp:
+ (WebCore::CCScheduler::processScheduledActions):
+ * platform/graphics/chromium/cc/CCScheduler.h:
+ (CCSchedulerClient):
+ * platform/graphics/chromium/cc/CCTextureUpdateController.cpp:
+ (WebCore::CCTextureUpdateController::maxPartialTextureUpdates):
+ (WebCore::CCTextureUpdateController::CCTextureUpdateController):
+ (WebCore::CCTextureUpdateController::updateMoreTextures):
+ (WebCore):
+ (WebCore::CCTextureUpdateController::onTimerFired):
+ (WebCore::CCTextureUpdateController::monotonicTimeNow):
+ (WebCore::CCTextureUpdateController::updateMoreTexturesTime):
+ (WebCore::CCTextureUpdateController::updateMoreTexturesSize):
+ (WebCore::CCTextureUpdateController::updateMoreTexturesIfEnoughTimeRemaining):
+ (WebCore::CCTextureUpdateController::updateMoreTexturesNow):
+ * platform/graphics/chromium/cc/CCTextureUpdateController.h:
+ (WebCore::CCTextureUpdateController::create):
+ (CCTextureUpdateController):
+ * platform/graphics/chromium/cc/CCThreadProxy.cpp:
+ (WebCore::CCThreadProxy::beginFrameCompleteOnImplThread):
+ (WebCore::CCThreadProxy::scheduledActionUpdateMoreResources):
+ * platform/graphics/chromium/cc/CCThreadProxy.h:
+
+2012-08-16 Dana Jansens <danakj@chromium.org>
+
+ [chromium] Impl scrolling crashes when the renderer's initialization failed
+ https://bugs.webkit.org/show_bug.cgi?id=94232
+
+ Reviewed by James Robinson.
+
+ CCLayerTreeHostImpl::calculateRenderSurfaceLayerList should not be
+ called when there is no renderer present or it will crash.
+
+ Chromium bug: crbug.com/125482
+
+ Tests: CCLayerTreeHostImplTest.scrollWithoutRenderer
+
+ * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
+ (WebCore::CCLayerTreeHostImpl::calculateRenderSurfaceLayerList):
+ (WebCore::CCLayerTreeHostImpl::ensureRenderSurfaceLayerList):
+
+2012-08-15 Levi Weintraub <leviw@chromium.org>
+
+ Accumulate sub-pixel offsets through layers and transforms
+ https://bugs.webkit.org/show_bug.cgi?id=89238
+
+ Reviewed by Eric Seidel.
+
+ Pixel snapping logic makes use of sub-pixel offsets accumulated when walking down
+ the render tree. When we align RenderLayers to paint on pixel boundaries, we were
+ also losing that accumulated value. This preserves the fractional offset and passes
+ it to the RenderLayer's RenderObjects so they paint the proper size and offset.
+
+ This also necessitates a new mode of mapLocalToContainer whereby we pixel snap the
+ offset used in transforms. Otherwise, they wouldn't account for the pixel snapping
+ done elsewhere in the render tree.
+
+ Test: fast/sub-pixel/sub-pixel-accumulates-to-layers.html
+
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::pixelSnappedSizingBox): The LayoutUnit version of sizingBox returns a
+ LayoutRect with the location zeroed out. This leads to incorrect pixel snapping, so
+ we shouldn't put these numbers into a transform. Sadly, I couldn't figure out a
+ test for this without the rest of the patch.
+ (WebCore):
+ (WebCore::computedTransform): Using pixel-snapped values when generating transforms.
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::mapLocalToContainer): Adding a mode whereby the values inputed
+ into the transform are properly pixel snapped.
+ (WebCore::RenderBox::computeRectForRepaint): Using pixel snapped values for the transform.
+ * rendering/RenderBox.h:
+ (RenderBox):
+ * rendering/RenderGeometryMap.cpp:
+ (WebCore::RenderGeometryMap::mapToAbsolute):
+ * rendering/RenderInline.cpp:
+ (WebCore::RenderInline::mapLocalToContainer):
+ * rendering/RenderInline.h:
+ (RenderInline):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::updateTransform): Using pixel snapped values for the transform.
+ (WebCore::RenderLayer::currentTransform): Ditto.
+ (WebCore::RenderLayer::perspectiveTransform): Ditto.
+ (WebCore::RenderLayer::paint): Support passing along the accumulated sub-pixel offset instead
+ of rounding and use enclosingIntRect for the damageRect.
+ (WebCore::RenderLayer::paintOverlayScrollbars): Updating to the new paintLayer contract
+ (WebCore::RenderLayer::paintLayer): Adding a sub-pixel accumulation LayoutSize. We pass this
+ delta to the Layer's RenderObject when we paint, but align the graphics context to the proper
+ pixel value.
+ (WebCore::RenderLayer::paintLayerContentsAndReflection): Ditto.
+ (WebCore::RenderLayer::paintLayerContents): Ditto.
+ (WebCore::RenderLayer::paintList): Ditto.
+ (WebCore::RenderLayer::paintChildLayerIntoColumns): Ditto.
+ (WebCore::RenderLayer::calculateClipRects): Avoid unnecessary rounding when sub-pixel is enabled.
+ (WebCore::RenderLayer::calculateRects): Remove unnecessary pixel snapping.
+ * rendering/RenderLayer.h:
+ (RenderLayer):
+ * rendering/RenderLayerBacking.cpp:
+ (WebCore::RenderLayerBacking::updateLayerTransform): Use pixel-snapped values for transforms.
+ (WebCore::RenderLayerBacking::paintIntoLayer): Update to new paintLayer contract.
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::localToContainerQuad): Adding a mode for optionally pixel snapping.
+ (WebCore::RenderObject::localToContainerPoint): Ditto.
+ * rendering/RenderObject.h:
+ (WebCore::RenderObject::localToAbsoluteQuad): Ditto.
+ (RenderObject):
+ * rendering/RenderReplica.cpp:
+ (WebCore::RenderReplica::paint): Updating to new paintLayer contract.
+ * rendering/RenderView.h:
+ (RenderView):
+ * rendering/svg/RenderSVGForeignObject.cpp:
+ (WebCore::RenderSVGForeignObject::mapLocalToContainer):
+ * rendering/svg/RenderSVGForeignObject.h:
+ (RenderSVGForeignObject):
+ * rendering/svg/RenderSVGInline.cpp:
+ (WebCore::RenderSVGInline::mapLocalToContainer):
+ * rendering/svg/RenderSVGInline.h:
+ (RenderSVGInline):
+ * rendering/svg/RenderSVGModelObject.cpp:
+ (WebCore::RenderSVGModelObject::mapLocalToContainer):
+ * rendering/svg/RenderSVGModelObject.h:
+ (RenderSVGModelObject):
+ * rendering/svg/RenderSVGRoot.h:
+ (RenderSVGRoot):
+ * rendering/svg/RenderSVGText.cpp:
+ (WebCore::RenderSVGText::mapLocalToContainer):
+ * rendering/svg/RenderSVGText.h:
+ (RenderSVGText):
+ * rendering/svg/SVGRenderSupport.cpp:
+ (WebCore::SVGRenderSupport::mapLocalToContainer):
+ * rendering/svg/SVGRenderSupport.h:
+ (SVGRenderSupport):
+
+2012-08-16 Mario Sanchez Prada <msanchez@igalia.com>
+
+ [GTK] Bad utf8 data is being passed to enchant_dict_check
+ https://bugs.webkit.org/show_bug.cgi?id=94202
+
+ Reviewed by Martin Robinson.
+
+ Pass the number of bytes instead of the number of UTF8 characters
+ when calling enchant_dict_check.
+
+ * platform/text/gtk/TextCheckerEnchant.cpp:
+ (TextCheckerEnchant::checkSpellingOfString): Use 'bytes' instead
+ of 'wordLength'.
+
+2012-08-16 Sergey Rogulenko <rogulenko@google.com>
+
+ Web Inspector: added Paint events for Images to TimelineAgent
+ https://bugs.webkit.org/show_bug.cgi?id=90277
+
+ Reviewed by Pavel Feldman.
+
+ - add DecodeImage & ResizeImage timeline events;
+ - implement {will,did}DecodeImage and {will,did}ResizeImage methods of Timeline agent;
+
+ Test: inspector/timeline/timeline-decode-resize.html
+
+ * English.lproj/localizedStrings.js:
+ * inspector/InspectorTimelineAgent.cpp:
+ (TimelineRecordType):
+ (WebCore::InspectorTimelineAgent::willDecodeImage):
+ (WebCore::InspectorTimelineAgent::didDecodeImage):
+ (WebCore::InspectorTimelineAgent::willResizeImage):
+ (WebCore::InspectorTimelineAgent::didResizeImage):
+ * inspector/TimelineRecordFactory.cpp:
+ (WebCore::TimelineRecordFactory::createDecodeImageData):
+ (WebCore):
+ (WebCore::TimelineRecordFactory::createResizeImageData):
+ * inspector/TimelineRecordFactory.h:
+ (TimelineRecordFactory):
+ * inspector/front-end/TimelineModel.js:
+ * inspector/front-end/TimelinePresentationModel.js:
+ (WebInspector.TimelinePresentationModel.initRecordStyles_):
+ (WebInspector.TimelinePresentationModel.Record.prototype._getRecordDetails):
+
+2012-08-16 James Robinson <jamesr@chromium.org>
+
+ [chromium] Remove alwaysReserveTextures code - it doesn't do anything
+ https://bugs.webkit.org/show_bug.cgi?id=94183
+
+ Reviewed by Dimitri Glazkov.
+
+ LayerChromium::setAlwaysReservesTextures doesn't do anything and hasn't since the prioritized texture manager
+ landed. This deletes the associated code.
+
+ * platform/graphics/chromium/LayerChromium.cpp:
+ (WebCore::LayerChromium::LayerChromium):
+ * platform/graphics/chromium/LayerChromium.h:
+ (LayerChromium):
+
+2012-08-16 Adam Barth <abarth@webkit.org>
+
+ Unreviewed. Sort the xcodeproj file.
+
+ * WebCore.xcodeproj/project.pbxproj:
+
+2012-08-16 Adam Barth <abarth@webkit.org>
+
+ Unreviewed. Update bindings tests results from my recent VoidCallback
+ patch. The new result is correct.
+
+ * bindings/scripts/test/V8/V8TestCallback.cpp:
+
+2012-08-16 Andrey Kosyakov <caseq@chromium.org>
+
+ Web Inspector: CPU profiler status bar is broken.
+ https://bugs.webkit.org/show_bug.cgi?id=94212
+
+ Reviewed by Pavel Feldman.
+
+ - properly compute floating status bar buttons offset for profile and timeline panels,
+ taking actual number of panel status bar buttons and panel sidebar offset into account;
+
+ * inspector/front-end/ProfilesPanel.js:
+ (WebInspector.ProfilesPanel.prototype.get statusBarItems):
+ (WebInspector.ProfilesPanel.prototype.sidebarResized):
+ (WebInspector.ProfilesPanel.prototype.onResize):
+ * inspector/front-end/SplitView.js:
+ (WebInspector.SplitView.prototype.sidebarWidth):
+ * inspector/front-end/StatusBarButton.js:
+ * inspector/front-end/TimelinePanel.js:
+ (WebInspector.TimelinePanel.prototype.sidebarResized):
+ (WebInspector.TimelinePanel.prototype.onResize):
+
+2012-08-16 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Fix the Mac build.
+
+ Unreviewed build fix.
+
+ * WebCore.exp.in: Export FrameView::didFirstLayout()
+
+2012-08-16 Konrad Piascik <kpiascik@rim.com>
+
+ Add BB10 User Agent String to Web Inspector.
+ https://bugs.webkit.org/show_bug.cgi?id=94217
+
+ Reviewed by George Staikos.
+
+ Add the new BlackBerry 10 User Agent String and device metrics for
+ emulation.
+
+ * inspector/front-end/SettingsScreen.js:
+ (WebInspector.UserAgentSettingsTab.prototype._createUserAgentSelectRowElement.get const):
+
+2012-08-16 Marcelo Lira <marcelo.lira@openbossa.org>
+
+ [Qt] Input method hints are not being set.
+ https://bugs.webkit.org/show_bug.cgi?id=92386
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Input method hints for an editable element must be obtained from a proper
+ HTML element. If the editable element is a complex one, it will have elements
+ in the Shadow DOM, and it's one of those that will be returned as the root
+ editable element. This works for editable DIVs, but not for INPUT elements.
+ Using Element::shadowHost() on the root editable element will provide the
+ needed HTML element, and for further clarity a method that does this was added
+ to FrameSelection.
+
+ * editing/FrameSelection.cpp:
+ (WebCore::FrameSelection::rootEditableElementRespectingShadowTree): Similar to
+ WebCore::FrameSelection::rootEditableElement, but returns the first ancestor of
+ the editable element outside the shadow tree.
+ (WebCore):
+ * editing/FrameSelection.h:
+ (FrameSelection):
+
+2012-08-16 Zeno Albisser <zeno@webkit.org>
+
+ Make GraphicsSurface double buffered by default.
+ https://bugs.webkit.org/show_bug.cgi?id=93252
+
+ Create only a single GraphicsSurface per canvas
+ on both supported platforms Mac/Linux.
+ The GraphicsSurface on Mac internally uses two IOSurface
+ to provide a front and a back buffer.
+ The GLX implementation of GraphicsSurface uses
+ an XWindow which already provides a front and a back buffer.
+
+ Reviewed by Noam Rosenthal.
+
+ * platform/graphics/qt/GraphicsContext3DQt.cpp:
+ (GraphicsContext3DPrivate):
+ Remove creation of second GraphicsSurface.
+ (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
+ (WebCore::GraphicsContext3DPrivate::copyToGraphicsSurface):
+ (WebCore):
+ (WebCore::GraphicsContext3DPrivate::graphicsSurfaceToken):
+ (WebCore::GraphicsContext3DPrivate::createGraphicsSurfaces):
+ * platform/graphics/surfaces/GraphicsSurface.cpp:
+ (WebCore::GraphicsSurface::create):
+ Adjust token type to uint64_t.
+ (WebCore::GraphicsSurface::exportToken):
+ Adjust return type to uint64_t.
+ (WebCore::GraphicsSurface::frontBuffer):
+ (WebCore):
+ (WebCore::GraphicsSurface::swapBuffers):
+ Add forwarding function to swap buffers inside GraphicsSurface.
+ * platform/graphics/surfaces/GraphicsSurface.h:
+ (GraphicsSurface):
+ Add SupportsSingleBuffered flag to allow for single buffered implementations.
+ Currently single buffered surfaces are either not implemented or disabled.
+ * platform/graphics/surfaces/mac/GraphicsSurfaceMac.cpp:
+ Move implementation details into GraphicsSurfacePrivate.
+ This way the platform specific code can be hidden in the specific cpp file
+ instead of polluting the global GraphicsSurface header.
+ (WebCore::createTexture):
+ (GraphicsSurfacePrivate):
+ (WebCore::GraphicsSurfacePrivate::GraphicsSurfacePrivate):
+ (WebCore::GraphicsSurfacePrivate::~GraphicsSurfacePrivate):
+ (WebCore::GraphicsSurfacePrivate::swapBuffers):
+ (WebCore::GraphicsSurfacePrivate::token):
+ (WebCore::GraphicsSurfacePrivate::frontBufferTextureID):
+ (WebCore::GraphicsSurfacePrivate::backBufferTextureID):
+ (WebCore::GraphicsSurfacePrivate::frontBuffer):
+ (WebCore::GraphicsSurfacePrivate::backBuffer):
+ (WebCore):
+ (WebCore::GraphicsSurface::platformExport):
+ (WebCore::GraphicsSurface::platformGetTextureID):
+ (WebCore::GraphicsSurface::platformCopyToGLTexture):
+ (WebCore::GraphicsSurface::platformCopyFromFramebuffer):
+ (WebCore::GraphicsSurface::platformFrontBuffer):
+ (WebCore::GraphicsSurface::platformSwapBuffers):
+ (WebCore::GraphicsSurface::platformCreate):
+ (WebCore::GraphicsSurface::platformImport):
+ (WebCore::ioSurfaceLockOptions):
+ (WebCore::GraphicsSurface::platformLock):
+ (WebCore::GraphicsSurface::platformUnlock):
+ (WebCore::GraphicsSurface::platformDestroy):
+ * platform/graphics/surfaces/qt/GraphicsSurfaceGLX.cpp:
+ (WebCore::OffScreenRootWindow::get):
+ (WebCore::GraphicsSurfacePrivate::swapBuffers):
+ Make sure that framebuffer bindings remain consistent
+ after swapping buffers on the XWindow.
+ (WebCore::GraphicsSurface::platformExport):
+ Make sure the GLXPixmap is only bound to the texture once.
+ (WebCore::GraphicsSurface::platformGetTextureID):
+ (WebCore::GraphicsSurface::platformCopyFromFramebuffer):
+ (WebCore):
+ (WebCore::GraphicsSurface::platformFrontBuffer):
+ The GLX surface does not know how to destinguish between
+ the front and the back buffer by an id. This is not necessary
+ for GraphicsSurfaceGLX, because the texture can just be
+ read from the XWindow at any time.
+ (WebCore::GraphicsSurface::platformSwapBuffers):
+ (WebCore::GraphicsSurface::platformCreate):
+ (WebCore::GraphicsSurface::platformImport):
+ * platform/graphics/texmap/TextureMapperBackingStore.cpp:
+ Remove code that was used for switching between two GraphicsSurfaces,
+ as this is now handled directly inside GraphicsSurface.
+ (WebCore::TextureMapperSurfaceBackingStore::setGraphicsSurface):
+ (WebCore::TextureMapperSurfaceBackingStore::paintToTextureMapper):
+ (WebCore::TextureMapperSurfaceBackingStore::setSurface):
+ (WebCore):
+ * platform/graphics/texmap/TextureMapperBackingStore.h:
+ Remove GraphicsSurfaceData struct. This class is not needed anymore
+ as we do not keep track of more than one GraphicsSurface at the time.
+ (WebCore):
+ (TextureMapperSurfaceBackingStore):
+ (WebCore::TextureMapperSurfaceBackingStore::graphicsSurface):
+ (WebCore::TextureMapperSurfaceBackingStore::TextureMapperSurfaceBackingStore):
+ * platform/graphics/texmap/TextureMapperPlatformLayer.h:
+ (WebCore::TextureMapperPlatformLayer::graphicsSurfaceToken):
+
+2012-08-16 Mike West <mkwst@chromium.org>
+
+ Implement the form-action Content Security Policy directive.
+ https://bugs.webkit.org/show_bug.cgi?id=93777
+
+ Reviewed by Jochen Eisinger.
+
+ The CSP 1.1 editor's draft defines the 'form-action' directive as a
+ mechanism for whitelisting valid targets for form submission from a
+ protected resource. A web author might desire to restrict form
+ submissions to the same origin as the protected resource itself via
+ a Content Security Policy of "form-action 'self'", or ensure that all
+ submissions were sent over an SSL connection via "form-action https:".
+
+ Specification details available at: https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html#form-action--experimental
+
+ This experimental directive is gated on the ENABLE_CSP_NEXT flag, which
+ is currently only enabled in Chromium.
+
+ Tests: http/tests/security/contentSecurityPolicy/1.1/form-action-src-allowed.html
+ http/tests/security/contentSecurityPolicy/1.1/form-action-src-blocked.html
+ http/tests/security/contentSecurityPolicy/1.1/form-action-src-default-ignored.html
+ http/tests/security/contentSecurityPolicy/1.1/form-action-src-get-allowed.html
+ http/tests/security/contentSecurityPolicy/1.1/form-action-src-get-blocked.html
+ http/tests/security/contentSecurityPolicy/1.1/form-action-src-javascript-blocked.html
+ http/tests/security/contentSecurityPolicy/1.1/form-action-src-redirect-blocked.html
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::checkIfFormActionAllowedByCSP):
+ Adding a callback to FrameLoader in order to allow the
+ MainResourceLoader to check the relevant CSP status without knowing
+ anything about CSP.
+ (WebCore):
+ * loader/FrameLoader.h:
+ (FrameLoader):
+ * loader/MainResourceLoader.cpp:
+ (WebCore::MainResourceLoader::willSendRequest):
+ Check against the protected resource's Content Security Policy when
+ presented with a request that is itself a form submission, or is the
+ result of a redirect in response to a form submission. If CSP would
+ block the target, cancel the request.
+ * page/ContentSecurityPolicy.cpp:
+ (CSPDirectiveList):
+ (WebCore::CSPDirectiveList::checkSourceAndReportViolation):
+ Added explanatory text to the source violation console warning that
+ specifically calls out sending form data (as opposed to "connect to"
+ or "load the").
+ (WebCore::CSPDirectiveList::allowFormAction):
+ Check a URL against a directive list's the 'form-action' source list.
+ (WebCore):
+ (WebCore::CSPDirectiveList::addDirective):
+ Recognize the 'form-action' CSP directive.
+ (WebCore::ContentSecurityPolicy::allowFormAction):
+ Public interface to check a form action.
+ * page/ContentSecurityPolicy.h:
+
+2012-08-16 Arvid Nilsson <anilsson@rim.com>
+
+ [BlackBerry] WebGL and Canvas fail to display after being restored from page cache
+ https://bugs.webkit.org/show_bug.cgi?id=94105
+
+ Reviewed by George Staikos.
+
+ The EGLImage was being destroyed when releasing layer resources on the
+ compositing thread, but the WebKit thread layer never found out and
+ failed to create a new image.
+
+ Fixed by extending the release layer resources mechanism to also make a
+ pass on the WebKit thread so that thread's layers have a chance to
+ delete their textures and related resources.
+
+ WebGL and canvas layers now take this opportunity to release their
+ textures so the EGLImage gets recreated when compositing commits
+ resume.
+
+ The only detail that deserves extra explanation is the ownership of the
+ EGLImage.
+
+ Since the EGLImage is created in updateTextureContentsIfNeeded() and
+ that one is always followed by commitPendingTextureUploads() which
+ transfers the EGLImage to the compositing thread layer's custody, the
+ EGLImage currently referenced by EGLImageLayerWebKitThread::m_image
+ should never be deleted by the WebKit thread layer.
+
+ Thus all we have to do in deleteFrontBuffer() is to set the m_image
+ member to 0 so the image gets recreated on the next commit. It will be
+ deleted by the part of releaseLayerResources() that executes on the
+ compositing thread (which, if you recall, was the original source of
+ this bug).
+
+ Reviewed internally by Filip Spacek.
+
+ PR 192899
+
+ Not currently testable by the BlackBerry testing infrastructure.
+
+ * platform/graphics/blackberry/CanvasLayerWebKitThread.cpp:
+ (WebCore::CanvasLayerWebKitThread::deleteTextures):
+ (WebCore):
+ * platform/graphics/blackberry/CanvasLayerWebKitThread.h:
+ (CanvasLayerWebKitThread):
+ * platform/graphics/blackberry/EGLImageLayerWebKitThread.cpp:
+ (WebCore::EGLImageLayerWebKitThread::~EGLImageLayerWebKitThread):
+ (WebCore::EGLImageLayerWebKitThread::deleteFrontBuffer):
+ * platform/graphics/blackberry/EGLImageLayerWebKitThread.h:
+ (EGLImageLayerWebKitThread):
+ * platform/graphics/blackberry/LayerWebKitThread.cpp:
+ (WebCore::LayerWebKitThread::releaseLayerResources):
+ (WebCore):
+ * platform/graphics/blackberry/LayerWebKitThread.h:
+ (LayerWebKitThread):
+ (WebCore::LayerWebKitThread::deleteTextures):
+ * platform/graphics/blackberry/WebGLLayerWebKitThread.cpp:
+ (WebCore::WebGLLayerWebKitThread::~WebGLLayerWebKitThread):
+ (WebCore::WebGLLayerWebKitThread::deleteTextures):
+ (WebCore):
+ * platform/graphics/blackberry/WebGLLayerWebKitThread.h:
+ (WebGLLayerWebKitThread):
+
+2012-08-16 Andrey Kosyakov <caseq@chromium.org>
+
+ Web Inspector: enable instrumentation of platform code
+ https://bugs.webkit.org/show_bug.cgi?id=94125
+
+ Reviewed by Pavel Feldman.
+
+ - add PlatformInstrumentation class that exposes instrumentation methods that may be used by code under WebCore/platform;
+ - move TRACE_EVENT_XXX() macros into PlatformInstrumentation.h to minimize instrumentation hassle in the client code;
+ - implement PlatformInstrumentationClient by InspectorTimelineAgent;
+ - only install PlatformInstrumentationClient when we have outer events for which we expect low-level details
+
+ * CMakeLists.txt:
+ * GNUmakefile.list.am:
+ * Target.pri:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * inspector/InspectorTimelineAgent.cpp:
+ (WebCore::InspectorTimelineAgent::willDecodeImage): to be implemented by subsequent change;
+ (WebCore::InspectorTimelineAgent::didDecodeImage): to be implemented by subsequent change;
+ (WebCore::InspectorTimelineAgent::willResizeImage): to be implemented by subsequent change;
+ (WebCore::InspectorTimelineAgent::didResizeImage): to be implemented by subsequent change;
+ (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
+ (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
+ (WebCore::InspectorTimelineAgent::pushCurrentRecord):
+ (WebCore::InspectorTimelineAgent::clearRecordStack):
+ * inspector/InspectorTimelineAgent.h:
+ (InspectorTimelineAgent):
+ * platform/PlatformInstrumentation.cpp: Added.
+ (WebCore):
+ (WebCore::PlatformInstrumentation::setClient):
+ * platform/PlatformInstrumentation.h: Added.
+ (WebCore):
+ (PlatformInstrumentationClient):
+ (PlatformInstrumentation):
+ (WebCore::PlatformInstrumentation::hasClient):
+ (WebCore::PlatformInstrumentation::willDecodeImage):
+ (WebCore::PlatformInstrumentation::didDecodeImage):
+ (WebCore::PlatformInstrumentation::willResizeImage):
+ (WebCore::PlatformInstrumentation::didResizeImage):
+ * platform/graphics/skia/NativeImageSkia.cpp:
+ (WebCore::NativeImageSkia::resizedBitmap): added calls to PlatformInstrumentation, removed TRACE_EVENT();
+ * platform/image-decoders/bmp/BMPImageDecoder.cpp:
+ (WebCore::BMPImageDecoder::frameBufferAtIndex): added calls to PlatformInstrumentation;
+ (WebCore::BMPImageDecoder::decode): removed TRACE_EVENT()
+ * platform/image-decoders/gif/GIFImageDecoder.cpp:
+ (WebCore::GIFImageDecoder::frameBufferAtIndex): added calls to PlatformInstrumentation;
+ (WebCore::GIFImageDecoder::decode): removed TRACE_EVENT()
+ * platform/image-decoders/ico/ICOImageDecoder.cpp:
+ (WebCore::ICOImageDecoder::frameBufferAtIndex): added calls to PlatformInstrumentation;
+ (WebCore::ICOImageDecoder::decode): removed TRACE_EVENT()
+ * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
+ (WebCore::JPEGImageDecoder::frameBufferAtIndex): added calls to PlatformInstrumentation;
+ (WebCore::JPEGImageDecoder::decode): removed TRACE_EVENT()
+ * platform/image-decoders/png/PNGImageDecoder.cpp:
+ (WebCore::PNGImageDecoder::frameBufferAtIndex): added calls to PlatformInstrumentation;
+ * platform/image-decoders/webp/WEBPImageDecoder.cpp:
+ (WebCore::WEBPImageDecoder::frameBufferAtIndex): added calls to PlatformInstrumentation;
+ (WebCore::WEBPImageDecoder::decode): removed TRACE_EVENT();
+ * inspector/InspectorInstrumentation.cpp: removed orphan event support;
+ (WebCore):
+ * inspector/InspectorInstrumentation.h: ditto.
+
+2012-08-16 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: Breakpoints are not correctly restored on reload.
+ https://bugs.webkit.org/show_bug.cgi?id=94209
+
+ Reviewed by Pavel Feldman.
+
+ BreakpointManager now resets uiLocations on workspace reset (was doing it on GlobalObjectCleared).
+ Breakpoint manager now calls restoreBreakpoints automatically when uiSourceCode is added to workspace.
+
+ * inspector/front-end/BreakpointManager.js:
+ (WebInspector.BreakpointManager):
+ (WebInspector.BreakpointManager.prototype._uiSourceCodeAdded):
+ (WebInspector.BreakpointManager.prototype._workspaceReset):
+ * inspector/front-end/UISourceCode.js:
+ (WebInspector.UISourceCode):
+ * inspector/front-end/inspector.js:
+
+2012-08-16 Pierre Rossi <pierre.rossi@gmail.com>
+
+ [Qt] Remove FontQt4, HAVE_QRAWFONT flag and the related dead code
+ https://bugs.webkit.org/show_bug.cgi?id=93960
+
+ Reviewed by Simon Hausmann.
+
+ Following the removal of Qt 4 support from trunk in r124879.
+
+ No new tests. Simple cleanup job.
+
+ * Target.pri:
+ * platform/graphics/Font.cpp:
+ (WebCore::Font::codePath):
+ * platform/graphics/Font.h:
+ (Font):
+ * platform/graphics/GraphicsContext.cpp:
+ (WebCore):
+ * platform/graphics/SimpleFontData.cpp:
+ (WebCore::SimpleFontData::platformGlyphInit):
+ (WebCore::SimpleFontData::glyphForCharacter):
+ * platform/graphics/SimpleFontData.h:
+ (SimpleFontData):
+ (WebCore::SimpleFontData::widthForGlyph):
+ * platform/graphics/qt/FontCacheQt.cpp:
+ (WebCore::rawFontForCharacters):
+ (WebCore::FontCache::getFontDataForCharacters):
+ * platform/graphics/qt/FontCustomPlatformData.h:
+ (FontCustomPlatformData):
+ * platform/graphics/qt/FontCustomPlatformDataQt.cpp:
+ (WebCore::FontCustomPlatformData::fontPlatformData):
+ (WebCore::createFontCustomPlatformData):
+ * platform/graphics/qt/FontPlatformData.h:
+ (WebCore::FontPlatformDataPrivate::FontPlatformDataPrivate):
+ (FontPlatformDataPrivate):
+ (FontPlatformData):
+ (WebCore::FontPlatformData::FontPlatformData):
+ * platform/graphics/qt/FontPlatformDataQt.cpp:
+ (WebCore::FontPlatformData::FontPlatformData):
+ (WebCore::FontPlatformData::operator==):
+ (WebCore::FontPlatformData::hash):
+ * platform/graphics/qt/FontQt4.cpp: Removed.
+ * platform/graphics/qt/GlyphPageTreeNodeQt.cpp:
+ (WebCore::GlyphPage::fill):
+ * platform/graphics/qt/SimpleFontDataQt.cpp:
+ (WebCore::SimpleFontData::determinePitch):
+ (WebCore::SimpleFontData::platformBoundsForGlyph):
+ (WebCore::SimpleFontData::platformInit):
+ (WebCore::SimpleFontData::platformCharWidthInit):
+ * rendering/svg/SVGTextMetricsBuilder.cpp:
+ (WebCore::SVGTextMetricsBuilder::advance):
+ (WebCore::SVGTextMetricsBuilder::advanceSimpleText):
+ (WebCore::SVGTextMetricsBuilder::initializeMeasurementWithTextRenderer):
+
+2012-08-16 Yury Semikhatsky <yurys@chromium.org>
+
+ Web Inspector: memory instrumentation for Resource{Request/Response}Base
+ https://bugs.webkit.org/show_bug.cgi?id=94109
+
+ Reviewed by Vsevolod Vlasov.
+
+ Added reportMemoryUsage methods to ResourceRequestBase, ResourceResponseBase
+ and several related classes.
+
+ * dom/MemoryInstrumentation.cpp:
+ (WebCore::MemoryInstrumentation::addInstrumentedObjectImpl): added overrides
+ for String, StringImpl and AtomicString object types so that we can reuse
+ existing addInstrumentedCollection method instead of adding a counterpart
+ that would operate on not instrumented content. Next step would be to get
+ rid od addObject overrides for these types so that all kinds of Strings are
+ considered as instrumented classes despite they don't have reportMemoryUsage
+ method.
+ (WebCore):
+ * dom/MemoryInstrumentation.h:
+ (WebCore::MemoryInstrumentation::addInstrumentedObjectImpl):
+ (MemoryInstrumentation):
+ * loader/DocumentLoader.cpp:
+ (WebCore::DocumentLoader::reportMemoryUsage):
+ * platform/network/FormData.cpp:
+ (WebCore::FormData::reportMemoryUsage):
+ (WebCore):
+ * platform/network/FormData.h:
+ (WebCore):
+ (FormData):
+ * platform/network/ResourceRequestBase.cpp:
+ (WebCore::ResourceRequestBase::reportMemoryUsage):
+ (WebCore):
+ * platform/network/ResourceRequestBase.h:
+ (ResourceRequestBase):
+ * platform/network/ResourceResponseBase.cpp:
+ (WebCore):
+ (WebCore::ResourceResponseBase::reportMemoryUsage):
+ * platform/network/ResourceResponseBase.h:
+ (WebCore):
+ (ResourceResponseBase):
+
+2012-08-16 Adam Barth <abarth@webkit.org>
+
+ Delete DOMWindow::securityOrigin()
+ https://bugs.webkit.org/show_bug.cgi?id=93991
+
+ Reviewed by Eric Seidel.
+
+ DOMWindow::securityOrigin() just calls through to
+ document()->securityOrigin(). This patch updates all the callers to do
+ that work themselves, making it clearer what's going on at each call
+ site.
+
+ * bindings/generic/BindingSecurity.cpp:
+ (WebCore::canAccessDocument):
+ * bindings/js/JSDOMWindowBase.cpp:
+ (WebCore::JSDOMWindowBase::allowsAccessFrom):
+ * bindings/js/JSDOMWindowCustom.h:
+ (WebCore::JSDOMWindowBase::allowsAccessFromPrivate):
+ * bindings/js/ScriptController.cpp:
+ (WebCore::ScriptController::collectIsolatedContexts):
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::isInsecureScriptAccess):
+ (WebCore::DOMWindow::createWindow):
+ * page/DOMWindow.h:
+ (DOMWindow):
+ * page/Location.cpp:
+ (WebCore::Location::reload):
+
+2012-08-16 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r125751.
+ http://trac.webkit.org/changeset/125751
+ https://bugs.webkit.org/show_bug.cgi?id=94206
+
+ we shouldn't be rolling out this patch without a formal
+ review. (Requested by rniwa_ on #webkit).
+
+ * dom/CharacterData.cpp:
+ (WebCore::CharacterData::setDataAndUpdate):
+ * editing/FrameSelection.cpp:
+ (WebCore::updatePositionAfterAdoptingTextReplacement):
+ (WebCore::FrameSelection::textWasReplaced):
+ * editing/FrameSelection.h:
+ (FrameSelection):
+
+2012-08-16 Marja Hölttä <marja@chromium.org>
+
+ FormController, FileInputType: Enable reading selected file names from document state
+ https://bugs.webkit.org/show_bug.cgi?id=91231
+
+ Reviewed by Jochen Eisinger.
+
+ This change enables Chromium to set up file permissions properly when
+ the session restore feature restores a page with selected files.
+
+ Test: fast/forms/file/selected-files-from-history-state.html
+
+ * WebCore.exp.in: Exported FormController::getReferencedFilePaths.
+ * html/FileInputType.cpp:
+ (WebCore::FileInputType::filesFromFormControlState): Added. Extracts FileChooserFileInfos from a FormControlState.
+ (WebCore):
+ (WebCore::FileInputType::restoreFormControlState): Refactored to use filesFromFormControlState.
+ * html/FileInputType.h:
+ (FileInputType): Added filesFromFormControlState.
+ * html/FormController.cpp:
+ (SavedFormState): Added getReferencedFilePaths.
+ (WebCore::SavedFormState::getReferencedFilePaths): Added. Extracts selected file paths from SavedFormState.
+ (WebCore):
+ (WebCore::FormController::setStateForNewFormElements): Refactored to use formStatesFromStateVector.
+ (WebCore::FormController::formStatesFromStateVector):
+ (WebCore::FormController::getReferencedFilePaths): Added. Static. Extracts selected file paths from a document state.
+ * html/FormController.h:
+ (FormController): Added getReferencedFilePaths and formStatesFromStateVector.
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::filesFromFileInputFormControlState): Added. Delegates to FileInputType::filesFromFormControlState.
+ (WebCore):
+ * html/HTMLInputElement.h: Added filesFromFileInputFormControlState.
+ (HTMLInputElement):
+ * testing/Internals.cpp:
+ (WebCore::Internals::getReferencedFilePaths): Calls FormController::getReferencedFilePaths.
+ (WebCore):
+ * testing/Internals.h:
+ (Internals): Added getReferencedFilePaths.
+ * testing/Internals.idl: Added binding for getReferencedFilePaths.
+
+2012-08-15 Shawn Singh <shawnsingh@chromium.org>
+
+ [chromium] set scissorRect per quad so that quads are correctly clipped
+ https://bugs.webkit.org/show_bug.cgi?id=94050
+
+ Reviewed by Adrienne Walker.
+
+ Certain quad types rely on scissoring to do correct
+ clipping. Refactoring the quad types to remove this assumption
+ will be done in a later patch, but for now, we have to apply the
+ scissor rect to every quad to ensure that those quads are
+ correctly clipped.
+
+ Test: compositing/overflow/overflow-hidden-canvas-layer.html
+
+ Also updated two unit tests to reflect the change in semantics.
+
+ * platform/graphics/chromium/LayerRendererChromium.cpp:
+ (WebCore::LayerRendererChromium::drawRenderPass):
+ (WebCore::LayerRendererChromium::drawQuad):
+
+2012-08-16 Yoshifumi Inoue <yosin@chromium.org>
+
+ [Forms] Wheel event support in multiple fields time input UI
+ https://bugs.webkit.org/show_bug.cgi?id=94166
+
+ Reviewed by Kent Tamura.
+
+ This patch makes multiple fields time input UI to handle wheel event
+ on spin button.
+
+ This patch affects if ENABLE_INPUT_TYPE_TIME and ENABLE_INPUT_TYPE_MULTIPLE_FIELDS
+ are enabled.
+
+ Test: fast/forms/time-multiple-fields/time-multiple-fields-wheel-event.html
+
+ * html/shadow/DateTimeEditElement.cpp:
+ (WebCore::DateTimeEditElement::defaultEventHandler): Changed to forward
+ event to spin button if available.
+
+2012-08-16 Zhigang Gong <zhigang.gong@linux.intel.com>
+
+ TextureMapperGL::beginPainting has a duplicate call to get GL_FRAMEBUFFER_BINDING.
+ https://bugs.webkit.org/show_bug.cgi?id=94180
+
+ Reviewed by Noam Rosenthal.
+
+ * platform/graphics/texmap/TextureMapperGL.cpp:
+ (WebCore::TextureMapperGL::beginPainting):
+
+2012-08-16 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r119705.
+ http://trac.webkit.org/changeset/119705
+ https://bugs.webkit.org/show_bug.cgi?id=94192
+
+ Causing crash on ClusterFuzz due to incorrect layout ordering
+ change (Requested by inferno-sec on #webkit).
+
+ * dom/CharacterData.cpp:
+ (WebCore::CharacterData::setDataAndUpdate):
+ * editing/FrameSelection.cpp:
+ (WebCore::updatePositionAfterAdoptingTextReplacement):
+ (WebCore::FrameSelection::textWillBeReplaced):
+ * editing/FrameSelection.h:
+ (FrameSelection):
+
+2012-08-15 Kent Tamura <tkent@chromium.org>
+
+ [Chromium] Refactoring: Introduce a new function for some part of PopupContainer::layoutAndCalculateWidgetRect()
+ https://bugs.webkit.org/show_bug.cgi?id=94087
+
+ Reviewed by Hajime Morita.
+
+ Move some part of PopupContainer::layoutAndCalculateWidgetRect() to a
+ new function which is not a member of PopupContainer because we'd like
+ to add a unit test for the position calculation code, and to reduce the
+ dependency.
+
+ No new tests. Popup positioning code is not testable in WebKit.
+
+ * platform/chromium/PopupContainer.cpp:
+ (WebCore::layoutAndCalculateWidgetRectInternal):
+ Added. Move the code from PopupContainer::layoutAndCalculateWidgetRect.
+ In order to avoid to call member functions of PopupContainer, we
+ don't call layoutAndGetRTLOffset() and height(). Use
+ PopupListBox::layout() to recalculate the popup content size, and use
+ PopupListBox::height() + kBorderSize * 2 instead of height(). We
+ resize the view after finishing layoutAndCalculateWidgetRectInternal
+ in PopupContainer::layoutAndCalculateWidgetRect.
+ (WebCore::PopupContainer::layoutAndCalculateWidgetRect):
+ Move some code to layoutAndCalculateWidgetRectInternal.
+ (WebCore::PopupContainer::fitToListBox):
+ Added. Move the code from PopupContainer::layoutAndGetRTLOffset.
+ (WebCore::PopupContainer::layoutAndGetRTLOffset):
+ Move some code to fitToListBox.
+ * platform/chromium/PopupContainer.h:
+ (PopupContainer): Added fitToListBox.
+
+2012-08-15 Adam Barth <abarth@webkit.org>
+
+ VoidCallback should not be a special snowflake
+ https://bugs.webkit.org/show_bug.cgi?id=94119
+
+ Reviewed by Eric Seidel.
+
+ VoidCallback is the oldest of the callbacks and it predates our ability
+ to autogenerate callback objects. The existing implementation of
+ VoidCallback is wrong because it doesn't call
+ ActiveDOMCallback::canInvokeCallback. The net result of that is that
+ void callbacks can race with navigations and occationally execute after
+ the Frame has navigated to a new Document, which was causing the
+ flakiness.
+
+ This patch changes VoidCallback to no longer be a unique snowflake.
+ Instead, we autogenerate the implementation, just like every other
+ callback in WebCore.
+
+ Tests: storage/websql/database-lock-after-reload.html is no longer flaky.
+
+ * DerivedSources.make:
+ * GNUmakefile.list.am:
+ * Modules/filesystem/SyncCallbackHelper.h:
+ (WebCore::SyncCallbackHelper::SuccessCallbackImpl::handleEvent):
+ * Target.pri:
+ * UseJSC.cmake:
+ * UseV8.cmake:
+ * WebCore.gyp/WebCore.gyp:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/cpp/WebDOMCustomVoidCallback.cpp: Removed.
+ * bindings/cpp/WebDOMCustomVoidCallback.h: Removed.
+ * bindings/js/JSBindingsAllInOne.cpp:
+ * bindings/js/JSCustomVoidCallback.cpp: Removed.
+ * bindings/js/JSCustomVoidCallback.h: Removed.
+ * bindings/js/JSDesktopNotificationsCustom.cpp:
+ (WebCore::JSNotificationCenter::requestPermission):
+ * bindings/scripts/CodeGeneratorCPP.pm:
+ (GetClassName):
+ (AddIncludesForType):
+ * bindings/scripts/CodeGeneratorJS.pm:
+ (GetCallbackClassName):
+ (GenerateCallbackImplementation):
+ (JSValueToNative):
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (GenerateCallbackImplementation):
+ (TypeCanFailConversion):
+ (GetCallbackClassName):
+ * bindings/scripts/test/JS/JSTestCallback.cpp:
+ (WebCore::JSTestCallback::callbackWithNoParam):
+ * bindings/scripts/test/V8/V8TestCallback.cpp:
+ * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
+ * bindings/v8/custom/V8CustomVoidCallback.cpp: Removed.
+ * bindings/v8/custom/V8CustomVoidCallback.h: Removed.
+ * bindings/v8/custom/V8MutationCallbackCustom.cpp:
+ * bindings/v8/custom/V8NotificationCenterCustom.cpp:
+ (WebCore::V8NotificationCenter::requestPermissionCallback):
+ * html/VoidCallback.h:
+ (VoidCallback):
+ * html/VoidCallback.idl:
+ * inspector/InspectorDatabaseAgent.cpp:
+ (WebCore):
+
+2012-08-15 Hayato Ito <hayato@chromium.org>
+
+ [Shadow] Stop 'load' and 'error' events at shadow boundaries
+ https://bugs.webkit.org/show_bug.cgi?id=93425
+
+ Reviewed by Dimitri Glazkov.
+
+ The shadow DOM spec has added these events as 'always-be-stopped' events at shadow boundaries.
+ http://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#events-that-are-always-stopped
+
+ Test: fast/dom/shadow/events-stopped-at-shadow-boundary.html
+
+ * dom/EventDispatcher.cpp:
+ (WebCore::EventDispatcher::determineDispatchBehavior):
+
+2012-08-15 Kent Tamura <tkent@chromium.org>
+
+ Calendar Picker: Localize numbers in a calendar picker
+ https://bugs.webkit.org/show_bug.cgi?id=93704
+
+ Reviewed by Hajime Morita.
+
+ Because Number.toLocaleString() of V8 returns no localized
+ numbers, we provide a localization function via
+ PagePopupController.
+
+ No new tests. We have no ways to change the locale in layout tests.
+
+ * Resources/pagepopups/calendarPicker.js:
+ (localizeNumber): Added. A wrapper for pagePopupController.localizeNumberString().
+ (formatJapaneseImperialEra): Use localizeNumber().
+ (formatYearMonth): ditto.
+ (DaysTable.prototype._renderMonth): ditto.
+ * page/PagePopupController.cpp:
+ (WebCore::PagePopupController::localizeNumberString):
+ Added. Just calls WebCore::convertToLocalizedNumber().
+ * page/PagePopupController.h:
+ (PagePopupController): Declare localizeNumberString().
+ * page/PagePopupController.idl: Add localizeNumberString().
+
+2012-08-15 MORITA Hajime <morrita@google.com>
+
+ Regression(121518) TextFieldDecorationElement formatting is broken.
+ https://bugs.webkit.org/show_bug.cgi?id=90913
+
+ Reviewed by Dimitri Glazkov.
+
+ NodeRenderingContext::nextRenderer() has a problem which cannot retrieve the renderer
+ across an insertion point in some case. That is because ad-hoc composed tree traversal on
+ NodeRenderingContext is broken. The problem is hidden before r121518 though.
+
+ This change rewrite nextRenderer() using ComposedShadowTreeWalker to eliminate the ad-hoc
+ traversal. previousRenderer() is also rewritten in the same way.
+
+ Test: fast/dom/shadow/shadow-div-reflow.html
+
+ * dom/NodeRenderingContext.cpp:
+ (WebCore):
+ (WebCore::NodeRenderingContext::nextRenderer):
+ (WebCore::NodeRenderingContext::previousRenderer):
+
+2012-08-15 Julien Chaffraix <jchaffraix@webkit.org>
+
+ Add a was-inserted-into-tree notification to RenderObject
+ https://bugs.webkit.org/show_bug.cgi?id=93874
+
+ Reviewed by Eric Seidel.
+
+ This change adds insertedIntoTree to RenderObject so that renderers
+ can now do their post-insertion task inside this function.
+
+ Our current architecture has 2 ways of doing post-insertion tasks:
+ - overriding RenderObject::addChild
+ - RenderObjectChildList::insertChildNode / appendChildNode
+
+ Because the former is not guaranteed to be called for each insertion
+ (on top of being called on the parent and not the inserted child), the
+ 2 latter functions are the one that have been mostly used recently. This
+ led to code duplication between the functions but also doesn't scale as
+ other renderers need to hop on this notification and currently don't (for
+ example, table parts). The other renderer's migration will be done in
+ follow-up patches.
+
+ Refactoring covered by existing tests.
+
+ * rendering/RenderObjectChildList.cpp:
+ (WebCore::RenderObjectChildList::removeChildNode):
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::enclosingRenderNamedFlowThread):
+ Moved the code from renderNamedFlowThreadContainer to RenderObject::enclosingRenderNamedFlowThread.
+ This is needed as now 2 classes need to access the function.
+
+ * rendering/RenderObjectChildList.cpp:
+ (WebCore::RenderObjectChildList::appendChildNode):
+ (WebCore::RenderObjectChildList::insertChildNode):
+ Moved the code duplicated from those 2 functions into
+ the instances of insertedIntoTree below.
+
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::insertedIntoTree):
+ Base function that needs to be called from all the other
+ specialized functions below.
+
+ * rendering/RenderListItem.cpp:
+ (WebCore::RenderListItem::insertedIntoTree):
+ * rendering/RenderListItem.h:
+ * rendering/RenderObject.h:
+ * rendering/RenderObjectChildList.h:
+ * rendering/RenderRegion.cpp:
+ (WebCore::RenderRegion::insertedIntoTree):
+ * rendering/RenderRegion.h:
+ Added the overriden insertedIntoTree function.
+
+ * rendering/RenderQuote.h:
+ Moved the comment from RenderObjectChildList about RenderQuote here.
+
+2012-08-14 Jeffrey Pfau <jpfau@apple.com>
+
+ Allow blocking of Web SQL databases in third-party documents
+ https://bugs.webkit.org/show_bug.cgi?id=94057
+
+ Reviewed by Adam Barth.
+
+ Add a check for pages in third-party pages to allow third-party storage blocking of Web SQL databases.
+
+ Tests: http/tests/security/cross-origin-websql-allowed.html
+ http/tests/security/cross-origin-websql.html
+
+ * Modules/webdatabase/DOMWindowWebDatabase.cpp:
+ (WebCore::DOMWindowWebDatabase::openDatabase): Pass top origin to canAccessDatabase
+ * page/SecurityOrigin.cpp:
+ (WebCore::SecurityOrigin::canAccessStorage): Common method for various types of storage that use the same criteria
+ * page/SecurityOrigin.h:
+ (WebCore::SecurityOrigin::canAccessDatabase): Use canAccessStorage
+ (WebCore::SecurityOrigin::canAccessLocalStorage): Change to using canAccessStorage
+ (SecurityOrigin):
+
+2012-08-15 Nikhil Bhargava <nbhargava@google.com>
+
+ Improve Document.h compile time - reduce includes of ScriptCallStack.h
+ https://bugs.webkit.org/show_bug.cgi?id=94161
+
+ Reviewed by Eric Seidel.
+
+ ScriptCallStack.h no longer included from ScriptExecutionContext. It's
+ relatively expensive to compile and gets compiled a ton because
+ Document.h indirectly includes it.
+
+ No new tests. Functionality should remain the same
+
+ * Modules/indexeddb/IDBDatabase.cpp:
+ * Modules/indexeddb/IDBIndex.cpp:
+ * Modules/indexeddb/IDBObjectStore.cpp:
+ * bindings/js/ScriptController.cpp:
+ * dom/ScriptElement.cpp:
+ * dom/ScriptExecutionContext.h:
+ (WebCore):
+ * fileapi/Blob.cpp:
+ * fileapi/WebKitBlobBuilder.cpp:
+ * html/HTMLTrackElement.cpp:
+ * loader/TextTrackLoader.cpp:
+ * page/DOMSecurityPolicy.cpp:
+
+2012-08-15 Alec Flett <alecflett@chromium.org>
+
+ IndexedDB: IDB*::keyPath should return IDBKeyPath, not IDBAny
+ https://bugs.webkit.org/show_bug.cgi?id=92434
+
+ Reviewed by Tony Chang.
+
+ Clean up IDBKeyPath conversion to IDBAny objects. This gets rid of
+ some implicit conversion from IDBKeyPath to IDBAny.
+
+ No new tests, just changing method signatures.
+
+ * Modules/indexeddb/IDBAny.cpp:
+ (WebCore::IDBAny::set):
+ (WebCore):
+ * Modules/indexeddb/IDBAny.h:
+ (WebCore):
+ (WebCore::IDBAny::create):
+ (IDBAny):
+ * Modules/indexeddb/IDBIndex.h:
+ (WebCore::IDBIndex::keyPathAny):
+ (WebCore::IDBIndex::keyPath):
+ * Modules/indexeddb/IDBIndex.idl:
+ * Modules/indexeddb/IDBKeyPath.cpp:
+ * Modules/indexeddb/IDBKeyPath.h:
+ * Modules/indexeddb/IDBObjectStore.h:
+ (WebCore::IDBObjectStore::keyPathAny):
+ (WebCore::IDBObjectStore::keyPath):
+ * Modules/indexeddb/IDBObjectStore.idl:
+
+2012-08-15 Ryosuke Niwa <rniwa@webkit.org>
+
+ EFL build fix attempt after r125711. Touch an IDL file to regenerate derived sources.
+
+ * html/HTMLAllCollection.idl:
+
+2012-08-15 Alec Flett <alecflett@chromium.org>
+
+ IndexedDB: generate index keys for existing data in createIndex in front end
+ https://bugs.webkit.org/show_bug.cgi?id=91125
+
+ Reviewed by Tony Chang.
+
+ Make createIndex() do index key generation in the frontend, rather
+ than the backend. When an index is created, the frontend uses the
+ cursor API to iterate through the values in the backend to
+ generate keys, sending them back to the backend using
+ IDBObjectStore::setIndexKeys()
+
+ This confines all key injection/extraction to the frontend.
+
+ The new test verifies the implemented behavior with respect to
+ error handling in degenerate uses of put(), though that behavior
+ is still in discussion as the spec is vague on the proper error
+ behavior.
+
+ Test: storage/indexeddb/lazy-index-population.html
+
+ * Modules/indexeddb/IDBCursorBackendImpl.cpp: Make sure that the
+ TaskType propagates throught the cursor and all subsequent
+ continue() calls.
+ (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
+ (WebCore::IDBCursorBackendImpl::continueFunction):
+ (WebCore::IDBCursorBackendImpl::prefetchContinue):
+ * Modules/indexeddb/IDBCursorBackendImpl.h:
+ (WebCore::IDBCursorBackendImpl::create):
+ (IDBCursorBackendImpl):
+ * Modules/indexeddb/IDBObjectStore.cpp: Add an IndexPopulator
+ class to run a cursor from the frontend.
+ (WebCore):
+ (WebCore::IDBObjectStore::createIndex):
+ (WebCore::IDBObjectStore::openCursor):
+ * Modules/indexeddb/IDBObjectStore.h:
+ (WebCore::IDBObjectStore::openCursor):
+ (IDBObjectStore):
+ (WebCore::IDBObjectStore::createIndex):
+ * Modules/indexeddb/IDBObjectStore.idl: Pass along ScriptContext
+ so that openCursor can be called from createIndex.
+ * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
+ (WebCore):
+ (WebCore::makeIndexWriters):
+ (WebCore::IDBObjectStoreBackendImpl::setIndexKeys):
+ (WebCore::IDBObjectStoreBackendImpl::setIndexesReady):
+ (WebCore::IDBObjectStoreBackendImpl::setIndexesReadyInternal):
+ (WebCore::IDBObjectStoreBackendImpl::putInternal):
+ (WebCore::IDBObjectStoreBackendImpl::deleteInternal):
+ (WebCore::IDBObjectStoreBackendImpl::createIndexInternal):
+ (WebCore::IDBObjectStoreBackendImpl::openCursor):
+ (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
+ * Modules/indexeddb/IDBObjectStoreBackendImpl.h:
+ (IDBObjectStoreBackendImpl):
+ (WebCore::IDBObjectStoreBackendImpl::iterIndexesBegin):
+ (WebCore::IDBObjectStoreBackendImpl::iterIndexesEnd):
+ (WebCore::IDBObjectStoreBackendImpl::backingStore):
+ (WebCore::IDBObjectStoreBackendImpl::databaseId):
+ * Modules/indexeddb/IDBObjectStoreBackendInterface.h:
+ * Modules/indexeddb/IDBRequest.cpp:
+ Allow requests to keep their own TaskType, to give certain
+ requests priority over others.
+ (WebCore::IDBRequest::create):
+ (WebCore):
+ (WebCore::IDBRequest::IDBRequest):
+ (WebCore::IDBRequest::abort):
+ * Modules/indexeddb/IDBRequest.h:
+ (IDBRequest):
+ (WebCore::IDBRequest::taskType):
+ * Modules/indexeddb/IDBTransactionBackendImpl.cpp:
+ Introduce a second, higher priority event queue, m_preemptiveTaskQueue,
+ which takes priority over the regular task queue.
+ (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
+ (WebCore::IDBTransactionBackendImpl::scheduleTask):
+ (WebCore::IDBTransactionBackendImpl::isTaskQueueEmpty):
+ (WebCore):
+ (WebCore::IDBTransactionBackendImpl::commit):
+ (WebCore::IDBTransactionBackendImpl::taskTimerFired):
+ (WebCore::IDBTransactionBackendImpl::taskEventTimerFired):
+ * Modules/indexeddb/IDBTransactionBackendImpl.h:
+ (WebCore::IDBTransactionBackendImpl::scheduleTask):
+ (IDBTransactionBackendImpl):
+ (WebCore::IDBTransactionBackendImpl::addEarlyEvent):
+ (WebCore::IDBTransactionBackendImpl::didCompleteEarlyEvent):
+ * Modules/indexeddb/IDBVersionChangeRequest.cpp:
+ (WebCore::IDBVersionChangeRequest::IDBVersionChangeRequest):
+
+2012-08-15 Hayato Ito <hayato@chromium.org>
+
+ A 'load' event should be fired on the shadow host directly, not on an inner image element of shadow dom subtree.
+ https://bugs.webkit.org/show_bug.cgi?id=93920
+
+ Reviewed by Dimitri Glazkov.
+
+ A 'load' event is a must-stoppable event at shadow boundary. So we
+ should fire a 'load' event on a shadow host directly, not on an
+ inner image element.
+
+ Test: fast/dom/shadow/shadowdom-for-image-event.html
+
+ * html/HTMLImageLoader.cpp:
+ (WebCore::HTMLImageLoader::dispatchLoadEvent):
+ * loader/ImageLoaderClient.h:
+ (WebCore::ImageLoaderClient::eventTarget):
+
+2012-08-15 Otto Derek Cheung <otcheung@rim.com>
+
+ [BlackBerry] Show custom error page when 407 is received
+ https://bugs.webkit.org/show_bug.cgi?id=94138
+
+ Reviewed by George Staikos.
+ Internally reviewed by Lianghui Chen
+
+ Adding a new custom error page when the browser receieves
+ a Wifi proxy authentication error. The previous behaviour
+ is to ask for user credentials everytime, and silently fails
+ when the username and password fields in the Wifi settings
+ are not empty. UX suggests modifying the behaviour to simply
+ asks the user to change their credentials in the Wifi settings
+ when we receive such an error.
+
+ The fix is to prevent notifyAuthReceived from sending another
+ networkjob when authCallbacks are called, and to listen to any 407
+ calls in notifyStatusReceived. Once we hit a 407, tell the frame we
+ failed and should load the custom error page.
+
+ Also removed checking functions in sendRequestWithCredentials because
+ proxy auth requests won't get into that function anymore.
+
+ #PR163400
+
+ Tested by loading on device and loading/reloading pages under
+ these scenarios:
+ - Connected to wifi (no proxy)
+ - Connected to wifi (proxy with no credentials)
+ - Connected to wifi (proxy with invalid credentials)
+ - Connected to wifi (proxy with valid credentials)
+
+ * platform/network/blackberry/NetworkJob.cpp:
+ (WebCore::NetworkJob::handleNotifyStatusReceived):
+ (WebCore::NetworkJob::notifyAuthReceived):
+ (WebCore::NetworkJob::sendRequestWithCredentials):
+
+2012-08-15 Dan Carney <dcarney@google.com>
+
+ Refactor away IsolatedWorld
+ https://bugs.webkit.org/show_bug.cgi?id=93971
+
+ Reviewed by Adam Barth.
+
+ Remove IsolatedWorld class as it was 1:1 with DOMWrapperWorld.
+ This paves the way towards a JSC-like use of DOMWrapperWorld.
+
+ No tests. No change in functionality.
+
+ * UseV8.cmake:
+ * WebCore.gypi:
+ * bindings/v8/DOMWrapperWorld.cpp:
+ (WebCore):
+ (WebCore::mainThreadNormalWorld):
+ * bindings/v8/DOMWrapperWorld.h:
+ (WebCore):
+ (DOMWrapperWorld):
+ (WebCore::DOMWrapperWorld::create):
+ (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
+ (WebCore::DOMWrapperWorld::count):
+ (WebCore::DOMWrapperWorld::worldId):
+ (WebCore::DOMWrapperWorld::domDataStore):
+ (WebCore::DOMWrapperWorld::DOMWrapperWorld):
+ * bindings/v8/IsolatedWorld.cpp: Removed.
+ * bindings/v8/IsolatedWorld.h: Removed.
+ * bindings/v8/V8DOMWrapper.h:
+ (WebCore::V8DOMWrapper::getCachedWrapper):
+ * bindings/v8/V8IsolatedContext.cpp:
+ (WebCore::V8IsolatedContext::V8IsolatedContext):
+ (WebCore::V8IsolatedContext::destroy):
+ * bindings/v8/V8IsolatedContext.h:
+ (WebCore::V8IsolatedContext::getEntered):
+ (WebCore::V8IsolatedContext::world):
+ (V8IsolatedContext):
+
+2012-08-15 Bruno de Oliveira Abinader <bruno.abinader@basyskom.com>
+
+ [css3-text] Add CSS3 Text decoration compile flag
+ https://bugs.webkit.org/show_bug.cgi?id=93863
+
+ Reviewed by Julien Chaffraix.
+
+ This patch handles the compile flag implementation, which will come disabled by
+ default, thus not exposing the CSS3 text decoration features to the web, unless
+ when explicitly enabling it with "--css3-text-decoration" build parameter.
+
+ Changeset r125205 added "-webkit-text-decoration-line" support without proper
+ compile flag. I am fixing this on this patch by adding #ifdef's along the added
+ code and reverting getComputedStyle* layout test changes until further notice.
+ The text-decoration-line.html layout test is now moved to
+ fast/css3-text-decoration directory, which is skipped on all platforms until
+ feature is sound and ready to be exposed to web.
+
+ Test: fast/css3-text-decoration/text-decoration-line.html
+
+ * Configurations/FeatureDefines.xcconfig:
+ * GNUmakefile.am:
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseValue):
+ (WebCore::CSSParser::addTextDecorationProperty):
+ (WebCore::CSSParser::parseTextDecoration):
+ * css/CSSProperty.cpp:
+ (WebCore::CSSProperty::isInheritedProperty):
+ * css/CSSPropertyNames.in:
+ * css/StyleBuilder.cpp:
+ (WebCore::StyleBuilder::StyleBuilder):
+ * css/StyleResolver.cpp:
+ (WebCore::StyleResolver::collectMatchingRulesForList):
+ Added #ifdefs to enable/disable CSS3 Text Decoration code implemented by r125205.
+
+2012-08-15 Iain Merrick <husky@chromium.org>
+
+ Refactoring: move EventHandler::targetNode into HitTestResult
+ https://bugs.webkit.org/show_bug.cgi?id=94107
+
+ Reviewed by Dimitri Glazkov.
+
+ This static helper method in EventHandler was made public so that
+ WebFrameImpl can call it. That's untidy because EventHandler isn't
+ really involved. This patch turns it into an instance method of
+ HitTestResult (with a wrapper in MouseEventWithHitTestResult for
+ convenience).
+
+ Pure refactoring, no behavior change, no new test needed.
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::selectClosestWordFromMouseEvent):
+ (WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent):
+ (WebCore::EventHandler::handleMousePressEventTripleClick):
+ (WebCore::EventHandler::handleMousePressEventSingleClick):
+ (WebCore::EventHandler::handleMousePressEvent):
+ (WebCore::EventHandler::handleMouseDraggedEvent):
+ (WebCore::EventHandler::updateSelectionForMouseDrag):
+ (WebCore::EventHandler::handleMouseReleaseEvent):
+ (WebCore::EventHandler::subframeForHitTestResult):
+ (WebCore::EventHandler::selectCursor):
+ (WebCore::EventHandler::handleMouseDoubleClickEvent):
+ (WebCore::EventHandler::handleMouseMoveEvent):
+ (WebCore::EventHandler::updateDragAndDrop):
+ (WebCore::EventHandler::handleGestureEvent):
+ (WebCore::EventHandler::sendContextMenuEvent):
+ * page/EventHandler.h:
+ (EventHandler):
+ * page/MouseEventWithHitTestResults.h:
+ (WebCore::MouseEventWithHitTestResults::targetNode):
+ * page/chromium/EventHandlerChromium.cpp:
+ (WebCore::EventHandler::passMousePressEventToSubframe):
+ (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
+ * page/efl/EventHandlerEfl.cpp:
+ (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
+ * page/gtk/EventHandlerGtk.cpp:
+ (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
+ * page/mac/EventHandlerMac.mm:
+ (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
+ (WebCore::EventHandler::passSubframeEventToSubframe):
+ * page/wx/EventHandlerWx.cpp:
+ (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
+ * rendering/HitTestResult.cpp:
+ (WebCore::HitTestResult::targetNode):
+ (WebCore):
+ * rendering/HitTestResult.h:
+ (HitTestResult):
+
+2012-08-15 David Grogan <dgrogan@chromium.org>
+
+ IndexedDB: Add some ASSERTs
+ https://bugs.webkit.org/show_bug.cgi?id=94055
+
+ Reviewed by Ojan Vafai.
+
+ These are just some additional ASSERTS and some ASSERT_WITH_MESSAGE in
+ place of ASSERT. They are from the patch in
+ https://bugs.webkit.org/show_bug.cgi?id=92897
+
+ No new tests - we should never hit this behavior.
+
+ * Modules/indexeddb/IDBDatabase.cpp:
+ (WebCore::IDBDatabase::setVersion):
+ (WebCore::IDBDatabase::registerFrontendCallbacks):
+ * Modules/indexeddb/IDBRequest.cpp:
+ (WebCore::IDBRequest::dispatchEvent):
+ (WebCore::IDBRequest::enqueueEvent):
+ * Modules/indexeddb/IDBTransaction.cpp:
+ (WebCore::IDBTransaction::setActive):
+
+2012-08-15 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r125687.
+ http://trac.webkit.org/changeset/125687
+ https://bugs.webkit.org/show_bug.cgi?id=94147
+
+ It broke the whole world (Requested by Ossy_night on #webkit).
+
+ * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
+ (WebCore::JSSQLStatementErrorCallback::handleEvent):
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::JSDOMWindow::addEventListener):
+ (WebCore::JSDOMWindow::removeEventListener):
+ * bindings/js/JSDataViewCustom.cpp:
+ (WebCore::getDataViewMember):
+ * bindings/js/JSDeviceMotionEventCustom.cpp:
+ (WebCore::JSDeviceMotionEvent::initDeviceMotionEvent):
+ * bindings/js/JSDeviceOrientationEventCustom.cpp:
+ (WebCore::JSDeviceOrientationEvent::initDeviceOrientationEvent):
+ * bindings/js/JSDictionary.cpp:
+ (WebCore::JSDictionary::convertValue):
+ * bindings/js/JSDirectoryEntryCustom.cpp:
+ (WebCore::JSDirectoryEntry::getFile):
+ (WebCore::JSDirectoryEntry::getDirectory):
+ * bindings/js/JSDirectoryEntrySyncCustom.cpp:
+ (WebCore::getFlags):
+ * bindings/js/JSHTMLCanvasElementCustom.cpp:
+ (WebCore::JSHTMLCanvasElement::getContext):
+ * bindings/js/JSInspectorFrontendHostCustom.cpp:
+ (WebCore::populateContextMenuItems):
+ * bindings/js/JSMessageEventCustom.cpp:
+ (WebCore::handleInitMessageEvent):
+ * bindings/js/JSWebGLRenderingContextCustom.cpp:
+ (WebCore::dataFunctionMatrix):
+ * bindings/js/JSXMLHttpRequestCustom.cpp:
+ (WebCore::JSXMLHttpRequest::open):
+ * bindings/js/JavaScriptCallFrame.cpp:
+ * bindings/js/JavaScriptCallFrame.h:
+ (JavaScriptCallFrame):
+ * bindings/js/ScriptDebugServer.cpp:
+ (WebCore::ScriptDebugServer::hasBreakpoint):
+ * bindings/scripts/CodeGeneratorJS.pm:
+ (GenerateEventListenerCall):
+ (GenerateHeader):
+ (JSValueToNative):
+ * bindings/scripts/test/JS/JSTestEventTarget.cpp:
+ (WebCore::jsTestEventTargetPrototypeFunctionAddEventListener):
+ (WebCore::jsTestEventTargetPrototypeFunctionRemoveEventListener):
+ * bindings/scripts/test/JS/JSTestEventTarget.h:
+ (WebCore::JSTestEventTarget::create):
+ * bindings/scripts/test/JS/JSTestObj.cpp:
+ (WebCore::setJSTestObjCreate):
+ (WebCore::setJSTestObjReflectedBooleanAttr):
+ (WebCore::setJSTestObjReflectedCustomBooleanAttr):
+ (WebCore::jsTestObjPrototypeFunctionAddEventListener):
+ (WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
+ * bridge/c/c_utility.cpp:
+ (JSC::Bindings::convertValueToNPVariant):
+ * bridge/jni/jni_jsobject.mm:
+ (JavaJSObject::convertValueToJObject):
+ * bridge/qt/qt_runtime.cpp:
+ (JSC::Bindings::convertValueToQVariant):
+
+2012-08-15 Dominic Mazzoni <dmazzoni@google.com>
+
+ AX: Calls to AXObjectCache should prefer Node over Renderer
+ https://bugs.webkit.org/show_bug.cgi?id=91794
+
+ Reviewed by Chris Fleizach.
+
+ Now that it's possible for nodes inside a canvas subtree to be focused and
+ represent accessible content, accessibility notifications should be triggered
+ with a Node* rather than with a RenderObject* whenever possible.
+
+ Every public API in AXObjectCache that took a RenderObject* before now either
+ takes a Node* instead, or has a parallel method that takes a Node*.
+
+ Tests: accessibility/accessibility-node-memory-management.html
+ accessibility/accessibility-node-reparent.html
+ accessibility/canvas-fallback-content.html
+
+ * accessibility/AXObjectCache.cpp:
+ (WebCore::AXObjectCache::focusedImageMapUIElement):
+ (WebCore::AXObjectCache::focusedUIElementForPage):
+ (WebCore::AXObjectCache::get):
+ (WebCore::AXObjectCache::getOrCreate):
+ (WebCore::AXObjectCache::contentChanged):
+ (WebCore):
+ (WebCore::AXObjectCache::updateCacheAfterNodeIsAttached):
+ (WebCore::AXObjectCache::childrenChanged):
+ (WebCore::AXObjectCache::postNotification):
+ (WebCore::AXObjectCache::checkedStateChanged):
+ (WebCore::AXObjectCache::selectedChildrenChanged):
+ (WebCore::AXObjectCache::nodeTextChangeNotification):
+ (WebCore::AXObjectCache::handleAriaExpandedChange):
+ (WebCore::AXObjectCache::handleActiveDescendantChanged):
+ (WebCore::AXObjectCache::handleAriaRoleChanged):
+ (WebCore::AXObjectCache::textMarkerDataForVisiblePosition):
+ (WebCore::AXObjectCache::rootAXEditableElement):
+ (WebCore::AXObjectCache::nodeIsTextControl):
+ * accessibility/AXObjectCache.h:
+ (AXObjectCache):
+ (WebCore::AXObjectCache::setNodeInUse):
+ (WebCore::AXObjectCache::removeNodeForUse):
+ (WebCore::AXObjectCache::isNodeInUse):
+ (WebCore::AXObjectCache::checkedStateChanged):
+ (WebCore::AXObjectCache::childrenChanged):
+ (WebCore::AXObjectCache::contentChanged):
+ (WebCore::AXObjectCache::updateCacheAfterNodeIsAttached):
+ (WebCore::AXObjectCache::handleActiveDescendantChanged):
+ (WebCore::AXObjectCache::handleAriaExpandedChange):
+ (WebCore::AXObjectCache::handleAriaRoleChanged):
+ (WebCore::AXObjectCache::handleFocusedUIElementChanged):
+ (WebCore::AXObjectCache::nodeTextChangeNotification):
+ (WebCore::AXObjectCache::postNotification):
+ (WebCore::AXObjectCache::selectedChildrenChanged):
+ * accessibility/AccessibilityListBoxOption.cpp:
+ (WebCore::AccessibilityListBoxOption::parentObject):
+ * accessibility/AccessibilityObject.cpp:
+ (WebCore::appendAccessibilityObject):
+ (WebCore::replacedNodeNeedsCharacter):
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::menuForMenuButton):
+ (WebCore::AccessibilityRenderObject::menuButtonForMenu):
+ (WebCore::AccessibilityRenderObject::checkboxOrRadioRect):
+ (WebCore::AccessibilityRenderObject::addRadioButtonGroupMembers):
+ (WebCore::AccessibilityRenderObject::titleUIElement):
+ (WebCore::AccessibilityRenderObject::isTabItemSelected):
+ (WebCore::AccessibilityRenderObject::accessibilityParentForImageMap):
+ (WebCore::AccessibilityRenderObject::nodeIsTextControl):
+ (WebCore::AccessibilityRenderObject::activeDescendant):
+ (WebCore::AccessibilityRenderObject::correspondingControlForLabelElement):
+ (WebCore::AccessibilityRenderObject::correspondingLabelForControlElement):
+ * accessibility/AccessibilityRenderObject.h:
+ (AccessibilityRenderObject):
+ * accessibility/AccessibilityScrollView.cpp:
+ (WebCore::AccessibilityScrollView::webAreaObject):
+ (WebCore::AccessibilityScrollView::parentObject):
+ (WebCore::AccessibilityScrollView::parentObjectIfExists):
+ * accessibility/chromium/AXObjectCacheChromium.cpp:
+ (WebCore::AXObjectCache::postPlatformNotification):
+ (WebCore::AXObjectCache::handleFocusedUIElementChanged):
+ * accessibility/gtk/AXObjectCacheAtk.cpp:
+ (WebCore::AXObjectCache::handleFocusedUIElementChanged):
+ * accessibility/mac/AXObjectCacheMac.mm:
+ (WebCore::AXObjectCache::handleFocusedUIElementChanged):
+ * accessibility/win/AXObjectCacheWin.cpp:
+ (WebCore::AXObjectCache::handleFocusedUIElementChanged):
+ * bindings/cpp/WebDOMCustomVoidCallback.cpp:
+ (toWebCore):
+ * dom/Document.cpp:
+ (WebCore::Document::setFocusedNode):
+ * dom/Element.cpp:
+ (WebCore::Element::attributeChanged):
+ * dom/Node.cpp:
+ (WebCore::Node::~Node):
+ (WebCore::Node::attach):
+ * editing/AppendNodeCommand.cpp:
+ (WebCore::sendAXTextChangedIgnoringLineBreaks):
+ * editing/DeleteFromTextNodeCommand.cpp:
+ (WebCore::DeleteFromTextNodeCommand::doApply):
+ (WebCore::DeleteFromTextNodeCommand::doUnapply):
+ * editing/Editor.cpp:
+ (WebCore::Editor::respondToChangedContents):
+ (WebCore::Editor::markAndReplaceFor):
+ * editing/InsertIntoTextNodeCommand.cpp:
+ (WebCore::InsertIntoTextNodeCommand::doApply):
+ (WebCore::InsertIntoTextNodeCommand::doUnapply):
+ * editing/InsertNodeBeforeCommand.cpp:
+ (WebCore::InsertNodeBeforeCommand::doApply):
+ (WebCore::InsertNodeBeforeCommand::doUnapply):
+ * editing/chromium/FrameSelectionChromium.cpp:
+ (WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::setChecked):
+ * html/HTMLSelectElement.cpp:
+ (WebCore::HTMLSelectElement::childrenChanged):
+ (WebCore::HTMLSelectElement::optionElementChildrenChanged):
+ * html/HTMLTextFormControlElement.cpp:
+ (WebCore::HTMLTextFormControlElement::setInnerTextValue):
+ * html/InputType.cpp:
+ (WebCore::InputType::applyStep):
+ * html/RangeInputType.cpp:
+ (WebCore::RangeInputType::handleKeydownEvent):
+ * page/FocusController.cpp:
+ (WebCore::FocusController::setInitialFocus):
+
+2012-08-15 Andreas Kling <kling@webkit.org>
+
+ NinePieceImage: Avoid unnecessary duplication of default data in assignment operator.
+ <http://webkit.org/b/94046>
+
+ Reviewed by Geoffrey Garen.
+
+ If copying a NinePieceImage with a null m_data, don't create a copy of it's data()
+ as that will point to the default NinePieceImageData. ~200kB progression on Membuster.
+
+ * rendering/style/NinePieceImage.h:
+ (WebCore::NinePieceImage::operator=):
+
+2012-08-15 Gregg Tavares <gman@google.com>
+
+ Mark Skia and Compositor Contexts
+ https://bugs.webkit.org/show_bug.cgi?id=94129
+
+ Reviewed by James Robinson.
+
+ Marks the Skia and Compositor contexts to aid in debugging.
+
+ No new tests as no new functionality.
+
+ * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
+ (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
+ * platform/graphics/skia/ImageBufferSkia.cpp:
+ (WebCore::createAcceleratedCanvas):
+
+2012-08-15 Ian Vollick <vollick@chromium.org>
+
+ [chromium] Must account for empty transformation lists when checking for big rotations.
+ https://bugs.webkit.org/show_bug.cgi?id=93975
+
+ Reviewed by James Robinson.
+
+ AnimationTranslationUtil.cpp is supposed to reject large rotations
+ (>= 180 degrees between keyframes). The current code assumes that if
+ the lists of transforms at two consecutive keyframes do not match
+ (i.e., are different types), then do not need to reject. The rationale
+ is that we will revert to matrix blending -- we will collapse the lists
+ of transform operations to matrices at each keyframe and blend those.
+ Unfortunately, this is not true if a list is empty. It can be the case
+ that we transition from no transform to a rotation about the z axis of
+ 360 degrees. In this case, the first list of transform operations will
+ be empty and the second will have a single rotation of 360 degrees. An
+ empty list should be treated as a rotation of zero degrees.
+
+ Unit tested in: GraphicsLayerChromiumTest.createTransformAnimationWithBigRotationAndEmptyTransformOperationList
+
+ * platform/graphics/chromium/AnimationTranslationUtil.cpp:
+ (WebCore::causesRotationOfAtLeast180Degrees):
+
+2012-08-15 Beth Dakin <bdakin@apple.com>
+
+ https://bugs.webkit.org/show_bug.cgi?id=93693
+ [WK2] REGRESSION(125091): pixel results don't sow scrollbars
+ anymore
+
+ Reviewed by Sam Weinig.
+
+ This is a regression from http://trac.webkit.org/changeset/125091
+ in which I failed to noticed that
+ WKBundlePageCreateSnapshotInViewCoordinates() did actually do
+ something different than
+ WKBundlePageCreateSnapshotInDocumentCoordinates(). Specifically,
+ it used ScrollView::paint() to paint instead of
+ FrameView::paintContents(). So this patch restores that
+ functionality by adding a value to SnapshotOptions indicating
+ whether the snapshot should be taken in ViewCoordinates
+ (otherwise it defaults to DocumentCoordinates).
+
+ FrameView:: paintContentsForSnapshot() now takes a new parameter
+ that indicates whether to take the snapshot in document
+ coordinates or view coordinates.
+ * WebCore.exp.in:
+ * page/FrameView.cpp:
+ (WebCore::FrameView::paintContentsForSnapshot):
+ * page/FrameView.h:
+
+2012-08-15 Benjamin Poulain <bpoulain@apple.com>
+
+ Use literal initialization for CSS's pseudo types
+ https://bugs.webkit.org/show_bug.cgi?id=94066
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Initialize CSS pseudo type strings with the new initialization from literal.
+
+ The first invocation of nameToPseudoTypeMap() becomes 20% faster and we use
+ less memory to store the strings.
+
+ * css/CSSSelector.cpp:
+ (WebCore::nameToPseudoTypeMap):
+
+2012-08-15 Brady Eidson <beidson@apple.com>
+
+ Removing a plug-in element from a page opened in a background tab in Safari crashes
+ <rdar://problem/12057991> and https://bugs.webkit.org/show_bug.cgi?id=93913
+
+ Reviewed by Beth Dakin.
+
+ Expose Page::setCanStartMedia to regression tests so they can pretend to be in a non-windowed WebView.
+
+ Test: platform/mac-wk2/plugins/asynchronous-destroy-before-initialization.html
+
+ * testing/InternalSettings.cpp:
+ (WebCore::InternalSettings::Backup::Backup):
+ (WebCore::InternalSettings::Backup::restoreTo):
+ (WebCore::InternalSettings::setCanStartMedia):
+ (WebCore):
+ * testing/InternalSettings.h:
+ (Backup):
+ (InternalSettings):
+ * testing/InternalSettings.idl:
+
+2012-08-15 Levi Weintraub <leviw@chromium.org>
+
+ AutoTableLayout truncates preferred widths for cells when it needs to ceil them to contain the contents
+ https://bugs.webkit.org/show_bug.cgi?id=93911
+
+ Reviewed by Eric Seidel.
+
+ Avoiding truncation of sub-pixel accumulated values when determining the preferred width of a table cell
+ in AutoTableLayout. Since we continue to layout tables using integers, we need to ceil the contents to
+ prevent premature wrapping of the contents.
+
+ This only affects ports with sub-pixel layout enabled, and fixes regressions of a handful of tests that
+ were missed when updating expectations when sub-pixel was enabled.
+
+ Test: fast/sub-pixel/auto-table-layout-should-avoid-text-wrapping.html
+
+ * rendering/AutoTableLayout.cpp:
+ (WebCore::AutoTableLayout::recalcColumn):
+
+2012-08-10 Ojan Vafai <ojan@chromium.org>
+
+ z-index should work without position on flexitems
+ https://bugs.webkit.org/show_bug.cgi?id=91405
+
+ Reviewed by Tony Chang.
+
+ Require a layer on any RenderBox that has a non-auto z-index.
+ Statically positioned, non-flex-item's have their z-index coerced to auto,
+ so it's safe to check z-index unconditionally.
+
+ Test: css3/flexbox/z-index.html
+
+ * css/StyleResolver.cpp:
+ (WebCore::StyleResolver::adjustRenderStyle):
+ -Don't coerce z-index to auto on statically positioned flex-items.
+ -Use the parentStyle to determine if the parent is a flexbox instead of
+ looking at the element's parentNode's renderer.
+ * rendering/RenderBox.h:
+ -Add having a non-auto z-index to the list of things that require a layer.
+
+2012-08-15 Joanmarie Diggs <jdiggs@igalia.com>
+
+ [Gtk] atk_text_set_caret_offset() fails for table cells
+ https://bugs.webkit.org/show_bug.cgi?id=83501
+
+ Reviewed by Chris Fleizach.
+
+ Allow using text ranges in accessible table cells.
+
+ * accessibility/gtk/AccessibilityObjectAtk.cpp:
+ (WebCore::AccessibilityObject::allowsTextRanges):
+ Add table cells to the list of accessibility objects supporting text ranges.
+
+2012-08-15 Scott Graham <scottmg@chromium.org>
+
+ Rename window.internals.fastMallocStatistics to mallocStatistics
+ https://bugs.webkit.org/show_bug.cgi?id=94033
+
+ Reviewed by Adam Barth.
+
+ Mechanical rename. In preparation for plumbing allocation information
+ from allocators that aren't "fastMalloc".
+
+ * CMakeLists.txt:
+ * DerivedSources.make:
+ * DerivedSources.pri:
+ * GNUmakefile.list.am:
+ * Target.pri:
+ * WebCore.gyp/WebCore.gyp:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCoreTestSupport.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * loader/DocumentLoader.h:
+ (WebCore::DocumentLoader::didTellClientAboutLoad):
+ * loader/cache/CachedResourceLoader.cpp:
+ (WebCore::CachedResourceLoader::loadResource):
+ * testing/FastMallocStatistics.h: Removed.
+ * testing/FastMallocStatistics.idl: Removed.
+ * testing/Internals.cpp:
+ (WebCore::Internals::mallocStatistics):
+ * testing/Internals.h:
+ (WebCore):
+ (Internals):
+ * testing/Internals.idl:
+ * testing/MallocStatistics.h: Added.
+ * testing/MallocStatistics.idl: Added.
+
+2012-08-15 Joshua Netterfield <jnetterfield@rim.com>
+
+ [BlackBerry] Upstream BlackBerry build fixes
+ https://bugs.webkit.org/show_bug.cgi?id=94121
+
+ Reviewed by Rob Buis.
+
+ This includes several build fixes due to incorrect upstream patches.
+ These mistakes were never present downstream.
+
+ No new tests, because no new functionality is added.
+
+ * platform/graphics/GraphicsContext3D.cpp:
+ (WebCore::GraphicsContext3D::computeFormatAndTypeParameters):
+ * platform/graphics/GraphicsContext3D.h:
+ (GraphicsContext3D):
+ (WebCore::GraphicsContext3D::ShaderSourceEntry::ShaderSourceEntry):
+ * platform/graphics/blackberry/LayerFilterRenderer.cpp:
+ (WebCore::LayerFilterRendererAction::LayerFilterRendererAction):
+ * platform/graphics/blackberry/LayerFilterRenderer.h:
+ (LayerFilterRendererAction):
+
+2012-08-15 Adam Barth <abarth@webkit.org>
+
+ JSDOMWrapper should ASSERT that it has an associated ScriptExecutionContext
+ https://bugs.webkit.org/show_bug.cgi?id=94053
+
+ Reviewed by Sam Weinig.
+
+ Previously we were unable have this ASSERT because DOMWindow needed a
+ Frame to find Document. Now that we can find the Document without a
+ Frame, we can include the ASSERT and sanity will rein across the land.
+
+ * bindings/js/JSDOMWrapper.h:
+ (WebCore::JSDOMWrapper::globalObject):
+ (WebCore::JSDOMWrapper::scriptExecutionContext):
+ (WebCore::JSDOMWrapper::JSDOMWrapper):
+
+2012-08-14 Mark Hahnenberg <mhahnenberg@apple.com>
+
+ Change behavior of MasqueradesAsUndefined to better accommodate DFG changes
+ https://bugs.webkit.org/show_bug.cgi?id=93884
+
+ Reviewed by Geoffrey Garen.
+
+ With some upcoming changes to the DFG to remove uses of ClassInfo, we will be changing the behavior of
+ MasqueradesAsUndefined. In order to make this change consistent across all of our execution engines,
+ we will make this change to MasqueradesAsUndefined as a separate patch. After this patch, MasqueradesAsUndefined
+ objects will only masquerade as undefined in their original context (i.e. their original JSGlobalObject).
+ For example, if an object that masquerades as undefined in frame A is passed to frame B, it will not
+ masquerade as undefined within frame B, but it will continue to masquerade in frame A.
+
+ Test: fast/js/document-all-between-frames.html
+
+ All of the changes in WebCore are simply passing the additional ExecState argument to JSValue::toBoolean.
+
+ * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
+ (WebCore::JSSQLStatementErrorCallback::handleEvent):
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::JSDOMWindow::addEventListener):
+ (WebCore::JSDOMWindow::removeEventListener):
+ * bindings/js/JSDataViewCustom.cpp:
+ (WebCore::getDataViewMember):
+ * bindings/js/JSDeviceMotionEventCustom.cpp:
+ (WebCore::JSDeviceMotionEvent::initDeviceMotionEvent):
+ * bindings/js/JSDeviceOrientationEventCustom.cpp:
+ (WebCore::JSDeviceOrientationEvent::initDeviceOrientationEvent):
+ * bindings/js/JSDictionary.cpp:
+ (WebCore::JSDictionary::convertValue):
+ * bindings/js/JSDirectoryEntryCustom.cpp:
+ (WebCore::JSDirectoryEntry::getFile):
+ (WebCore::JSDirectoryEntry::getDirectory):
+ * bindings/js/JSDirectoryEntrySyncCustom.cpp:
+ (WebCore::getFlags):
+ * bindings/js/JSHTMLCanvasElementCustom.cpp:
+ (WebCore::JSHTMLCanvasElement::getContext):
+ * bindings/js/JSInspectorFrontendHostCustom.cpp:
+ (WebCore::populateContextMenuItems):
+ * bindings/js/JSMessageEventCustom.cpp:
+ (WebCore::handleInitMessageEvent):
+ * bindings/js/JSWebGLRenderingContextCustom.cpp:
+ (WebCore::dataFunctionMatrix):
+ * bindings/js/JSXMLHttpRequestCustom.cpp:
+ (WebCore::JSXMLHttpRequest::open):
+ * bindings/js/JavaScriptCallFrame.cpp:
+ (WebCore::JavaScriptCallFrame::exec):
+ (WebCore):
+ * bindings/js/JavaScriptCallFrame.h:
+ (JavaScriptCallFrame):
+ * bindings/js/ScriptDebugServer.cpp:
+ (WebCore::ScriptDebugServer::hasBreakpoint):
+ * bindings/scripts/CodeGeneratorJS.pm: Also add the custom create function for MasqueradesAsUndefined JS DOM wrappers.
+ (GenerateEventListenerCall):
+ (GenerateHeader):
+ (JSValueToNative):
+ * bindings/scripts/test/JS/JSTestEventTarget.cpp:
+ (WebCore::jsTestEventTargetPrototypeFunctionAddEventListener):
+ (WebCore::jsTestEventTargetPrototypeFunctionRemoveEventListener):
+ * bindings/scripts/test/JS/JSTestEventTarget.h:
+ (WebCore::JSTestEventTarget::create):
+ * bindings/scripts/test/JS/JSTestObj.cpp:
+ (WebCore::setJSTestObjCreate):
+ (WebCore::setJSTestObjReflectedBooleanAttr):
+ (WebCore::setJSTestObjReflectedCustomBooleanAttr):
+ (WebCore::jsTestObjPrototypeFunctionAddEventListener):
+ (WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
+ * bridge/c/c_utility.cpp:
+ (JSC::Bindings::convertValueToNPVariant):
+ * bridge/jni/jni_jsobject.mm:
+ (JavaJSObject::convertValueToJObject):
+ * bridge/qt/qt_runtime.cpp:
+ (JSC::Bindings::convertValueToQVariant):
+
+2012-08-15 Joanmarie Diggs <jdiggs@igalia.com>
+
+ [Gtk] atk_text_get_text_at_offset() fails to provide the correct line for paragraphs in list items whose text wraps
+ https://bugs.webkit.org/show_bug.cgi?id=83435
+
+ Reviewed by Chris Fleizach.
+
+ Fix a logic error when checking if an object is a list marker.
+
+ * accessibility/gtk/WebKitAccessibleInterfaceText.cpp:
+ (textForRenderer):
+
+2012-08-15 Arpita Bahuguna <arpitabahuguna@gmail.com>
+
+ There is additional space not belonged to a table between the table cells
+ https://bugs.webkit.org/show_bug.cgi?id=74864
+
+ Reviewed by Julien Chaffraix.
+
+ Hittest for a point on the edge, i.e. between two table columns, currently
+ does not return any matching underlying element.
+
+ A hittest on such a point (on the edge of two table columns) should return
+ the column that lies either on the logical right/bottom of the said point.
+
+ Tests: fast/table/hittest-tablecell-bottom-edge.html
+ fast/table/hittest-tablecell-right-edge.html
+ fast/table/hittest-tablecell-with-borders-bottom-edge.html
+ fast/table/hittest-tablecell-with-borders-right-edge.html
+
+ * rendering/RenderTableSection.cpp:
+ (WebCore::RenderTableSection::spannedRows):
+ Removed the FIXME regarding the correctness of the usage of the upper_bound algorithm
+ since that is now verified by the testcases in this patch. Also, the comment
+ regarding the inconsistency between the algorithms used in spannedRows and spannedColumns
+ is no longer valid.
+
+ (WebCore::RenderTableSection::spannedColumns):
+ Changed lower_bound() algorithm to upper_bound() for obtaining the next column.
+ This is now similar to what is used for obtaining the next row in spannedRows().
+
+2012-08-15 Anna Cavender <annacc@chromium.org>
+
+ Add the timestampOffset attribute to SourceBuffer.
+ https://bugs.webkit.org/show_bug.cgi?id=93303
+
+ Reviewed by Dimitri Glazkov.
+
+ On the 30 July 2012 version of the Media Source Extensions spec, a timestampOffset
+ attribute was added to the SourceBuffer object:
+ http://dvcs.w3.org/hg/html-media/raw-file/tip/media-source/media-source.html#dom-timestampoffset
+
+ Tests: additions to http/tests/media/media-source/video-media-source-objects.html
+
+ * Modules/mediasource/MediaSource.cpp:
+ (WebCore::MediaSource::setTimestampOffset): Set the timestampOffset on MediaPlayer.
+ (WebCore):
+ * Modules/mediasource/MediaSource.h:
+ (MediaSource):
+ * Modules/mediasource/SourceBuffer.cpp:
+ (WebCore::SourceBuffer::SourceBuffer): Let the timestampOffset be 0 initially
+ (WebCore::SourceBuffer::timestampOffset): Return the last value set.
+ (WebCore):
+ (WebCore::SourceBuffer::setTimestampOffset): Forward the call onto MediaSouce.
+ * Modules/mediasource/SourceBuffer.h:
+ (SourceBuffer):
+ * Modules/mediasource/SourceBuffer.idl: Create the new timestampOffset attr.
+ * platform/graphics/MediaPlayer.cpp:
+ (WebCore::NullMediaPlayerPrivate::sourceSetTimestampOffset): A null media player
+ should just return false (nothing to set).
+ (WebCore):
+ (WebCore::MediaPlayer::sourceSetTimestampOffset): Forward the call.
+ * platform/graphics/MediaPlayer.h:
+ * platform/graphics/MediaPlayerPrivate.h:
+ (WebCore::MediaPlayerPrivateInterface::sourceSetTimestampOffset):
+
+2012-08-15 Pavel Chadnov <chadnov@google.com>
+
+ Web Inspector: Incorrect XHR responses when two async xhrs are sent synchronously
+ https://bugs.webkit.org/show_bug.cgi?id=91630
+
+ Reviewed by Vsevolod Vlasov.
+
+ CachedResource object for XHR response is now taken from ResourceLoader (if it's possible).
+
+ Test: http/tests/inspector/network/network-xhr-async-double.html
+
+ * inspector/InspectorInstrumentation.cpp:
+ (WebCore):
+ (WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl):
+ (WebCore::InspectorInstrumentation::didReceiveResourceResponseButCanceledImpl):
+ * inspector/InspectorInstrumentation.h:
+ (InspectorInstrumentation):
+ (WebCore::InspectorInstrumentation::didReceiveResourceResponse):
+ * inspector/InspectorResourceAgent.cpp:
+ (WebCore::InspectorResourceAgent::willSendRequest):
+ (WebCore::InspectorResourceAgent::didReceiveResponse):
+ * inspector/InspectorResourceAgent.h:
+ (WebCore):
+ (InspectorResourceAgent):
+ * loader/DocumentThreadableLoader.cpp:
+ (WebCore::DocumentThreadableLoader::didReceiveResponse):
+ * loader/ResourceLoadNotifier.cpp:
+ (WebCore::ResourceLoadNotifier::didReceiveResponse):
+ (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
+ * loader/ResourceLoadNotifier.h:
+ (ResourceLoadNotifier):
+ * loader/ResourceLoader.cpp:
+ (WebCore::ResourceLoader::isSubresourceLoader):
+ (WebCore):
+ * loader/ResourceLoader.h:
+ (ResourceLoader):
+ * loader/SubresourceLoader.cpp:
+ (WebCore::SubresourceLoader::cachedResource):
+ (WebCore):
+ (WebCore::SubresourceLoader::isSubresourceLoader):
+ * loader/SubresourceLoader.h:
+ (SubresourceLoader):
+ * loader/appcache/ApplicationCacheGroup.cpp:
+ (WebCore::ApplicationCacheGroup::didReceiveResponse):
+
+2012-08-15 Taiju Tsuiki <tzik@chromium.org>
+
+ Web Inspector: Use default parameter on reportResult in InspectorFileSystemAgent
+ https://bugs.webkit.org/show_bug.cgi?id=93930
+
+ Reviewed by Vsevolod Vlasov.
+
+ No functional change.
+
+ * inspector/InspectorFileSystemAgent.cpp:
+ (WebCore):
+
+2012-08-15 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: TabbedEditorContainer Doens't show '*' near modified file name sometimes.
+ https://bugs.webkit.org/show_bug.cgi?id=94095
+
+ Reviewed by Pavel Feldman.
+
+ TabbedEditorContainer now correctly updates event listeners on UISourceCodeReplaced event.
+
+ * inspector/front-end/TabbedEditorContainer.js:
+ (WebInspector.TabbedEditorContainer.prototype._appendFileTab):
+ (WebInspector.TabbedEditorContainer.prototype._tabClosed):
+ (WebInspector.TabbedEditorContainer.prototype._addUISourceCodeListeners):
+ (WebInspector.TabbedEditorContainer.prototype._removeUISourceCodeListeners):
+
+2012-08-15 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: Scroll/selection are not saved in sources panel editors sometimes.
+ https://bugs.webkit.org/show_bug.cgi?id=94098
+
+ Reviewed by Pavel Feldman.
+
+ SourceFrame listeners and _currentFile field are now cleared only when currently open tab is closed.
+
+ * inspector/front-end/TabbedEditorContainer.js:
+ (WebInspector.TabbedEditorContainer.prototype._tabClosed):
+
+2012-08-15 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: [REGRESSION] "save as" of edited source in developer mode fails to update saved file
+ https://bugs.webkit.org/show_bug.cgi?id=94074
+
+ Reviewed by Pavel Feldman.
+
+ Added dirty flag check when saving uiSourceCode to save working copy in this case.
+
+ * inspector/front-end/HandlerRegistry.js:
+ (WebInspector.HandlerRegistry.prototype.appendApplicableItems.save):
+ (WebInspector.HandlerRegistry.prototype.appendApplicableItems):
+
+2012-08-15 Thiago Marcos P. Santos <thiago.santos@intel.com>
+
+ Relative units are not set when the canvas has not parent
+ https://bugs.webkit.org/show_bug.cgi?id=93840
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Set the default font when no parent style is set. It will make
+ possible to apply relative units when a parent is not set.
+
+ No new tests, unskipped the existing ones.
+
+ * css/StyleBuilder.cpp:
+ (WebCore::ApplyPropertyFontSize::applyValue):
+ Make it possible to apply relative units if a parent style exist but
+ not a parent node. It works like this for em and ex, but not for
+ percent units.
+ * html/canvas/CanvasRenderingContext2D.cpp:
+ (WebCore):
+ (WebCore::CanvasRenderingContext2D::setFont):
+
+2012-08-14 Pavel Feldman <pfeldman@chromium.org>
+
+ Web Inspector: split standalone test runner, test scanner and test stub.
+ https://bugs.webkit.org/show_bug.cgi?id=94001
+
+ Reviewed by Vsevolod Vlasov.
+
+ This change starts sending loacCompleted message to the embedder.
+
+ * inspector/front-end/InspectorFrontendAPI.js:
+ (InspectorFrontendAPI.loadCompleted):
+ * inspector/front-end/test-runner.html: Added.
+
+2012-08-15 Shinya Kawanaka <shinyak@chromium.org>
+
+ [Refactoring] The debug version and release version of toHTMLSelectElement can be merged without any penalty
+ https://bugs.webkit.org/show_bug.cgi?id=94084
+
+ Reviewed by Kent Tamura.
+
+ We have two versions of toHTMLSelectElement. One has ASSERT() and the other one does not have ASSERT().
+ We can merge them without any penalty.
+
+ No new tests, no change in behavior.
+
+ * html/HTMLSelectElement.cpp:
+ * html/HTMLSelectElement.h:
+ (WebCore::isHTMLSelectElement):
+ (WebCore::toHTMLSelectElement):
+ (WebCore):
+
+2012-08-15 Shinya Kawanaka <shinyak@chromium.org>
+
+ AuthorShadowDOM for meter element
+ https://bugs.webkit.org/show_bug.cgi?id=91970
+
+ Reviewed by Hajime Morita.
+
+ We add support for AuthorShadowDOM for a meter element.
+
+ According to the Shadow DOM spec, a meter element should behave like having a UserAgentShadowRoot and
+ an element in UserAgentShadowRoot draws a real 'meter' bar. In this patch, we change the inner structure
+ of a meter element so that we can distribute an element having RenderMeter to AuthorShadowDOM.
+
+ Before this patch, a meter element has the following inner structure.
+
+ <meter>--UserAgentShadowRoot -- -- -- -- -- -- -- -- -- -- AuthorShadowRoot
+ |
+ +-- MeterBarElement
+ |
+ +-- MeterValueElement
+
+ After this patch, a meter element will have the following inner structure.
+
+ <meter>--UserAgentShadowRoot -- -- -- -- -- -- -- -- -- -- AuthorShadowRoot
+ |
+ +-- MeterInnerElement
+ |
+ +-- MeterBarElement
+ |
+ +-- MeterValueElement
+
+ However, if RenderTheme supports rendering meter, MeterInnerElement will not create a renderer
+ unless an AuthorShadowDOM is attached to it so that we can keep the current rendering style.
+
+ Tests: fast/dom/shadow/shadowdom-for-meter-dynamic.html
+ fast/dom/shadow/shadowdom-for-meter-multiple.html
+ fast/dom/shadow/shadowdom-for-meter-with-style.html
+ fast/dom/shadow/shadowdom-for-meter-without-appearance.html
+ fast/dom/shadow/shadowdom-for-meter-without-shadow-element.html
+ fast/dom/shadow/shadowdom-for-meter.html
+
+ * css/html.css:
+ (meter): Changed the display type. inline-box is not supported WebKit. inline-block is true.
+ (meter::-webkit-meter-inner-element):
+ * html/HTMLMeterElement.cpp:
+ (WebCore::HTMLMeterElement::HTMLMeterElement):
+ (WebCore::HTMLMeterElement::createRenderer):
+ (WebCore):
+ (WebCore::HTMLMeterElement::attach): Added didElementStateChange.
+ (WebCore::HTMLMeterElement::didElementStateChange):
+ (WebCore::HTMLMeterElement::willAddAuthorShadowRoot):
+ (WebCore::HTMLMeterElement::renderMeter):
+ (WebCore::HTMLMeterElement::createShadowSubtree):
+ * html/HTMLMeterElement.h:
+ (WebCore):
+ (WebCore::HTMLMeterElement::hasAuthorShadowRoot):
+ (HTMLMeterElement):
+ (WebCore::isHTMLMeterElement):
+ (WebCore::toHTMLMeterElement):
+ * html/shadow/MeterShadowElement.cpp:
+ (WebCore::MeterShadowElement::meterElement):
+ (WebCore::MeterShadowElement::rendererIsNeeded):
+ (WebCore):
+ (WebCore::MeterInnerElement::MeterInnerElement): We introduce a new element having RenderMeter
+ so that we can distribute an element having RenderMeter to AuthorShadowDOM.
+ (WebCore::MeterInnerElement::rendererIsNeeded): Different from a progress element, meter element will not be
+ rendered using a theme. So we don't need to check the style appearance.
+ (WebCore::MeterInnerElement::createRenderer):
+ (WebCore::MeterInnerElement::shadowPseudoId):
+ * html/shadow/MeterShadowElement.h:
+ (WebCore):
+ (MeterInnerElement):
+ (WebCore::MeterInnerElement::create):
+ * rendering/RenderMeter.cpp:
+ (WebCore::RenderMeter::RenderMeter):
+ (WebCore::RenderMeter::meterElement):
+ (WebCore):
+ (WebCore::RenderMeter::valueRatio):
+ * rendering/RenderMeter.h:
+ (RenderMeter):
+ * rendering/RenderThemeMac.mm:
+ (WebCore::RenderThemeMac::levelIndicatorFor):
+
+2012-08-15 Adam Barth <abarth@webkit.org>
+
+ [Chromium] fast/dom/Window/dom-access-from-closure-window.html is flaky on Linux
+ https://bugs.webkit.org/show_bug.cgi?id=94060
+
+ Reviewed by Kentaro Hara.
+
+ Previously, the V8 garbage collector might have collected the Document
+ wrapper before the DOMWindow wrapper because we overwrite the
+ "document" property of the DOMWindow during navigation.
+
+ This patch adds a hidden document property on the global object to
+ ensure that the Document wrapper lives at least as long as the
+ DOMWindow wrapper, ensuring that DOMWindows that we obtain from V8
+ always have non-null Document objects.
+
+ The JavaScriptCore bindings already have this behavior.
+
+ Test: fast/dom/Window/dom-access-from-closure-window-with-gc.html
+
+ * bindings/v8/V8DOMWindowShell.cpp:
+ (WebCore::V8DOMWindowShell::updateDocumentWrapperCache):
+ * bindings/v8/V8HiddenPropertyName.h:
+ (WebCore):
+
+2012-08-14 Andrey Kosyakov <caseq@chromium.org>
+
+ Web Inspector: Calling getEventListeners() on element with malformed javascript event listeners crashes
+ https://bugs.webkit.org/show_bug.cgi?id=93937
+
+ Reviewed by Pavel Feldman.
+
+ - check listener function to be non-null (happens upon an exception while compiling attribute listeners)
+
+ * bindings/js/JSInjectedScriptHostCustom.cpp:
+ (WebCore::getJSListenerFunctions):
+ * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
+ (WebCore::getJSListenerFunctions):
+
+2012-08-14 Jan Keromnes <janx@linux.com>
+
+ Web Inspector: CodeMirrorTextEditor doesn't clear execution line
+ https://bugs.webkit.org/show_bug.cgi?id=94069
+
+ Reviewed by Pavel Feldman.
+
+ Make CodeMirrorTextEditor use line handles instead of numbers, remove
+ typeof == "number" checks.
+
+ * inspector/front-end/CodeMirrorTextEditor.js:
+ (WebInspector.CodeMirrorTextEditor.prototype.clearExecutionLine):
+ (WebInspector.CodeMirrorTextEditor.prototype.highlightLine):
+ (WebInspector.CodeMirrorTextEditor.prototype.clearLineHighlight):
+
+2012-08-14 Yuta Kitamura <yutak@google.com>
+
+ Unreviewed. Fix Chromium-Android builds.
+
+ * html/TimeInputType.cpp:
+ (WebCore::TimeInputType::TimeInputType):
+ Declare the function as a constructor.
+
+2012-08-14 Sukolsak Sakshuwong <sukolsak@google.com>
+
+ Text selection in text area in auto scroll mode goes wrong.
+ https://bugs.webkit.org/show_bug.cgi?id=74346
+
+ Reviewed by Ojan Vafai.
+
+ WebKit triggers autoscroll in text area when the user drags the cursor from inside
+ the text area to the outside. When that happens, it gets the local cursor position
+ relative to the node under the cursor from hit-testing, converts it to
+ the absolute position, and then converts it to the local position relative to the
+ text area. However, the hit-testing method of text area did not take scrolling
+ offset into account. This caused it to give an incorrect value of the local cursor
+ position. Make the hit-testing take scrolling offset into account.
+
+ Test: fast/events/autoscroll-in-textarea.html
+
+ * html/shadow/TextControlInnerElements.cpp:
+ (WebCore::TextControlInnerTextElement::createRenderer):
+ * rendering/RenderTextControl.cpp:
+ (WebCore::RenderTextControl::hitInnerTextElement):
+ * rendering/RenderTextControlSingleLine.cpp:
+ (WebCore):
+ * rendering/RenderTextControlSingleLine.h:
+ (WebCore::RenderTextControlInnerBlock::RenderTextControlInnerBlock):
+ (WebCore::RenderTextControlInnerBlock::hasLineIfEmpty):
+
+2012-08-14 Shinya Kawanaka <shinyak@chromium.org>
+
+ [Refactoring] RenderMenuList and RenderListBox should have a method to return HTMLSelectElement.
+ https://bugs.webkit.org/show_bug.cgi?id=94061
+
+ Reviewed by Kent Tamura.
+
+ This is a preparation patch for Bug 91487. Since RenderMenuList::node() and RenderListBox::node()
+ will not return HTMLSelectElement to fix Bug 91487, it would be good to have a method to HTMLSelectElement.
+
+ No new tests, no change in behavior.
+
+ * rendering/RenderListBox.cpp:
+ (WebCore::RenderListBox::selectElement):
+ (WebCore):
+ (WebCore::RenderListBox::updateFromElement):
+ (WebCore::RenderListBox::scrollToRevealSelection):
+ (WebCore::RenderListBox::size):
+ (WebCore::RenderListBox::numItems):
+ (WebCore::RenderListBox::addFocusRingRects):
+ (WebCore::RenderListBox::paintItemForeground):
+ (WebCore::RenderListBox::paintItemBackground):
+ (WebCore::RenderListBox::panScroll):
+ (WebCore::RenderListBox::autoscroll):
+ (WebCore::RenderListBox::stopAutoscroll):
+ (WebCore::RenderListBox::valueChanged):
+ (WebCore::RenderListBox::nodeAtPoint):
+ * rendering/RenderListBox.h:
+ (WebCore):
+ (RenderListBox):
+ * rendering/RenderMenuList.cpp:
+ (WebCore::RenderMenuList::selectElement):
+ (WebCore):
+ (WebCore::RenderMenuList::updateOptionsWidth):
+ (WebCore::RenderMenuList::updateFromElement):
+ (WebCore::RenderMenuList::setTextFromOption):
+ (WebCore::RenderMenuList::showPopup):
+ (WebCore::RenderMenuList::valueChanged):
+ (WebCore::RenderMenuList::listBoxSelectItem):
+ (WebCore::RenderMenuList::multiple):
+ (WebCore::RenderMenuList::didSetSelectedIndex):
+ (WebCore::RenderMenuList::didUpdateActiveOption):
+ (WebCore::RenderMenuList::itemText):
+ (WebCore::RenderMenuList::itemAccessibilityText):
+ (WebCore::RenderMenuList::itemToolTip):
+ (WebCore::RenderMenuList::itemIsEnabled):
+ (WebCore::RenderMenuList::itemStyle):
+ (WebCore::RenderMenuList::itemBackgroundColor):
+ (WebCore::RenderMenuList::listSize):
+ (WebCore::RenderMenuList::selectedIndex):
+ (WebCore::RenderMenuList::itemIsSeparator):
+ (WebCore::RenderMenuList::itemIsLabel):
+ (WebCore::RenderMenuList::itemIsSelected):
+ (WebCore::RenderMenuList::setTextFromItem):
+ * rendering/RenderMenuList.h:
+ (WebCore):
+ (RenderMenuList):
+
+2012-08-10 Kinuko Yasuda <kinuko@chromium.org>
+
+ FileWriter fails with assertion when trying to write empty Blob
+ https://bugs.webkit.org/show_bug.cgi?id=93694
+
+ Reviewed by Kent Tamura.
+
+ if the given data size is zero (i.e. m_bytesToWrite is zero) the assertion 'bytes + m_bytesWritten > 0' should not be tested.
+
+ Tests: fast/filesystem/file-writer-empty-blob.html
+ fast/filesystem/workers/file-writer-empty-blob.html
+
+ * Modules/filesystem/FileWriter.cpp:
+ (WebCore::FileWriter::didWrite):
+
+2012-08-14 Keishi Hattori <keishi@webkit.org>
+
+ Share common code between calendar picker and color suggestion picker
+ https://bugs.webkit.org/show_bug.cgi?id=93802
+
+ Reviewed by Kent Tamura.
+
+ We want to share common code like utility functions between picker page popups.
+
+ No new tests because no behavior change. Covered by existing tests, color-suggestion-picker-appearance.html and calendar-picker-apeparance.html.
+
+ * Resources/pagepopups/calendarPicker.js:
+ (YearMonthController.prototype.attachTo):
+ (YearMonthController.prototype._showPopup):
+ * Resources/pagepopups/colorSuggestionPicker.js:
+ (handleMessage):
+ (handleArgumentsTimeout):
+ * Resources/pagepopups/pickerCommon.css: Added.
+ (body):
+ * Resources/pagepopups/pickerCommon.js: Added.
+ (createElement):
+ (resizeWindow):
+ (getScrollbarWidth):
+ * WebCore.gyp/WebCore.gyp: Add actions for pickerCommon.{css,js}
+ * html/shadow/CalendarPickerElement.cpp:
+ (WebCore::CalendarPickerElement::writeDocument):
+
+2012-08-14 Ojan Vafai <ojan@chromium.org>
+
+ Fix access to m_markupBox in WebCore::EllipsisBox::paint
+ https://bugs.webkit.org/show_bug.cgi?id=91138
+
+ Reviewed by Abhishek Arya.
+
+ EllipsisBox would hold on to m_markupBox, which would then get destroyed during
+ the followup layoutIfNeeded in layoutVerticalBox. Instead, have EllipsisBox
+ dynamically grab to pointer to the markup box during paint since there's no
+ straightforward way to notify the EllipsisBox that the markupBox has been destroyed
+ and/or point it at the new markupBox.
+
+ Test: fast/overflow/line-clamp-and-columns.html
+
+ * rendering/EllipsisBox.cpp:
+ (WebCore::EllipsisBox::paint):
+ (WebCore):
+ (WebCore::EllipsisBox::paintMarkupBox):
+ * rendering/EllipsisBox.h:
+ (WebCore::EllipsisBox::EllipsisBox):
+ Just store a boolean that we have a markup box that needs painting.
+ * rendering/RenderDeprecatedFlexibleBox.cpp:
+ (WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
+ Clearing the override size right after setting it was incorrect because
+ there are cases where we'll do a followup layout in layoutVerticalBox, at which
+ point we'll still need the override size.
+ (WebCore::RenderDeprecatedFlexibleBox::clearLineClamp):
+ Clear the override size here to handle cases where line clamp is removed since
+ we don't call applyLineClamp in those cases.
+
+2012-08-14 Yoshifumi Inoue <yosin@chromium.org>
+
+ [Forms] Make input type "time" to use multiple field time input UI
+ https://bugs.webkit.org/show_bug.cgi?id=93929
+
+ Reviewed by Kent Tamura.
+
+ This patch changes input type "time" UI to use multiple field time
+ input UI when build flag ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS
+ enabled.
+
+ No new tests. This patch doesn't change behavior for users, however,
+ this patch changes behavior on layout tests. Tests will be added
+ in another patch with runtime enabled feature flag is enabled.
+
+ Test expectations for following tests are updated:
+ - fast/forms/time/time-input-visible-string.html
+ - fast/forms/time/time-stepup-stepdown-from-renderer.html
+
+ * html/BaseDateAndTimeInputType.h:
+ (BaseDateAndTimeInputType): Exposed serialize() to derived classes.
+ * html/TimeInputType.cpp:
+ (WebCore::TimeInputType::DateTimeEditControlOwnerImpl::DateTimeEditControlOwnerImpl):
+ (WebCore::TimeInputType::DateTimeEditControlOwnerImpl::~DateTimeEditControlOwnerImpl):
+ (WebCore::TimeInputType::DateTimeEditControlOwnerImpl::editControlMouseFocus):
+ (WebCore::TimeInputType::DateTimeEditControlOwnerImpl::editControlValueChanged):
+ (WebCore::TimeInputType::DateTimeEditControlOwnerImpl::isEditControlOwnerDisabled):
+ (WebCore::TimeInputType::DateTimeEditControlOwnerImpl::isEditControlOwnerReadOnly):
+ (WebCore::TimeInputType::TimeInputType):
+ (WebCore::TimeInputType::~TimeInputType):
+ (WebCore::TimeInputType::createRenderer):
+ (WebCore::TimeInputType::createShadowSubtree):
+ (WebCore::TimeInputType::destroyShadowSubtree):
+ (WebCore::TimeInputType::forwardEvent):
+ (WebCore::TimeInputType::disabledAttributeChanged):
+ (WebCore::TimeInputType::handleKeydownEvent):
+ (WebCore::TimeInputType::handleDOMActivateEvent):
+ (WebCore::TimeInputType::isKeyboardFocusable):
+ (WebCore::TimeInputType::isMouseFocusable):
+ (WebCore::TimeInputType::minOrMaxAttributeChanged):
+ (WebCore::TimeInputType::readonlyAttributeChanged):
+ (WebCore::TimeInputType::isTextField):
+ (WebCore::TimeInputType::setValue):
+ (WebCore::TimeInputType::shouldUseInputMethod):
+ (WebCore::TimeInputType::stepAttributeChanged):
+ (WebCore::TimeInputType::updateEditElementLayout):
+ (WebCore::TimeInputType::updateInnerTextValue):
+ (WebCore::TimeInputType):
+ * html/TimeInputType.h:
+ (TimeInputType):
+ (DateTimeEditControlOwnerImpl):
+
+2012-08-14 Dean Jackson <dino@apple.com>
+
+ Initial call to webkitRequestAnimationFrame returns 0, Spec indicates the handle should always be > 0
+ https://bugs.webkit.org/show_bug.cgi?id=85819
+
+ Reviewed by James Robinson.
+
+ The callback id returned by requestAnimationFrame was beginning at zero, when the spec
+ says it should be above one. Use a pre-increment rather than a post-increment.
+
+ Test: fast/animation/request-animation-frame-callback-id.html
+
+ * dom/ScriptedAnimationController.cpp:
+ (WebCore::ScriptedAnimationController::registerCallback): Pre-increment rather than post-increment.
+
+2012-08-14 Levi Weintraub <leviw@chromium.org>
+
+ r125591 broke tests with SUBPIXEL_LAYOUT disabled
+ https://bugs.webkit.org/show_bug.cgi?id=94027
+
+ Reviewed by Eric Seidel.
+
+ The previous patch to fix block preferred widths for subpixel layout broke ports
+ without the flag enabled. This patch adds a static inline function --
+ adjustFloatForSubPixelLayout -- that truncates with sub-pixel layout disabled, and
+ ceil's to the nearest FractionalLayoutUnit when sub-pixel layout is enabled.
+
+ A block's max preferred width should be enough to layout the entire line without
+ wrapping. r125591 addressed a bug whereby converting floats to LayoutUnits with sub-
+ pixel layout enabled lost precision in certain cases, and could result in a line
+ being layed out to slightly over the max preferred width of the block.
+
+ This patch reverts the behavior when sub-pixel layout is disabled to truncating
+ sub-pixel values (such as those that originate in Length) when assigning them to
+ LayoutUnits, and ceiling the length of the entire line to the next largest integer.
+
+ Covered by existing tests.
+
+ * rendering/RenderBlock.cpp:
+ (WebCore):
+ (WebCore::adjustFloatForSubPixelLayout):
+ (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
+
+2012-08-14 Chris Evans <cevans@google.com>
+
+ Handle the XPath / (root) operator correctly for nodes that aren't attached to the document.
+ https://bugs.webkit.org/show_bug.cgi?id=36427
+
+ Reviewed by Abhishek Arya.
+
+ We now behave the same as Firefox 14.
+ The consensus seems to be that the XPath spec is ambiguous for the case of detached nodes, and that using the fragment root is more intuitive than the document root for the case of detached nodes.
+ For example, http://www.w3.org/TR/xpath/ section 2 "Location Paths" is only clear for attached nodes: "A / by itself selects the root node of the document containing the context node. If it is followed by a relative location path, then the location path selects the set of nodes that would be selected by the relative location path relative to the root node of the document containing the context node."
+
+ Test: fast/xpath/xpath-detached-nodes.html
+
+ * xml/XPathPath.cpp:
+ (WebCore::XPath::LocationPath::evaluate): Jump to the root of the detached subtree instead of the parent document if the node isn't attached to the document.
+
+2012-08-14 Alexandru Chiculita <achicu@adobe.com>
+
+ [CSS Shaders][Chromium] Filters area applied twice when CustomFilterOperation is in the list
+ https://bugs.webkit.org/show_bug.cgi?id=93900
+
+ Reviewed by James Robinson.
+
+ Whenever the platform cannot render a shader in hardware it will fallback to software.
+ In such cases, the platform should remove any old filters applied, so that the filters do not apply twice.
+
+ Test: css3/filters/custom/filter-fallback-to-software.html
+
+ * platform/graphics/chromium/GraphicsLayerChromium.cpp:
+ (WebCore::GraphicsLayerChromium::setFilters):
+
+2012-08-14 Alec Flett <alecflett@chromium.org>
+
+ IndexedDB: add tracing to IDBLevelDBBackingStore
+ https://bugs.webkit.org/show_bug.cgi?id=93914
+
+ Reviewed by Tony Chang.
+
+ Add a bunch of trace events to the lower level
+ database layer, to separate database slowness
+ from core IDB slowness.
+
+ Also moving findKeyInIndex into IDBLevelDBBackingStore to
+ eventually make it const.
+
+ No new tests, just adding debug logging.
+
+ * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
+ (WebCore::IDBLevelDBBackingStore::open):
+ (WebCore::IDBLevelDBBackingStore::deleteDatabase):
+ (WebCore::IDBLevelDBBackingStore::getObjectStores):
+ (WebCore::IDBLevelDBBackingStore::createObjectStore):
+ (WebCore::IDBLevelDBBackingStore::deleteObjectStore):
+ (WebCore::IDBLevelDBBackingStore::getObjectStoreRecord):
+ (WebCore):
+ (WebCore::IDBLevelDBBackingStore::putObjectStoreRecord):
+ (WebCore::IDBLevelDBBackingStore::clearObjectStore):
+ (WebCore::IDBLevelDBBackingStore::deleteObjectStoreRecord):
+ (WebCore::IDBLevelDBBackingStore::keyExistsInObjectStore):
+ (WebCore::IDBLevelDBBackingStore::getIndexes):
+ (WebCore::IDBLevelDBBackingStore::createIndex):
+ (WebCore::IDBLevelDBBackingStore::deleteIndex):
+ (WebCore::IDBLevelDBBackingStore::putIndexDataForRecord):
+ (WebCore::IDBLevelDBBackingStore::findKeyInIndex):
+ (WebCore::IDBLevelDBBackingStore::getPrimaryKeyViaIndex):
+ (WebCore::IDBLevelDBBackingStore::keyExistsInIndex):
+ (WebCore::IDBLevelDBBackingStore::openObjectStoreCursor):
+ (WebCore::IDBLevelDBBackingStore::openIndexKeyCursor):
+ (WebCore::IDBLevelDBBackingStore::openIndexCursor):
+ (WebCore::IDBLevelDBBackingStore::Transaction::commit):
+ (WebCore::IDBLevelDBBackingStore::Transaction::rollback):
+ * Modules/indexeddb/IDBLevelDBBackingStore.h:
+ (IDBLevelDBBackingStore):
+ * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
+ (WebCore):
+ * Modules/indexeddb/IDBTransaction.cpp:
+ (WebCore::IDBTransaction::onAbort):
+ (WebCore::IDBTransaction::onComplete):
+
+2012-08-14 Hayato Ito <hayato@chromium.org>
+
+ Refactor EventDispatcher, moving code to make actual changes easier to review later.
+ https://bugs.webkit.org/show_bug.cgi?id=93959
+
+ Reviewed by Dimitri Glazkov.
+
+ No new tests - no new functionality.
+
+ * dom/EventDispatcher.cpp:
+ (WebCore::EventDispatcher::dispatchScopedEvent):
+ (WebCore):
+ (WebCore::EventDispatcher::dispatchSimulatedClick):
+
+2012-08-14 Kihong Kwon <kihong.kwon@samsung.com>
+
+ Clear pattern to prevent timing problem between cancelVibration and vibrate
+ https://bugs.webkit.org/show_bug.cgi?id=93957
+
+ Reviewed by Kentaro Hara.
+
+ There is a timing issue in the cancelVibration.
+ Since vibrate works based on timer, cancelVibration might be called
+ eariler than vibrate when cancelVibration is called just after vibrate call.
+ It can be prevented from clearing m_pattern in the cancelVibration.
+
+ * Modules/vibration/Vibration.cpp:
+ (WebCore::Vibration::cancelVibration):
+
+2012-08-14 Alexandru Chiculita <achicu@adobe.com>
+
+ Layout Test css3/filters/custom/custom-filter-animation.html is failing
+ https://bugs.webkit.org/show_bug.cgi?id=91769
+
+ Reviewed by Dean Jackson.
+
+ Mountain Lion added support for accelerated filter animations, but CSS Shaders are still
+ rendered in software mode. The setFilters method is using PlatformCALayer::filtersCanBeComposited to check
+ if the filters can be handled in hardwawre, so I've reused that in the createFilterAnimationsFromKeyframes
+ to check if the animations can also run in hardware.
+
+ Also the GraphicsContext3D doesn't update its own internal m_boundFBO when a framebuffer is deleted,
+ so I've added that to the FECustomFilter. Otherwise, if the next framebuffer is created using the same
+ identifier, bindFramebuffer will just return without calling the glBindFramebuffer because of this optimization.
+
+ The documentation for glDeleteFramebuffer says that the bound framebuffer is unbound before deleting it.
+ This is not reproduceable from WebGL, because WebGLRenderingContext::deleteFramebuffer
+ already knows to unbind the framebuffer when needed. However, I'm also adding that in GraphicsContext3DOpenGLCommon.cpp
+ and efl/GraphicsContext3DPrivate.cpp, to make sure that m_boundFBO is not used for other purposes.
+
+ No new tests, this patch fixes a failing test.
+
+ * platform/graphics/ca/GraphicsLayerCA.cpp:
+ (WebCore::GraphicsLayerCA::createFilterAnimationsFromKeyframes):
+ * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
+ (WebCore::GraphicsContext3DPrivate::deleteFramebuffer):
+ * platform/graphics/filters/FECustomFilter.cpp:
+ (WebCore::FECustomFilter::deleteRenderBuffers):
+ * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
+ (WebCore::GraphicsContext3D::deleteFramebuffer):
+
+2012-08-14 Adam Barth <abarth@webkit.org>
+
+ Delete Frame::domWindow() and Frame::existingDOMWindow()
+ https://bugs.webkit.org/show_bug.cgi?id=93990
+
+ Reviewed by Eric Seidel.
+
+ These functions just call through to document()->domWindow(). This
+ patch updates the callers so it's clearer what's going on.
+
+ * bindings/js/JSDOMBinding.cpp:
+ (WebCore::shouldAllowAccessToFrame):
+ (WebCore::printErrorMessageForFrame):
+ * bindings/js/JSDocumentCustom.cpp:
+ (WebCore::JSDocument::location):
+ (WebCore::JSDocument::setLocation):
+ * bindings/js/JSEventListener.cpp:
+ (WebCore::JSEventListener::handleEvent):
+ * bindings/js/ScriptCachedFrameData.cpp:
+ (WebCore::ScriptCachedFrameData::restore):
+ * bindings/js/ScriptController.cpp:
+ (WebCore::ScriptController::createWindowShell):
+ * bindings/objc/DOMAbstractView.mm:
+ (core):
+ * bindings/v8/NPV8Object.cpp:
+ (WebCore::toV8Context):
+ * bindings/v8/ScriptController.cpp:
+ (WebCore::createScriptObject):
+ (WebCore::ScriptController::createScriptObjectForPluginElement):
+ * bindings/v8/V8DOMWindowShell.cpp:
+ (WebCore::V8DOMWindowShell::initContextIfNeeded):
+ * bindings/v8/V8IsolatedContext.cpp:
+ (WebCore::V8IsolatedContext::V8IsolatedContext):
+ * bindings/v8/V8Proxy.cpp:
+ (WebCore::V8Proxy::retrieveFrame):
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ (WebCore::V8DOMWindow::indexedPropertyGetter):
+ (WebCore::V8DOMWindow::namedPropertyGetter):
+ * bindings/v8/custom/V8DocumentLocationCustom.cpp:
+ (WebCore::V8Document::locationAccessorGetter):
+ (WebCore::V8Document::locationAccessorSetter):
+ * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
+ (WebCore::V8HTMLDocument::GetNamedProperty):
+ * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
+ (WebCore::V8HTMLFrameSetElement::namedPropertyGetter):
+ * dom/Document.cpp:
+ (WebCore::printNavigationErrorMessage):
+ * dom/ViewportArguments.cpp:
+ (WebCore::reportViewportWarning):
+ * editing/AlternativeTextController.cpp:
+ (WebCore::AlternativeTextController::insertDictatedText):
+ * editing/Editor.cpp:
+ (WebCore::Editor::pasteAsPlainText):
+ (WebCore::Editor::pasteAsFragment):
+ (WebCore::Editor::setComposition):
+ * history/PageCache.cpp:
+ (WebCore::logCanCacheFrameDecision):
+ (WebCore::PageCache::canCachePageContainingThisFrame):
+ * html/HTMLFormElement.cpp:
+ (WebCore::HTMLFormElement::validateInteractively):
+ * html/HTMLFrameOwnerElement.cpp:
+ (WebCore::HTMLFrameOwnerElement::contentWindow):
+ * html/canvas/WebGLRenderingContext.cpp:
+ (WebCore):
+ (WebCore::WebGLRenderingContext::printWarningToConsole):
+ * inspector/InspectorDOMStorageAgent.cpp:
+ (WebCore::InspectorDOMStorageAgent::storageId):
+ * loader/DocumentLoader.cpp:
+ (WebCore::DocumentLoader::checkLoadComplete):
+ * loader/DocumentWriter.cpp:
+ (WebCore::DocumentWriter::begin):
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::stopLoading):
+ (WebCore::FrameLoader::didOpenURL):
+ (WebCore::FrameLoader::checkIfDisplayInsecureContent):
+ (WebCore::FrameLoader::checkIfRunInsecureContent):
+ (WebCore::FrameLoader::reportLocalLoadFailed):
+ (WebCore::FrameLoader::prepareForCachedPageRestore):
+ (WebCore::FrameLoader::open):
+ (WebCore::FrameLoader::fireBeforeUnloadEvent):
+ * loader/MainResourceLoader.cpp:
+ (WebCore::MainResourceLoader::didReceiveResponse):
+ * loader/appcache/ApplicationCacheGroup.cpp:
+ (WebCore::ApplicationCacheGroup::abort):
+ (WebCore::ApplicationCacheGroup::didReceiveResponse):
+ (WebCore::ApplicationCacheGroup::didFinishLoading):
+ (WebCore::ApplicationCacheGroup::didFail):
+ (WebCore::ApplicationCacheGroup::didReceiveManifestResponse):
+ (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
+ (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
+ * loader/cache/CachedResourceLoader.cpp:
+ (WebCore::CachedResourceLoader::printAccessDeniedMessage):
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::isCurrentlyDisplayedInFrame):
+ (WebCore::DOMWindow::self):
+ (WebCore::DOMWindow::opener):
+ (WebCore::DOMWindow::parent):
+ (WebCore::DOMWindow::top):
+ (WebCore::DOMWindow::createWindow):
+ (WebCore::DOMWindow::open):
+ * page/DOMWindowProperty.cpp:
+ (WebCore::DOMWindowProperty::DOMWindowProperty):
+ (WebCore::DOMWindowProperty::reconnectFrameFromPageCache):
+ * page/DragController.cpp:
+ (WebCore::DragController::dispatchTextInputEventFor):
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleTextInputEvent):
+ * page/Frame.cpp:
+ * page/Frame.h:
+ (Frame):
+ * page/Location.cpp:
+ (WebCore::Location::replace):
+ (WebCore::Location::reload):
+ (WebCore::Location::setLocation):
+ * storage/StorageEventDispatcher.cpp:
+ (WebCore::StorageEventDispatcher::dispatch):
+ * svg/SVGDocumentExtensions.cpp:
+ (WebCore::reportMessage):
+ * xml/XSLStyleSheetLibxslt.cpp:
+ (WebCore::XSLStyleSheet::parseString):
+ * xml/XSLTProcessorLibxslt.cpp:
+ (WebCore::docLoaderFunc):
+ * xml/XSLTProcessorQt.cpp:
+ (WebCore::XSLTMessageHandler::handleMessage):
+
+2012-08-14 Mike West <mkwst@chromium.org>
+
+ Tighten up parsing the 'script-nonce' CSP directive value.
+ https://bugs.webkit.org/show_bug.cgi?id=93783
+
+ Reviewed by Adam Barth.
+
+ Currently we're accepting any non-whitespace character. This patch
+ limits the valid characters to VCHAR minus ',' and ';', and pulls the
+ validity check out into a named function for clarity.
+
+ Test: http/tests/security/contentSecurityPolicy/1.1/scriptnonce-separators-allowed.html
+
+ * page/ContentSecurityPolicy.cpp:
+ (WebCore::CSPDirectiveList::parseScriptNonce):
+
+2012-08-14 Adam Barth <abarth@webkit.org>
+
+ Delete DOMWindow::m_url
+ https://bugs.webkit.org/show_bug.cgi?id=93989
+
+ Reviewed by Eric Seidel.
+
+ There's no reason for DOMWindow to keep a separate copy of the
+ Document's URL now that there is a predictable way to get a Document
+ from a DOMWindow.
+
+ * loader/DocumentWriter.cpp:
+ (WebCore::DocumentWriter::begin):
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::open):
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::crossDomainAccessErrorMessage):
+ * page/DOMWindow.h:
+ (DOMWindow):
+
+2012-08-14 Nikhil Bhargava <nbhargava@google.com>
+
+ De-inline stuff from RenderStyle.h
+ https://bugs.webkit.org/show_bug.cgi?id=94019
+
+ Reviewed by Eric Seidel.
+
+ De-inline things from RenderStyle.h in preparation of fixing a series of
+ errant includes.
+
+ No new tests. Doesn't change functionality
+
+ * WebCore.exp.in:
+ * rendering/style/RenderStyle.cpp:
+ (WebCore::RenderStyle::listStyleImage):
+ (WebCore::RenderStyle::setListStyleImage):
+ (WebCore):
+ (WebCore::RenderStyle::color):
+ (WebCore::RenderStyle::visitedLinkColor):
+ (WebCore::RenderStyle::setColor):
+ (WebCore::RenderStyle::setVisitedLinkColor):
+ (WebCore::RenderStyle::horizontalBorderSpacing):
+ (WebCore::RenderStyle::verticalBorderSpacing):
+ (WebCore::RenderStyle::setHorizontalBorderSpacing):
+ (WebCore::RenderStyle::setVerticalBorderSpacing):
+ (WebCore::RenderStyle::font):
+ (WebCore::RenderStyle::fontMetrics):
+ (WebCore::RenderStyle::fontDescription):
+ (WebCore::RenderStyle::fontSize):
+ (WebCore::RenderStyle::wordSpacing):
+ (WebCore::RenderStyle::letterSpacing):
+ (WebCore::RenderStyle::setFontDescription):
+ (WebCore::RenderStyle::lineHeight):
+ (WebCore::RenderStyle::setLineHeight):
+ (WebCore::RenderStyle::computedLineHeight):
+ (WebCore::RenderStyle::setWordSpacing):
+ (WebCore::RenderStyle::setLetterSpacing):
+ * rendering/style/RenderStyle.h:
+
+2012-08-14 Andrei Onea <onea@adobe.com>
+
+ [CSSRegions]Region overset property is incorectly computed when content has negative letter spacing and is flowed near to the edge of a region
+ https://bugs.webkit.org/show_bug.cgi?id=92506
+
+ Reviewed by Eric Seidel.
+
+ When the content which is flowed inside a region creates visual overflow in
+ the writing direction, the overflow rect is also extended in the other direction, and
+ that forces regionOverset to become "fit" for all regions.
+
+ Tests: fast/regions/element-region-overset-state-negative-letter-spacing.html
+ fast/regions/element-region-overset-state-vertical-rl-negative-letter-spacing.html
+
+ * rendering/RenderFlowThread.cpp:
+ (WebCore::RenderFlowThread::computeOverflowStateForRegions):
+
+2012-08-14 Florin Malita <fmalita@chromium.org>
+
+ beginElement() does not observe updated animation attributes
+ https://bugs.webkit.org/show_bug.cgi?id=93972
+
+ Reviewed by Dirk Schulze.
+
+ The SVG animation attributes 'from', 'to' and 'by' should be registered as supported
+ SVGSMILElement attributes in order to trigger animationAttributeChanged() on dynamic
+ updates.
+
+ Test: svg/animations/updated-attributes.html
+
+ * svg/SVGAnimationElement.cpp:
+ (WebCore::SVGAnimationElement::updateAnimation):
+ Minor optimization - avoid recalculating animationMode().
+
+ * svg/animation/SVGSMILElement.cpp:
+ (WebCore::SVGSMILElement::isSupportedAttribute):
+ Register 'from', 'to' and 'by' as supported SVGSMILElement attributes.
+
+2012-08-14 Filip Spacek <fspacek@rim.com>
+
+ [BlackBerry] Don't crash on OOM in AC
+ https://bugs.webkit.org/show_bug.cgi?id=93999
+
+ Reviewed by George Staikos.
+
+ Internally reviewed by George Staikos.
+
+ Fail gracefully in case we fail to allocate the bitmap
+ for the AC layer contents.
+
+ * platform/graphics/blackberry/InstrumentedPlatformCanvas.h:
+ (WebCore::InstrumentedPlatformCanvas::InstrumentedPlatformCanvas):
+ * platform/graphics/blackberry/LayerWebKitThread.cpp:
+ (WebCore::LayerWebKitThread::paintContents):
+
+2012-08-14 Lauro Neto <lauro.neto@openbossa.org>
+
+ Convert signals/slots to Q_* macros.
+
+ [Qt] Use Q_SLOTS and Q_SIGNALS instead of slots and signals
+ https://bugs.webkit.org/show_bug.cgi?id=93996
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Change usage of keyword-conflicting 'signals' and 'slots' for
+ Q_SIGNALS and Q_SLOTS macro.
+
+ * bridge/testqtbindings.cpp:
+ (MyObject):
+ * platform/graphics/gstreamer/PlatformVideoWindowPrivate.h:
+ * platform/graphics/qt/MediaPlayerPrivateQt.h:
+ (MediaPlayerPrivateQt):
+ * platform/network/qt/DnsPrefetchHelper.h:
+ (DnsPrefetchHelper):
+ * platform/network/qt/NetworkStateNotifierPrivate.h:
+ (NetworkStateNotifierPrivate):
+ * platform/network/qt/QNetworkReplyHandler.h:
+ (QNetworkReplyHandler):
+ * platform/network/qt/QtMIMETypeSniffer.h:
+ (QtMIMETypeSniffer):
+ * platform/network/qt/SocketStreamHandlePrivate.h:
+ (SocketStreamHandlePrivate):
+ * platform/qt/GamepadsQt.cpp:
+ (GamepadDeviceLinuxQt):
+ (GamepadsQt):
+ * platform/qt/SharedTimerQt.cpp:
+ (SharedTimerQt):
+
+2012-08-14 Andrei Onea <onea@adobe.com>
+
+ [CSSRegions]regionOverset is computed as "overset" even though the region is not the last in the chain
+ https://bugs.webkit.org/show_bug.cgi?id=93102
+
+ Reviewed by Eric Seidel.
+
+ Making Element.webkitRegionOverset return "overset" only for the last region in a region chain,
+ if the content cannot fit inside it, to reflect current spec. http://www.w3.org/TR/css3-regions/#dom-region-regionoverset
+
+ * rendering/RenderFlowThread.cpp:
+ (WebCore::RenderFlowThread::computeOverflowStateForRegions):
+
+2012-08-14 Jan Keromnes <janx@linux.com>
+
+ Web Inspector: Render breakpoint gutter markers and execution line in CodeMirrorTextEditor
+ https://bugs.webkit.org/show_bug.cgi?id=93686
+
+ Reviewed by Pavel Feldman.
+
+ Divided TextEditor.addDecoration into addBreakpoint, setExecutionLine
+ and addDecoration. Same for removeDecoration. Render breakpoint
+ markers and execution line in CodeMirrorTextEditor.
+
+ * inspector/front-end/CodeMirrorTextEditor.js:
+ (WebInspector.CodeMirrorTextEditor):
+ (WebInspector.CodeMirrorTextEditor.prototype._onGutterClick):
+ (WebInspector.CodeMirrorTextEditor.prototype.addBreakpoint):
+ (WebInspector.CodeMirrorTextEditor.prototype.removeBreakpoint):
+ (WebInspector.CodeMirrorTextEditor.prototype.setExecutionLine):
+ (WebInspector.CodeMirrorTextEditor.prototype.clearExecutionLine):
+ (WebInspector.CodeMirrorTextEditor.prototype.addDecoration):
+ (WebInspector.CodeMirrorTextEditor.prototype.removeDecoration):
+ (WebInspector.CodeMirrorTextEditor.prototype.highlightLine):
+ (WebInspector.CodeMirrorTextEditor.prototype.clearLineHighlight):
+ (WebInspector.CodeMirrorTextEditor.prototype.removeAttribute):
+ * inspector/front-end/DefaultTextEditor.js:
+ (WebInspector.DefaultTextEditor.prototype._onMouseDown):
+ (WebInspector.DefaultTextEditor.prototype.addBreakpoint):
+ (WebInspector.DefaultTextEditor.prototype.removeBreakpoint):
+ (WebInspector.DefaultTextEditor.prototype.setExecutionLine):
+ (WebInspector.DefaultTextEditor.prototype.clearExecutionLine):
+ (WebInspector.DefaultTextEditor.prototype.addDecoration):
+ (WebInspector.DefaultTextEditor.prototype.removeDecoration):
+ * inspector/front-end/JavaScriptSourceFrame.js:
+ (WebInspector.JavaScriptSourceFrame):
+ (WebInspector.JavaScriptSourceFrame.prototype._addBreakpointDecoration):
+ (WebInspector.JavaScriptSourceFrame.prototype._removeBreakpointDecoration):
+ (WebInspector.JavaScriptSourceFrame.prototype.setExecutionLine):
+ (WebInspector.JavaScriptSourceFrame.prototype.clearExecutionLine):
+ (WebInspector.JavaScriptSourceFrame.prototype._handleGutterClick):
+ * inspector/front-end/TextEditor.js:
+ (WebInspector.TextEditor.prototype.addBreakpoint):
+ (WebInspector.TextEditor.prototype.removeBreakpoint):
+ (WebInspector.TextEditor.prototype.setExecutionLine):
+ (WebInspector.TextEditor.prototype.clearExecutionLine):
+ (WebInspector.TextEditor.prototype.addDecoration):
+ (WebInspector.TextEditor.prototype.removeDecoration):
+ * inspector/front-end/cmdevtools.css:
+ (.CodeMirror):
+ (.cm-highlight):
+ (@-webkit-keyframes fadeout):
+ (to):
+ (.cm-breakpoint):
+ (.cm-breakpoint-disabled):
+ (.cm-breakpoint-conditional):
+ (.cm-execution-line):
+ (.webkit-html-message-bubble):
+ (.webkit-html-warning-message):
+ (.webkit-html-error-message):
+ (.webkit-html-message-line):
+ (.webkit-html-message-line-hover):
+
+2012-08-13 Adrienne Walker <enne@google.com>
+
+ REGRESSION (r109851): Video controls do not render
+ https://bugs.webkit.org/show_bug.cgi?id=93859
+
+ Reviewed by Simon Fraser.
+
+ Because video layers can't act as an ancestor composited layer whose
+ backing can be shared by child layers, any child layer of a video
+ layer needs to be put into its own composited layer. Because this is
+ technically overlap, the "overlap" indirect compositing reason is
+ reused for this case.
+
+ Test: compositing/video/video-controls-layer-creation.html
+
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::computeCompositingRequirements):
+
+2012-08-14 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
+
+ WebKitTestRunner needs layoutTestController.dumpResourceLoadCallbacks
+ https://bugs.webkit.org/show_bug.cgi?id=42332
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Provide build for mac.
+
+ * WebCore.exp.in: Added __ZNK7WebCore19ResourceRequestBase20firstPartyForCookiesEv.
+
+2012-08-14 Adam Barth <abarth@webkit.org>
+
+ DOMWindow::document() should not reach through Frame
+ https://bugs.webkit.org/show_bug.cgi?id=27640
+
+ Reviewed by Eric Seidel.
+
+ Originally, the lifetime of DOMWindow was similar to that of Frame in
+ that it was reused for each document that was displayed in the Frame.
+ To fix some tricky security issues, all modern browsers use a "split
+ window" architecture whereby the DOMWindow is not reused by each
+ Document in a Frame. Instead a JavaScript "window shell" object
+ redirects JavaScript references to the active Document's DOMWindow.
+
+ When we implemented split windows, we left DOMWindow attached to the
+ Frame and attempted to keep it in sync with the Document via a lot of
+ delicate code. One of the main problems with this approach is that
+ finding the DOMWindow associated with a Document or the Document
+ associated with a DOMWindow required traversing through the Frame.
+ Because there is a many-to-one relationship between both Documents and
+ Frames (as well as DOMWindows and Frames), this traversal is error
+ prone and not always available (e.g., for inactive documents).
+
+ This patch moves the "owning" reference for DOMWindow to Document so
+ that we can directly traverse from Document to DOMWindow. For
+ traversing from DOMWindow to Document, each DOMWindow keeps a Document
+ pointer via a ContextDestructionObserver base class.
+
+ The main sublties in this patch are related to situations in which
+ there isn't precisely a one-to-one relationship between Documents and
+ DOMWindows. Previously, these situations were handled implicitly by the
+ "flex and slop" of having separate Document and DOMWindow pointers in
+ Frame. In this patch, these sublties are made explicit via
+ Document::takeDOMWindowFrom, which explicitly transfers the DOMWindow
+ (as well as ASSERTs that all the relevant objects exist in a sensible
+ constellation).
+
+ * WebCore.exp.in:
+ - These functions are no longer exported because they're inline.
+ * bindings/js/ScriptController.cpp:
+ (WebCore::ScriptController::clearWindowShell):
+ * bindings/js/ScriptController.h:
+ (ScriptController):
+ - clearWindowShell now explicitly takes the new DOMWindow that will
+ be pointed to by the WindowShell. Previously, clearWindowShell
+ would implicitly create the new DOMWindow by accessing
+ Frame::domWindow (which used to lazily create the DOMWindow).
+ * bindings/v8/BindingState.cpp:
+ (WebCore::currentDocument):
+ * bindings/v8/BindingState.h:
+ (WebCore):
+ - currentDocument provides a directly path from the current
+ v8::Context to the Document (by way of DOMWindow). Previously,
+ code transited via the Frame using currentFrame.
+ * bindings/v8/ScriptController.cpp:
+ (WebCore::ScriptController::clearWindowShell):
+ * bindings/v8/ScriptController.h:
+ (ScriptController):
+ - Mirror JSC changes to clearWindowShell.
+ * bindings/v8/V8Utilities.cpp:
+ (WebCore::getScriptExecutionContext):
+ - Update getScriptExecutionContext to transit directly from the
+ DOMWindow to the Document rather than detouring via the Frame.
+ * dom/ContextDestructionObserver.cpp:
+ (WebCore::ContextDestructionObserver::ContextDestructionObserver):
+ (WebCore::ContextDestructionObserver::~ContextDestructionObserver):
+ (WebCore):
+ (WebCore::ContextDestructionObserver::observeContext):
+ * dom/ContextDestructionObserver.h:
+ (ContextDestructionObserver):
+ - When we transfer a DOMWindow from one Document to another, we
+ need to update the Document pointer in the DOMWindow to point to
+ the new Document. The DOMWindow holds the Document pointer via
+ ContextDestructionObserver, so this patch teaches
+ ContextDestructionObserver how to change which
+ ScriptExecutionContext it is observing. This code mirrors similar
+ code in FrameDestructionObserver.
+ * dom/Document.cpp:
+ (WebCore::Document::~Document):
+ (WebCore::Document::detach):
+ (WebCore::Document::createDOMWindow):
+ - createDOMWindow now explicitly creates the DOMWindow. Previously,
+ we created the DOMWindow implicitly in Frame::domWindow when it
+ was first accessed.
+ (WebCore::Document::takeDOMWindowFrom):
+ - takeDOMWindowFrom explicitly transfers the DOMWindow from one
+ Document to another. The main benefit of this function is the
+ ASSERTs that ensure that the Document, DOMWindow, and Frame all
+ point to each other the correct configuration.
+ (WebCore::Document::didUpdateSecurityOrigin):
+ - We no longer need to keep the SecurityOrigin pointer in DOMWindow
+ in sync with the Document because DOMWindow no longer has a
+ SecurityOrigin object.
+ * dom/Document.h:
+ (Document):
+ (WebCore::Document::domWindow):
+ * history/CachedFrame.cpp:
+ (WebCore::CachedFrame::CachedFrame):
+ (WebCore::CachedFrame::destroy):
+ * history/CachedFrame.h:
+ (CachedFrameBase):
+ - Previously, CachedFrame held the Document and the DOMWindow with
+ separate pointers. Now, the CachedFrame holds the DOMWnidow via
+ the Document, which makes adding and removing Documents from the
+ PageCache simpler because we don't need to keep the Frame's
+ DOMWindow pointer synchronized.
+ * loader/DocumentWriter.cpp:
+ (WebCore::DocumentWriter::begin):
+ - begin now explicitly creates the DOMWindow and transfers
+ DOMWindow when performing a "secure transition." Previously, both
+ of these processes were handled implicitly: the DOMWindow was
+ created implicitly by Frame::domWindow, and the DOMWindow was
+ reused during navigation by not clearing Frame::m_domWindow.
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::cancelAndClear):
+ (WebCore::FrameLoader::clear):
+ - These functions now pass the new Document so that we have access
+ to the new DOMWindow in clearDOMWindowShell.
+ (WebCore::FrameLoader::setOpener):
+ - We no longer need to keep the DOMWindow's SecurityOrigin in sync
+ with the Document's SecurityOrigin because DOMWindow no longer
+ has a duplicate SecurityOrigin pointer.
+ (WebCore::FrameLoader::open):
+ - We no longer need to keep the Frame::m_domWindow in sync with the
+ Document because the Document carries its own DOMWindow.
+ * loader/FrameLoader.h:
+ (FrameLoader):
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::DOMWindow):
+ - DOMWindow now uses Document as its primary context object. In a
+ future patch, we should remove the FrameDestructionObserver base
+ class and instead access the frame via DOMWindow::document().
+ (WebCore::DOMWindow::didSecureTransitionTo):
+ - Notify the DOMWindow that it is now associated with a new
+ Document.
+ (WebCore::DOMWindow::scriptExecutionContext):
+ (WebCore::DOMWindow::document):
+ (WebCore::DOMWindow::securityOrigin):
+ - These functions now retrieve the Document directly rather than
+ transiting via the Frame.
+ * page/DOMWindow.h:
+ (WebCore::DOMWindow::create):
+ (DOMWindow):
+ * page/Frame.cpp:
+ (WebCore::Frame::setDocument):
+ - Add more ASSERTs that the Document and its DOMWindow are properly
+ wired up to this Frame.
+ (WebCore::Frame::domWindow):
+ - Rather than lazily creating the DOMWindow, this function now just
+ accesses the already-created DOMWindow on Document. Eventually,
+ all callers should retreive the DOMWindow from the Document
+ directly.
+ * page/Frame.h:
+ (WebCore::Frame::existingDOMWindow):
+ - The DOMWindow always exists, so there is no distinction between
+ domWindow() and existingDOMWindow().
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::XMLHttpRequest::open):
+ - Previously, open would exit early if it was unable to find its
+ ScriptExecutionContext (e.g., if the ScriptExecutionContext was
+ inactive). Now we can always locate the ScriptExecutionContext
+ and so we need to test whether the ScriptExecutionContext is
+ still attached to the Page before accessing Settings. Tests
+ verify that the platform-visible behaviors of XMLHttpRequest are
+ unchanged, even for XMLHttpRequest constructors associated with
+ inactive Documents.
+ * xml/XSLTProcessor.cpp:
+ (WebCore::XSLTProcessor::createDocumentFromSource):
+ - Make it explicit that XSLT re-uses the DOMWindow from the source
+ Document in the transformed Document.
+
+2012-08-14 Levi Weintraub <leviw@chromium.org>
+
+ Accumulating LayoutUnits with floats for determining block preferred width can lead to wrapping
+ https://bugs.webkit.org/show_bug.cgi?id=93513
+
+ Reviewed by Eric Seidel.
+
+ Sub-pixel values from floats are subject to small losses in precision when accumulated with
+ floating point values, as we do in RenderBlock. This patch adds a new method to FractionalLayoutUnit --
+ ceilToFloat -- which guarantees us a floating point value at least as big as our original LayoutUnit
+ value, and uses it along with ceiledLayoutUnit to avoid underprovisioning RenderBlock's preferred
+ widths due to lost precision.
+
+ Test: fast/sub-pixel/block-preferred-widths-with-sub-pixel-floats.html
+
+ * platform/FractionalLayoutUnit.h:
+ (WebCore::FractionalLayoutUnit::ceilToFloat): Returns a float value the same or larger than the
+ FractionalLayoutUnit value.
+ (FractionalLayoutUnit):
+ (WebCore::FractionalLayoutUnit::epsilon): Now returns 0 when sub-pixel is disabled.
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::computeLogicalLocationForFloat): Adding a LayoutUnit::epsilon fudge factor
+ for fitting floats. This is probably necessary due to precision being lost elsewhere.
+ (WebCore::RenderBlock::computeInlinePreferredLogicalWidths): Ensure no precision is lost due to conversion
+ when accumulating our min/max width with floats.
+
+2012-08-14 Jer Noble <jer.noble@apple.com>
+
+ Fullscreen/normal volume sliders don't stay in sync
+ https://bugs.webkit.org/show_bug.cgi?id=93867
+
+ Reviewed by Eric Carlson.
+
+ Change the full screen volume slider, if present, when the media element's volume
+ changes.
+
+ Test: media/video-controls-fullscreen-volume.html
+
+ * html/shadow/MediaControlRootElement.cpp:
+ (WebCore::MediaControlRootElement::changedVolume):
+
+2012-08-14 Olivier Blin <olivier.blin@softathome.com>
+
+ Remove unused yyparse method in CSSParser
+ https://bugs.webkit.org/show_bug.cgi?id=93986
+
+ Reviewed by Darin Adler.
+
+ This method is unused and not even declared.
+
+ No new tests, it just removes unused code.
+
+ * css/CSSParser.h:
+
+2012-08-14 Zan Dobersek <zandobersek@gmail.com>
+
+ [Gtk] Include all files guarded by ENABLE_* guards in Source/WebCore/GNUmakefile.list.am into the build
+ https://bugs.webkit.org/show_bug.cgi?id=90696
+
+ Reviewed by Philippe Normand.
+
+ Include all files in the Autotools build that are currently guarded by ENABLE_* guards in
+ the WebCore GNUmakefile.list.am, regardless of the feature being enabled. Compilation should
+ rely on proper use of guards inside source files and preprocessor work to keep the disabled
+ features out.
+
+ The only exception left is the ENABLE_WEBGL guard that includes the ANGLE into compilation
+ only if WebGL feature is enabled.
+
+ No new tests - no new functionality.
+
+ * GNUmakefile.am:
+ * GNUmakefile.list.am:
+ * bindings/gobject/GNUmakefile.am: Add StorageInfo to the DOM bindings, despite
+ the feature being currently disabled.
+
+2012-08-14 Gregg Tavares <gman@google.com>
+
+ Plumb through EXT_debug_marker entry points
+ https://bugs.webkit.org/show_bug.cgi?id=93860
+
+ Reviewed by Kenneth Russell.
+
+ insertEventMarkerEXT, pushGroupMarkerEXT, popGroupMarkerEXT,
+ are all entry points exposed by the OpenGL ES
+ EXT_debug_marker extension
+
+ No new tests as no new functionality exposed to web.
+
+ * html/canvas/WebGLRenderingContext.cpp:
+ (WebCore):
+ (WebCore::WebGLRenderingContext::create):
+ * platform/chromium/support/Extensions3DChromium.cpp:
+ (WebCore::Extensions3DChromium::insertEventMarkerEXT):
+ (WebCore):
+ (WebCore::Extensions3DChromium::pushGroupMarkerEXT):
+ (WebCore::Extensions3DChromium::popGroupMarkerEXT):
+ * platform/graphics/Extensions3D.h:
+ (Extensions3D):
+ * platform/graphics/chromium/Extensions3DChromium.h:
+ (Extensions3DChromium):
+ * platform/graphics/opengl/Extensions3DOpenGL.cpp:
+ (WebCore::Extensions3DOpenGL::insertEventMarkerEXT):
+ (WebCore):
+ (WebCore::Extensions3DOpenGL::pushGroupMarkerEXT):
+ (WebCore::Extensions3DOpenGL::popGroupMarkerEXT):
+ * platform/graphics/opengl/Extensions3DOpenGL.h:
+ (Extensions3DOpenGL):
+ * platform/graphics/opengl/Extensions3DOpenGLES.cpp:
+ (WebCore::Extensions3DOpenGLES::insertEventMarkerEXT):
+ (WebCore):
+ (WebCore::Extensions3DOpenGLES::pushGroupMarkerEXT):
+ (WebCore::Extensions3DOpenGLES::popGroupMarkerEXT):
+ * platform/graphics/opengl/Extensions3DOpenGLES.h:
+ (Extensions3DOpenGLES):
+
+2012-06-24 Robert Hogan <robert@webkit.org>
+
+ CSS 2.1 failure: Word-spacing affects each space and non-breaking space
+ https://bugs.webkit.org/show_bug.cgi?id=89826
+
+ Reviewed by Eric Seidel.
+
+ Add word spacing to consecutive spaces in a run per http://www.w3.org/TR/CSS21/text.html#spacing-props.
+
+ Test: fast/css/word-spacing-characters.html
+ fast/css/word-spacing-characters-complex-text.html
+ fast/css/word-spacing-characters-linebreak.html
+ css2.1/20110323/word-spacing-characters-002.htm
+ css2.1/20110323/word-spacing-characters-003.htm
+ css2.1/20110323/word-spacing-remove-space-001.htm
+ css2.1/20110323/word-spacing-remove-space-002.htm
+ css2.1/20110323/word-spacing-remove-space-003.htm
+ css2.1/20110323/word-spacing-remove-space-004.htm
+ css2.1/20110323/word-spacing-remove-space-005.htm
+ css2.1/20110323/word-spacing-remove-space-006.htm
+ css2.1/20110323/c541-word-sp-001.htm
+ css2.1/20110323/c541-word-sp-000.htm
+
+ * platform/graphics/WidthIterator.cpp:
+ (WebCore::WidthIterator::advance): All spaces (ordinary space or &nbsp;) get word-spacing added, even
+ if they are consecutive.
+ * platform/graphics/harfbuzz/HarfBuzzShaperBase.cpp:
+ (WebCore::HarfBuzzShaperBase::isWordEnd): ditto, but for the complex text case on Chromium. Had to use
+ m_run rather than m_normalizedBuffer here as m_normalizedBuffer turns tabs into spaces! Unlike the simple
+ text path, '\n' gets word-spacing - I observed this from fast/text/atsui-spacing-features.html but can't
+ find it specified anywhere.
+ * platform/graphics/harfbuzz/HarfBuzzShaperBase.h:
+ (WebCore::HarfBuzzShaperBase::isCodepointSpace):
+ * rendering/RenderBlockLineLayout.cpp:
+ (WebCore::RenderBlock::LineBreaker::nextLineBreak): Tested by word-spacing-linebreak.html
+
+2012-08-14 Antoine Labour <piman@chromium.org>
+
+ [chromium] race between CCLayerTreeHostImpl::releaseContentsTextures and CCThreadProxy::beginFrameCompleteOnImplThread
+ https://bugs.webkit.org/show_bug.cgi?id=93684
+
+ Reviewed by James Robinson.
+
+ This keeps track of whether we're between the beginFrame post and the
+ commit when releaseContentsTextures comes, and if that is the case, we
+ prune the texture uploads, keep the "textures purged" flag on and kick a
+ new commit.
+
+ Added CCLayerTreeHostTestEvictTextures test.
+
+ * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
+ (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
+ (WebCore::CCLayerTreeHostImpl::beginFramePosted):
+ (WebCore):
+ (WebCore::CCLayerTreeHostImpl::commitComplete):
+ (WebCore::CCLayerTreeHostImpl::canDraw):
+ (WebCore::CCLayerTreeHostImpl::releaseContentsTextures):
+ * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
+ (CCLayerTreeHostImpl):
+ (WebCore::CCLayerTreeHostImpl::contentsTexturesPurged):
+ (WebCore::CCLayerTreeHostImpl::contentsTexturesWerePurgedSinceLastBeginFrame):
+ * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
+ (WebCore::CCSingleThreadProxy::stop):
+ (WebCore::CCSingleThreadProxy::commitAndComposite):
+ * platform/graphics/chromium/cc/CCTextureUpdateController.h:
+ (CCTextureUpdateController):
+ * platform/graphics/chromium/cc/CCTextureUpdateQueue.cpp:
+ (WebCore::CCTextureUpdateQueue::clearUploads):
+ (WebCore):
+ * platform/graphics/chromium/cc/CCTextureUpdateQueue.h:
+ (CCTextureUpdateQueue):
+ * platform/graphics/chromium/cc/CCThreadProxy.cpp:
+ (WebCore::CCThreadProxy::scheduledActionBeginFrame):
+ (WebCore::CCThreadProxy::beginFrameCompleteOnImplThread):
+ (WebCore::CCThreadProxy::layerTreeHostClosedOnImplThread):
+
+2012-08-14 Yong Li <yoli@rim.com>
+
+ [BlackBerry] Pass URL String's 8-bit buffer directly to platform layer when possible
+ https://bugs.webkit.org/show_bug.cgi?id=93861
+
+ Reviewed by Rob Buis.
+
+ PR# 187605.
+ URL strings and HTTP header strings usually use 8-bit buffers internally. We can
+ just pass the buffers to platform calls when only Latin1 strings are needed.
+
+ * platform/blackberry/ReadOnlyLatin1String.h: Added.
+ (WebCore):
+ (ReadOnlyLatin1String): A utility class that uses either WTF::CString or WTF::String's 8-bit buffer.
+ (WebCore::ReadOnlyLatin1String::ReadOnlyLatin1String): Can only be constructed with WTF::String for now.
+ (WebCore::ReadOnlyLatin1String::data):
+ (WebCore::ReadOnlyLatin1String::length):
+ * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
+ (WebCore::ResourceRequest::initializePlatformRequest):
+ * platform/network/blackberry/SocketStreamHandleBlackBerry.cpp:
+ (WebCore::SocketStreamHandle::SocketStreamHandle):
+
+2012-08-14 Christophe Dumez <christophe.dumez@intel.com>
+
+ Fix LayoutTests/canvas/philip/tests/2d.text.draw.space.collapse.nonspace.html
+ https://bugs.webkit.org/show_bug.cgi?id=92974
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Replace space characters by U+0020 SPACE characters in
+ CanvasRenderingContext2D::drawTextInternal() in order to
+ comply with the HTML Canvas 2D Context specification:
+ - http://www.w3.org/TR/2dcontext/#drawing-text-to-the-canvas
+
+ No new tests, already tested by canvas/philip/tests/2d.text.draw.space.collapse.nonspace.html.
+
+ * html/canvas/CanvasRenderingContext2D.cpp:
+ (WebCore::replaceCharacterInString):
+ (WebCore):
+ (WebCore::CanvasRenderingContext2D::drawTextInternal):
+
+2012-08-14 George Staikos <staikos@webkit.org>
+
+ [BlackBerry] Avoid assertion failure in App Cache.
+ https://bugs.webkit.org/show_bug.cgi?id=93926
+
+ Reviewed by Rob Buis.
+
+ Short-circuit data url decoding if we know it's not a data URL to
+ avoid an assertion failure in debug mode. No functional change.
+
+ No new tests since this is just a debug mode assertion failure.
+
+ * loader/appcache/ApplicationCacheGroup.cpp:
+ (WebCore::ApplicationCacheGroup::createResourceHandle):
+
+2012-08-14 Thiago Marcos P. Santos <thiago.santos@intel.com>
+
+ [EFL] Do not warn when the default theme is not found
+ https://bugs.webkit.org/show_bug.cgi?id=93968
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Even if you are using a custom theme, we always try to load first the
+ theme at the default path (that may or may not exist). In the case it
+ doesn't exist and you have a custom theme, we were always getting a
+ misleading error message.
+
+ * platform/efl/RenderThemeEfl.cpp:
+ (WebCore::RenderThemeEfl::createEdje):
+
+2012-08-14 Joshua Bell <jsbell@chromium.org>
+
+ IndexedDB: Pass cursor continue results back in callback
+ https://bugs.webkit.org/show_bug.cgi?id=92278
+
+ Reviewed by Tony Chang.
+
+ Supply the updated cursor key/primaryKey/value in the success callback,
+ rather than forcing the callee to make three calls into the back end to
+ fetch them. Callbacks onSuccess(cursor) and onSuccessWithContinuation()
+ are given the three new payload parameters (and the latter is renamed.)
+
+ No new tests - no behavioral changes.
+
+ * Modules/indexeddb/IDBCallbacks.h: Updated callbacks.
+ (IDBCallbacks):
+ * Modules/indexeddb/IDBCursor.cpp:
+ (WebCore::IDBCursor::setValueReady): Takes values rather than fetching them.
+ * Modules/indexeddb/IDBCursor.h:
+ (IDBCursor):
+ * Modules/indexeddb/IDBCursorBackendImpl.cpp: Delete accessors.
+ (WebCore::IDBCursorBackendImpl::advanceInternal): Pass along updated cursor state.
+ (WebCore::IDBCursorBackendImpl::continueFunctionInternal): Ditto.
+ * Modules/indexeddb/IDBCursorBackendImpl.h:
+ (IDBCursorBackendImpl): Delete accessors from interface...
+ (WebCore::IDBCursorBackendImpl::key): ...but keep them for use within back-end.
+ (WebCore::IDBCursorBackendImpl::primaryKey):
+ (WebCore::IDBCursorBackendImpl::value):
+ * Modules/indexeddb/IDBCursorBackendInterface.h: Delete accessors.
+ * Modules/indexeddb/IDBIndexBackendImpl.cpp:
+ (WebCore::IDBIndexBackendImpl::openCursorInternal): Pass along new cursor state.
+ * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
+ (WebCore::IDBObjectStoreBackendImpl::openCursorInternal): Ditto.
+ * Modules/indexeddb/IDBRequest.cpp:
+ (WebCore::IDBRequest::setResultCursor): Stash updated cursor state until dispatch.
+ (WebCore::IDBRequest::onSuccess):
+ (WebCore::IDBRequest::dispatchEvent): Update cursor with new state.
+ * Modules/indexeddb/IDBRequest.h:
+ (IDBRequest):
+ * inspector/InspectorIndexedDBAgent.cpp: Update iteration code to use new callbacks.
+ (WebCore):
+
+2012-08-14 Arvid Nilsson <anilsson@rim.com>
+
+ [BlackBerry] Get rid of glCopyTexImage2D in Canvas and WebGL code paths
+ https://bugs.webkit.org/show_bug.cgi?id=93614
+
+ Reviewed by Antonio Gomes.
+
+ We used to set up resource sharing between the compositing thread
+ context and the Canvas and WebGL contexts, and use glCopyTexImage2D to
+ get a copy of the framebuffer to use as front buffer for compositing
+ purposes.
+
+ Now we instead create an EGLImage and blit the Canvas/WebGL output to
+ it. The compositing thread creates a texture from the EGLImage in order
+ to composite the output.
+
+ Created a new EGLImageLayerWebKitThread base class that handles the
+ EGLImage and does the blitting. CanvasLayerWebKitThread and
+ WebGLLayerWebKitThread now inherit from this new base class.
+
+ However, we need to be careful to restore state after the blit because
+ it's done using the Canvas/WebGL context.
+
+ The BlackBerry implementation of GraphicsContext3D::prepareTexture()
+ was changed to no longer call glCopyTexImage, and
+ GraphicsContext3D::platformLayer() now returns the target texture
+ directly.
+
+ Reviewed internally by Filip Spacek.
+
+ PR 188472
+
+ No change in behavior, new tests.
+
+ * PlatformBlackBerry.cmake:
+ * platform/graphics/blackberry/CanvasLayerWebKitThread.cpp:
+ (WebCore::CanvasLayerWebKitThread::CanvasLayerWebKitThread):
+ (WebCore::CanvasLayerWebKitThread::~CanvasLayerWebKitThread):
+ (WebCore::CanvasLayerWebKitThread::setDevice):
+ (WebCore::CanvasLayerWebKitThread::makeContextCurrent):
+ (WebCore::CanvasLayerWebKitThread::textureSize):
+ (WebCore):
+ (WebCore::CanvasLayerWebKitThread::textureID):
+ * platform/graphics/blackberry/CanvasLayerWebKitThread.h:
+ (CanvasLayerWebKitThread):
+ * platform/graphics/blackberry/EGLImageLayerCompositingThreadClient.cpp: Added.
+ (WebCore):
+ (WebCore::EGLImageLayerCompositingThreadClient::~EGLImageLayerCompositingThreadClient):
+ (WebCore::EGLImageLayerCompositingThreadClient::uploadTexturesIfNeeded):
+ (WebCore::EGLImageLayerCompositingThreadClient::drawTextures):
+ (WebCore::EGLImageLayerCompositingThreadClient::deleteTextures):
+ (WebCore::EGLImageLayerCompositingThreadClient::bindContentsTexture):
+ (WebCore::EGLImageLayerCompositingThreadClient::setImage):
+ * platform/graphics/blackberry/EGLImageLayerCompositingThreadClient.h: Added.
+ (WebCore):
+ (EGLImageLayerCompositingThreadClient):
+ (WebCore::EGLImageLayerCompositingThreadClient::create):
+ (WebCore::EGLImageLayerCompositingThreadClient::layerCompositingThreadDestroyed):
+ (WebCore::EGLImageLayerCompositingThreadClient::layerVisibilityChanged):
+ (WebCore::EGLImageLayerCompositingThreadClient::EGLImageLayerCompositingThreadClient):
+ * platform/graphics/blackberry/EGLImageLayerWebKitThread.cpp: Added.
+ (WebCore):
+ (WebCore::EGLImageLayerWebKitThread::EGLImageLayerWebKitThread):
+ (WebCore::EGLImageLayerWebKitThread::~EGLImageLayerWebKitThread):
+ (WebCore::EGLImageLayerWebKitThread::setNeedsDisplay):
+ (WebCore::EGLImageLayerWebKitThread::makeContextCurrent):
+ (WebCore::EGLImageLayerWebKitThread::updateTextureContentsIfNeeded):
+ (WebCore::EGLImageLayerWebKitThread::commitPendingTextureUploads):
+ (WebCore::EGLImageLayerWebKitThread::createImageIfNeeded):
+ (WebCore::EGLImageLayerWebKitThread::createShaderIfNeeded):
+ (WebCore::EGLImageLayerWebKitThread::drawTexture):
+ * platform/graphics/blackberry/EGLImageLayerWebKitThread.h: Copied from Source/WebCore/platform/graphics/blackberry/CanvasLayerWebKitThread.h.
+ (WebCore):
+ (EGLImageLayerWebKitThread):
+ * platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp:
+ (WebCore::GraphicsContext3D::prepareTexture):
+ (WebCore):
+ (WebCore::GraphicsContext3D::platformTexture):
+ * platform/graphics/blackberry/LayerCompositingThread.cpp:
+ (WebCore::LayerCompositingThread::drawTextures):
+ (WebCore::LayerCompositingThread::releaseTextureResources):
+ * platform/graphics/blackberry/LayerCompositingThread.h:
+ (WebCore::LayerCompositingThread::setClient):
+ (LayerCompositingThread):
+ * platform/graphics/blackberry/LayerData.h:
+ (WebCore::LayerData::LayerData):
+ (LayerData):
+ * platform/graphics/blackberry/LayerWebKitThread.cpp:
+ (WebCore::LayerWebKitThread::~LayerWebKitThread):
+ (WebCore::LayerWebKitThread::updateTextureContentsIfNeeded):
+ (WebCore::LayerWebKitThread::commitPendingTextureUploads):
+ (WebCore::LayerWebKitThread::commitOnCompositingThread):
+ * platform/graphics/blackberry/LayerWebKitThread.h:
+ (LayerWebKitThread):
+ * platform/graphics/blackberry/WebGLLayerWebKitThread.cpp:
+ (WebCore::WebGLLayerWebKitThread::WebGLLayerWebKitThread):
+ (WebCore::WebGLLayerWebKitThread::updateTextureContentsIfNeeded):
+ (WebCore::WebGLLayerWebKitThread::makeContextCurrent):
+ (WebCore):
+ (WebCore::WebGLLayerWebKitThread::textureSize):
+ (WebCore::WebGLLayerWebKitThread::textureID):
+ * platform/graphics/blackberry/WebGLLayerWebKitThread.h:
+ (WebGLLayerWebKitThread):
+ * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
+ (WebCore):
+ (WebCore::GraphicsContext3D::prepareTexture):
+
+2012-08-14 Arvid Nilsson <anilsson@rim.com>
+
+ [BlackBerry] Texture cache must adapt to HashMap changes
+ https://bugs.webkit.org/show_bug.cgi?id=93955
+
+ Reviewed by Rob Buis.
+
+ This was fixed locally, but not upstreamed yet.
+
+ Based on an original patch by Konrad Piascik.
+
+ * platform/graphics/blackberry/TextureCacheCompositingThread.cpp:
+ (WebCore::TextureCacheCompositingThread::textureForTiledContents):
+
+2012-08-14 Arvid Nilsson <anilsson@rim.com>
+
+ [BlackBerry] LayerCompositingThread.h doesn't compile
+ https://bugs.webkit.org/show_bug.cgi?id=93956
+
+ Reviewed by Rob Buis.
+
+ I forgot to upstream this local change.
+
+ * platform/graphics/blackberry/LayerCompositingThread.h:
+ (WebCore::LayerOverride::setBounds):
+ (WebCore::LayerOverride::setOpacity):
+
+2012-08-14 Ed Baker <edbaker@rim.com>
+
+ [BlackBerry] LayerAnimation is not immutable, which makes dereferencing an expensive operation
+ https://bugs.webkit.org/show_bug.cgi?id=93946
+
+ Reviewed by Antonio Gomes.
+
+ Make LayerAnimation immutable so it can be dereferenced from the main
+ WebKit thread without having to dispatch to the compositing thread,
+ which is an expensive operation.
+
+ TransformOperation and TimingFunction need to be made thread safe as
+ they are referenced in LayerAnimation, but that effort is being tracked
+ by a separate bug, #86483.
+
+ Reviewed internally by Arvid Nilsson.
+
+ No change in behavior, no new tests.
+
+ * platform/graphics/blackberry/LayerAnimation.h:
+ (WebCore::LayerAnimation::name):
+ (LayerAnimation):
+ (WebCore::LayerAnimation::LayerAnimation):
+ (WebCore::LayerAnimation::setName):
+ * platform/graphics/blackberry/LayerCompositingThread.cpp:
+ (WebCore):
+ * platform/graphics/blackberry/LayerCompositingThread.h:
+ (LayerCompositingThread):
+ * platform/graphics/blackberry/LayerWebKitThread.cpp:
+ (WebCore::LayerWebKitThread::~LayerWebKitThread):
+
+2012-08-14 Arvid Nilsson <anilsson@rim.com>
+
+ [BlackBerry] GraphicsLayerBlackBerry::willBeDestroyed() must call superclass implementation
+ https://bugs.webkit.org/show_bug.cgi?id=93947
+
+ Reviewed by Rob Buis.
+
+ This was fixed locally, but not upstreamed yet.
+
+ Based on an original patch by Konrad Piascik.
+
+ * platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp:
+ (WebCore::GraphicsLayerBlackBerry::willBeDestroyed):
+
+2012-08-14 Vineet Chaudhary <rgf748@motorola.com>
+
+ Remove custom JSC bindings from ConvolverNode.idl
+ https://bugs.webkit.org/show_bug.cgi?id=93952
+
+ Reviewed by Kentaro Hara.
+
+ We should remove custom bindings as CodeGenerator uses UNUSED_PARAM macro.
+
+ No new tests. No behavioural changes.
+ All tests under webaudio/* should behave same.
+
+ * GNUmakefile.list.am: Removed JSConvolverNodeCustom.cpp from builds.
+ * Modules/webaudio/ConvolverNode.idl: Removed [JSCustomSetter].
+ * UseJSC.cmake: Removed JSConvolverNodeCustom.cpp from builds.
+ * WebCore.gypi: Ditto.
+ * WebCore.xcodeproj/project.pbxproj: Ditto
+ * bindings/js/JSConvolverNodeCustom.cpp: Removed.
+
+2012-08-14 Pavel Feldman <pfeldman@chromium.org>
+
+ Web Inspector: add external test runner for running inspector front-end tests with no TestRunner infrastructure.
+ https://bugs.webkit.org/show_bug.cgi?id=93833
+
+ Reviewed by Yury Semikhatsky.
+
+ Added mock test runner that allows running front-end layout tests.
+ InspectorFrontendAPI can now dispatch whatever it receives from its embedder (opener).
+
+ * inspector/front-end/InspectorFrontendAPI.js:
+ (InspectorFrontendAPI.evaluateForTest):
+ (InspectorFrontendAPI.dispatch):
+ (InspectorFrontendAPI.loadCompleted):
+ (.onMessageFromOpener):
+
+2012-08-14 Allan Sandfeld Jensen <allan.jensen@nokia.com>
+
+ [Qt] Incomplete repaint of link underline
+ https://bugs.webkit.org/show_bug.cgi?id=66034
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ When trying to point a line of width 30, we end up painting on of width 31, because Qt
+ interprets the line as end-inclusive. So adjust for end-include/exclusive difference
+ before requesting the draw from Qt.
+
+ * platform/graphics/qt/GraphicsContextQt.cpp:
+ (WebCore::GraphicsContext::drawLine):
+
+2012-08-14 Mike West <mkwst@chromium.org>
+
+ Fix crash in http/tests/plugins/plugin-document-has-focus
+ https://bugs.webkit.org/show_bug.cgi?id=93949
+
+ Reviewed by Jochen Eisinger.
+
+ Covered by http/tests/plugins/plugin-document-has-focus.html. If that
+ doesn't crash, we're good!
+
+ * loader/SubframeLoader.cpp:
+ (WebCore::SubframeLoader::pluginIsLoadable):
+ Check the PluginDocument's ownerElement before derefing.
+
+2012-08-14 KwangYong Choi <ky0.choi@samsung.com>
+
+ [EFL] Fixed displaying buffering progress in the media control.
+ https://bugs.webkit.org/show_bug.cgi?id=75681
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ It is required "rangeRect" instead of "rect" to display buffering
+ progress properly.
+
+ * platform/efl/RenderThemeEfl.cpp:
+ (WebCore::RenderThemeEfl::paintMediaSliderTrack):
+
+2012-08-14 Yoshifumi Inoue <yosin@chromium.org>
+
+ [Forms] Copy Source/WebCore/html/shadow/TextControlInnerElements.{cpp,h} to SpinButtonElement.{cpp,h}
+ https://bugs.webkit.org/show_bug.cgi?id=93943
+
+ Reviewed by Kent Tamura.
+
+ This patch copys html/shadow/TextControlInnerElement.{cpp,h} to SpinButtonElement.{cpp,h} for
+ preparation of bug 93941, Set SpinButtonElement free from HTMLInputElement.
+
+ No new tests. This patch doesn't change behavior.
+
+ * html/shadow/SpinButtonElement.cpp: Copied from Source/WebCore/html/shadow/TextControlInnerElements.cpp.
+ * html/shadow/SpinButtonElement.h: Copied from Source/WebCore/html/shadow/TextControlInnerElements.h.
+
+2012-08-14 Mike West <mkwst@chromium.org>
+
+ Implement the plugin-types Content Security Policy directive.
+ https://bugs.webkit.org/show_bug.cgi?id=91919
+
+ Reviewed by Adam Barth.
+
+ The CSP 1.1 editor's draft defines the 'plugin-types' directive as a
+ mechanism for whitelisting only specific types of plugin content on a
+ page. A protected resource might trust only Flash content, for instance,
+ and could enforce that preference via a Content Security Policy of
+ 'plugin-types application/x-shockwave-flash'. Flash would load, no other
+ plugin type would.
+
+ Specification details available at: https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html#plugin-types--experimental
+
+ This experimental directive is gated on the ENABLE_CSP_NEXT flag, which
+ is currently only enabled in Chromium.
+
+ Tests: http/tests/security/contentSecurityPolicy/1.1/plugintypes-invalid.html
+ http/tests/security/contentSecurityPolicy/1.1/plugintypes-mismatched-data.html
+ http/tests/security/contentSecurityPolicy/1.1/plugintypes-mismatched-url.html
+ http/tests/security/contentSecurityPolicy/1.1/plugintypes-notype-data.html
+ http/tests/security/contentSecurityPolicy/1.1/plugintypes-notype-url.html
+ http/tests/security/contentSecurityPolicy/1.1/plugintypes-nourl-allowed.html
+ http/tests/security/contentSecurityPolicy/1.1/plugintypes-nourl-blocked.html
+ http/tests/security/contentSecurityPolicy/1.1/plugintypes-url-01.html
+ http/tests/security/contentSecurityPolicy/1.1/plugintypes-url-02.html
+
+ * loader/SubframeLoader.cpp:
+ (WebCore::SubframeLoader::pluginIsLoadable):
+ Adding a check against 'allowPluginType', and passing in both the
+ MIME type of the plugin, as well as the declared MIME type from the
+ object/embed element (ensuring that we do this correctly, even if
+ we're inside a PluginDocument).
+ (WebCore::SubframeLoader::createJavaAppletWidget):
+ Same as 'pluginIsLoadable', but hard-coded to
+ 'application/x-java-applet'.
+ * page/ContentSecurityPolicy.cpp:
+ (CSPDirectiveList):
+ (WebCore::CSPDirectiveList::logInvalidPluginTypes):
+ Plugin types that don't match the grammar ('not/a/mime/type') are
+ logged to the console, and ignored for purposes of matching.
+ (WebCore):
+ (WebCore::CSPDirectiveList::checkPluginType):
+ Given both the plugin type and the declared type attribute, returns
+ true if both types match, and are contained in the list of accepted
+ plugin types.
+ (WebCore::CSPDirectiveList::checkPluginTypeAndReportViolation):
+ Calls out to checkPluginType, and reports a violation if that check
+ fails.
+ (WebCore::CSPDirectiveList::allowPluginType):
+ Analog to the other 'CSPDirectiveList::allowXXX' methods, this
+ branches between simply checking the type against the policy, and
+ checking against the policy and then reporting violations.
+ (WebCore::CSPDirectiveList::parsePluginTypes):
+ Given a directive value, parse out the media types contained within
+ by splitting on spaces, and validating each token. Valid tokens are
+ added to 'm_pluginTypes' for use in 'checkPluginType'.
+ (WebCore::CSPDirectiveList::addDirective):
+ Wire up 'plugin-types' as a valid directive (if the ENABLE_CSP_NEXT
+ flag is set). This has been combined with the other implemented 1.1
+ header, 'script-nonce'.
+ (WebCore::ContentSecurityPolicy::allowPluginType):
+ The public interface to this set of functionality.
+ * page/ContentSecurityPolicy.h:
+
+2012-08-14 Charles Wei <charles.wei@torchmobile.com.cn>
+
+ [BlackBerry] Enable DNS prefetch
+ https://bugs.webkit.org/show_bug.cgi?id=93846
+
+ Reviewed by George Staikos.
+
+ No new tests.
+
+ * PlatformBlackBerry.cmake:
+ * platform/blackberry/TemporaryLinkStubs.cpp:
+ * platform/network/blackberry/DNSBlackBerry.cpp: Copied from Source/WebCore/platform/blackberry/TemporaryLinkStubs.cpp.
+ (WebCore):
+ (WebCore::prefetchDNS):
+
+2012-08-14 Hans Wennborg <hans@chromium.org>
+
+ Speech Input: wrong position was reported for scolled-down elements
+ https://bugs.webkit.org/show_bug.cgi?id=93634
+
+ Reviewed by Kent Tamura.
+
+ When clicking on a speech-enabled input element, WebKit reports
+ the position of the element to the embedder, so that it can show
+ a bubble indicating that speech recognition is in progress for
+ the element that the user clicked on.
+
+ On a page that was scrolled, this position was being reported
+ erroneously: it was given relative to the frame content as opposed to
+ the root view, and the in-progress bubble would be shown in the wrong
+ place.
+
+ Test: fast/speech/bubble-position-scrolled.html
+
+ * html/shadow/TextControlInnerElements.cpp:
+ (WebCore::InputFieldSpeechButtonElement::startSpeechInput):
+
+2012-08-14 Taiju Tsuiki <tzik@chromium.org>
+
+ Web Inspector: Drop "Loading..." message from FileContentView
+ https://bugs.webkit.org/show_bug.cgi?id=91732
+
+ Reviewed by Vsevolod Vlasov.
+
+ * inspector/front-end/FileContentView.js:
+ (WebInspector.FileContentView.prototype.wasShown):
+
+2012-08-14 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r125519.
+ http://trac.webkit.org/changeset/125519
+ https://bugs.webkit.org/show_bug.cgi?id=93945
+
+ New ref-tests caused image failures on chromium-mac bots.
+ (Requested by yutak on #webkit).
+
+ * css/html.css:
+ (meter):
+ * html/HTMLMeterElement.cpp:
+ (WebCore::HTMLMeterElement::HTMLMeterElement):
+ (WebCore::HTMLMeterElement::createRenderer):
+ (WebCore::HTMLMeterElement::didElementStateChange):
+ (WebCore::HTMLMeterElement::createShadowSubtree):
+ * html/HTMLMeterElement.h:
+ (WebCore):
+ (HTMLMeterElement):
+ * html/shadow/MeterShadowElement.cpp:
+ (WebCore::MeterShadowElement::meterElement):
+ (WebCore::MeterShadowElement::rendererIsNeeded):
+ (WebCore):
+ * html/shadow/MeterShadowElement.h:
+ (WebCore):
+ * rendering/RenderMeter.cpp:
+ (WebCore::RenderMeter::RenderMeter):
+ (WebCore::RenderMeter::valueRatio):
+ * rendering/RenderMeter.h:
+ (RenderMeter):
+
+2012-08-14 Keishi Hattori <keishi@webkit.org>
+
+ Move page popup resources to separate directory
+ https://bugs.webkit.org/show_bug.cgi?id=93932
+
+ Reviewed by Kent Tamura.
+
+ Keeping the resources organized.
+
+ No new tests.
+
+ * Resources/pagepopups/calendarPicker.css: Renamed from Source/WebCore/Resources/calendarPicker.css.
+ * Resources/pagepopups/calendarPicker.js: Renamed from Source/WebCore/Resources/calendarPicker.js.
+ * Resources/pagepopups/calendarPickerMac.css: Renamed from Source/WebCore/Resources/calendarPickerMac.css.
+ * Resources/pagepopups/colorSuggestionPicker.css: Renamed from Source/WebCore/Resources/colorSuggestionPicker.css.
+ * Resources/pagepopups/colorSuggestionPicker.js: Renamed from Source/WebCore/Resources/colorSuggestionPicker.js.
+ * WebCore.gyp/WebCore.gyp:
+
+2012-08-14 Yoshifumi Inoue <yosin@chromium.org>
+
+ [Forms] Move wheel event handler to spin button class
+ https://bugs.webkit.org/show_bug.cgi?id=93928
+
+ Reviewed by Kent Tamura.
+
+ This patch moves implmentation of wheel event handling from TextFieldInput
+ class to SpinButtonElement class to share implementation in TextFieldInput
+ class, and DateTimeEditElement.
+
+ No new tests. This patch doesn't change behavior. fast/orms/number/number-wheel.html
+ covers this change.
+
+ * html/BaseDateAndTimeInputType.cpp: Removed handleWheelEvent() implementation.
+ * html/BaseDateAndTimeInputType.h:
+ (BaseDateAndTimeInputType): Removed handleWheelEvent() declaration.
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::defaultEventHandler): Removed wheel event handling.
+ * html/InputType.cpp: Removed handleWheelEvent() implementation.
+ * html/InputType.h:
+ (InputType): Removed handleWheelEvent() declaration.
+ * html/NumberInputType.cpp: Removed handleWheelEvent() implementation.
+ * html/NumberInputType.h:
+ (NumberInputType): Removed handleWheelEvent() declaration.
+ * html/TextFieldInputType.cpp: Removed handleWheelEventForSpinButton() declaration.
+ (WebCore::TextFieldInputType::forwardEvent): Changed to call SpinButtonElement::forwardEvent().
+ * html/TextFieldInputType.h:
+ (TextFieldInputType): Removed handleWheelEventForSpinButton() declaration.
+ * html/shadow/TextControlInnerElements.cpp:
+ (WebCore::SpinButtonElement::forwardEvent): Moved implementation of wheel event handling code
+ from TextFieldInputType::handleWheelEventForSpinButton().
+ * html/shadow/TextControlInnerElements.h:
+ (SpinButtonElement): Added forwardEvent() declaration.
+
+2012-08-14 Shinya Kawanaka <shinyak@chromium.org>
+
+ AuthorShadowDOM for meter element
+ https://bugs.webkit.org/show_bug.cgi?id=91970
+
+ Reviewed by Hajime Morita.
+
+ We add support for AuthorShadowDOM for a meter element.
+
+ According to the Shadow DOM spec, a meter element should behave like having a UserAgentShadowRoot and
+ an element in UserAgentShadowRoot draws a real 'meter' bar. In this patch, we change the inner structure
+ of a meter element so that we can distribute an element having RenderMeter to AuthorShadowDOM.
+
+ Before this patch, a meter element has the following inner structure.
+
+ <meter>--UserAgentShadowRoot -- -- -- -- -- -- -- -- -- -- AuthorShadowRoot
+ |
+ +-- MeterBarElement
+ |
+ +-- MeterValueElement
+
+ After this patch, a meter element will have the following inner structure.
+
+ <meter>--UserAgentShadowRoot -- -- -- -- -- -- -- -- -- -- AuthorShadowRoot
+ |
+ +-- MeterInnerElement
+ |
+ +-- MeterBarElement
+ |
+ +-- MeterValueElement
+
+ However, if RenderTheme supports rendering meter, MeterInnerElement will not create a renderer
+ unless an AuthorShadowDOM is attached to it so that we can keep the current rendering style.
+
+ Tests: fast/dom/shadow/shadowdom-for-meter-dynamic.html
+ fast/dom/shadow/shadowdom-for-meter-multiple.html
+ fast/dom/shadow/shadowdom-for-meter-with-style.html
+ fast/dom/shadow/shadowdom-for-meter-without-appearance.html
+ fast/dom/shadow/shadowdom-for-meter-without-shadow-element.html
+ fast/dom/shadow/shadowdom-for-meter.html
+
+ * css/html.css:
+ (meter): Changed the display type. inline-box is not supported WebKit. inline-block is true.
+ (meter::-webkit-meter-inner-element):
+ * html/HTMLMeterElement.cpp:
+ (WebCore::HTMLMeterElement::HTMLMeterElement):
+ (WebCore::HTMLMeterElement::createRenderer):
+ (WebCore):
+ (WebCore::HTMLMeterElement::didElementStateChange):
+ (WebCore::HTMLMeterElement::willAddAuthorShadowRoot):
+ (WebCore::HTMLMeterElement::renderMeter):
+ (WebCore::HTMLMeterElement::createShadowSubtree):
+ * html/HTMLMeterElement.h:
+ (WebCore):
+ (WebCore::HTMLMeterElement::hasAuthorShadowRoot):
+ (HTMLMeterElement):
+ (WebCore::isHTMLMeterElement):
+ (WebCore::toHTMLMeterElement):
+ * html/shadow/MeterShadowElement.cpp:
+ (WebCore::MeterShadowElement::meterElement):
+ (WebCore::MeterShadowElement::rendererIsNeeded):
+ (WebCore):
+ (WebCore::MeterInnerElement::MeterInnerElement): We introduce a new element having RenderMeter
+ so that we can distribute an element having RenderMeter to AuthorShadowDOM.
+ (WebCore::MeterInnerElement::rendererIsNeeded): Different from a progress element, meter element will not be
+ rendered using a theme. So we don't need to check the style appearance.
+ (WebCore::MeterInnerElement::createRenderer):
+ (WebCore::MeterInnerElement::shadowPseudoId):
+ * html/shadow/MeterShadowElement.h:
+ (WebCore):
+ (MeterInnerElement):
+ (WebCore::MeterInnerElement::create):
+ * rendering/RenderMeter.cpp:
+ (WebCore::RenderMeter::RenderMeter):
+ (WebCore::RenderMeter::meterElement):
+ (WebCore):
+ (WebCore::RenderMeter::valueRatio):
+ * rendering/RenderMeter.h:
+ (RenderMeter):
+
+2012-08-14 Christophe Dumez <christophe.dumez@intel.com>
+
+ regression(r124510) webintents/web-intents-obj-constructor.html is crashing
+ https://bugs.webkit.org/show_bug.cgi?id=93096
+
+ Reviewed by Kentaro Hara.
+
+ Add null-check for JSC::ExecState pointer in JSDictionary constructor
+ before using it. The exec may indeed be null, thus causing crashes.
+
+ No new test, already tested by webintents/web-intents-obj-constructor.html
+
+ * bindings/js/JSDictionary.cpp:
+ (WebCore::JSDictionary::tryGetProperty):
+ (WebCore::JSDictionary::getWithUndefinedOrNullCheck):
+ * bindings/js/JSDictionary.h:
+ (WebCore::JSDictionary::JSDictionary):
+
+2012-08-13 Keishi Hattori <keishi@webkit.org>
+
+ Remove fade in transition from calendar picker
+ https://bugs.webkit.org/show_bug.cgi?id=93816
+
+ Reviewed by Kent Tamura.
+
+ The fade in transition was incomplete because it was only fading in the
+ popup content and not the popup itself. Removing the effect for now.
+
+ No new tests. Can't test animation.
+
+ * Resources/calendarPicker.css:
+ (#main):
+ * Resources/calendarPicker.js:
+ (initialize):
+ (fixWindowSize):
+
+2012-08-13 Alex Christensen <alex.christensen@flexsim.com>
+
+ WPARAM and LPARAM are incorrectly defined for x64
+ https://bugs.webkit.org/show_bug.cgi?id=89902
+
+ Reviewed by Brent Fulgham.
+
+ Include WindowsExtras.h for PLATFORM(WIN) to define WPARAM and LPARAM correctly
+ * platform/PlatformKeyboardEvent.h:
+ * platform/PlatformMouseEvent.h:
+ * platform/PlatformWheelEvent.h:
+ * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h:
+ * platform/win/WindowMessageListener.h:
+
+2012-08-13 John Bates <jbates@google.com>
+
+ [Chromium] Patch CCThreadProxy to call setTimebaseAndInterval on CCScheduler
+ https://bugs.webkit.org/show_bug.cgi?id=93918
+
+ Reviewed by James Robinson.
+
+ Also, update some trace events.
+
+ * platform/graphics/chromium/cc/CCDelayBasedTimeSource.cpp:
+ (WebCore::CCDelayBasedTimeSource::setActive):
+ * platform/graphics/chromium/cc/CCFrameRateController.cpp:
+ (WebCore::CCFrameRateController::setActive):
+ * platform/graphics/chromium/cc/CCThreadProxy.cpp:
+ (WebCore::CCThreadProxy::onVSyncParametersChanged):
+
+2012-08-13 Douglas Stockwell <dstockwell@chromium.org>
+
+ Crash in WebCore::RenderBlock::LineBreaker::nextLineBreak
+ https://bugs.webkit.org/show_bug.cgi?id=93806
+
+ Reviewed by Abhishek Arya.
+
+ When looking for line breaks on the first line, existing code was
+ checking for text-combine only in the first-line style. Since
+ text-combine isn't inherited this resulted in a line break being
+ chosen before combineText was called. When this happened and then
+ combineText was called subsequently, the position of the line break
+ iterator would be invalid.
+
+ This patch changes the check to use the regular style as in
+ skipLeadingWhitespace and textWidth.
+
+ Test: fast/text/text-combine-first-line-crash.html
+
+ * rendering/RenderBlockLineLayout.cpp:
+ (WebCore::RenderBlock::LineBreaker::nextLineBreak): Don't use the
+ first-line style when checking text-combine.
+
+2012-08-13 Kwang Yul Seo <skyul@company100.net>
+
+ Remove unused method HTMLDocumentParser::script()
+ https://bugs.webkit.org/show_bug.cgi?id=93916
+
+ Reviewed by Eric Seidel.
+
+ The use of HTMLDocumentParser::script() was removed in r61640 and has never been used since then.
+
+ No behavior change, so no new tests.
+
+ * html/parser/HTMLDocumentParser.cpp:
+ * html/parser/HTMLDocumentParser.h:
+
+2012-08-13 Tom Sepez <tsepez@chromium.org>
+
+ [chromium] release FrameLoaderClientImpl::m_pluginWidget refptr upon Plugin Document detach.
+ https://bugs.webkit.org/show_bug.cgi?id=93283
+
+ Reviewed by Eric Seidel.
+
+ Chromium has a refptr that needs to be NULLed at this point.
+
+ The approach is to change the client redirectDataToPlugin method(s) to expect
+ the possibility of a NULL argument, and the use this to clear the refptr on
+ the chromium platform. Other platforms can merely ignore the NULL case, thereby
+ maintaining the existing behaviour.
+
+ Formal testing is nearly impossible without some chrome-specific plugins.
+
+ * html/PluginDocument.cpp:
+ (WebCore::PluginDocument::detach):
+
+2012-08-13 Eric Penner <epenner@google.com>
+
+ [chromium] Paint animated layers immediately to avoid animation hiccups.
+ https://bugs.webkit.org/show_bug.cgi?id=93028
+
+ Reviewed by Adrienne Walker.
+
+ This is a technique used on Android, which is very prone
+ to hiccups in animations. Paint the entire layer if it is
+ of reasonable size such that there is no hiccups when the
+ animation reaches unpainted content. The reasonable size
+ is choosen for page-transitions specifically, as this was
+ the problem case (animations would just jump to the end).
+
+ Since we already have a special case this just modifies it
+ and replaces the unit test with a new one. This can be
+ improved/simplified further when distances/directions are
+ available for the animated layers.
+
+ Replaced one test.
+ Fixed bugs in and improved idlePaintNonVisibleLayers test.
+
+ * platform/graphics/chromium/TiledLayerChromium.cpp:
+ (UpdatableTile):
+ (WebCore::UpdatableTile::resetUpdateState):
+ (WebCore::UpdatableTile::markForUpdate):
+ (WebCore::UpdatableTile::UpdatableTile):
+ (WebCore::TiledLayerChromium::TiledLayerChromium):
+ (WebCore::TiledLayerChromium::pushPropertiesTo):
+ (WebCore):
+ (WebCore::TiledLayerChromium::updateTiles):
+ (WebCore::TiledLayerChromium::markOcclusionsAndRequestTextures):
+ (WebCore::TiledLayerChromium::haveTexturesForTiles):
+ (WebCore::TiledLayerChromium::markTilesForUpdate):
+ (WebCore::TiledLayerChromium::updateTileTextures):
+ (WebCore::TiledLayerChromium::setTexturePrioritiesInRect):
+ (WebCore::TiledLayerChromium::resetUpdateState):
+ (WebCore::TiledLayerChromium::updateContentRect):
+ (WebCore::TiledLayerChromium::needsIdlePaint):
+ (WebCore::TiledLayerChromium::idlePaintRect):
+ * platform/graphics/chromium/TiledLayerChromium.h:
+ (TiledLayerChromium):
+ * platform/graphics/chromium/cc/CCLayerTilingData.cpp:
+ (WebCore::CCLayerTilingData::contentRectToTileIndices):
+ * platform/graphics/chromium/cc/CCPriorityCalculator.h:
+ (WebCore::CCPriorityCalculator::maxPriority):
+
+2012-08-13 Kentaro Hara <haraken@chromium.org>
+
+ Unreviewed. Simple refactoring that I forgot to apply in r125495.
+
+ * bindings/v8/V8ThrowException.cpp:
+ (WebCore::domExceptionStackGetter):
+ (WebCore::domExceptionStackSetter):
+ (WebCore::V8ThrowException::setDOMException):
+ * bindings/v8/V8ThrowException.h:
+
+2012-08-13 Ryuan Choi <ryuan.choi@samsung.com>
+
+ [CMAKE][EFL] Fix build break with --tiled-backing-store
+ https://bugs.webkit.org/show_bug.cgi?id=93487
+
+ Unreviewed build fix for Efl with --tiled-backing-store.
+
+ * CMakeLists.txt:
+ Checked bison version and selected proper glslang files.
+
+2012-08-12 Kentaro Hara <haraken@chromium.org>
+
+ [V8] Factor out exception related methods of V8Proxy
+ https://bugs.webkit.org/show_bug.cgi?id=93792
+
+ Reviewed by Adam Barth.
+
+ To remove V8Proxy, this patch factors out exception related methods of V8Proxy
+ to a separate file.
+
+ (1) Move exception related methods from V8Proxy.{h,cpp} to V8ThrowException.{h,cpp}.
+ (2) To avoid writing V8ThrowException::throwError() here and there in V8 binding,
+ implement WebCore::throwError() in V8Binding.{h,cpp}. Ideally, we want to list up
+ all V8 binding APIs in V8Binding.h.
+ (3) Replace all V8Proxy::throwError() with throwError().
+
+ Nit: I couldn't write the definition of WebCore::throwError() in V8BInding.h
+ due to circular dependency issues. Either way, these methods wouldn't be
+ performance-critical.
+
+ No tests. No change in behavior.
+
+ * UseV8.cmake:
+ * WebCore.gypi:
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (GenerateNormalAttrGetter):
+ (GenerateNormalAttrSetter):
+ (GenerateOverloadedFunctionCallback):
+ (GenerateFunctionCallback):
+ (GenerateArgumentsCountCheck):
+ (GenerateParametersCheck):
+ (GenerateConstructorCallback):
+ (GenerateEventConstructorCallback):
+ (GenerateNamedConstructorCallback):
+ (GenerateFunctionCallString):
+ * bindings/scripts/test/V8/V8Float64Array.cpp:
+ (WebCore::Float64ArrayV8Internal::fooCallback):
+ * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
+ (WebCore::TestActiveDOMObjectV8Internal::excitingFunctionCallback):
+ (WebCore::TestActiveDOMObjectV8Internal::postMessageCallback):
+ * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
+ (WebCore::TestCustomNamedGetterV8Internal::anotherFunctionCallback):
+ * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
+ (WebCore::V8TestEventConstructor::constructorCallback):
+ * bindings/scripts/test/V8/V8TestEventTarget.cpp:
+ (WebCore::TestEventTargetV8Internal::itemCallback):
+ (WebCore::TestEventTargetV8Internal::dispatchEventCallback):
+ * bindings/scripts/test/V8/V8TestInterface.cpp:
+ (WebCore::TestInterfaceV8Internal::supplementalMethod2Callback):
+ (WebCore::V8TestInterface::constructorCallback):
+ * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
+ (WebCore::TestMediaQueryListListenerV8Internal::methodCallback):
+ * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
+ (WebCore::V8TestNamedConstructorConstructorCallback):
+ * bindings/scripts/test/V8/V8TestNode.cpp:
+ (WebCore::V8TestNode::constructorCallback):
+ * bindings/scripts/test/V8/V8TestObj.cpp:
+ (WebCore::TestObjV8Internal::attrWithGetterExceptionAttrGetter):
+ (WebCore::TestObjV8Internal::attrWithGetterExceptionAttrSetter):
+ (WebCore::TestObjV8Internal::attrWithSetterExceptionAttrSetter):
+ (WebCore::TestObjV8Internal::stringAttrWithGetterExceptionAttrGetter):
+ (WebCore::TestObjV8Internal::stringAttrWithGetterExceptionAttrSetter):
+ (WebCore::TestObjV8Internal::stringAttrWithSetterExceptionAttrSetter):
+ (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrGetter):
+ (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrSetter):
+ (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrGetter):
+ (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrSetter):
+ (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrGetter):
+ (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrSetter):
+ (WebCore::TestObjV8Internal::voidMethodWithArgsCallback):
+ (WebCore::TestObjV8Internal::MethodWithArgsCallback):
+ (WebCore::TestObjV8Internal::objMethodWithArgsCallback):
+ (WebCore::TestObjV8Internal::methodWithSequenceArgCallback):
+ (WebCore::TestObjV8Internal::methodReturningSequenceCallback):
+ (WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsCallback):
+ (WebCore::TestObjV8Internal::serializedValueCallback):
+ (WebCore::TestObjV8Internal::idbKeyCallback):
+ (WebCore::TestObjV8Internal::optionsObjectCallback):
+ (WebCore::TestObjV8Internal::methodWithExceptionCallback):
+ (WebCore::TestObjV8Internal::withScriptStateVoidExceptionCallback):
+ (WebCore::TestObjV8Internal::withScriptStateObjExceptionCallback):
+ (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateObjExceptionCallback):
+ (WebCore::TestObjV8Internal::methodWithNonOptionalArgAndOptionalArgCallback):
+ (WebCore::TestObjV8Internal::methodWithNonOptionalArgAndTwoOptionalArgsCallback):
+ (WebCore::TestObjV8Internal::methodWithCallbackArgCallback):
+ (WebCore::TestObjV8Internal::methodWithNonCallbackArgAndCallbackArgCallback):
+ (WebCore::TestObjV8Internal::methodWithCallbackAndOptionalArgCallback):
+ (WebCore::TestObjV8Internal::overloadedMethod1Callback):
+ (WebCore::TestObjV8Internal::overloadedMethod2Callback):
+ (WebCore::TestObjV8Internal::overloadedMethod3Callback):
+ (WebCore::TestObjV8Internal::overloadedMethod4Callback):
+ (WebCore::TestObjV8Internal::overloadedMethod5Callback):
+ (WebCore::TestObjV8Internal::overloadedMethod6Callback):
+ (WebCore::TestObjV8Internal::overloadedMethod7Callback):
+ (WebCore::TestObjV8Internal::overloadedMethod8Callback):
+ (WebCore::TestObjV8Internal::overloadedMethod9Callback):
+ (WebCore::TestObjV8Internal::overloadedMethod10Callback):
+ (WebCore::TestObjV8Internal::overloadedMethodCallback):
+ (WebCore::TestObjV8Internal::overloadedMethod11Callback):
+ (WebCore::TestObjV8Internal::overloadedMethod12Callback):
+ (WebCore::TestObjV8Internal::classMethodWithClampCallback):
+ (WebCore::TestObjV8Internal::enabledAtRuntimeMethod1Callback):
+ (WebCore::TestObjV8Internal::enabledAtRuntimeMethod2Callback):
+ (WebCore::TestObjV8Internal::enabledPerContextMethod1Callback):
+ (WebCore::TestObjV8Internal::enabledPerContextMethod2Callback):
+ (WebCore::TestObjV8Internal::stringArrayFunctionCallback):
+ (WebCore::TestObjV8Internal::getSVGDocumentCallback):
+ (WebCore::TestObjV8Internal::convert1Callback):
+ (WebCore::TestObjV8Internal::convert2Callback):
+ (WebCore::TestObjV8Internal::convert3Callback):
+ (WebCore::TestObjV8Internal::convert4Callback):
+ (WebCore::TestObjV8Internal::convert5Callback):
+ (WebCore::TestObjV8Internal::strictFunctionCallback):
+ (WebCore::V8TestObj::constructorCallback):
+ * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
+ (WebCore::TestSerializedScriptValueInterfaceV8Internal::acceptTransferListCallback):
+ (WebCore::TestSerializedScriptValueInterfaceV8Internal::multiTransferListCallback):
+ (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
+ * bindings/v8/DateExtension.cpp:
+ (WebCore::DateExtension::OnSleepDetected):
+ * bindings/v8/NPV8Object.cpp:
+ (_NPN_SetException):
+ * bindings/v8/SerializedScriptValue.cpp:
+ (WebCore::SerializedScriptValue::transferArrayBuffers):
+ (WebCore::SerializedScriptValue::SerializedScriptValue):
+ * bindings/v8/V8Binding.cpp:
+ (WebCore::setDOMException):
+ (WebCore):
+ (WebCore::throwError):
+ (WebCore::throwTypeError):
+ (WebCore::throwNotEnoughArgumentsError):
+ * bindings/v8/V8Binding.h:
+ (WebCore):
+ (WebCore::toV8Sequence):
+ * bindings/v8/V8Collection.cpp:
+ (WebCore::toOptionsCollectionSetter):
+ * bindings/v8/V8NPObject.cpp:
+ (WebCore::npObjectInvokeImpl):
+ (WebCore::npObjectGetProperty):
+ (WebCore::npObjectSetProperty):
+ (WebCore::npObjectPropertyEnumerator):
+ * bindings/v8/V8NodeFilterCondition.cpp:
+ (WebCore::V8NodeFilterCondition::acceptNode):
+ * bindings/v8/V8Proxy.cpp:
+ (WebCore::handleMaxRecursionDepthExceeded):
+ (WebCore::V8Proxy::checkNewLegal):
+ * bindings/v8/V8Proxy.h:
+ (V8Proxy):
+ (WebCore):
+ * bindings/v8/V8ThrowException.cpp: Added.
+ (WebCore):
+ (WebCore::DOMExceptionStackGetter):
+ (WebCore::DOMExceptionStackSetter):
+ (WebCore::V8ThrowException::setDOMException):
+ (WebCore::V8ThrowException::throwError):
+ (WebCore::V8ThrowException::throwTypeError):
+ (WebCore::V8ThrowException::throwNotEnoughArgumentsError):
+ * bindings/v8/V8ThrowException.h: Added.
+ (WebCore):
+ (V8ThrowException):
+ * bindings/v8/V8Utilities.cpp:
+ (WebCore::extractTransferables):
+ (WebCore::getMessagePortArray):
+ (WebCore::setTypeMismatchException):
+ * bindings/v8/WorkerContextExecutionProxy.cpp:
+ (WebCore::WorkerContextExecutionProxy::evaluate):
+ * bindings/v8/custom/V8ArrayBufferCustom.cpp:
+ (WebCore::V8ArrayBuffer::constructorCallback):
+ * bindings/v8/custom/V8ArrayBufferViewCustom.h:
+ (WebCore::constructWebGLArrayWithArrayBufferArgument):
+ (WebCore::constructWebGLArray):
+ (WebCore::setWebGLArrayHelper):
+ * bindings/v8/custom/V8AudioBufferSourceNodeCustom.cpp:
+ (WebCore::V8AudioBufferSourceNode::bufferAccessorSetter):
+ * bindings/v8/custom/V8AudioContextCustom.cpp:
+ (WebCore::V8AudioContext::constructorCallback):
+ * bindings/v8/custom/V8BlobCustom.cpp:
+ (WebCore::V8Blob::constructorCallback):
+ * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
+ (WebCore::V8CSSStyleDeclaration::namedPropertySetter):
+ * bindings/v8/custom/V8ClipboardCustom.cpp:
+ (WebCore::V8Clipboard::clearDataCallback):
+ (WebCore::V8Clipboard::setDragImageCallback):
+ * bindings/v8/custom/V8DOMFormDataCustom.cpp:
+ (WebCore::V8DOMFormData::constructorCallback):
+ (WebCore::V8DOMFormData::appendCallback):
+ * bindings/v8/custom/V8DOMStringMapCustom.cpp:
+ (WebCore::V8DOMStringMap::namedPropertySetter):
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ (WebCore::WindowSetTimeoutImpl):
+ (WebCore::handlePostMessageCallback):
+ * bindings/v8/custom/V8DataViewCustom.cpp:
+ (WebCore::V8DataView::constructorCallback):
+ (WebCore::V8DataView::getInt8Callback):
+ (WebCore::V8DataView::getUint8Callback):
+ (WebCore::V8DataView::setInt8Callback):
+ (WebCore::V8DataView::setUint8Callback):
+ * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
+ (WebCore::handlePostMessageCallback):
+ * bindings/v8/custom/V8DirectoryEntryCustom.cpp:
+ (WebCore::V8DirectoryEntry::getDirectoryCallback):
+ (WebCore::V8DirectoryEntry::getFileCallback):
+ * bindings/v8/custom/V8DirectoryEntrySyncCustom.cpp:
+ (WebCore::V8DirectoryEntrySync::getDirectoryCallback):
+ (WebCore::V8DirectoryEntrySync::getFileCallback):
+ * bindings/v8/custom/V8DocumentCustom.cpp:
+ (WebCore::V8Document::evaluateCallback):
+ * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
+ (WebCore::V8HTMLCanvasElement::toDataURLCallback):
+ * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
+ (WebCore::V8HTMLDocument::openCallback):
+ * bindings/v8/custom/V8HTMLElementCustom.cpp:
+ (WebCore::V8HTMLElement::itemValueAccessorSetter):
+ * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
+ (WebCore::v8HTMLImageElementConstructorCallback):
+ * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
+ (WebCore::V8HTMLInputElement::selectionStartAccessorGetter):
+ (WebCore::V8HTMLInputElement::selectionStartAccessorSetter):
+ (WebCore::V8HTMLInputElement::selectionEndAccessorGetter):
+ (WebCore::V8HTMLInputElement::selectionEndAccessorSetter):
+ (WebCore::V8HTMLInputElement::selectionDirectionAccessorGetter):
+ (WebCore::V8HTMLInputElement::selectionDirectionAccessorSetter):
+ (WebCore::V8HTMLInputElement::setSelectionRangeCallback):
+ * bindings/v8/custom/V8HTMLMediaElementCustom.cpp:
+ (WebCore::V8HTMLMediaElement::controllerAccessorSetter):
+ * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
+ (WebCore::V8HTMLOptionsCollection::addCallback):
+ (WebCore::V8HTMLOptionsCollection::lengthAccessorSetter):
+ * bindings/v8/custom/V8HistoryCustom.cpp:
+ (WebCore::V8History::pushStateCallback):
+ (WebCore::V8History::replaceStateCallback):
+ * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
+ (WebCore::V8InjectedScriptHost::inspectedObjectCallback):
+ * bindings/v8/custom/V8IntentConstructor.cpp:
+ (WebCore::V8Intent::constructorCallback):
+ * bindings/v8/custom/V8LocationCustom.cpp:
+ (WebCore::V8Location::protocolAccessorSetter):
+ * bindings/v8/custom/V8MessageChannelConstructor.cpp:
+ (WebCore::V8MessageChannel::constructorCallback):
+ * bindings/v8/custom/V8MessagePortCustom.cpp:
+ (WebCore::handlePostMessageCallback):
+ * bindings/v8/custom/V8MutationObserverCustom.cpp:
+ (WebCore::V8MutationObserver::constructorCallback):
+ * bindings/v8/custom/V8NodeCustom.cpp:
+ (WebCore::V8Node::insertBeforeCallback):
+ (WebCore::V8Node::replaceChildCallback):
+ (WebCore::V8Node::removeChildCallback):
+ (WebCore::V8Node::appendChildCallback):
+ * bindings/v8/custom/V8NotificationCenterCustom.cpp:
+ (WebCore::V8NotificationCenter::createHTMLNotificationCallback):
+ (WebCore::V8NotificationCenter::createNotificationCallback):
+ (WebCore::V8NotificationCenter::requestPermissionCallback):
+ * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
+ (WebCore::V8SQLResultSetRowList::itemCallback):
+ * bindings/v8/custom/V8SQLTransactionCustom.cpp:
+ (WebCore::V8SQLTransaction::executeSqlCallback):
+ * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
+ (WebCore::V8SQLTransactionSync::executeSqlCallback):
+ * bindings/v8/custom/V8SVGLengthCustom.cpp:
+ (WebCore::V8SVGLength::valueAccessorGetter):
+ (WebCore::V8SVGLength::valueAccessorSetter):
+ (WebCore::V8SVGLength::convertToSpecifiedUnitsCallback):
+ * bindings/v8/custom/V8StorageCustom.cpp:
+ (WebCore::storageSetter):
+ * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
+ (WebCore::getObjectParameter):
+ (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
+ (WebCore::V8WebGLRenderingContext::getExtensionCallback):
+ (WebCore::V8WebGLRenderingContext::getFramebufferAttachmentParameterCallback):
+ (WebCore::V8WebGLRenderingContext::getParameterCallback):
+ (WebCore::V8WebGLRenderingContext::getProgramParameterCallback):
+ (WebCore::V8WebGLRenderingContext::getShaderParameterCallback):
+ (WebCore::V8WebGLRenderingContext::getUniformCallback):
+ (WebCore::vertexAttribAndUniformHelperf):
+ (WebCore::uniformHelperi):
+ (WebCore::uniformMatrixHelper):
+ * bindings/v8/custom/V8WebKitPointConstructor.cpp:
+ (WebCore::V8WebKitPoint::constructorCallback):
+ * bindings/v8/custom/V8WebSocketCustom.cpp:
+ (WebCore::V8WebSocket::constructorCallback):
+ (WebCore::V8WebSocket::sendCallback):
+ * bindings/v8/custom/V8WorkerContextCustom.cpp:
+ (WebCore::V8WorkerContext::importScriptsCallback):
+ * bindings/v8/custom/V8WorkerCustom.cpp:
+ (WebCore::handlePostMessageCallback):
+ * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
+ (WebCore::V8XMLHttpRequest::constructorCallback):
+ * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
+ (WebCore::V8XMLHttpRequest::responseTextAccessorGetter):
+ (WebCore::V8XMLHttpRequest::responseAccessorGetter):
+ (WebCore::V8XMLHttpRequest::openCallback):
+ (WebCore::V8XMLHttpRequest::sendCallback):
+
+2012-08-13 Kentaro Hara <haraken@chromium.org>
+
+ [V8] Move GCEventData class from V8Binding.h to ScriptGCEvent.h
+ https://bugs.webkit.org/show_bug.cgi?id=93818
+
+ Reviewed by Adam Barth.
+
+ (1) This patch moves GCEventData class from V8Binding.h to ScriptGCEvent.h.
+ (2) This patch makes GCEventData::startTime and GCEventData::usedHeapSize
+ private members.
+ (3) This patch removes unused forward declarations from V8Binding.h.
+
+ No tests. No change in behavior.
+
+ * bindings/v8/ScriptGCEvent.cpp:
+ (WebCore::ScriptGCEvent::gcPrologueCallback):
+ (WebCore::ScriptGCEvent::gcEpilogueCallback):
+ * bindings/v8/ScriptGCEvent.h:
+ (GCEventData):
+ (WebCore::GCEventData::GCEventData):
+ (WebCore::GCEventData::clear):
+ (WebCore::GCEventData::listeners):
+ (WebCore::GCEventData::startTime):
+ (WebCore::GCEventData::setStartTime):
+ (WebCore::GCEventData::usedHeapSize):
+ (WebCore::GCEventData::setUsedHeapSize):
+ (WebCore):
+ * bindings/v8/V8Binding.h:
+ (WebCore):
+ * bindings/v8/V8PerIsolateData.cpp:
+
+2012-08-13 Kentaro Hara <haraken@chromium.org>
+
+ [V8] Move checkNewLegal() from V8Proxy.h to SafeAllocation.h
+ https://bugs.webkit.org/show_bug.cgi?id=93830
+
+ Reviewed by Adam Barth.
+
+ This patch moves checkNewLegal() from V8Proxy.h to SafeAllocation.h.
+ In addition, this patch renames checkNewLegal() to isValidConstructorMode()
+ for clarification.
+
+ No tests. No change in behavior.
+
+ * UseV8.cmake:
+ * WebCore.gypi:
+ * bindings/v8/SafeAllocation.cpp: Added.
+ * bindings/v8/SafeAllocation.h:
+ (WebCore::SafeAllocation::newInstance):
+ (WebCore):
+ * bindings/v8/V8Binding.cpp:
+ (WebCore::createRawTemplate):
+ * bindings/v8/V8Proxy.cpp:
+ * bindings/v8/V8Proxy.h:
+ (V8Proxy):
+
+2012-08-13 Kentaro Hara <haraken@chromium.org>
+
+ [V8] Remove unused methods from V8Binding.h
+ https://bugs.webkit.org/show_bug.cgi?id=93836
+
+ Reviewed by Adam Barth.
+
+ enableStringImplCache() and v8UndetectableString() are not used by anybody.
+
+ No tests. No change in behavior.
+
+ * bindings/v8/V8Binding.h:
+
+2012-08-13 Kentaro Hara <haraken@chromium.org>
+
+ [V8] Move hintForGCIfNecessary() from V8Proxy.h to V8GCController.h
+ https://bugs.webkit.org/show_bug.cgi?id=93834
+
+ Reviewed by Adam Barth.
+
+ This patch moves hintForGCIfNecessary() from V8Proxy.h to V8GCController.h.
+
+ No tests. No change in behavior.
+
+ * bindings/v8/V8GCController.cpp:
+ (WebCore::V8GCController::hintForGCIfNecessary):
+ * bindings/v8/V8GCController.h:
+ (V8GCController):
+ * bindings/v8/V8Proxy.cpp:
+ (WebCore::V8Proxy::clearForClose):
+ (WebCore::V8Proxy::clearForNavigation):
+ * bindings/v8/V8Proxy.h:
+ (V8Proxy):
+
+2012-08-13 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r124970.
+ http://trac.webkit.org/changeset/124970
+ https://bugs.webkit.org/show_bug.cgi?id=93495
+
+ Postponing the merge in a clearer context (Requested by
+ Michelangelo on #webkit).
+
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseValue):
+ (WebCore::CSSParser::parseTransform):
+ * css/CSSParser.h:
+
+2012-08-12 Shawn Singh <shawnsingh@chromium.org>
+
+ [chromium] renderSurface in incorrect space if owning layer has empty but non-zero bounds
+ https://bugs.webkit.org/show_bug.cgi?id=93795
+
+ Reviewed by Adrienne Walker.
+
+ If a renderSurface is created by a layer that had zero
+ area (empty) but non-zero bounds (either width or height was
+ non-zero), then one translation transform was accidentally being
+ skipped, causing the renderSurface drawTransform to be incorrect.
+ The fix is simply to move that transform outside of the
+ if-statement so it is not skipped.
+
+ Unit test added:
+ CCLayerTreeHostCommonTest.verifyTransformsForDegenerateIntermediateLayer()
+
+ * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
+ (WebCore::calculateDrawTransformsInternal):
+
+2012-08-13 Kentaro Hara <haraken@chromium.org>
+
+ [V8] Remove [TreatReturnedNullAs=False]
+ https://bugs.webkit.org/show_bug.cgi?id=93835
+
+ Reviewed by Adam Barth.
+
+ [TreatReturnedNullAs=False] is neither defined in the Web IDL spec
+ nor used in any WebKit IDL file.
+
+ No tests. No change in behavior.
+
+ * WebCore.order:
+ * bindings/js/JSDOMBinding.cpp:
+ * bindings/js/JSDOMBinding.h:
+ (WebCore):
+ * bindings/scripts/CodeGeneratorJS.pm:
+ (NativeToJSValue):
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (NativeToJSValue):
+ * bindings/scripts/IDLAttributes.txt:
+ * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
+ * bindings/scripts/test/CPP/WebDOMTestObj.h:
+ * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
+ * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
+ * bindings/scripts/test/JS/JSTestObj.cpp:
+ (WebCore):
+ * bindings/scripts/test/JS/JSTestObj.h:
+ (WebCore):
+ * bindings/scripts/test/ObjC/DOMTestObj.h:
+ * bindings/scripts/test/ObjC/DOMTestObj.mm:
+ * bindings/scripts/test/TestObj.idl:
+ * bindings/scripts/test/V8/V8TestObj.cpp:
+ (WebCore::ConfigureV8TestObjTemplate):
+ * bindings/v8/V8Binding.h:
+
+2012-08-13 Kentaro Hara <haraken@chromium.org>
+
+ [V8] Rename v8ValueToWebCoreDOMStringList() to toDOMStringList()
+ https://bugs.webkit.org/show_bug.cgi?id=93839
+
+ Reviewed by Adam Barth.
+
+ For naming consistency with toWebCoreString() and toWebCoreAtomicString(),
+ this patch renames v8ValueToWebCoreDOMStringList() to toDOMStringList().
+ ("WebCore" wouldn't be needed because it's clear from "DOMStringList".)
+
+ No tests. No change in behavior.
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (JSValueToNative):
+ * bindings/scripts/test/V8/V8TestObj.cpp:
+ (WebCore::TestObjV8Internal::overloadedMethod6Callback):
+ (WebCore::TestObjV8Internal::overloadedMethod7Callback):
+ (WebCore::TestObjV8Internal::overloadedMethod9Callback):
+ (WebCore::TestObjV8Internal::stringArrayFunctionCallback):
+ * bindings/v8/V8Binding.cpp:
+ (WebCore::toDOMStringList):
+ * bindings/v8/V8Binding.h:
+ (WebCore):
+
+2012-08-13 Kentaro Hara <haraken@chromium.org>
+
+ [V8] Rename v8ValueToAtomicWebCoreString() to toWebCoreAtomicString()
+ https://bugs.webkit.org/show_bug.cgi?id=93824
+
+ Reviewed by Adam Barth.
+
+ For naming consistency with toWebCoreString(), we can rename
+ v8ValueToAtomicWebCoreString() to toWebCoreAtomicString().
+ Also we can rename v8ValueToAtomicWebCoreStringWithNullCheck()
+ to toWebCoreAtomicStringWithNullCheck().
+
+ No tests. No change in behavior.
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (GenerateNormalAttrSetter):
+ (GenerateEventListenerCallback):
+ * bindings/scripts/test/V8/V8TestEventTarget.cpp:
+ (WebCore::TestEventTargetV8Internal::addEventListenerCallback):
+ (WebCore::TestEventTargetV8Internal::removeEventListenerCallback):
+ * bindings/scripts/test/V8/V8TestObj.cpp:
+ (WebCore::TestObjV8Internal::addEventListenerCallback):
+ (WebCore::TestObjV8Internal::removeEventListenerCallback):
+ * bindings/v8/V8Binding.cpp:
+ (WebCore::toWebCoreAtomicString):
+ * bindings/v8/V8Binding.h:
+ (WebCore::toWebCoreStringWithNullOrUndefinedCheck):
+ (WebCore::toWebCoreAtomicStringWithNullCheck):
+ * bindings/v8/V8Collection.h:
+ (WebCore::getNamedPropertyOfCollection):
+ * bindings/v8/V8DOMWindowShell.cpp:
+ (WebCore::getter):
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ (WebCore::V8DOMWindow::namedPropertyGetter):
+ * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
+ (WebCore::V8HTMLAllCollection::namedPropertyGetter):
+ * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
+ (WebCore::V8HTMLCollection::namedPropertyGetter):
+ * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
+ (WebCore::V8HTMLFormElement::namedPropertyGetter):
+ * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
+ (WebCore::V8HTMLFrameSetElement::namedPropertyGetter):
+ * bindings/v8/custom/V8NodeListCustom.cpp:
+ (WebCore::V8NodeList::namedPropertyGetter):
+
+2012-08-13 Kentaro Hara <haraken@chromium.org>
+
+ [V8] Remove v8ValueToWebCoreString()
+ https://bugs.webkit.org/show_bug.cgi?id=93822
+
+ Reviewed by Adam Barth.
+
+ There are two equivalent ways to convert a V8 value to a WebCore String;
+ i.e. v8ValueToWebCoreString() and toWebCoreString(). We can remove the former.
+
+ In a follow-up patch, I will replace v8ValueToAtomicWebCoreString()
+ with toWebCoreAtomicString(), for consistency with toWebCoreString().
+
+ No tests. No change in behavior.
+
+ * bindings/v8/Dictionary.cpp:
+ (WebCore::Dictionary::get):
+ (WebCore::Dictionary::getWithUndefinedOrNullCheck):
+ (WebCore::Dictionary::getOwnPropertiesAsStringHashMap):
+ * bindings/v8/IDBBindingUtilities.cpp:
+ (WebCore::createIDBKeyFromValue):
+ * bindings/v8/ScriptDebugServer.cpp:
+ (WebCore::ScriptDebugServer::setBreakpoint):
+ * bindings/v8/V8Binding.cpp:
+ (WebCore::toWebCoreString):
+ (WebCore::v8ValueToWebCoreDOMStringList):
+ * bindings/v8/V8Binding.h:
+ (WebCore::toWebCoreStringWithNullCheck):
+ * bindings/v8/custom/V8MessageEventCustom.cpp:
+ (WebCore::V8MessageEvent::initMessageEventCallback):
+
+2012-08-13 Kentaro Hara <haraken@chromium.org>
+
+ [V8] Move the ConstructorMode class from V8Binding.h to SafeAllocation.h
+ https://bugs.webkit.org/show_bug.cgi?id=93821
+
+ Reviewed by Adam Barth.
+
+ This patch factors out the ConstructorMode class from V8Binding.h to SafeAllocation.h.
+
+ No tests. No change in behavior.
+
+ * bindings/v8/SafeAllocation.h:
+ (ConstructorMode):
+ (WebCore::ConstructorMode::ConstructorMode):
+ (WebCore::ConstructorMode::~ConstructorMode):
+ (WebCore::ConstructorMode::current):
+ (WebCore):
+ * bindings/v8/V8Binding.h:
+ * bindings/v8/V8RecursionScope.h:
+
+2012-08-13 Kentaro Hara <haraken@chromium.org>
+
+ [V8] Remove V8BindingHelpers
+ https://bugs.webkit.org/show_bug.cgi?id=93807
+
+ Reviewed by Adam Barth.
+
+ V8BindingHelpers contains toV8Context() and toV8Proxy(), which are used
+ by NPV8Object.cpp only.
+
+ (1) Move these methods to NPV8Object.cpp as static methods.
+ (2) Remove V8BindingHelpers.{h,cpp}.
+
+ No tests. No change in behavior.
+
+ * UseV8.cmake:
+ * WebCore.gypi:
+ * bindings/v8/NPV8Object.cpp:
+ (WebCore::toV8Context):
+ (WebCore):
+ (WebCore::toV8Proxy):
+ * bindings/v8/V8Binding.h:
+ * bindings/v8/V8BindingHelpers.cpp: Removed.
+ * bindings/v8/V8BindingHelpers.h: Removed.
+
+2012-08-13 Kentaro Hara <haraken@chromium.org>
+
+ [V8] Remove unused methods and headers from V8Utilities
+ https://bugs.webkit.org/show_bug.cgi?id=93805
+
+ Reviewed by Adam Barth.
+
+ This patch removes unused methods, forward declarations and
+ headers from V8Utilities.{h,cpp}.
+
+ No tests. No change in behavior.
+
+ * bindings/v8/V8Utilities.cpp:
+ * bindings/v8/V8Utilities.h:
+ (WebCore):
+
+2012-08-13 Kentaro Hara <haraken@chromium.org>
+
+ [V8] Move V8PerIsolateData::visitExternalStrings() to V8PerIsolateData.cpp
+ https://bugs.webkit.org/show_bug.cgi?id=93803
+
+ Reviewed by Adam Barth.
+
+ In r125015, I forgot to move V8PerIsolateData::visitExternalStrings()
+ to V8PerIsolateData.cpp. This patch moves it.
+
+ No tests. No change in behavior.
+
+ * bindings/v8/V8Binding.cpp:
+ * bindings/v8/V8PerIsolateData.cpp:
+ (WebCore):
+ (WebCore::V8PerIsolateData::visitExternalStrings):
+
+2012-08-13 Elliott Sprehn <esprehn@chromium.org>
+
+ Expand list of supported languages for RenderQuote to match WHATWG spec
+ https://bugs.webkit.org/show_bug.cgi?id=93424
+
+ Reviewed by Eric Seidel.
+
+ Expand the table of quotes to include the 148 lang values and associated quotes
+ from the WHATWG web-apps recommended styling spec.
+
+ Test: fast/css-generated-content/quotes-lang-case-insensitive.html
+
+ * rendering/RenderQuote.cpp: Added missing copyright.
+ (WebCore::quotesDataLanguageMap): Expanded the table of quotes.
+ (WebCore::basicQuotesData): Added a FIXME to switch to using stylized "en" quotes.
+ * rendering/RenderQuote.h: Added missing copyright.
+
+2012-08-09 Kentaro Hara <haraken@chromium.org>
+
+ [V8] Remove evaluateInIsolatedWorld() from V8Proxy
+ https://bugs.webkit.org/show_bug.cgi?id=93679
+
+ Reviewed by Adam Barth.
+
+ To remove V8Proxy, this patch moves V8Proxy::evaluateInIsolatedWorld()
+ to ScriptController.
+
+ No tests. No change in behavior.
+
+ * bindings/v8/ScriptController.cpp:
+ (WebCore::ScriptController::evaluateInIsolatedWorld):
+ * bindings/v8/V8Proxy.cpp:
+ (WebCore::V8Proxy::precompileScript):
+
+2012-08-13 Bear Travis <betravis@adobe.com>
+
+ [CSS Exclusions] Remove unused CSSWrapShapes header includes
+ https://bugs.webkit.org/show_bug.cgi?id=93395
+
+ Reviewed by Kentaro Hara.
+
+ Removing the #include "CSSWrapShapes.h" lines from StyleBuilder.cpp and
+ RenderStyle.cpp. Both files now use the length-based WrapShapes.h classes.
+
+ * css/StyleBuilder.cpp:
+ * rendering/style/RenderStyle.cpp:
+
+2012-08-13 Pravin D <pravind.2k4@gmail.com>
+
+ Bad cast in RenderBox::computeReplacedLogicalHeightUsing
+ https://bugs.webkit.org/show_bug.cgi?id=93875
+
+ Reviewed by Abhishek Arya.
+
+ Pointer to the container of a replaced element was being type casted to renderbox
+ without checking if the container is a renderbox or not.
+
+ Test: fast/replaced/render-inline-cast-to-render-box-crash.html
+
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
+ Scrollbar height is retrieved only if the container is a renderBox. Otherwise scrollbar is taken as zero.
+
+2012-08-13 James Robinson <jamesr@chromium.org>
+
+ [chromium] Make WebAnimation a pure virtual interface to hide implementation and avoid unresolved symbols
+ https://bugs.webkit.org/show_bug.cgi?id=93907
+
+ Reviewed by Darin Fisher.
+
+ Updates WebAnimation users for interface changes.
+
+ * platform/graphics/chromium/AnimationTranslationUtil.cpp:
+ (WebCore::createWebAnimation):
+ * platform/graphics/chromium/GraphicsLayerChromium.cpp:
+ (WebCore::GraphicsLayerChromium::addAnimation):
+
+2012-08-11 Raphael Kubo da Costa <rakuco@webkit.org>
+
+ [CMake] Rewrite FindLibSoup2.cmake.
+ https://bugs.webkit.org/show_bug.cgi?id=93191
+
+ Reviewed by Rob Buis.
+
+ * PlatformEfl.cmake: Use LIBSOUP_FOO instead of LIBSOUP24_FOO,
+ also link against GObject, which is needed by libsoup.
+
+2012-08-10 James Robinson <jamesr@chromium.org>
+
+ [chromium] Clean up dependencies for Canvas2DLayerBridgeTest and GraphicsLayerChromiumTest unit tests
+ https://bugs.webkit.org/show_bug.cgi?id=93757
+
+ Reviewed by Adrienne Walker.
+
+ Exposes the current contentsScale for tests.
+
+ * platform/graphics/chromium/GraphicsLayerChromium.h:
+ (GraphicsLayerChromium):
+
+2012-08-13 Andreas Kling <kling@webkit.org>
+
+ Reduce the size of empty NinePieceImage objects.
+ <http://webkit.org/b/93747>
+
+ Reviewed by Antti Koivisto.
+
+ Move the members of NinePieceImage into a NinePieceImageData class, leaving NinePieceImage
+ with a single OwnPtr<NinePieceImageData> member. The constant NinePieceImage::defaultData()
+ provides default values for objects with null m_data.
+
+ RenderStyle's "StyleSurroundData" member has a BorderData, which in turn holds a NinePieceImage.
+ This means that anything with left/right/top/bottom, margin, padding or border style but *no*
+ border-image will save 104 bytes (assuming their RenderStyle is unshared, which is fairly common.)
+
+ This reduces the size of StyleSurroundData by 104 bytes, effectively reducing memory consumption
+ by 1.72MB when viewing the full HTML5 spec at <http://whatwg.org/c>
+
+ * rendering/style/NinePieceImage.cpp:
+ (WebCore::NinePieceImageData::operator==):
+ (WebCore::NinePieceImage::defaultData):
+ (WebCore):
+ * rendering/style/NinePieceImage.h:
+ (WebCore::NinePieceImageData::NinePieceImageData):
+ (NinePieceImageData):
+ (WebCore::NinePieceImageData::operator!=):
+ (WebCore):
+ (NinePieceImage):
+ (WebCore::NinePieceImage::NinePieceImage):
+ (WebCore::NinePieceImage::operator=):
+ (WebCore::NinePieceImage::operator==):
+ (WebCore::NinePieceImage::operator!=):
+ (WebCore::NinePieceImage::hasImage):
+ (WebCore::NinePieceImage::image):
+ (WebCore::NinePieceImage::setImage):
+ (WebCore::NinePieceImage::imageSlices):
+ (WebCore::NinePieceImage::setImageSlices):
+ (WebCore::NinePieceImage::fill):
+ (WebCore::NinePieceImage::setFill):
+ (WebCore::NinePieceImage::borderSlices):
+ (WebCore::NinePieceImage::setBorderSlices):
+ (WebCore::NinePieceImage::outset):
+ (WebCore::NinePieceImage::setOutset):
+ (WebCore::NinePieceImage::horizontalRule):
+ (WebCore::NinePieceImage::setHorizontalRule):
+ (WebCore::NinePieceImage::verticalRule):
+ (WebCore::NinePieceImage::setVerticalRule):
+ (WebCore::NinePieceImage::copyImageSlicesFrom):
+ (WebCore::NinePieceImage::copyBorderSlicesFrom):
+ (WebCore::NinePieceImage::copyOutsetFrom):
+ (WebCore::NinePieceImage::copyRepeatFrom):
+ (WebCore::NinePieceImage::setMaskDefaults):
+ (WebCore::NinePieceImage::ensureData):
+ (WebCore::NinePieceImage::data):
+
+2012-08-13 Florin Malita <fmalita@chromium.org>
+
+ WebKit+SVG does not support color-interpolation-filters or draw filters in correct colorspace
+ https://bugs.webkit.org/show_bug.cgi?id=6033
+
+ Reviewed by Dirk Schulze.
+
+ This patch adds support for SVG color-interpolation-filters. All non-CG plarforms now
+ perform color space conversions as needed (CG performs color space adjustments internally),
+ and the new default color space for filters is linearRGB
+ (http://www.w3.org/TR/SVG/filters.html#FilterPrimitivesOverviewIntro).
+
+ FilterEffect tracks the color-interpolation-filters attribute (m_colorSpace) and the
+ current result color space (m_resultColorSpace). When applying, the input results are
+ converted to the current FilterEffect's color space, and at the end of the filter effect
+ chain the result is finally converted to ColorSpaceDeviceRGB.
+
+ FilterEffect::transformResultColorSpace() handles non-CG color space converion (CG has
+ built in support for different color spaces) by first converting the result to an image
+ buffer, and then using the platform specific ImageBuffer::transformColorSpace(). This can
+ be expensive for filter chains with alternating color-interpolation-filters, but can be
+ optimized if/when color space support is added to all the graphics backends similarly to CG.
+
+ As expected, lots of filter-related pixel results will require rebaselining after this lands.
+
+ Test: svg/filters/color-interpolation-filters.svg
+
+ * platform/graphics/filters/FilterEffect.cpp:
+ (WebCore::FilterEffect::FilterEffect):
+ (WebCore::FilterEffect::apply):
+ (WebCore::FilterEffect::asImageBuffer):
+ (WebCore::FilterEffect::createImageBufferResult):
+ (WebCore::FilterEffect::transformResultColorSpace):
+ (WebCore):
+ * platform/graphics/filters/FilterEffect.h:
+ (WebCore::FilterEffect::colorSpace):
+ (WebCore::FilterEffect::setColorSpace):
+ (FilterEffect):
+ * platform/graphics/filters/SourceGraphic.h:
+ (WebCore::SourceGraphic::SourceGraphic):
+ * rendering/FilterEffectRenderer.cpp:
+ (WebCore::FilterEffectRenderer::apply):
+ * rendering/svg/RenderSVGResourceFilter.cpp:
+ (WebCore::RenderSVGResourceFilter::buildPrimitives):
+ (WebCore::RenderSVGResourceFilter::postApplyResource):
+
+2012-08-13 Raymond Toy <rtoy@google.com>
+
+ Oscillator node should throw exception if type is assigned an invalid value
+ https://bugs.webkit.org/show_bug.cgi?id=93490
+
+ Reviewed by Chris Rogers.
+
+ New tests added to oscillator-basic to catch exceptions.
+
+ * Modules/webaudio/Oscillator.cpp:
+ (WebCore::Oscillator::Oscillator):
+ (WebCore::Oscillator::setType): Return exception
+ * Modules/webaudio/Oscillator.h:
+ (Oscillator): Update setType declaration
+ * Modules/webaudio/Oscillator.idl: setType can raise exception.
+
+2012-08-13 Chris Rogers <crogers@google.com>
+
+ AudioContext::createMediaStreamSource() must create a provider for local MediaStreams
+ https://bugs.webkit.org/show_bug.cgi?id=93756
+
+ Reviewed by Eric Carlson.
+
+ There are two main kinds of MediaStreams (local and from remote peers).
+ Internally we need to know the difference so a MediaStreamAudioSourceNode will "just work".
+
+ Tested by existing test: mediastreamaudiosourcenode.html
+ Full testing can only be verified by manual tests.
+
+ * Modules/mediastream/LocalMediaStream.h:
+ (LocalMediaStream):
+ * Modules/mediastream/MediaStream.h:
+ (WebCore::MediaStream::isLocal):
+ (MediaStream):
+ * Modules/webaudio/AudioContext.cpp:
+ (WebCore::AudioContext::createMediaStreamSource):
+
+2012-08-13 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Unreviewed, rolling out r125444.
+ http://trac.webkit.org/changeset/125444
+ https://bugs.webkit.org/show_bug.cgi?id=93872
+
+ Broke some tests
+
+ * bridge/qt/qt_runtime.cpp:
+ (JSC::Bindings::QtRuntimeMethod::~QtRuntimeMethod):
+ (JSC::Bindings::QtRuntimeMethod::jsObjectRef):
+ * bridge/qt/qt_runtime.h:
+ (QtRuntimeMethod):
+
+2012-08-13 Thiago Marcos P. Santos <thiago.santos@intel.com>
+
+ CanvasRenderContext2D::font() does not re-serialize the font
+ https://bugs.webkit.org/show_bug.cgi?id=50859
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Added proper serialization for the font property.
+
+ No new tests, unskipped the existing ones.
+
+ * html/canvas/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::font):
+
+2012-08-13 Elliott Sprehn <esprehn@chromium.org>
+
+ CSS quotes output quotes when depth is negative
+ https://bugs.webkit.org/show_bug.cgi?id=92690
+
+ Reviewed by Eric Seidel.
+
+ Previously if the quote depth would go negative we would output the close quote from the
+ first pair of quotes again instead of outputting no quotes as required by the spec.
+
+ See: http://www.w3.org/TR/CSS21/generate.html#quotes-insert
+
+ Test: fast/css-generated-content/nested-quote-more-than-pairs.html
+
+ * rendering/RenderQuote.cpp:
+ (WebCore::RenderQuote::originalText): Allow the value passed to getOpenQuote to go negative by removing std::max.
+ * rendering/style/QuotesData.cpp:
+ (WebCore::QuotesData::getOpenQuote): Bounds check for negative values for safety.
+ (WebCore::QuotesData::getCloseQuote): Allow index to be >= -1 and return an empty string for -1.
+
2012-08-13 Vangelis Kokkevis <vangelis@chromium.org>
[chromium] Clear HUD canvas contents before drawing into it.
@@ -13056,7 +20860,7 @@
2012-08-02 Ryosuke Niwa <rniwa@webkit.org>
- Let XCode have its own away and also sort the files.
+ Let Xcode have its own away and also sort the files.
* WebCore.xcodeproj/project.pbxproj:
@@ -37347,7 +45151,7 @@
2012-07-12 Ryosuke Niwa <rniwa@webkit.org>
- Let XCode have its own way.
+ Let Xcode have its own way.
* WebCore.xcodeproj/project.pbxproj:
@@ -38967,7 +46771,7 @@
2012-07-11 Ryosuke Niwa <rniwa@webkit.org>
Clang build fix after r122345.
- Also let XCode do its own thing.
+ Also let Xcode do its own thing.
* WebCore.xcodeproj/project.pbxproj:
* html/HTMLCollection.cpp:
« no previous file with comments | « no previous file | Source/WebCore/platform/graphics/chromium/CompositorHUDFontAtlas.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698