blob: 3237251cb95080c83e8d6f443d6ad8f72d1846be [file] [log] [blame]
2011-11-28 Oliver Hunt <oliver@apple.com>
Move typed array implementations into wtf
https://bugs.webkit.org/show_bug.cgi?id=73248
Reviewed by Sam Weinig.
Removed the typed array implementation files from WebCore and
added forwarding headers.
* CMakeLists.txt:
* ForwardingHeaders/wtf/ArrayBuffer.h: Added.
* ForwardingHeaders/wtf/ArrayBufferView.h: Added.
* ForwardingHeaders/wtf/Float32Array.h: Added.
* ForwardingHeaders/wtf/Float64Array.h: Added.
* ForwardingHeaders/wtf/Int16Array.h: Added.
* ForwardingHeaders/wtf/Int32Array.h: Added.
* ForwardingHeaders/wtf/Int8Array.h: Added.
* ForwardingHeaders/wtf/Uint16Array.h: Added.
* ForwardingHeaders/wtf/Uint32Array.h: Added.
* ForwardingHeaders/wtf/Uint8Array.h: Added.
* GNUmakefile.list.am:
* Target.pri:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSArrayBufferCustom.cpp:
* bindings/js/JSArrayBufferViewHelper.h:
* bindings/js/JSAudioContextCustom.cpp:
* bindings/js/JSFileReaderCustom.cpp:
* bindings/js/JSFloat32ArrayCustom.cpp:
* bindings/js/JSFloat64ArrayCustom.cpp:
* bindings/js/JSInt16ArrayCustom.cpp:
* bindings/js/JSInt32ArrayCustom.cpp:
* bindings/js/JSInt8ArrayCustom.cpp:
* bindings/js/JSUint16ArrayCustom.cpp:
* bindings/js/JSUint32ArrayCustom.cpp:
* bindings/js/JSUint8ArrayCustom.cpp:
* bindings/js/JSWaveShaperNodeCustom.cpp:
* bindings/js/JSWebGLRenderingContextCustom.cpp:
* bindings/js/JSXMLHttpRequestCustom.cpp:
* bindings/scripts/CodeGeneratorJS.pm:
(AddIncludesForType):
(GenerateHeader):
(NativeToJSValue):
* bindings/scripts/test/JS/JSFloat64Array.cpp:
* bindings/scripts/test/JS/JSFloat64Array.h:
* dom/MessageEvent.h:
* fileapi/FileReader.cpp:
* fileapi/FileReaderLoader.cpp:
* fileapi/FileReaderSync.cpp:
* fileapi/WebKitBlobBuilder.cpp:
* html/HTMLMediaElement.cpp:
* html/canvas/ArrayBuffer.h: Removed.
* html/canvas/ArrayBufferView.cpp: Removed.
* html/canvas/DataView.h:
* html/canvas/Float64Array.cpp: Removed.
* html/canvas/Int16Array.h: Removed.
* html/canvas/Int32Array.h: Removed.
* html/canvas/Int8Array.h: Removed.
* html/canvas/Uint16Array.h: Removed.
* html/canvas/Uint32Array.h: Removed.
* html/canvas/Uint8Array.cpp: Removed.
* html/canvas/WebGLBuffer.cpp:
* html/canvas/WebGLBuffer.h:
* html/canvas/WebGLGetInfo.cpp:
* html/canvas/WebGLGetInfo.h:
* html/canvas/WebGLRenderingContext.cpp:
* html/canvas/WebGLRenderingContext.h:
* page/Crypto.cpp:
* platform/graphics/GraphicsContext3D.cpp:
* platform/graphics/mac/GraphicsContext3DMac.mm:
* platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
* webaudio/AsyncAudioDecoder.cpp:
* webaudio/AudioBuffer.h:
* webaudio/AudioContext.cpp:
* webaudio/AudioParam.h:
* webaudio/AudioParamTimeline.h:
* webaudio/JavaScriptAudioNode.cpp:
* webaudio/RealtimeAnalyser.cpp:
* webaudio/WaveShaperProcessor.h:
* websockets/WebSocketChannel.cpp:
* websockets/WorkerThreadableWebSocketChannel.cpp:
* xml/XMLHttpRequest.cpp:
2011-11-28 Robert Hogan <robert@webkit.org>
Unreviewed, rolling out r101202.
http://trac.webkit.org/changeset/101202
https://bugs.webkit.org/show_bug.cgi?id=71244
Caused performance regressions when painting collapsed borders
* rendering/RenderTableCell.cpp:
(WebCore::compareBorders):
(WebCore::RenderTableCell::collapsedStartBorder):
(WebCore::RenderTableCell::collapsedEndBorder):
(WebCore::RenderTableCell::collapsedBeforeBorder):
(WebCore::RenderTableCell::collapsedAfterBorder):
* rendering/style/CollapsedBorderValue.h:
(WebCore::CollapsedBorderValue::CollapsedBorderValue):
(WebCore::CollapsedBorderValue::operator==):
* rendering/style/RenderStyleConstants.h:
2011-11-28 Beth Dakin <bdakin@apple.com>
https://bugs.webkit.org/show_bug.cgi?id=72551
When the recommended scrollbar style changes, WKView's tracking options should
adjust accordingly
-and corresponding-
<rdar://problem/10409328>
Reviewed by Darin Adler.
This new ChromeClient function is called when the recommended scrollbar style
changes. This way, WebKit can respond to the change by adjusting its mouse
tracking.
* page/ChromeClient.h:
(WebCore::ChromeClient::recommendedScrollbarStyleDidChange):
Existing ScrollableArea function scrollbarStyleChanged() now takes an int
indicating the new scrollbar style and a bool indicating whether it is necessary
to force an update. It used to be the case that this function was ONLY used to
force an update (and only called when an updated was needed), but now that it must
also call into the ChromeClient, it is necessary to include a bool tracking
whether we need to force an update. New implementation on FrameView is responsible
for calling ChromeClient, and then that calls into the pre-existing ScrollView
function for the forceUpdate part.
* page/FrameView.cpp:
(WebCore::FrameView::scrollbarStyleChanged):
* page/FrameView.h:
* platform/ScrollView.cpp:
(WebCore::ScrollView:: scrollbarStyleChanged):
* platform/ScrollView.h:
* platform/ScrollableArea.h:
(WebCore::ScrollableArea::scrollbarStyleChanged):
* platform/mac/ScrollAnimatorMac.mm:
(WebCore::ScrollAnimatorMac::updateScrollerStyle):
2011-11-28 Julien Chaffraix <jchaffraix@webkit.org>
Add limited parsing support for grid-columns and grid-rows
https://bugs.webkit.org/show_bug.cgi?id=72531
Reviewed by Tony Chang.
Test: fast/css-grid-layout/grid-columns-rows-get-set.html
Added support for:
<track-list> := <length> | <percentage> | 'none' | 'auto'
* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* rendering/style/StyleAllInOne.cpp:
Updated our build systems.
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::valueForGridTrackList):
Helper function to convert our RenderStyle information to a proper CSSValue.
It doesn't do much now but it will be expanded as we add more support.
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Call the previous
function.
* css/CSSParser.h:
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseGridTrackList):
CSS parsing part of this change. Pretty simple for now.
* css/CSSPropertyNames.in:
Added -webkit-grid-columns and -webkit-grid-rows.
* css/CSSProperty.cpp:
(WebCore::CSSProperty::isInheritedProperty):
* css/CSSStyleApplyProperty.cpp:
(WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
Style application plumbing.
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::RenderStyle):
(WebCore::RenderStyle::diff):
This change is required for later when we add layout for our grid.
* rendering/style/RenderStyle.h:
(WebCore::InheritedFlags::gridColumns):
(WebCore::InheritedFlags::gridRows):
(WebCore::InheritedFlags::setGridColumns):
(WebCore::InheritedFlags::setGridRows):
(WebCore::InheritedFlags::initialGridColumns):
(WebCore::InheritedFlags::initialGridRows):
Getters / Setters and initial values.
* rendering/style/StyleGridData.cpp: Added.
(WebCore::StyleGridData::StyleGridData):
* rendering/style/StyleGridData.h: Added.
(WebCore::StyleGridData::create):
(WebCore::StyleGridData::copy):
(WebCore::StyleGridData::operator==):
(WebCore::StyleGridData::operator!=):
This class holds the grid element information. For now pretty simple
shell that will be used for the rest of the support.
* rendering/style/StyleRareNonInheritedData.cpp:
(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator==):
* rendering/style/StyleRareNonInheritedData.h:
Added StyleGridElementData to StyleRareNonInheritedData.
2011-11-28 Noel Gordon <noel.gordon@gmail.com>
[chromium] Use data decoding swizzle for turbo JPEG image decoding.
https://bugs.webkit.org/show_bug.cgi?id=59670
Reviewed by Kenneth Russell.
Add a BGRX row decode data swizzle for the little-endian ports that use libjpeg-turbo
(Chromium win/linux/mac) to reduce JPEG image decoding time by ~2x.
JPEG images of type JSC_GRAYSCALE are excluded since layout regressions were observed
for grayscale images produced by older tools (XV 3.10a 12/19/94). libjpeg decodes the
images without error; libjpeg-turbo caused visible artifacts (see bug for examples).
This patch is based on the work of Hironori Bono. He provided the original patch, and
the quantitative results confirming the significant performance improvement.
No new tests. Covered by many existing tests.
* platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
(rgbOutputColorSpace): If JCS_EXTENSIONS is defined (libjpeg-turbo), and the port is
little-endian, define a BGRX data swizzle for use when decoding pixel rows.
(turboSwizzled):
(WebCore::JPEGImageReader::decode): Select a possibly swizzled rgbOutputColorSpace()
for JSC_RGB and JCS_YCbCr input color space images. Exclude JSC_GRAYSCALE images.
(WebCore::JPEGImageDecoder::outputScanlines): Swizzle decode, if applicable.
2011-11-28 Fady Samuel <fsamuel@chromium.org>
Fix Aspect Ratio Property Inheritance And Make the Computed Value Equal the Specified Value
https://bugs.webkit.org/show_bug.cgi?id=73038
Reviewed by Ojan Vafai.
hasAspectRatio was not being set if the -webkit-aspect-ratio property was inherited from the parent.
Additionally, the computed value of -webkit-aspect-ratio was returning a number instead of a ratio.
Test: fast/css/aspect-ratio-inheritance.html
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSStyleApplyProperty.cpp:
(WebCore::ApplyPropertyAspectRatio::applyInheritValue):
2011-11-28 Ken Buchanan <kenrb@chromium.org>
Crash due to bidi style in isolated run
https://bugs.webkit.org/show_bug.cgi?id=72978
Reviewed by Eric Seidel.
Prevent the UBA from changing the embedding level when inside an isolated run.
* rendering/InlineIterator.h:
(WebCore::notifyObserverEnteredObject):
(WebCore::notifyObserverWillExitObject):
2011-11-28 Martin Robinson <mrobinson@igalia.com>
Fix 'make dist' by adding two missing files to source list.
* GNUmakefile.list.am: Add missing files.
2011-11-25 Ryosuke Niwa <rniwa@webkit.org>
dir=auto should imply unicode-bidi:isolate by default
https://bugs.webkit.org/show_bug.cgi?id=63903
Reviewed by Dan Bernstein.
Fixed WebKit's implementation of bdo, bdi, and output elements to match HTML5 spec section 10.3.5:
http://dev.w3.org/html5/spec/Overview.html#bidirectional-text
Any element with dir=auto other than bdo, textarea, and pre should use unicode-bidi: -webkit-isolate by default.
We still don't use -webkit-isolate for non-phrasing elements by default and unicode-override -webkit-isolate for
bdo[dir=auto] so these two cases are failing in the added test.
Test: fast/css/default-bidi-css-rules.html
* css/html.css:
(bdi, output): bdi and output should both use -webkit-isolate as the default value for unicode-bidi.
(bdo): bdo should use bidi-override as the default value for unicode-bidi.
* dom/MappedAttributeEntry.h: Add eBDI, which is used by bdi and output elements.
* html/HTMLElement.cpp:
(WebCore::HTMLElement::mapToEntry): Don't share the cache for dir attribute between bdi and other elements
just like we don't share the cache for dir attribute between bdo and other elements.
(WebCore::unicodeBidiAttributeForDirAuto): Don't set bidi-override for bdo element since this is done
in the UA stylesheet now. Set unicode-bidi to -webkit-isolate for elements other than pre and textarea now that
this function is called only when dir=auto.
called when dir=auto as the name implies.
(WebCore::HTMLElement::parseMappedAttribute): Don't call unicodeBidiAttributeForDirAuto when dir is not
auto. Also set unicode-bidi to embed when dir is not auto and the element is neither bdi, bdo, nor output.
* html/HTMLOutputElement.cpp:
(WebCore::HTMLOutputElement::mapToEntry): Don't share the cache for dir between output and other elements.
* html/HTMLOutputElement.h:
* html/HTMLTagNames.in:
2011-11-28 Jer Noble <jer.noble@apple.com>
WebAudio: AudioContext::uninitialize() can caused AudioContext deletion before deleting marked nodes.
https://bugs.webkit.org/show_bug.cgi?id=72755
Reviewed by Eric Carlson.
No new tests.
Protect AudioContext from being deleted before uninitialize() returns. Fixes an assertion in ~AudioContext() and
a potential source of leaks.
* webaudio/AudioContext.cpp:
(WebCore::AudioContext::uninitialize):
2011-11-28 Andreas Kling <kling@webkit.org>
InspectorCSSAgent: Remove unused function inlineStyleElement().
<http://webkit.org/b/73221>
Reviewed by Pavel Feldman.
* inspector/InspectorCSSAgent.cpp:
* inspector/InspectorCSSAgent.h:
2011-11-28 Simon Hausmann <simon.hausmann@nokia.com>
[Qt] Build system fixes against V8.
Reviewed by Tor Arne Vestbø.
* DerivedSources.pri: Add missing binding files to the build and also added
the regexp table generation needed for Yarr, which is compiled statically into
WebCore to implement WebCore::RegularExpression.
* Target.pri: Adapt to latest v8 binding files.
2011-11-28 Andrey Kosyakov <caseq@chromium.org>
Web Inspector: resource status image is mis-aligned in the network headers view
https://bugs.webkit.org/show_bug.cgi?id=73211
Reviewed by Pavel Feldman.
* inspector/front-end/ResourceHeadersView.js:
(WebInspector.ResourceHeadersView):
2011-11-28 Pavel Feldman <pfeldman@google.com>
Web Inspector: console evaluation doesn't work when navigating from a page with several frames to another one
https://bugs.webkit.org/show_bug.cgi?id=73210
Reviewed by Yury Semikhatsky.
Test: http/tests/inspector/resource-tree/resource-tree-events.html
* inspector/Inspector.json:
* inspector/front-end/ResourceTreeModel.js:
(WebInspector.ResourceTreeModel.prototype._frameDetached):
(WebInspector.ResourceTreeFrame.prototype.navigate):
(WebInspector.ResourceTreeFrame.prototype.removeChildFrame):
(WebInspector.ResourceTreeFrame.prototype.removeChildFrames):
2011-11-28 Pavel Feldman <pfeldman@google.com>
Web Inspector: introduce InspectorBaseAgent.
https://bugs.webkit.org/show_bug.cgi?id=73203
Now that inspector controller does not depend on concrete inspector agent
classes, we can collect agent instances using abstract type.
Reviewed by Yury Semikhatsky.
* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* inspector/InspectorAgent.cpp:
(WebCore::InspectorAgent::InspectorAgent):
* inspector/InspectorAgent.h:
* inspector/InspectorApplicationCacheAgent.cpp:
(WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
* inspector/InspectorApplicationCacheAgent.h:
* inspector/InspectorBaseAgent.cpp: Copied from Source/WebCore/inspector/InspectorFileSystemAgent.h.
(WebCore::InspectorBaseAgent::InspectorBaseAgent):
(WebCore::InspectorBaseAgent::~InspectorBaseAgent):
* inspector/InspectorBaseAgent.h: Copied from Source/WebCore/inspector/InspectorFileSystemAgent.h.
* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::InspectorCSSAgent):
* inspector/InspectorCSSAgent.h:
(WebCore::InspectorCSSAgent::setFrontend):
(WebCore::InspectorCSSAgent::restore):
* inspector/InspectorConsoleAgent.cpp:
(WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
(WebCore::InspectorConsoleAgent::~InspectorConsoleAgent):
(WebCore::InspectorConsoleAgent::enable):
(WebCore::InspectorConsoleAgent::disable):
(WebCore::InspectorConsoleAgent::clearMessages):
(WebCore::InspectorConsoleAgent::restore):
(WebCore::InspectorConsoleAgent::clearFrontend):
(WebCore::InspectorConsoleAgent::resourceRetrievedByXMLHttpRequest):
(WebCore::InspectorConsoleAgent::setMonitoringXHREnabled):
(WebCore::InspectorConsoleAgent::addConsoleMessage):
* inspector/InspectorConsoleAgent.h:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::InspectorDOMAgent):
(WebCore::InspectorDOMAgent::clearFrontend):
(WebCore::InspectorDOMAgent::setDocument):
(WebCore::InspectorDOMAgent::getDocument):
(WebCore::InspectorDOMAgent::mainFrameDOMContentLoaded):
* inspector/InspectorDOMAgent.h:
* inspector/InspectorDOMStorageAgent.cpp:
(WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
(WebCore::InspectorDOMStorageAgent::restore):
(WebCore::InspectorDOMStorageAgent::enable):
(WebCore::InspectorDOMStorageAgent::disable):
* inspector/InspectorDOMStorageAgent.h:
* inspector/InspectorDatabaseAgent.cpp:
(WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
(WebCore::InspectorDatabaseAgent::enable):
(WebCore::InspectorDatabaseAgent::disable):
(WebCore::InspectorDatabaseAgent::restore):
* inspector/InspectorDatabaseAgent.h:
* inspector/InspectorDebuggerAgent.cpp:
(WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
(WebCore::InspectorDebuggerAgent::disable):
(WebCore::InspectorDebuggerAgent::enabled):
(WebCore::InspectorDebuggerAgent::enable):
(WebCore::InspectorDebuggerAgent::clearFrontend):
(WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
(WebCore::InspectorDebuggerAgent::removeBreakpoint):
(WebCore::InspectorDebuggerAgent::didParseSource):
* inspector/InspectorDebuggerAgent.h:
* inspector/InspectorFileSystemAgent.cpp:
(WebCore::InspectorFileSystemAgent::InspectorFileSystemAgent):
* inspector/InspectorFileSystemAgent.h:
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::InspectorPageAgent):
* inspector/InspectorPageAgent.h:
* inspector/InspectorProfilerAgent.cpp:
(WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
(WebCore::InspectorProfilerAgent::enable):
(WebCore::InspectorProfilerAgent::disable):
(WebCore::InspectorProfilerAgent::restore):
(WebCore::InspectorProfilerAgent::restoreEnablement):
(WebCore::InspectorProfilerAgent::start):
(WebCore::InspectorProfilerAgent::stop):
* inspector/InspectorProfilerAgent.h:
* inspector/InspectorResourceAgent.cpp:
(WebCore::InspectorResourceAgent::InspectorResourceAgent):
* inspector/InspectorResourceAgent.h:
* inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
* inspector/InspectorTimelineAgent.h:
* inspector/InspectorWorkerAgent.cpp:
(WebCore::InspectorWorkerAgent::InspectorWorkerAgent):
(WebCore::InspectorWorkerAgent::restore):
(WebCore::InspectorWorkerAgent::clearFrontend):
(WebCore::InspectorWorkerAgent::setWorkerInspectionEnabled):
(WebCore::InspectorWorkerAgent::setAutoconnectToWorkers):
(WebCore::InspectorWorkerAgent::shouldPauseDedicatedWorkerOnStart):
(WebCore::InspectorWorkerAgent::didStartWorkerContext):
(WebCore::InspectorWorkerAgent::createWorkerFrontendChannel):
* inspector/InspectorWorkerAgent.h:
2011-11-28 Ilya Tikhonovsky <loislo@chromium.org>
Web Inspector: chromium: Unreviewed one-line fix for Summary view filter.
* inspector/front-end/HeapSnapshot.js:
(WebInspector.HeapSnapshot.prototype.createNodesProviderForClass):
2011-11-28 Pavel Feldman <pfeldman@google.com>
Not reviewed: disable filesystem instrumentation to unbreak Qt tests.
* inspector/front-end/inspector.js:
2011-11-28 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r101249.
http://trac.webkit.org/changeset/101249
https://bugs.webkit.org/show_bug.cgi?id=73205
it broke qt-minimal and wince builds (Requested by loislo on
#webkit).
* inspector/CodeGeneratorInspector.py:
(Capitalizer.upper_camel_case_to_lower):
(RawTypes.get):
(RawTypes.String.get_c_param_type):
(RawTypes.Object.get_c_param_type):
(RawTypes.Object):
(ParamType):
(TypeData.__init__):
(TypeData.get_raw_type):
(TypeMap.__init__):
(InspectorFrontend_h):
(InspectorArray):
(InspectorObject):
(String):
(InspectorBackendDispatcher_h):
(Generator.process_command):
* inspector/InspectorValues.h:
2011-11-28 Andreas Kling <kling@webkit.org>
CSSStyleDeclaration: Remove ability to have style sheet as parent.
<http://webkit.org/b/73199>
Reviewed by Antti Koivisto.
Refactor so we don't have to support style sheets as parents of style declarations.
The users of this mechanism were mapped attributes and inline styles, which instead
now know how to find the relevant style sheet via their document().
* css/CSSMutableStyleDeclaration.h:
* css/CSSMutableStyleDeclaration.cpp:
(WebCore::CSSElementStyleDeclaration::styleSheet):
Added CSSElementStyleDeclaration::styleSheet(). The default implementation
returns the associated element's document()->elementSheet(). It is virtual
because SVGFontFaceElement needs document()->mappedElementSheet() instead.
* css/CSSStyleDeclaration.h:
(WebCore::CSSStyleDeclaration::parentRule):
(WebCore::CSSStyleDeclaration::setParentRule):
* css/CSSStyleDeclaration.cpp:
(WebCore::CSSStyleDeclaration::CSSStyleDeclaration):
Remove m_parentIsRule and m_parentStyleSheet, leaving only m_parentRule.
* css/CSSStyleDeclaration.cpp:
(WebCore::CSSStyleDeclaration::parentStyleSheet):
Out-of-lined so it can return the CSSElementStyleDeclaration::styleSheet() for
declarations with an associated element.
* css/WebKitCSSKeyframeRule.cpp:
(WebCore::WebKitCSSKeyframeRule::~WebKitCSSKeyframeRule):
(WebCore::WebKitCSSKeyframeRule::setDeclaration):
Use setParentRule() instead of setParentStyleSheet() on the internal
CSSMutableStyleDeclaration in keyframe rules.
* dom/StyledElement.h:
Removed StyledElement::didMoveToNewOwnerDocument() since we no longer need to
manually keep the inline style's parent style sheet pointer up-to-date.
* dom/StyledElement.cpp:
(WebCore::StyledElement::createInlineStyleDecl):
(WebCore::StyledElement::destroyInlineStyleDecl):
(WebCore::StyledElement::attributeChanged):
(WebCore::StyledElement::createMappedDecl):
* html/HTMLTableElement.cpp:
(WebCore::HTMLTableElement::additionalAttributeStyleDecls):
(WebCore::HTMLTableElement::addSharedCellBordersDecl):
(WebCore::HTMLTableElement::addSharedCellPaddingDecl):
(WebCore::HTMLTableElement::addSharedGroupDecls):
* svg/SVGFontFaceElement.cpp:
(WebCore::SVGFontFaceElement::SVGFontFaceElement):
Remove setParentStyleSheet() calls on mapped attributes and inline styles.
They now find the relevant style sheet by following the associated element ptr.
* svg/SVGFontFaceElement.cpp:
(WebCore::FontFaceStyleDeclaration::FontFaceStyleDeclaration):
(WebCore::FontFaceStyleDeclaration::~FontFaceStyleDeclaration):
(WebCore::FontFaceStyleDeclaration::styleSheet):
Subclass CSSElementStyleDeclaration for SVG's font-face elment in order to
override styleSheet(). This is necessary because they operate on the document's
mappedElementSheet() rather than the elementSheet().
2011-11-28 Peter Rybin <peter.rybin@gmail.com>
Web Inspector: [protocol] generate C++ classes for protocol JSON named types
https://bugs.webkit.org/show_bug.cgi?id=72835
Reviewed by Pavel Feldman.
Extends python generator functionality.
Makes constructor in InspectorObject public.
* inspector/CodeGeneratorInspector.py:
* inspector/InspectorValues.h:
2011-11-28 Simon Hausmann <simon.hausmann@nokia.com>
[Qt] WTF should be built as separate static library
https://bugs.webkit.org/show_bug.cgi?id=73201
Reviewed by Tor Arne Vestbø.
* Target.pri: Require wtf and don't claim to be building it
with BUILDING_WTF in DEFINES (otherwise we won't link it with
debug-shlib builds).
2011-11-28 Taiju TSUIKI <tzik@chromium.org>
Fix build error on Chromium/Windows.
https://bugs.webkit.org/show_bug.cgi?id=73200
Unreviewed build fix.
* inspector/InspectorFileSystemAgent.cpp:
2011-11-28 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Fix make distcheck issues.
* GNUmakefile.list.am: Add missing files.
* bindings/gobject/GNUmakefile.am: Only build
WebKitDOMHTMLPropertiesCollection when microdate is enabled.
2011-11-28 Luke Macpherson <macpherson@chromium.org>
Implement CSS border image properties in CSSStyleApplyProperty.
https://bugs.webkit.org/show_bug.cgi?id=72846
Reviewed by Andreas Kling.
Refactoring that implements CSS border image properties in CSSStyleApplyProperty.
Part of the larger refactoring aimed at removing CSSStyleSelector::applyProperty().
Covered by existing tests in fast/css.
* css/CSSStyleApplyProperty.cpp:
Implement property handlers based on existing code.
(WebCore::ApplyPropertyBorderImage::setValue):
(WebCore::ApplyPropertyBorderImage::applyValue):
(WebCore::ApplyPropertyBorderImage::createHandler):
(WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
* css/CSSStyleSelector.cpp:
Remove old code.
(WebCore::CSSStyleSelector::applyProperty):
2011-11-28 Luke Macpherson <macpherson@chromium.org>
Implement CSS hyphenate-limit properties in CSSStyleApplyProperty
https://bugs.webkit.org/show_bug.cgi?id=73107
Reviewed by Andreas Kling.
Covered by existing tests under fast/css (parsing-hyphenate-limit-lines.html, parsing-hyphenate-limit.html, text/hyphenate-limit-lines.html)
* css/CSSStyleApplyProperty.cpp:
(WebCore::ApplyPropertyNumber::setValue):
(WebCore::ApplyPropertyNumber::applyValue):
(WebCore::ApplyPropertyNumber::createHandler):
(WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
2011-11-28 Taiju TSUIKI <tzik@chromium.org>
[Inspector][FileSystem]: Capture DOMFileSystem object.
Adding files for FileSystem support to Inspector.
Adding hooks into DOMFileSystem creation and destruction.
https://bugs.webkit.org/show_bug.cgi?id=72456
Reviewed by Pavel Feldman.
Tests should be added in later CL.
* CMakeLists.txt:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* fileapi/DOMFileSystem.cpp:
(WebCore::DOMFileSystem::create):
* fileapi/DOMFileSystem.h:
* inspector/CodeGeneratorInspector.py:
* inspector/Inspector.json:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::connectFrontend):
(WebCore::InspectorController::disconnectFrontend):
(WebCore::InspectorController::restoreInspectorStateFromCookie):
* inspector/InspectorController.h:
* inspector/InspectorFileSystemAgent.cpp: Added.
* inspector/InspectorFileSystemAgent.h: Added.
* inspector/InspectorFileSystemInstrumentation.h: Added.
* inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::didOpenFileSystemImpl):
* inspector/InspectorInstrumentation.h:
* inspector/InstrumentingAgents.h:
(WebCore::InstrumentingAgents::InstrumentingAgents):
(WebCore::InstrumentingAgents::inspectorFileSystemAgent):
(WebCore::InstrumentingAgents::setInspectorFileSystemAgent):
* inspector/WorkerInspectorController.cpp:
(WebCore::WorkerInspectorController::connectFrontend):
* inspector/front-end/inspector.js:
2011-11-28 Luke Macpherson <macpherson@chromium.org>
Implement CSSPropertyWebkitFlowInto and CSSPropertyWebkitFlowFrom in CSSStyleApplyProperty.
https://bugs.webkit.org/show_bug.cgi?id=73110
Reviewed by Andreas Kling.
Covered by existing tests under fast/regions.
* css/CSSStyleApplyProperty.cpp:
(WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
2011-11-27 Luke Macpherson <macpherson@chromium.org>
Implement vertical-align property in CSSStyleApplyProperty.
https://bugs.webkit.org/show_bug.cgi?id=72926
Reviewed by Andreas Kling.
Part of the ongoing refactoring of CSSStyleSelector::applyProperty.
Covered by several tests under fast/css.
* css/CSSPrimitiveValue.h:
(WebCore::CSSPrimitiveValue::isPercent):
* css/CSSStyleApplyProperty.cpp:
(WebCore::ApplyPropertyVerticalAlign::applyValue):
(WebCore::ApplyPropertyVerticalAlign::createHandler):
(WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
* rendering/style/RenderStyle.h:
(WebCore::InheritedFlags::setVerticalAlignLength):
Calling setVerticalAlignLength now automatically sets verticalAlign to LENGTH.
2011-11-27 Luke Macpherson <macpherson@chromium.org>
Implement CSSPropertyTextAlign in CSSStyleApplyProperty.
https://bugs.webkit.org/show_bug.cgi?id=73102
Reviewed by Andreas Kling.
Covered by fast/css/text-align*.html
* css/CSSStyleApplyProperty.cpp:
(WebCore::ApplyPropertyTextAlign::applyValue):
(WebCore::ApplyPropertyTextAlign::createHandler):
(WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
2011-11-27 Andreas Kling <kling@webkit.org>
CSSStyleRule: Pack m_sourceLine with CSSRule bits.
<http://webkit.org/b/73168>
Reviewed by Antti Koivisto.
Make CSSStyleRule::m_sourceLine a 27-bit integer and pack it with the rest
of the members in CSSRule. This shrinks CSSStyleRule by one CPU word
and reduces memory consumption by 81 kB on the GMail inbox (on 64-bit.)
* css/CSSRule.h:
(WebCore::CSSRule::CSSRule):
* css/CSSStyleRule.cpp:
(WebCore::CSSStyleRule::CSSStyleRule):
* css/CSSStyleRule.h:
2011-11-27 Mark Rowe <mrowe@apple.com>
<http://webkit.org/b/72665> Switch to a more modern approach to retrieving the OS marketing version
Reviewed by Dan Bernstein.
* WebCore.exp.in: Expose the necessary symbol.
* platform/mac/WebCoreSystemInterface.h: Ditto.
* platform/mac/WebCoreSystemInterface.mm: Ditto.
2011-11-27 Anna Cavender <annacc@chromium.org>
Move readyState from TextTrack to HTMLTrackElement
https://bugs.webkit.org/show_bug.cgi?id=72553
Fix for r101057 after it was rolled out in r101088
Reviewed by Eric Carlson.
* html/HTMLTrackElement.cpp:
(WebCore::HTMLTrackElement::HTMLTrackElement):
Set initial readyState to NONE.
(WebCore::HTMLTrackElement::didCompleteLoad):
Set readyState based on load completed status.
(WebCore::HTMLTrackElement::setReadyState):
This replaces textTrackReadyStateChanged() because only LoadableTextTrack
needs to notify HTMLTrackElement of readyState changes (i.e.
textTrackReadyStateChanged() is no longer required of TextTrackClient).
* html/HTMLTrackElement.h:
ReadyState enum and m_readyState member variable moved from TextTrack.
(WebCore::HTMLTrackElement::readyState):
New: readyState() getter.
* html/HTMLTrackElement.idl:
Add readyState attribute and associated constants.
* html/LoadableTextTrack.cpp:
(WebCore::LoadableTextTrack::loadTimerFired): Set readyState on HTMLTrackElement.
(WebCore::LoadableTextTrack::cueLoadingStarted): Ditto.
(WebCore::LoadableTextTrack::cueLoadingCompleted): Move code to set readyState
to HTMLTrackElement (it can set it based on loading status).
* html/TextTrack.cpp: Remove readyState from TextTrack.
(WebCore::TextTrack::TextTrack): Ditto.
* html/TextTrack.h: Ditto.
* html/TextTrack.idl: Ditto.
2011-11-27 Anna Cavender <annacc@chromium.org>
Don't allow attribute changes on <track> if feature is not enabled.
https://bugs.webkit.org/show_bug.cgi?id=73046
Reviewed by Eric Carlson.
No new tests. This fixes a problem when --enable-video-track is not used,
but the tests use this flag.
* html/HTMLTrackElement.cpp:
(WebCore::HTMLTrackElement::attributeChanged):
2011-11-27 Andreas Kling <kling@webkit.org>
CSSMutableStyleDeclaration: setCssText() mostly duplicates parseDeclaration().
<http://webkit.org/b/73171>
Reviewed by Antti Koivisto.
Let setCssText() call parseDeclaration() instead of duplicating the functionality.
* css/CSSMutableStyleDeclaration.cpp:
(WebCore::CSSMutableStyleDeclaration::setCssText):
2011-11-27 Andreas Kling <kling@webkit.org>
CSS/XSLStyleSheet: checkLoaded() needn't be virtual.
<http://webkit.org/b/73169>
Reviewed by Antti Koivisto.
Devirtualize checkLoaded() in CSSStyleSheet and XSLStyleSheet as they
are not overriding anything, nor are they ever overridden.
* css/CSSStyleSheet.h:
* xml/XSLStyleSheet.h:
2011-11-27 Andreas Kling <kling@webkit.org>
Add assertions that CSSMappedAttributeDeclarations aren't using strict parsing.
<http://webkit.org/b/73167>
Reviewed by Antti Koivisto.
* dom/StyledElement.cpp:
(WebCore::StyledElement::createMappedDecl):
* html/HTMLTableElement.cpp:
(WebCore::HTMLTableElement::additionalAttributeStyleDecls):
(WebCore::HTMLTableElement::addSharedCellBordersDecl):
(WebCore::HTMLTableElement::addSharedCellPaddingDecl):
(WebCore::HTMLTableElement::addSharedGroupDecls):
2011-11-27 Andreas Kling <kling@webkit.org>
CSSStyleSheet: Removed unused create() overload.
<http://webkit.org/b/73170>
Reviewed by Antonio Gomes.
Nobody was using CSSStyleSheet::create(ownerNode, originalURL, finalURL)
so remove it.
* css/CSSStyleSheet.h:
(WebCore::CSSStyleSheet::create):
2011-11-27 Robert Hogan <robert@webkit.org>
CSS 2.1 failure: border-conflict-element-*
https://bugs.webkit.org/show_bug.cgi?id=71244
Reviewed by Julien Chaffraix.
From http://www.w3.org/TR/CSS21/tables.html#border-conflict-resolution :
"When two adjacent cells have the same border-width and the same border-style in a
'border-collapse: collapse' table, then the color of the border from the leftmost cell wins
(if the table's 'direction' is 'ltr'; right, if it is 'rtl') and the color of the border
from the topmost cell wins."
So WebCore::compareBorders needs to account for the position of the cell when
deciding which border wins the comparison. This will ensure that the winning border is
sorted to the appropriate position in the sorted list of borders for painting.
When conflicting collapsed borders are in the same cell, the following order of
precedence is used (where 4 has highest precedence):
__3__
| |
4 | | 1
|_____|
2
This fixes the following failing tests from the border-conflict-element-* set
in the CSS 2.1 test suite:
border-conflict-element-001d.htm
border-conflict-element-0037.htm
One test in the suite is known to be wrong, so a corrected version has been landed outside the
css2.1 folder:
border-conflict-element-002.htm
This change entails rebaselining quite a few tests, see the LayoutTests ChangeLog for a full
explanation of the rebaselines.
* rendering/RenderTableCell.cpp:
(WebCore::compareBorders): Compare the cells' position from the left (in 'ltr') and right (in 'rtl')
of the table and the cells' position from the top of the table when nothing
else in the style, width, or grouping of the borders determines precedence.
If the conflicting borders are in the same cell, apply the same logic to the position of the borders.
(WebCore::RenderTableCell::collapsedStartBorder): Pass the cell's position and its table's direction to CollapsedBorderValue
(WebCore::RenderTableCell::collapsedEndBorder): ditto
(WebCore::RenderTableCell::collapsedBeforeBorder): ditto
(WebCore::RenderTableCell::collapsedAfterBorder): ditto
* rendering/style/CollapsedBorderValue.h:
(WebCore::CollapsedBorderValue::CollapsedBorderValue): Learn the position of the border's cell and the direction of its table
(WebCore::CollapsedBorderValue::columnOffset): the cell's offset from the top of the table
(WebCore::CollapsedBorderValue::rowOffset): the cell's offset from the start of the table
(WebCore::CollapsedBorderValue::edge): which edge of the cell the border is on
(WebCore::CollapsedBorderValue::operator==): cells with the same position in the table are equal
2011-11-26 Pavel Feldman <pfeldman@google.com>
Web Inspector: remove disconnectFromBackend from the protocol.
https://bugs.webkit.org/show_bug.cgi?id=73127
Reviewed by Yury Semikhatsky.
* inspector/Inspector.json:
* inspector/InspectorAgent.cpp:
(WebCore::InspectorAgent::inspectedPageDestroyed):
* inspector/InspectorClient.h:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::close):
* inspector/InspectorFrontendClient.h:
* inspector/InspectorFrontendHost.cpp:
* inspector/InspectorFrontendHost.h:
* inspector/InspectorFrontendHost.idl:
* inspector/front-end/InspectorFrontendHostStub.js:
* inspector/front-end/inspector.js:
(WebInspector.disconnectFromWorker):
* loader/EmptyClients.h:
(WebCore::EmptyInspectorClient::closeInspectorFrontend):
2011-11-26 Kevin Ollivier <kevino@theolliviers.com>
[wx] Unreviewed build fix. Change the order of wx header includes
to avoid a windows.h inclusion order issue, and make sure a stub
method returns a value.
* platform/wx/FileSystemWx.cpp:
(WebCore::openFile):
2011-11-26 Alejandro G. Castro <alex@igalia.com>
Fix compilation after r101157.
Reviewed by Martin Robinson.
* bindings/scripts/preprocessor.pm:
(applyPreprocessor): In case we have a string with
double-quotations (") we replace it with the empty string.
2011-11-26 Igor Oliveira <igor.oliveira@openbossa.org>
[TexMapper][WK2][Qt] Simple opacity animations are not working
https://bugs.webkit.org/show_bug.cgi?id=73157
LayerTreeHostQt needs to know what nodes in the TextureMapper are visible, to associate
a tile to it. It is done using TextureMapperNode::collectVisibleContentsRects.
However TextureMapperNode::collectVisibleContentsRects has an optimization to check if
the current tile has opacity greater than 0.01, otherwise it will not create a tile for
the current node.
For opacity animations from 0 to 1, it is a problem because the tile is never created
and the animation never happens.
This patch fixes opacity animations.
Reviewed by Noam Rosenthal.
* platform/graphics/texmap/TextureMapperNode.cpp:
(WebCore::TextureMapperNode::countDescendantsWithContent):
(WebCore::TextureMapperNode::collectVisibleContentsRects):
2011-11-26 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r101193.
http://trac.webkit.org/changeset/101193
https://bugs.webkit.org/show_bug.cgi?id=73158
Breaks Windows and Qt minimal. (Requested by pfeldman on
#webkit).
* inspector/Inspector.json:
* inspector/InspectorAgent.cpp:
(WebCore::InspectorAgent::inspectedPageDestroyed):
* inspector/InspectorClient.h:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::close):
* inspector/InspectorFrontendClient.h:
* inspector/InspectorFrontendHost.cpp:
(WebCore::InspectorFrontendHost::disconnectFromBackend):
* inspector/InspectorFrontendHost.h:
* inspector/InspectorFrontendHost.idl:
* inspector/front-end/InspectorFrontendHostStub.js:
(.WebInspector.InspectorFrontendHostStub.prototype.disconnectFromBackend):
* inspector/front-end/inspector.js:
(WebInspector.disconnectFromBackend):
* loader/EmptyClients.h:
2011-11-26 Pavel Feldman <pfeldman@google.com>
Web Inspector: remove disconnectFromBackend from the protocol.
https://bugs.webkit.org/show_bug.cgi?id=73127
Reviewed by Yury Semikhatsky.
* inspector/Inspector.json:
* inspector/InspectorAgent.cpp:
(WebCore::InspectorAgent::inspectedPageDestroyed):
* inspector/InspectorClient.h:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::close):
* inspector/InspectorFrontendClient.h:
* inspector/InspectorFrontendHost.cpp:
* inspector/InspectorFrontendHost.h:
* inspector/InspectorFrontendHost.idl:
* inspector/front-end/InspectorFrontendHostStub.js:
* inspector/front-end/inspector.js:
(WebInspector.disconnectFromWorker):
* loader/EmptyClients.h:
(WebCore::EmptyInspectorClient::closeInspectorFrontend):
2011-11-26 Timothy Hatcher <timothy@apple.com>
Fix a bug in TreeOutline which would cause parent elements to show up as expanded and empty
when removed and added back to the tree.
https://bugs.webkit.org/show_bug.cgi?id=73155
Reviewed by Pavel Feldman.
* inspector/front-end/treeoutline.js:
(TreeElement.prototype.collapse): Set _treeElementsExpandedState to false instead of true.
Only TreeElement.prototype.expand should set it to true, which it does.
2011-11-26 Martin Robinson <mrobinson@igalia.com>
[GTK] Fix some warnings in WebCore GTK+
https://bugs.webkit.org/show_bug.cgi?id=73137
Reviewed by Philippe Normand.
No new tests. This patch just fixes compilation warnings.
* platform/gtk/CursorGtk.cpp:
(WebCore::createNamedCursor): Remove unused variable.
* platform/gtk/RenderThemeGtk3.cpp:
(WebCore::RenderThemeGtk::paintSliderTrack): ASSERT_UNUSED instead of ASSERT.
* platform/gtk/SharedTimerGtk.cpp: Ditto.
(WebCore::stopSharedTimer):
2011-11-25 Eric Carlson <eric.carlson@apple.com>
Implement addCue and removeCue in TextTrack
https://bugs.webkit.org/show_bug.cgi?id=72554
Reviewed by Darin Adler.
Test: media/track/track-add-remove-cue.html
* html/HTMLTrackElement.cpp:
(WebCore::HTMLTrackElement::ensureTrack): Go ahead and allocate a Track even if the feature
is disabled, it just won't load anything.
(WebCore::HTMLTrackElement::scheduleLoad): Early return if the featue is disabled.
(WebCore::HTMLTrackElement::canLoadUrl): Ditto.
* html/LoadableTextTrack.cpp:
(WebCore::LoadableTextTrack::newCuesAvailable): Add new cues one at a time because
cues->add(Vector<TextTrackCue*>&) is gone.
* html/TextTrack.cpp:
(WebCore::TextTrack::addCue): Implement.
(WebCore::TextTrack::removeCue): Ditto.
* html/TextTrack.h:
(WebCore::TextTrackCue::TextTrackCue): Initialize every member variable.
(WebCore::TextTrackCue::track): m_track is now a RefPtr.
(WebCore::TextTrackCue::setTrack): Ditto.
* html/TextTrackCue.h:
* html/TextTrackCueList.cpp:
(WebCore::TextTrackCueList::add): Don't ignore out of order cues, the spec text is not
a conformance requirement. Return bool to indicate success or failure.
(WebCore::TextTrackCueList::remove): Return bool to indicate success or failure.
* html/TextTrackCueList.h:
* loader/TextTrackLoader.cpp:
(WebCore::TextTrackLoader::notifyFinished): Don't change m_state once it is set to Failed.
2011-11-25 Kentaro Hara <haraken@chromium.org>
Refactoring CodeGenerator*.pm for bug 72138
https://bugs.webkit.org/show_bug.cgi?id=73115
Reviewed by Adam Barth.
Tests: bindings/scripts/test/TestObj.idl
* bindings/scripts/CodeGeneratorGObject.pm: Added "1;" at the end since this perl script is loaded as a package.
* bindings/scripts/CodeGeneratorV8.pm: Ditto. Removed unnecessary variable names from method declarations in order to supress style check errors when a new run-bindings-tests IDL is added.
(GenerateHeaderCustomCall):
* bindings/scripts/test/V8/V8TestObj.h: Updated a run-bindings-tests result.
2011-11-25 Kentaro Hara <haraken@chromium.org>
Implement the WebGLContextEvent constructor
https://bugs.webkit.org/show_bug.cgi?id=72856
Reviewed by Adam Barth.
This patch makes WebGLContextEvent constructable.
The spec: http://www.khronos.org/registry/webgl/specs/latest/#5.14
Test: fast/events/constructors/webgl-context-event-constructor.html
* html/canvas/WebGLContextEvent.cpp: Added an implementation of the WebGLContextEvent constructor.
(WebCore::WebGLContextEventInit::WebGLContextEventInit):
(WebCore::WebGLContextEvent::WebGLContextEvent):
* html/canvas/WebGLContextEvent.h: Added a definition of WebGLContextEventInit.
(WebCore::WebGLContextEvent::create):
* html/canvas/WebGLContextEvent.idl: Added [ConstructorTemplate=Event] IDL.
2011-11-25 Jeff Timanus <twiz@chromium.org>
[Chromium] The DrawingBuffer::bind method was incorrectly resetting the
GL viewport parameters. This was unnecessary, and resulted in the corruption
of the WebGL context's state.
https://bugs.webkit.org/show_bug.cgi?id=73091
Reviewed by Stephen White.
Tests: fast/canvas/webgl/webgl-viewport-parameters-preserved.html
* platform/graphics/gpu/DrawingBuffer.cpp:
(WebCore::DrawingBuffer::bind):
2011-11-25 Ryosuke Niwa <rniwa@webkit.org>
Crash in BidiRunList<Run>::replaceRunWithRuns with an empty bdi element
https://bugs.webkit.org/show_bug.cgi?id=73116
Reviewed by Eric Seidel.
The assertion failure was caused because isolatedResolver is initialized with
null start object due to the isolated run being empty.
Fixed the failure by skipping empty isolated runs.
Test: fast/text/empty-bdi-crash.html
* rendering/RenderBlockLineLayout.cpp:
(WebCore::constructBidiRuns):
2011-11-25 Antti Koivisto <antti@apple.com>
StyleGeneratedImage should ref CSSImageGeneratorValue
https://bugs.webkit.org/show_bug.cgi?id=73074
Reviewed by Andreas Kling and Nikolas Zimmermann.
RenderStyle owns a bunch of StyleImage objects. However StyleGeneratedImage does not ref the
CSSImageGeneratorValue it holds so we currently rely on the stylesheet to keep the CSSImageGeneratorValues
alive as long as RenderStyle stays alive. While this works (RenderStyles are thrown away if stylesheets
change) it is not particularly robust or nice.
- Use RefPtr<CSSImageGeneratorValue> in StyleGeneratedImage
- Remove the RefPtr<StyleGeneratedImage> from CSSImageGeneratorValue.
There is no good reason to cache StyleGeneratedImage as it is a small and
uncommon object. With that the whole back-reference becomes unnecessary.
- Switch more places to use (Pass)RefPtr<StyleImage> for consistency.
* css/CSSImageGeneratorValue.cpp:
(WebCore::CSSImageGeneratorValue::CSSImageGeneratorValue):
* css/CSSImageGeneratorValue.h:
* css/CSSStyleApplyProperty.cpp:
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
(WebCore::CSSStyleSelector::styleImage):
(WebCore::CSSStyleSelector::cachedOrPendingFromValue):
(WebCore::CSSStyleSelector::generatedOrPendingFromValue):
(WebCore::CSSStyleSelector::loadPendingImage):
(WebCore::CSSStyleSelector::loadPendingImages):
* css/CSSStyleSelector.h:
* rendering/style/FillLayer.h:
(WebCore::FillLayer::setImage):
* rendering/style/NinePieceImage.h:
(WebCore::NinePieceImage::NinePieceImage):
* rendering/style/StyleGeneratedImage.cpp:
(WebCore::StyleGeneratedImage::StyleGeneratedImage):
(WebCore::StyleGeneratedImage::cssValue):
(WebCore::StyleGeneratedImage::imageSize):
(WebCore::StyleGeneratedImage::addClient):
(WebCore::StyleGeneratedImage::removeClient):
(WebCore::StyleGeneratedImage::image):
* rendering/style/StyleGeneratedImage.h:
(WebCore::StyleGeneratedImage::create):
(WebCore::StyleGeneratedImage::data):
2011-11-25 Andreas Kling <kling@webkit.org>
Remove redundant setStrictParsing(false) calls on CSSMappedAttributeDeclarations.
<http://webkit.org/b/73134>
Reviewed by Antti Koivisto.
CSSMappedAttributeDeclarations always use non-strict parsing since they use
the argument-less CSSMutableStyleDeclaration constructor.
* dom/StyledElement.cpp:
(WebCore::StyledElement::createMappedDecl):
* html/HTMLTableElement.cpp:
(WebCore::HTMLTableElement::additionalAttributeStyleDecls):
(WebCore::HTMLTableElement::addSharedCellBordersDecl):
(WebCore::HTMLTableElement::addSharedCellPaddingDecl):
(WebCore::HTMLTableElement::addSharedGroupDecls):
2011-11-25 Andreas Kling <kling@webkit.org>
Factor element pointer out of CSSMutableStyleDeclaration.
<http://webkit.org/b/73121>
Reviewed by Antti Koivisto.
Move the StyledElement pointer out of CSSMutableStyleDeclaration and into a subclass
for the cases where it's needed. This reduces the size of vanilla style declarations
by one CPU word (4 or 8 bytes, depending on architecture.)
* css/CSSMutableStyleDeclaration.h:
(WebCore::CSSElementStyleDeclaration::element):
(WebCore::CSSElementStyleDeclaration::setElement):
(WebCore::CSSElementStyleDeclaration::CSSElementStyleDeclaration):
(WebCore::CSSElementStyleDeclaration::~CSSElementStyleDeclaration):
Added CSSElementStyleDeclaration, a common parent class for inline styles
and mapped attributes. It extends CSSMutableStyleDeclaration by adding a backpointer
to the StyledElement that owns it.
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* css/CSSInlineStyleDeclaration.h: Added.
(WebCore::CSSInlineStyleDeclaration::~CSSInlineStyleDeclaration):
(WebCore::CSSInlineStyleDeclaration::create):
(WebCore::CSSInlineStyleDeclaration::CSSInlineStyleDeclaration):
Added CSSInlineStyleDeclaration.
* bindings/js/JSDOMBinding.h:
(WebCore::root):
* css/CSSMutableStyleDeclaration.cpp:
(WebCore::CSSMutableStyleDeclaration::setNeedsStyleRecalc):
* css/CSSStyleRule.cpp:
(WebCore::CSSStyleRule::setSelectorText):
Only follow the associated element on CSSElementStyleDeclarations.
* css/CSSMutableStyleDeclaration.cpp:
(WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
(WebCore::CSSMutableStyleDeclaration::operator=):
Remove comment about m_element since the field was moved to a subclass.
* css/CSSStyleDeclaration.cpp:
(WebCore::CSSStyleDeclaration::CSSStyleDeclaration):
* css/CSSStyleDeclaration.h:
(WebCore::CSSStyleDeclaration::isElementStyleDeclaration):
(WebCore::CSSStyleDeclaration::isInlineStyleDeclaration):
We no longer need to track whether a style declaration is mutable or not,
so the constructors are slightly simplified.
Added two bits (isElementStyleDeclaration and isInlineStyleDeclaration) for
runtime type checking. These are protected and set by the CSSElementStyleDeclaration
constructor.
* dom/CSSMappedAttributeDeclaration.h:
(WebCore::CSSMappedAttributeDeclaration::create):
(WebCore::CSSMappedAttributeDeclaration::CSSMappedAttributeDeclaration):
Remove pointless CSSRule* argument to constructor since we always passed 0.
* dom/StyledElement.h:
(WebCore::StyledElement::inlineStyleDecl):
* dom/StyledElement.cpp:
(WebCore::StyledElement::createInlineStyleDecl):
(WebCore::StyledElement::getInlineStyleDecl):
(WebCore::StyledElement::addSubresourceAttributeURLs):
Make the inline style on StyledElement a CSSInlineStyleDeclaration.
* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::inlineStyleElement):
Slightly simplified by having CSSInlineStyleDeclaration.
2011-11-25 Pavel Feldman <pfeldman@google.com>
Web Inspector: unflake timeline-network tests
https://bugs.webkit.org/show_bug.cgi?id=73123
We should capture stack only when it makes sense. Otherwise loading from cache
results in different data sets (stacks) than regular load.
Reviewed by Yury Semikhatsky.
* inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::willCallFunction):
(WebCore::InspectorTimelineAgent::willDispatchEvent):
(WebCore::InspectorTimelineAgent::willLayout):
(WebCore::InspectorTimelineAgent::willRecalculateStyle):
(WebCore::InspectorTimelineAgent::willPaint):
(WebCore::InspectorTimelineAgent::willWriteHTML):
(WebCore::InspectorTimelineAgent::didInstallTimer):
(WebCore::InspectorTimelineAgent::didRemoveTimer):
(WebCore::InspectorTimelineAgent::willFireTimer):
(WebCore::InspectorTimelineAgent::willChangeXHRReadyState):
(WebCore::InspectorTimelineAgent::willLoadXHR):
(WebCore::InspectorTimelineAgent::willEvaluateScript):
(WebCore::InspectorTimelineAgent::didScheduleResourceRequest):
(WebCore::InspectorTimelineAgent::willReceiveResourceData):
(WebCore::InspectorTimelineAgent::willReceiveResourceResponse):
(WebCore::InspectorTimelineAgent::didFinishLoadingResource):
(WebCore::InspectorTimelineAgent::didTimeStamp):
(WebCore::InspectorTimelineAgent::didMarkDOMContentEvent):
(WebCore::InspectorTimelineAgent::didMarkLoadEvent):
(WebCore::InspectorTimelineAgent::didRegisterAnimationFrameCallback):
(WebCore::InspectorTimelineAgent::didCancelAnimationFrameCallback):
(WebCore::InspectorTimelineAgent::willFireAnimationFrameEvent):
(WebCore::InspectorTimelineAgent::appendRecord):
(WebCore::InspectorTimelineAgent::pushCurrentRecord):
* inspector/InspectorTimelineAgent.h:
* inspector/TimelineRecordFactory.cpp:
(WebCore::TimelineRecordFactory::createGenericRecord):
2011-11-25 Yury Semikhatsky <yurys@chromium.org>
[Chromium] Web Inspector: get rid of WebDevToolsFrontendClient::sendFrontendLoaded method
https://bugs.webkit.org/show_bug.cgi?id=73126
Notify embedder that front-end is loadded only when all dispatchers, panels and models
have been created so that it could dispatch messages synchronously in the loaded handler.
Reviewed by Pavel Feldman.
* inspector/front-end/inspector.js:
2011-11-25 Yury Semikhatsky <yurys@chromium.org>
Web Inspector: don't send Console.messagesCleared on front-end connection if console agent is not enabled
https://bugs.webkit.org/show_bug.cgi?id=73122
Console agent should stay silent if it is not enabled.
Reviewed by Pavel Feldman.
* inspector/InspectorConsoleAgent.cpp:
(WebCore::InspectorConsoleAgent::clearMessages):
(WebCore::InspectorConsoleAgent::addConsoleMessage):
2011-11-25 Wei Charles <charles.wei@torchmobile.com.cn>
Upstream the QNX/RIM specific HistoryItemViewState
https://bugs.webkit.org/show_bug.cgi?id=73114
Reviewed by Daniel Bates.
This patch is to upstream RIM/QNX specific HistoryItemViewState extension
to store some extra view state.
No new tests. It's not built yet.
* history/blackberry: Added.
* history/blackberry/HistoryItemViewState.h: Added.
(WebCore::HistoryItemViewState::HistoryItemViewState):
2011-11-25 Vsevolod Vlasov <vsevik@chromium.org>
Web Inspector: Split scripts panel top status bar into debug toolbar and editor toolbar.
https://bugs.webkit.org/show_bug.cgi?id=73087
Reviewed by Pavel Feldman.
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype._reset):
(WebInspector.ScriptsPanel.prototype._createEditorToolbar):
(WebInspector.ScriptsPanel.prototype._createDebugToolbar):
(WebInspector.ScriptsPanel.prototype._createButtonAndRegisterShortcuts):
* inspector/front-end/scriptsPanel.css:
(#scripts-debug-toolbar):
(#scripts-editor-toolbar):
(#scripts-debug-sidebar-resizer-widget):
(.script-view):
2011-11-25 Leo Yang <leo.yang@torchmobile.com.cn>
Upstream BlackBerry porting of platform/text
https://bugs.webkit.org/show_bug.cgi?id=73117
Reviewed by Daniel Bates.
Initial upstream, can't be built yet, no test cases.
* platform/text/blackberry/StringBlackBerry.cpp: Added.
(WTF::String::String):
(WTF::String::operator WebString):
* platform/text/blackberry/TextBreakIteratorInternalICUBlackBerry.cpp: Added.
(WebCore::currentSearchLocaleID):
(WebCore::currentTextBreakLocaleID):
2011-11-25 Kentaro Hara <haraken@chromium.org>
Remove WebCore.gyp/scripts/rule_binding.py
https://bugs.webkit.org/show_bug.cgi?id=73109
Reviewed by Adam Barth.
rule_binding.py is used by WebCore.gyp only. rule_binding.py is just a wrapper
of generate-bindings.pl and thus we can remove it.
No new tests. No change in behavior.
* WebCore.gyp/WebCore.gyp: Replaces rule_binding.py with generate-bindings.pl.
* WebCore.gyp/scripts/rule_binding.py: Removed.
* bindings/scripts/preprocessor.pm: When '"ENABLE_SOMETHING=1" "ENABLE_OTHERS=0"' is passed as a define macro, the string is passed to our perl scripts without the double-quotations (") omitted. We need to omit the double quatations here.
(applyPreprocessor):
2011-11-24 Yury Semikhatsky <yurys@chromium.org>
[Chromium] Web Inspector: remove legacy debugger support
https://bugs.webkit.org/show_bug.cgi?id=73081
Removed classed providing access to V8 debugging protocol. Clients should
use Web Inspector protocol instead.
Reviewed by Pavel Feldman.
* bindings/v8/PageScriptDebugServer.cpp:
(WebCore::PageScriptDebugServer::PageScriptDebugServer):
(WebCore::PageScriptDebugServer::addListener):
* bindings/v8/PageScriptDebugServer.h:
2011-11-24 Pavel Feldman <pfeldman@google.com>
Web Inspector: refactor resource tree model and introduce explicit class for ResourceTreeFrame.
https://bugs.webkit.org/show_bug.cgi?id=73078
Otherwise we are managing frames and their resources using too many maps.
Reviewed by Yury Semikhatsky.
* inspector/Inspector.json:
* inspector/InspectorAgent.cpp:
(WebCore::InspectorAgent::restore):
* inspector/InspectorResourceAgent.cpp:
(WebCore::InspectorResourceAgent::didReceiveResponse):
* inspector/front-end/ApplicationCacheModel.js:
(WebInspector.ApplicationCacheModel.prototype._frameNavigated):
(WebInspector.ApplicationCacheModel.prototype._frameDetached):
* inspector/front-end/JavaScriptContextManager.js:
(WebInspector.JavaScriptContextManager.prototype._frameAdded):
(WebInspector.JavaScriptContextManager.prototype._frameNavigated):
(WebInspector.FrameEvaluationContext.prototype.get displayName):
* inspector/front-end/NetworkManager.js:
(WebInspector.NetworkDispatcher.prototype.requestWillBeSent):
(WebInspector.NetworkDispatcher.prototype.responseReceived):
(WebInspector.NetworkDispatcher.prototype.loadingFinished):
* inspector/front-end/NetworkPanel.js:
(WebInspector.NetworkLogView.prototype._mainFrameNavigated):
* inspector/front-end/ResourceTreeModel.js:
(WebInspector.ResourceTreeModel):
(WebInspector.ResourceTreeModel.prototype._fetchResourceTree):
(WebInspector.ResourceTreeModel.prototype._processCachedResources):
(WebInspector.ResourceTreeModel.prototype._addFrame):
(WebInspector.ResourceTreeModel.prototype._frameNavigated):
(WebInspector.ResourceTreeModel.prototype._frontendReused):
(WebInspector.ResourceTreeModel.prototype._frameDetached):
(WebInspector.ResourceTreeModel.prototype._onResourceUpdated):
(WebInspector.ResourceTreeModel.prototype._onResourceUpdateDropped):
(WebInspector.ResourceTreeModel.prototype.frameForId):
(WebInspector.ResourceTreeModel.prototype.forAllResources):
(WebInspector.ResourceTreeModel.prototype.resourceForURL):
(WebInspector.ResourceTreeModel.prototype._addFramesRecursively):
(WebInspector.ResourceTreeModel.prototype._createResourceFromFramePayload):
(WebInspector.ResourceTreeModel.prototype._createResource):
(WebInspector.ResourceTreeFrame):
(WebInspector.ResourceTreeFrame.prototype.get id):
(WebInspector.ResourceTreeFrame.prototype.get name):
(WebInspector.ResourceTreeFrame.prototype.get url):
(WebInspector.ResourceTreeFrame.prototype.get loaderId):
(WebInspector.ResourceTreeFrame.prototype.get parentFrame):
(WebInspector.ResourceTreeFrame.prototype.get childFrames):
(WebInspector.ResourceTreeFrame.prototype.isMainFrame):
(WebInspector.ResourceTreeFrame.prototype.navigate):
(WebInspector.ResourceTreeFrame.prototype.get mainResource):
(WebInspector.ResourceTreeFrame.prototype.addChildFrame):
(WebInspector.ResourceTreeFrame.prototype.removeChildFrame):
(WebInspector.ResourceTreeFrame.prototype._addResource):
(WebInspector.ResourceTreeFrame.prototype.resources):
(WebInspector.ResourceTreeFrame.prototype.resourceForURL.filter):
(WebInspector.ResourceTreeFrame.prototype.resourceForURL):
(WebInspector.ResourceTreeFrame.prototype._callForFrameResources):
(WebInspector.PageDispatcher.prototype.frameNavigated):
* inspector/front-end/ResourcesPanel.js:
(WebInspector.ResourcesPanel):
(WebInspector.ResourcesPanel.prototype.wasShown):
(WebInspector.ResourcesPanel.prototype._initialize):
(WebInspector.ResourcesPanel.prototype._resetWithFrames):
(WebInspector.ResourcesPanel.prototype._reset):
(WebInspector.ResourcesPanel.prototype._populateResourceTree.populateFrame):
(WebInspector.ResourcesPanel.prototype._populateResourceTree):
(WebInspector.ResourcesPanel.prototype._frameAdded):
(WebInspector.ResourcesPanel.prototype._frameDetached):
(WebInspector.ResourcesPanel.prototype._frameNavigated):
(WebInspector.ResourcesPanel.prototype._cachedResourcesLoaded):
* inspector/front-end/ScriptFormatter.js:
(WebInspector.ScriptFormatter.prototype.formatContent):
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::requestResource):
2011-11-24 Kentaro Hara <haraken@chromium.org>
Initialize global variables during IDLParser object creation
https://bugs.webkit.org/show_bug.cgi?id=73108
Reviewed by Adam Barth.
Currently, IDLParser.pm initializes global variables in a global scope,
which means that the global variables are initialized just once at the beginning.
On the other hand, implementing [Supplemental] IDL (bug 72138) requires a change
on generate-bindings.pl that initializes the global variables whenever a new IDLParser
object is created. Thus, this patch initializes the global variables during
the IDLParser object creation.
No new tests. No change in behavior.
* bindings/scripts/IDLParser.pm:
(InitializeGlobalData):
(new):
2011-11-24 Patrick Gansterer <paroga@webkit.org>
[CMake] Build fix for NOT ENABLE_WEB_SOCKETS.
* CMakeLists.txt: Move CloseEvent.idl to the unconditional files.
2011-11-24 Patrick Gansterer <paroga@webkit.org>
Build fix for C++ bindings.
* bindings/cpp/WebDOMEventTarget.cpp: Added #if ENABLE() guards.
2011-11-24 Arko Saha <arko@motorola.com>
Microdata: Support for properties attribute.
https://bugs.webkit.org/show_bug.cgi?id=71050
Reviewed by Adam Barth.
The properties attribute returns an HTMLPropertiesCollection object with all the element's
properties. Otherwise, an empty HTMLPropertiesCollection object.
Tests: fast/dom/MicroData/itemref-refers-first-element-with-given-id.html
fast/dom/MicroData/names-property-must-be-correct.html
fast/dom/MicroData/names-property-test.html
fast/dom/MicroData/properties-collection-add-remove-itemref.html
fast/dom/MicroData/properties-collection-add-remove-property.html
fast/dom/MicroData/properties-collection-behavior-add-remove-itemscope-attr.html
fast/dom/MicroData/properties-collection-must-be-correct.html
fast/dom/MicroData/properties-collection-must-ignore-properties-of-nested-items.html
fast/dom/MicroData/properties-collection-must-see-the-properties-added-in-itemref.html
fast/dom/MicroData/properties-collection-test.html
* CMakeLists.txt:
* DerivedSources.cpp:
* DerivedSources.make:
* DerivedSources.pri:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/gobject/GNUmakefile.am:
* bindings/js/JSHTMLCollectionCustom.cpp:
(WebCore::toJS):
* dom/MicroDataItemList.cpp:
* dom/Node.cpp:
(WebCore::Node::itemProp):
(WebCore::Node::setItemProp):
(WebCore::Node::itemRef):
(WebCore::Node::setItemRef):
(WebCore::Node::itemType):
(WebCore::Node::setItemType):
(WebCore::Node::properties):
* dom/Node.h:
* dom/NodeRareData.h:
(WebCore::NodeRareData::itemProp):
(WebCore::NodeRareData::setItemProp):
(WebCore::NodeRareData::itemRef):
(WebCore::NodeRareData::setItemRef):
(WebCore::NodeRareData::itemType):
(WebCore::NodeRareData::setItemType):
(WebCore::NodeRareData::properties):
* html/CollectionType.h:
* html/HTMLCollection.cpp:
(WebCore::HTMLCollection::itemAfter):
* html/HTMLElement.cpp:
(WebCore::HTMLElement::setItemValueText):
* html/HTMLElement.h:
* html/HTMLElement.idl:
* html/HTMLPropertiesCollection.cpp: Added.
(WebCore::compareTreeOrder):
(WebCore::HTMLPropertiesCollection::create):
(WebCore::HTMLPropertiesCollection::HTMLPropertiesCollection):
(WebCore::HTMLPropertiesCollection::~HTMLPropertiesCollection):
(WebCore::HTMLPropertiesCollection::findPropetiesOfAnItem): Finds the properties of an item.
(WebCore::HTMLPropertiesCollection::length): Returns the number of elements in the properties collection.
(WebCore::HTMLPropertiesCollection::item): Returns the element with index 'index' from the collection. The items are sorted in tree order.
(WebCore::HTMLPropertiesCollection::names): Returns a DOMStringList with the property names of the elements in the collection with the order preserved but with duplicates removed.
* html/HTMLPropertiesCollection.h: Added.
* html/HTMLPropertiesCollection.idl: Added.
* page/DOMWindow.idl:
2011-11-24 Joshua Bell <jsbell@chromium.org>
IndexedDB: Indexes should be secondarily sorted on primary key
https://bugs.webkit.org/show_bug.cgi?id=72567
Reviewed by Tony Chang.
Implemented by adding the primary key (i.e. unique key in the
object store) to the IndexDataKey (i.e. the composite key used
in the index. Previously, non-unique entries in the index were
stored with a unique (and hidden) sequenceNumber, so ordering was
not predictable by scripts (or per spec). The sequenceNumber
is now deprecated but still present in the LevelDB backing store
to avoid having to do a data migration.
Test: storage/indexeddb/cursor-primary-key-order.html
* storage/IDBLevelDBBackingStore.cpp:
(WebCore::IDBLevelDBBackingStore::putIndexDataForRecord):
* storage/IDBLevelDBCoding.cpp:
(WebCore::IDBLevelDBCoding::compare):
(WebCore::IDBLevelDBCoding::IndexDataKey::decode):
(WebCore::IDBLevelDBCoding::IndexDataKey::encode):
(WebCore::IDBLevelDBCoding::IndexDataKey::compare):
(WebCore::IDBLevelDBCoding::IndexDataKey::primaryKey):
* storage/IDBLevelDBCoding.h:
2011-11-24 Pavel Feldman <pfeldman@google.com>
Web Inspector: WebInspector.inspectedPageDomain is not calculated for about:blank
https://bugs.webkit.org/show_bug.cgi?id=73082
Reviewed by Timothy Hatcher.
* inspector/front-end/ResourceTreeModel.js:
(WebInspector.ResourceTreeModel.prototype._processCachedResources):
(WebInspector.ResourceTreeModel.prototype._frameNavigated):
(WebInspector.ResourceTreeModel.prototype._addFramesRecursively):
* inspector/front-end/inspector.js:
(WebInspector.networkResourceById):
(WebInspector.get inspectedPageDomain):
2011-11-24 Andrey Kosyakov <caseq@chromium.org>
Web Inspector: provide context menu items to open resources using extensions
https://bugs.webkit.org/show_bug.cgi?id=73076
Reviewed by Yury Semikhatsky.
* English.lproj/localizedStrings.js:
* inspector/front-end/ExtensionServer.js:
(WebInspector.ExtensionServer.prototype._onSetOpenResourceHandler):
(WebInspector.ExtensionServer.prototype._handleOpenURL):
* inspector/front-end/HandlerRegistry.js:
(get WebInspector.HandlerRegistry.prototype.set dispatch):
(get WebInspector.HandlerRegistry.prototype.dispatchToHandler):
* inspector/front-end/JavaScriptSourceFrame.js:
(WebInspector.JavaScriptSourceFrame.prototype.populateTextAreaContextMenu):
* inspector/front-end/ResourcesPanel.js:
(WebInspector.FrameResourceTreeElement.prototype._handleContextMenuEvent):
* inspector/front-end/SourceFrame.js:
(WebInspector.SourceFrame.prototype.populateTextAreaContextMenu):
* inspector/front-end/externs.js:
(WebInspector.populateResourceContextMenu):
* inspector/front-end/inspector.js:
(WebInspector.populateResourceContextMenu):
(WebInspector._showAnchorLocation):
2011-10-27 Philippe Normand <pnormand@igalia.com>
[GStreamer] WebAudio AudioDestination
https://bugs.webkit.org/show_bug.cgi?id=69835
Reviewed by Martin Robinson.
New GStreamer source element pulling data from the AudioBus and
outputing audio interleaved GstBuffers suitable for playback.
* GNUmakefile.list.am: Added the new GStreamer WebAudio element
source files to the build.
* platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
(WebCore::onGStreamerWavparsePadAddedCallback): Function called
when the playback pipeline successfully parsed the audio source
into a WAV stream.
(WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer):
Configure the initial playback pipeline up to the WAV parser. The
audio sink is added only after the WAV parser was configured.
(WebCore::AudioDestinationGStreamer::~AudioDestinationGStreamer):
Reset the playback pipeline and delete it.
(WebCore::AudioDestinationGStreamer::finishBuildingPipelineAfterWavParserPadReady):
Method to add the audio sink to the pipeline and link it to the
WAV parser.
(WebCore::AudioDestinationGStreamer::start): Set pipeline to
PLAYING, at the first run it will trigger the WAV parser and hence
the audio-sink plugging.
(WebCore::AudioDestinationGStreamer::stop): Pause the pipeline.
* platform/audio/gstreamer/AudioDestinationGStreamer.h:
* platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp: Added.
(getGStreamerMonoAudioCaps): Utility function to generate
GStreamer caps representing a single audio channel for a given
sample rate.
(webKitWebAudioGStreamerChannelPosition): Utility function to
convert AudioBus channel representations to GStreamer positional
audio channel values.
(webkit_web_audio_src_class_init): GObject configuration of the
GStreamer source element.
(webkit_web_audio_src_init): Initialization of the private data of
the element.
(webKitWebAudioSourceConstructed): Configure the GstBin elements
depending on the AudioBus layout.
(webKitWebAudioSourceFinalize): Clean up the GstBin and free private
data of the element.
(webKitWebAudioSourceSetProperty): GObject property setter.
(webKitWebAudioSourceGetProperty): GObject property getter.
(webKitWebAudioSourceLoop): GstTask used to pull data from the
AudioBus and push it as GstBuffers to the src pad of the element.
(webKitWebAudioSourceChangeState): Start or stop the above GstTask
depending on the asked state transition.
* platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.h: Added.
* platform/graphics/gstreamer/GRefPtrGStreamer.cpp: GstTask support in GRefPtr.
(WTF::adoptGRef):
(WTF::GstTask):
* platform/graphics/gstreamer/GRefPtrGStreamer.h:
2011-11-24 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
[Qt] Get rid of the buildDirForSource() function in the build system
At some point the plan was to allow for running qmake on sub-trees
of the sources, into the top level build directory, but this is no
longer possible, so no reason to keep the convenience function around.
Reviewed by Simon Hausmann.
* DerivedSources.pri:
2011-11-24 Patrick Gansterer <paroga@webkit.org>
[CMake] Add missing source files
https://bugs.webkit.org/show_bug.cgi?id=73052
Reviewed by Andreas Kling.
* CMakeLists.txt:
2011-11-24 Philippe Normand <pnormand@igalia.com>
Fix ASSERTs added in r101082.
Rubber-Stamped by Martin Robinson.
* platform/graphics/gstreamer/GRefPtrGStreamer.cpp:
(WTF::adoptGRef): Check for valid pointer before
GST_OBJECT_IS_FLOATING().
2011-11-23 Alexander Pavlov <apavlov@chromium.org>
Web Inspector: shift focus to the source view when a resource is selected in the Scripts panel
https://bugs.webkit.org/show_bug.cgi?id=69738
Reviewed by Timothy Hatcher.
The source viewer is focused whenever a file name option is clicked, and is NOT focused when the script list
is traversed with the Up/Down keys.
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype._filesSelectChanged):
* inspector/front-end/SourceFrame.js:
(WebInspector.SourceFrame.prototype.focus):
* inspector/front-end/TextViewer.js:
(WebInspector.TextViewer.prototype.focus):
2011-11-23 Pavel Podivilov <podivilov@chromium.org>
Web Inspector: add integration test for compiler source maps.
https://bugs.webkit.org/show_bug.cgi?id=72730
Reviewed by Pavel Feldman.
Test: http/tests/inspector/compiler-source-mapping-debug.html
* inspector/front-end/DebuggerPresentationModel.js:
(WebInspector.DebuggerPresentationModel.prototype._bindScriptToRawSourceCode):
(WebInspector.DebuggerPresentationModel.prototype.setCompilerSourceMapping):
(WebInspector.DebuggerPresentationModel.prototype.evaluateInSelectedCallFrame):
(WebInspector.DebuggerPresentationModel.prototype.get executionLineLocation):
(WebInspector.DebuggerPresentationModel.DefaultLinkifierFormatter.prototype.formatRawSourceCodeAnchor):
(WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyLocation):
(WebInspector.DebuggerPresentationModel.Linkifier.prototype._updateAnchor):
2011-11-23 Pavel Feldman <pfeldman@google.com>
Web Inspector: get rid of the WebInspector.mainResource, use WebInspector.inspectedPageURL instead.
https://bugs.webkit.org/show_bug.cgi?id=73024
We use it for the URL mostly, no need to create artificial resource for that upon
attaching to the existing page.
Reviewed by Yury Semikhatsky.
* inspector/front-end/AuditsPanel.js:
* inspector/front-end/HAREntry.js:
(WebInspector.HARLog.prototype._buildPages):
(WebInspector.HARLog.prototype._pageEventTime):
* inspector/front-end/NetworkPanel.js:
(WebInspector.NetworkLogView.prototype._updateSummaryBar):
(WebInspector.NetworkLogView.prototype._exportAll):
* inspector/front-end/Resource.js:
(WebInspector.Resource.prototype.set url):
(WebInspector.Resource.prototype.get displayName):
(WebInspector.Resource.prototype.get displayDomain):
* inspector/front-end/ResourceTreeModel.js:
(WebInspector.ResourceTreeModel.prototype._processCachedResources):
(WebInspector.ResourceTreeModel.prototype._dispatchInspectedURLChanged):
(WebInspector.ResourceTreeModel.prototype._frameNavigated):
(WebInspector.ResourceTreeModel.prototype._addFramesRecursively):
* inspector/front-end/ResourceUtils.js:
(WebInspector.displayNameForURL):
* inspector/front-end/ResourcesPanel.js:
(WebInspector.ResourcesPanel.prototype._initDefaultSelection):
* inspector/front-end/TimelinePanel.js:
(WebInspector.TimelinePanel.prototype._addRecordToTimeline):
* inspector/front-end/utilities.js:
(String.prototype.asParsedURL):
2011-11-23 Yury Semikhatsky <yurys@chromium.org>
Web Inspector: exceptions in shared workers should be logged to web inspector console
https://bugs.webkit.org/show_bug.cgi?id=73022
According to section "4.7 Runtime script errors" of Web Workers spec "For shared
workers, if the error is still not handled afterwards, or if the error occurred
while handling a previous script error, the error may be reported to the user."
This change adds uncaugh exceptions to the shared worker web inspector console.
Reviewed by Pavel Feldman.
* inspector/InspectorConsoleAgent.cpp:
(WebCore::InspectorConsoleAgent::restore):
* inspector/InspectorConsoleInstrumentation.h:
(WebCore::InspectorInstrumentation::addMessageToConsole):
* inspector/InspectorDebuggerAgent.cpp:
(WebCore::InspectorDebuggerAgent::restore):
* inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::instrumentingAgentsForWorkerContext):
* inspector/InspectorInstrumentation.h:
* inspector/WorkerInspectorController.cpp:
(WebCore::WorkerInspectorController::connectFrontend):
(WebCore::WorkerInspectorController::disconnectFrontend):
(WebCore::WorkerInspectorController::restoreInspectorStateFromCookie):
* inspector/WorkerInspectorController.h:
* inspector/front-end/WorkerManager.js:
(WebInspector.WorkerManager.showWorkerTerminatedScreen):
* inspector/front-end/inspector.js:
* workers/SharedWorkerContext.cpp:
(WebCore::SharedWorkerContext::logExceptionToConsole):
* workers/SharedWorkerContext.h:
* workers/WorkerContext.cpp:
(WebCore::WorkerContext::addMessage): console messages are now added to
the worker console agent.
(WebCore::WorkerContext::addMessageToWorkerConsole):
* workers/WorkerContext.h:
2011-11-23 Jeff Timanus <twiz@chromium.org>
[Chromium] Prevent DrawingBuffer instances from corrupting the active
texture state of the WebGL contexts. The DrawingBuffer now tracks the
state of texture unit 0, and the active texture unit, so that state can
be restored.
https://bugs.webkit.org/show_bug.cgi?id=73033
Reviewed by Kenneth Russell.
Test: fast/canvas/webgl/webgl-texture-binding-preserved.html
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::activeTexture):
(WebCore::WebGLRenderingContext::bindTexture):
* platform/graphics/chromium/DrawingBufferChromium.cpp:
(WebCore::DrawingBuffer::DrawingBuffer):
(WebCore::DrawingBuffer::publishToPlatformLayer):
* platform/graphics/gpu/DrawingBuffer.h:
(WebCore::DrawingBuffer::setTexture2DBinding):
(WebCore::DrawingBuffer::setActiveTextureUnit):
* platform/graphics/gpu/mac/DrawingBufferMac.mm:
(WebCore::DrawingBuffer::DrawingBuffer):
* platform/graphics/gpu/qt/DrawingBufferQt.cpp:
(WebCore::DrawingBuffer::DrawingBuffer):
* platform/graphics/gtk/DrawingBufferGtk.cpp:
(WebCore::DrawingBuffer::DrawingBuffer):
2011-11-23 Luke Macpherson <macpherson@chromium.org>
CSSValue: reorder ClassType enum to allow faster comparisons, add COMPILE_ASSERT on class size.
https://bugs.webkit.org/show_bug.cgi?id=72924
Reviewed by Andreas Kling.
Note that the change from unsigned to unsigned char is to improve bit packing when using MSVC.
Covered by existing CSS tests.
* css/CSSValue.h:
(WebCore::CSSValue::isPrimitiveValue):
(WebCore::CSSValue::isValueList):
(WebCore::CSSValue::isImageGeneratorValue):
(WebCore::CSSValue::isTimingFunctionValue):
(WebCore::CSSValue::CSSValue):
2011-11-23 Dmitry Lomov <dslomov@google.com>
https://bugs.webkit.org/show_bug.cgi?id=73054
[V8][Chromium] Add list of transferred ArrayBuffers to SerializedScriptValue::create.
Reviewed by David Levin.
* bindings/scripts/CodeGeneratorV8.pm:
(GenerateParametersCheck):
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::TestObjInternal::serializedValueCallback):
* bindings/v8/OptionsObject.cpp:
* bindings/v8/SerializedScriptValue.cpp:
(WebCore::SerializedScriptValue::create):
* bindings/v8/SerializedScriptValue.h:
* bindings/v8/V8Utilities.cpp:
(WebCore::extractTransferables):
(WebCore::getMessagePortArray):
* bindings/v8/V8Utilities.h:
* bindings/v8/custom/V8DOMWindowCustom.cpp:
(WebCore::handlePostMessageCallback):
* bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
(WebCore::handlePostMessageCallback):
* bindings/v8/custom/V8HistoryCustom.cpp:
(WebCore::V8History::pushStateCallback):
(WebCore::V8History::replaceStateCallback):
* bindings/v8/custom/V8MessageEventCustom.cpp:
* bindings/v8/custom/V8MessagePortCustom.cpp:
(WebCore::handlePostMessageCallback):
* bindings/v8/custom/V8MessagePortCustom.h: Removed.
* bindings/v8/custom/V8WorkerCustom.cpp:
(WebCore::handlePostMessageCallback):
2011-11-23 Rafael Weinstein <rafaelw@chromium.org>
Cleanup #if usage in V8GCController
https://bugs.webkit.org/show_bug.cgi?id=73060
Reviewed by Ojan Vafai.
No tests needed. Just code cleanup
* bindings/v8/V8GCController.cpp:
(WebCore::V8GCController::checkMemoryUsage):
2011-11-23 Rafael Weinstein <rafaelw@chromium.org>
Change CSSMutableStyleDeclaration::m_node to m_element (along with getter/setter)
https://bugs.webkit.org/show_bug.cgi?id=73050
Reviewed by Ojan Vafai.
No tests needed. This is just a refactor.
* css/CSSMutableStyleDeclaration.cpp:
(WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
(WebCore::CSSMutableStyleDeclaration::operator=):
(WebCore::CSSMutableStyleDeclaration::isInlineStyleDeclaration):
(WebCore::CSSMutableStyleDeclaration::setNeedsStyleRecalc):
* css/CSSMutableStyleDeclaration.h:
(WebCore::CSSMutableStyleDeclaration::setElement):
(WebCore::CSSMutableStyleDeclaration::element):
* css/CSSStyleRule.cpp:
(WebCore::CSSStyleRule::setSelectorText):
* dom/StyledElement.cpp:
(WebCore::StyledElement::createInlineStyleDecl):
(WebCore::StyledElement::destroyInlineStyleDecl):
(WebCore::StyledElement::attributeChanged):
(WebCore::StyledElement::createMappedDecl):
* html/HTMLTableElement.cpp:
(WebCore::HTMLTableElement::additionalAttributeStyleDecls):
(WebCore::HTMLTableElement::addSharedCellBordersDecl):
(WebCore::HTMLTableElement::addSharedCellPaddingDecl):
(WebCore::HTMLTableElement::addSharedGroupDecls):
* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::inlineStyleElement):
2011-11-23 Ami Fischman <fischman@chromium.org>
Teach VideoLayerChromium how to render native texture (to support HW video decode).
https://bugs.webkit.org/show_bug.cgi?id=73043
Reviewed by Kenneth Russell.
No new tests. (depends on chromium support landing, and supporting HW being available)
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::drawLayersOntoRenderSurfaces):
(WebCore::LayerRendererChromium::videoLayerNativeTextureProgram):
* platform/graphics/chromium/LayerRendererChromium.h:
* platform/graphics/chromium/VideoFrameChromium.h:
* platform/graphics/chromium/VideoLayerChromium.cpp:
(WebCore::VideoLayerChromium::VideoLayerChromium):
(WebCore::VideoLayerChromium::updateCompositorResources):
(WebCore::VideoLayerChromium::pushPropertiesTo):
(WebCore::VideoLayerChromium::determineTextureFormat):
* platform/graphics/chromium/VideoLayerChromium.h:
* platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
(WebCore::CCVideoLayerImpl::setNativeTexture):
(WebCore::CCVideoLayerImpl::draw):
(WebCore::CCVideoLayerImpl::drawNativeTexture):
* platform/graphics/chromium/cc/CCVideoLayerImpl.h:
2011-11-23 Vincent Scheib <scheib@chromium.org>
Pointer Lock: Plumb movement coordinates from PlatformMouseEvent to MouseEvents.
https://bugs.webkit.org/show_bug.cgi?id=73031
Reviewed by Dimitri Glazkov.
No tests for now, but this patch gets us closer to being able to write layout tests for pointer lock.
* dom/MouseEvent.cpp:
(WebCore::MouseEvent::create):
(WebCore::MouseEvent::MouseEvent):
(WebCore::SimulatedMouseEvent::SimulatedMouseEvent):
* dom/MouseEvent.h:
(WebCore::MouseEvent::create):
* dom/MouseRelatedEvent.cpp:
(WebCore::MouseRelatedEvent::MouseRelatedEvent):
* dom/MouseRelatedEvent.h:
* dom/TouchEvent.cpp:
(WebCore::TouchEvent::TouchEvent):
* dom/WheelEvent.cpp:
(WebCore::WheelEvent::WheelEvent):
* page/EventHandler.cpp:
(WebCore::EventHandler::dispatchDragEvent):
* platform/PlatformMouseEvent.h:
(WebCore::PlatformMouseEvent::movementX):
(WebCore::PlatformMouseEvent::movementY):
2011-11-23 Nico Weber <thakis@chromium.org>
Remove one static initializer (for kTickTime)
https://bugs.webkit.org/show_bug.cgi?id=73049
Reviewed by Adam Barth.
* platform/ScrollAnimatorNone.cpp:
2011-11-23 Jonathan Backer <backer@chromium.org>
[chromium] Drop root layer tiles on platforms that cache the front buffer
https://bugs.webkit.org/show_bug.cgi?id=72956
Reviewed by Kenneth Russell.
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::initialize):
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::initialize):
(WebCore::CCLayerTreeHost::didBecomeInvisibleOnImplThread):
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
(WebCore::CCSettings::CCSettings):
(WebCore::LayerRendererCapabilities::LayerRendererCapabilities):
2011-11-23 Erik Arvidsson <arv@chromium.org>
Binding CodeGenerators don't support Conditional= on constants
https://bugs.webkit.org/show_bug.cgi?id=67666
Reviewed by Adam Barth.
Adds support for [Conditional=LABEL] to const IDL fields.
* bindings/scripts/CodeGenerator.pm:
(GenerateConditionalStringFromAttributeValue): Moved out of CodeGenerator{CPP,JS,V8}.pm.
(GenerateCompileTimeCheckForEnumsIfNeeded): Wrap in conditional #if.
* bindings/scripts/CodeGeneratorCPP.pm:
(GenerateConditionalString):
(GenerateHeader): Ditto.
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateConditionalString):
(GenerateHeader): Ditto.
(GenerateImplementation): Ditto.
(GenerateHashTable):
(WriteData):
* bindings/scripts/CodeGeneratorObjC.pm:
(GenerateHeader): Ditto.
* bindings/scripts/CodeGeneratorV8.pm:
(GenerateConditionalString): Ditto.
(GenerateImplementation):
(WriteData):
* bindings/scripts/test/CPP/WebDOMTestObj.h: Generated code now wraps conditional const in #if.
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjCONDITIONAL_CONST): Ditto
* bindings/scripts/test/JS/JSTestObj.h: Ditto
* bindings/scripts/test/ObjC/DOMTestObj.h: Ditto
* bindings/scripts/test/TestObj.idl: Added a conditional const.
* bindings/scripts/test/V8/V8TestObj.cpp: Generated code now wraps conditional const in #if.
2011-11-23 Rafael Weinstein <rafaelw@chromium.org>
[MutationObservers] Modifications to the style property don't dispatch "attributes" Mutation Records
https://bugs.webkit.org/show_bug.cgi?id=70137
Reviewed by Ryosuke Niwa.
This patch adds a private AttributesMutationScope mechanism to CSSMutableStyleDeclaration (which uses
the RAII pattern similar to the public ChildListMutationScope). This manages the (sometimes conditional)
pre-change serialization of the style attribute (if an observer has requested oldValue), creation of
the mutation record, and dispatch if the declaration was actual affected.
* css/CSSMutableStyleDeclaration.cpp:
(WebCore::CSSMutableStyleDeclaration::removeProperty):
(WebCore::CSSMutableStyleDeclaration::setProperty):
(WebCore::CSSMutableStyleDeclaration::setPropertyInternal):
(WebCore::CSSMutableStyleDeclaration::parseDeclaration):
(WebCore::CSSMutableStyleDeclaration::addParsedProperties):
(WebCore::CSSMutableStyleDeclaration::addParsedProperty):
(WebCore::CSSMutableStyleDeclaration::setCssText):
(WebCore::CSSMutableStyleDeclaration::merge):
(WebCore::CSSMutableStyleDeclaration::removePropertiesInSet):
* dom/Element.cpp:
(WebCore::Element::setAttribute):
2011-11-23 Dmitry Lomov <dslomov@google.com>
Unreviewed, rebaseline binding tests after http://trac.webkit.org/changeset/101064.
* bindings/scripts/test/JS/JSFloat64Array.cpp:
(WebCore::toFloat64Array):
* bindings/scripts/test/V8/V8Float64Array.cpp:
(WebCore::V8Float64Array::wrapSlow):
2011-11-23 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r101069.
http://trac.webkit.org/changeset/101069
https://bugs.webkit.org/show_bug.cgi?id=73032
New test always times out (Requested by aklein on #webkit).
* inspector/front-end/DebuggerPresentationModel.js:
(WebInspector.DebuggerPresentationModel.prototype._bindScriptToRawSourceCode):
(WebInspector.DebuggerPresentationModel.prototype.evaluateInSelectedCallFrame):
(WebInspector.DebuggerPresentationModel.prototype.get executionLineLocation):
(WebInspector.DebuggerPresentationModel.DefaultLinkifierFormatter.prototype.formatRawSourceCodeAnchor):
(WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyLocation):
(WebInspector.DebuggerPresentationModel.Linkifier.prototype._updateAnchor):
2011-11-23 Antti Koivisto <antti@apple.com>
https://bugs.webkit.org/show_bug.cgi?id=72354
Image pointer in FillLayer not cleared correctly
Reviewed by Dan Bernstein.
Test: fast/css/fill-layer-crash.html
We should clear the image pointer too, not just the m_imageSet bit.
* rendering/style/FillLayer.h:
(WebCore::FillLayer::clearImage):
2011-11-23 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r101057.
http://trac.webkit.org/changeset/101057
https://bugs.webkit.org/show_bug.cgi?id=73027
Broke Chromium Windows build (Requested by aklein on #webkit).
* html/HTMLTrackElement.cpp:
(WebCore::HTMLTrackElement::HTMLTrackElement):
(WebCore::HTMLTrackElement::didCompleteLoad):
(WebCore::HTMLTrackElement::textTrackReadyStateChanged):
* html/HTMLTrackElement.h:
* html/HTMLTrackElement.idl:
* html/LoadableTextTrack.cpp:
(WebCore::LoadableTextTrack::loadTimerFired):
(WebCore::LoadableTextTrack::cueLoadingStarted):
(WebCore::LoadableTextTrack::cueLoadingCompleted):
* html/TextTrack.cpp:
(WebCore::TextTrack::TextTrack):
(WebCore::TextTrack::setReadyState):
* html/TextTrack.h:
(WebCore::TextTrack::readyState):
* html/TextTrack.idl:
2011-11-23 Yury Semikhatsky <yurys@chromium.org>
Unreviewed. Build fix. Added missing ENABLE(WORKERS) guards.
* inspector/WorkerConsoleAgent.cpp:
* inspector/WorkerConsoleAgent.h:
* inspector/WorkerRuntimeAgent.cpp:
* inspector/WorkerRuntimeAgent.h:
2011-11-23 Philippe Normand <pnormand@igalia.com>
[GStreamer] improper usage of gst_object_ref_sink
https://bugs.webkit.org/show_bug.cgi?id=73014
Reviewed by Martin Robinson.
No new tests. Existing tests cover this already.
* platform/graphics/gstreamer/GRefPtrGStreamer.cpp:
(WTF::adoptGRef): Ensure this is called with non-floating GstObjects.
(WTF::GstElement): Replace gst_object_ref_sink with
gst_object_ref+gst_object_sink like advised in the GstObject documentation.
(WTF::GstPad): Ditto.
* platform/graphics/gstreamer/GRefPtrGStreamer.h:
2011-11-23 Yury Semikhatsky <yurys@chromium.org>
Web Inspector: split console agent into worker and page console agents
https://bugs.webkit.org/show_bug.cgi?id=73019
InspectorConsoleAgent now has two descendants: WorkerConsoleAgent and PageConsoleAgent
which encapsulate functionality specific for the type of inspected instance.
Reviewed by Pavel Feldman.
* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* inspector/InspectorConsoleAgent.cpp:
(WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
(WebCore::InspectorConsoleAgent::~InspectorConsoleAgent):
(WebCore::InspectorConsoleAgent::clearMessages):
(WebCore::InspectorConsoleAgent::addMessageToConsole):
(WebCore::InspectorConsoleAgent::resourceRetrievedByXMLHttpRequest):
(WebCore::InspectorConsoleAgent::didReceiveResponse):
(WebCore::InspectorConsoleAgent::didFailLoading):
(WebCore::InspectorConsoleAgent::addConsoleMessage):
* inspector/InspectorConsoleAgent.h:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
* inspector/InspectorStyleTextEditor.cpp:
* inspector/InspectorStyleTextEditor.h:
* inspector/PageConsoleAgent.cpp: Copied from Source/WebCore/inspector/PageDebuggerAgent.cpp.
(WebCore::PageConsoleAgent::PageConsoleAgent):
(WebCore::PageConsoleAgent::~PageConsoleAgent):
(WebCore::PageConsoleAgent::clearMessages):
(WebCore::PageConsoleAgent::addInspectedNode):
(WebCore::PageConsoleAgent::developerExtrasEnabled):
* inspector/PageConsoleAgent.h: Copied from Source/WebCore/inspector/PageDebuggerAgent.h.
* inspector/PageDebuggerAgent.cpp:
* inspector/PageDebuggerAgent.h:
* inspector/PageRuntimeAgent.cpp: Copied from Source/WebCore/inspector/PageDebuggerAgent.h.
(WebCore::PageRuntimeAgent::PageRuntimeAgent): PageRuntimeAgent was moved into its own file.
(WebCore::PageRuntimeAgent::~PageRuntimeAgent):
(WebCore::PageRuntimeAgent::scriptStateForFrameId):
(WebCore::PageRuntimeAgent::getDefaultInspectedState):
* inspector/PageRuntimeAgent.h: Copied from Source/WebCore/inspector/PageDebuggerAgent.h.
* inspector/WorkerConsoleAgent.cpp: Copied from Source/WebCore/inspector/PageDebuggerAgent.h.
(WebCore::WorkerConsoleAgent::WorkerConsoleAgent):
(WebCore::WorkerConsoleAgent::~WorkerConsoleAgent):
(WebCore::WorkerConsoleAgent::addInspectedNode):
(WebCore::WorkerConsoleAgent::developerExtrasEnabled):
* inspector/WorkerConsoleAgent.h: Copied from Source/WebCore/inspector/PageDebuggerAgent.h.
* inspector/WorkerDebuggerAgent.cpp:
* inspector/WorkerDebuggerAgent.h:
* inspector/WorkerInspectorController.cpp:
(WebCore::WorkerInspectorController::WorkerInspectorController):
* inspector/WorkerInspectorController.h:
* inspector/WorkerRuntimeAgent.cpp: Copied from Source/WebCore/inspector/PageDebuggerAgent.h.
(WebCore::WorkerRuntimeAgent::WorkerRuntimeAgent): WorkerRuntimeAgent was moved into its own file.
(WebCore::WorkerRuntimeAgent::~WorkerRuntimeAgent):
(WebCore::WorkerRuntimeAgent::scriptStateForFrameId):
(WebCore::WorkerRuntimeAgent::getDefaultInspectedState):
* inspector/WorkerRuntimeAgent.h: Copied from Source/WebCore/inspector/PageDebuggerAgent.h.
2011-11-23 Alexander Pavlov <apavlov@chromium.org>
Web Inspector: warning icon for unrecognized style rule should have tooltip
https://bugs.webkit.org/show_bug.cgi?id=50638
Reviewed by Yury Semikhatsky.
* English.lproj/localizedStrings.js: Add new tooltip strings.
* inspector/front-end/CSSCompletions.js:
(WebInspector.CSSCompletions.prototype.keySet): Added.
* inspector/front-end/StylesSidebarPane.js: Create a separate IMG element for an exclamation mark.
* inspector/front-end/elementsPanel.css:
(.styles-section .properties li.not-parsed-ok img.exclamation-mark):
2011-11-23 Halton Huo <halton.huo@intel.com>
[EFL] Add zlib depend when freetype is used.
https://bugs.webkit.org/show_bug.cgi?id=66365
Unreviewed build fix.
When freetype is enabled, uncompress() function is used by
WOFFFileFormat.cpp. Since zlib is not required by freetype, we need to
add libz as dependency for fix linking issue.
No new test because this change is only to fix linking issue.
* PlatformEfl.cmake: add ZLIB as dependency when using freetype
2011-11-23 Mihnea Ovidenie <mihnea@adobe.com>
CSS Exclusions: parse the shorthand "wrap" property
https://bugs.webkit.org/show_bug.cgi?id=71905
Reviewed by Dean Jackson.
Test: fast/exclusions/wrap-parsing.html
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSMutableStyleDeclaration.cpp:
(WebCore::CSSMutableStyleDeclaration::getPropertyValue):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
* css/CSSProperty.cpp:
(WebCore::CSSProperty::isInheritedProperty):
* css/CSSPropertyLonghand.cpp:
(WebCore::initShorthandMap):
* css/CSSPropertyNames.in:
* css/CSSStyleApplyProperty.cpp:
(WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
2011-11-23 Alexandru Chiculita <achicu@adobe.com>
[CSS Filters] WebKit crashes when changing the filter
https://bugs.webkit.org/show_bug.cgi?id=72723
Reviewed by Simon Fraser.
There are three things fixed with this patch:
1. The list of effects wasn't cleared when the FilterOperations were changed.
2. The sourceImage was going to be 0, because the m_sourceGraphicBuffer.release()
was also clearing the reference to m_sourceGraphicBuffer. Next time the build() method
was called m_graphicsBufferAttached was set to false, but the m_sourceGraphicBuffer was
not regenerated, because the size was not invalidated.
3. maxEffectRects were not updated when a new list of effects was built.
Test: css3/filters/crash-filter-change.html
* rendering/FilterEffectRenderer.cpp:
(WebCore::FilterEffectRenderer::build):
(WebCore::FilterEffectRenderer::prepare):
* rendering/FilterEffectRenderer.h:
(WebCore::FilterEffectRenderer::setSourceImageRect):
2011-11-23 Elliot Poger <epoger@google.com>
[Skia] fix duplicate symbol __ZN7WebCore11BitmapImage16initPlatformDataEv error
https://bugs.webkit.org/show_bug.cgi?id=72954
Reviewed by Adam Barth.
* WebCore.gyp/WebCore.gyp:
2011-11-18 Pavel Podivilov <podivilov@chromium.org>
Web Inspector: add integration test for compiler source maps.
https://bugs.webkit.org/show_bug.cgi?id=72730
Reviewed by Pavel Feldman.
Test: http/tests/inspector/compiler-source-mapping-debug.html
* inspector/front-end/DebuggerPresentationModel.js:
(WebInspector.DebuggerPresentationModel.prototype._bindScriptToRawSourceCode):
(WebInspector.DebuggerPresentationModel.prototype.setCompilerSourceMapping):
(WebInspector.DebuggerPresentationModel.prototype.evaluateInSelectedCallFrame):
(WebInspector.DebuggerPresentationModel.prototype.get executionLineLocation):
(WebInspector.DebuggerPresentationModel.DefaultLinkifierFormatter.prototype.formatRawSourceCodeAnchor):
(WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyLocation):
(WebInspector.DebuggerPresentationModel.Linkifier.prototype._updateAnchor):
2011-11-23 Martin Robinson <mrobinson@igalia.com>
Build fix for GTK+.
* platform/graphics/gtk/DrawingBufferGtk.cpp:
(WebCore::DrawingBuffer::DrawingBuffer): Update signature and ASSERT
for the GTK+ port.
2011-11-23 Rafael Weinstein <rafaelw@chromium.org>
Remove notifyChange from the public interface of CSSMutableStyleDeclaration
https://bugs.webkit.org/show_bug.cgi?id=72660
Reviewed by Ojan Vafai.
No tests needed. This is only a refactor.
* css/CSSMutableStyleDeclaration.cpp:
(WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
(WebCore::CSSMutableStyleDeclaration::addParsedProperty):
* css/CSSMutableStyleDeclaration.h:
(WebCore::CSSMutableStyleDeclaration::setProperty):
(WebCore::CSSMutableStyleDeclaration::removeProperty):
(WebCore::CSSMutableStyleDeclaration::removePropertiesInSet):
* css/CSSStyleSelector.cpp:
(WebCore::leftToRightDeclaration):
(WebCore::rightToLeftDeclaration):
* editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
* html/HTMLElement.cpp:
(WebCore::HTMLElement::setContentEditable):
2011-11-23 Scott Graham <scottmg@chromium.org>
Adding gamepad support
https://bugs.webkit.org/show_bug.cgi?id=69451
Reviewed by Darin Fisher.
Plumb gamepad data access through platform.
Test: gamepad/gamepad-polling-access.html
* WebCore.gypi:
* page/Navigator.cpp:
(WebCore::Navigator::webkitGamepads):
* page/Navigator.h:
* platform/Gamepads.h: Added.
* platform/chromium/GamepadsChromium.cpp: Added.
(WebCore::sampleGamepads):
* platform/chromium/PlatformSupport.h:
2011-11-23 Dmitry Lomov <dslomov@google.com>
Get rid of WebCore dependencies from TypedArray implementation types
https://bugs.webkit.org/show_bug.cgi?id=72783
Reviewed by David Levin.
Remove WebCore specific logic for neutering Typed Array implementations.
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
* bindings/scripts/CodeGeneratorV8.pm:
* html/canvas/ArrayBuffer.cpp:
(WTF::ArrayBuffer::transfer):
* html/canvas/ArrayBuffer.h:
* html/canvas/ArrayBufferView.cpp:
(WTF::ArrayBufferView::neuter):
* html/canvas/ArrayBufferView.h:
* html/canvas/DataView.cpp:
(WebCore::DataView::neuter):
* html/canvas/DataView.h:
* html/canvas/Float32Array.h:
* html/canvas/Float64Array.h:
* html/canvas/Int16Array.h:
* html/canvas/Int32Array.h:
* html/canvas/Int8Array.h:
* html/canvas/Uint16Array.h:
* html/canvas/Uint32Array.h:
* html/canvas/Uint8Array.h:
2011-11-23 Raul Hudea <rhudea@adobe.com>
First step towards http://webkit.org/b/70025
Allow -webkit-transform to be have effect to SVG elements.
Currently, the CSS transform takes precedence over the SVG transform attribute
Allow SVG elements to be transformed using webkit-transform
https://bugs.webkit.org/show_bug.cgi?id=71309
Reviewed by Nikolas Zimmermann.
Tests: svg/clip-path/clip-path-css-transform-1.svg
svg/clip-path/clip-path-css-transform-2.svg
svg/custom/clip-path-with-css-transform-1.svg
svg/custom/clip-path-with-css-transform-2.svg
svg/custom/pointer-events-image-css-transform.svg
svg/custom/pointer-events-text-css-transform.svg
svg/dom/css-transforms.xhtml
svg/dynamic-updates/SVG-dynamic-css-transform.html
svg/dynamic-updates/SVGClipPathElement-css-transform-influences-hitTesting.html
svg/transforms/svg-css-transforms-clip-path.xhtml
svg/transforms/svg-css-transforms.xhtml
* manual-tests/svg-animation-css-transform.html: Added.
* manual-tests/svg-css-animate-compound.html: Added.
* manual-tests/svg-css-transition-compound.html: Added.
* rendering/svg/RenderSVGModelObject.cpp:
(WebCore::RenderSVGModelObject::styleWillChange):
Set the updateTransform flag on SVG elements whenever a CSS transform is present on the style
* svg/SVGStyledTransformableElement.cpp:
(WebCore::SVGStyledTransformableElement::animatedLocalTransform):
Use the RenderStyle's transform (if it exists) over the SVG's transform
* svg/SVGTextElement.cpp:
(WebCore::SVGTextElement::animatedLocalTransform):
Use the RenderStyle's transform (if it exists) over the SVG's transform
2011-11-23 Rafael Weinstein <rafaelw@chromium.org>
[MutationObservers] Cleanup duplicated code in Element & CharacterData
https://bugs.webkit.org/show_bug.cgi?id=72986
Reviewed by Ojan Vafai.
This patch creates a MutationObserverInterestGroup which represents the set
of MutationObservers which should receive all mutations of a given type generated
from a specific node.
No tests needed. This patch is only a refactor.
* dom/CharacterData.cpp:
(WebCore::CharacterData::dispatchModifiedEvent):
* dom/ChildListMutationScope.cpp:
(WebCore::MutationAccumulationRouter::ChildListMutationAccumulator::ChildListMutationAccumulator):
(WebCore::MutationAccumulationRouter::ChildListMutationAccumulator::enqueueMutationRecord):
(WebCore::MutationAccumulationRouter::MutationAccumulationRouter::incrementScopingLevel):
* dom/Element.cpp:
(WebCore::enqueueAttributesMutationRecord):
* dom/WebKitMutationObserver.cpp:
(WebCore::MutationObserverInterestGroup::createForChildListMutation):
(WebCore::MutationObserverInterestGroup::createForCharacterDataMutation):
(WebCore::MutationObserverInterestGroup::createForAttributesMutation):
(WebCore::MutationObserverInterestGroup::MutationObserverInterestGroup):
(WebCore::MutationObserverInterestGroup::isOldValueRequested):
(WebCore::MutationObserverInterestGroup::enqueueMutationRecord):
* dom/WebKitMutationObserver.h:
(WebCore::MutationObserverInterestGroup::isEmpty):
(WebCore::MutationObserverInterestGroup::hasOldValue):
2011-11-23 Marc-Andre Decoste <mad@chromium.org>
[chromium] HDC leak in Uniscribe Helper
https://bugs.webkit.org/show_bug.cgi?id=68598
Reviewed by Darin Fisher.
For some reason the Script functions on Windows sometimes return
E_PENDING even with a non-NULL DC, so we must handle that case.
Also, we should not use the screen DC to select font since this
refreshes the whole desktop, so I added a cached compatible DC.
Note that this doesn't reproduce with WebKit alone, it only reproduces
within Chrome, so we can't write a WebKit test for it. A chromium
browser test will be added once this change gets rolled in the
chromium DEPS file.
* platform/graphics/chromium/UniscribeHelper.cpp:
(WebCore::UniscribeHelper::shape):
(WebCore::UniscribeHelper::EnsureCachedDCCreated):
(WebCore::UniscribeHelper::fillShapes):
* platform/graphics/chromium/UniscribeHelper.h:
2011-11-23 Anna Cavender <annacc@chromium.org>
Move readyState from TextTrack to HTMLTrackElement
https://bugs.webkit.org/show_bug.cgi?id=72553
Reviewed by Eric Carlson.
* html/HTMLTrackElement.cpp:
(WebCore::HTMLTrackElement::HTMLTrackElement):
Set initial readyState to NONE.
(WebCore::HTMLTrackElement::didCompleteLoad):
Set readyState based on load completed status.
(WebCore::HTMLTrackElement::setReadyState):
This replaces textTrackReadyStateChanged() because only LoadableTextTrack
needs to notify HTMLTrackElement of readyState changes (i.e.
textTrackReadyStateChanged() is no longer required of TextTrackClient).
* html/HTMLTrackElement.h:
ReadyState enum and m_readyState member variable moved from TextTrack.
(WebCore::HTMLTrackElement::readyState):
New: readyState() getter.
* html/HTMLTrackElement.idl:
Add readyState attribute and associated constants.
* html/LoadableTextTrack.cpp:
(WebCore::LoadableTextTrack::loadTimerFired): Set readyState on HTMLTrackElement.
(WebCore::LoadableTextTrack::cueLoadingStarted): Ditto.
(WebCore::LoadableTextTrack::cueLoadingCompleted): Move code to set readyState
to HTMLTrackElement (it can set it based on loading status).
* html/TextTrack.cpp: Remove readyState from TextTrack.
(WebCore::TextTrack::TextTrack): Ditto.
* html/TextTrack.h: Ditto.
* html/TextTrack.idl: Ditto.
2011-11-23 Raphael Kubo da Costa <kubo@profusion.mobi>
[CMake] Move the top-level logic to the top-level directory.
https://bugs.webkit.org/show_bug.cgi?id=72685
Reviewed by Brent Fulgham.
No new tests, this is a buildsystem changes.
* CMakeLists.txt: Adjust the Source/ directory.
* PlatformBlackBerry.cmake: Ditto.
2011-11-23 Mihnea Ovidenie <mihnea@adobe.com>
CSS Exclusions: update the name of the shape CSS properties
https://bugs.webkit.org/show_bug.cgi?id=71898
Instead of a single wrap-shape property, we have wrap-shape-inside and wrap-shape-outside.
Reviewed by Dean Jackson.
Tests: fast/exclusions/parsing-wrap-shape-inside.html
fast/exclusions/parsing-wrap-shape-outside.html
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseWrapShape):
* css/CSSParser.h:
* css/CSSProperty.cpp:
(WebCore::CSSProperty::isInheritedProperty):
* css/CSSPropertyNames.in:
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::diff):
* rendering/style/RenderStyle.h:
(WebCore::InheritedFlags::setWrapShapeInside):
(WebCore::InheritedFlags::wrapShapeInside):
(WebCore::InheritedFlags::setWrapShapeOutside):
(WebCore::InheritedFlags::wrapShapeOutside):
(WebCore::InheritedFlags::initialWrapShapeInside):
(WebCore::InheritedFlags::initialWrapShapeOutside):
* rendering/style/StyleRareNonInheritedData.cpp:
(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator==):
* rendering/style/StyleRareNonInheritedData.h:
2011-11-23 Andrey Kosyakov <caseq@chromium.org>
Web Inspector: [Extensions API] avoid exception in initExtensions() if elements panel is not present
https://bugs.webkit.org/show_bug.cgi?id=73007
Reviewed by Yury Semikhatsky.
* inspector/front-end/ExtensionServer.js:
2011-11-23 Brian Salomon <bsalomon@google.com>
Use new name for pixel config field of GrTextureDesc
https://bugs.webkit.org/show_bug.cgi?id=72543
Reviewed by Stephen White.
Tested by every canvas2d layout test.
* platform/graphics/skia/ImageBufferSkia.cpp:
(WebCore::createAcceleratedCanvas):
2011-11-23 Emil A Eklund <eae@chromium.org>
Change remaining scrollTop/Left/Width/Height methods back to int
https://bugs.webkit.org/show_bug.cgi?id=72771
Reviewed by Eric Seidel.
Change remaining scrollTop/Left/Width/Height, setScrollLeft/Top and
verticalScrollbarWidth, horizontalScrollbarHeight methods back to int as
scrolling will remain int based to line up with device pixels.
No new tests.
* rendering/RenderBox.cpp:
(WebCore::RenderBox::scrollWidth):
(WebCore::RenderBox::scrollHeight):
(WebCore::RenderBox::scrollLeft):
(WebCore::RenderBox::scrollTop):
(WebCore::RenderBox::setScrollLeft):
(WebCore::RenderBox::setScrollTop):
(WebCore::RenderBox::verticalScrollbarWidth):
(WebCore::RenderBox::horizontalScrollbarHeight):
* rendering/RenderBox.h:
(WebCore::RenderBox::scrollbarLogicalHeight):
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::verticalScrollbarWidth):
(WebCore::RenderListBox::scrollHeight):
(WebCore::RenderListBox::scrollLeft):
(WebCore::RenderListBox::setScrollLeft):
(WebCore::RenderListBox::scrollTop):
(WebCore::RenderListBox::setScrollTop):
* rendering/RenderListBox.h:
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::scrollWidth):
(WebCore::RenderTextControlSingleLine::scrollHeight):
(WebCore::RenderTextControlSingleLine::scrollLeft):
(WebCore::RenderTextControlSingleLine::scrollTop):
(WebCore::RenderTextControlSingleLine::setScrollLeft):
(WebCore::RenderTextControlSingleLine::setScrollTop):
* rendering/RenderTextControlSingleLine.h:
2011-11-22 Kenneth Russell <kbr@google.com>
[chromium] Support Core Animation plugins in compositor
https://bugs.webkit.org/show_bug.cgi?id=72921
Reviewed by Stephen White.
Added support to PluginLayerChromium and CCPluginLayerImpl for
using an IOSurface as the backing store for a plugin. Added minimal
ARB_texture_rectangle support to Extensions3D.h and a Chromium-
specific extension for binding an IOSurface to a texture.
These changes themselves do not have any effect. A follow-on
Chromium CL will make the switch to this new code path.
Tested manually both with and without the Chromium side changes;
Chromium's DumpRenderTree port does not support Core Animation
plugins. Ran video and Stage3D in Flash, and Unity 3D content, to
verify.
* platform/graphics/Extensions3D.h:
* platform/graphics/chromium/Extensions3DChromium.h:
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::initialize):
(WebCore::LayerRendererChromium::pluginLayerTexRectProgram):
(WebCore::LayerRendererChromium::pluginLayerTexRectProgramFlip):
* platform/graphics/chromium/LayerRendererChromium.h:
* platform/graphics/chromium/PluginLayerChromium.cpp:
(WebCore::PluginLayerChromium::PluginLayerChromium):
(WebCore::PluginLayerChromium::setIOSurfaceProperties):
(WebCore::PluginLayerChromium::getIOSurfaceId):
(WebCore::PluginLayerChromium::pushPropertiesTo):
* platform/graphics/chromium/PluginLayerChromium.h:
* platform/graphics/chromium/ShaderChromium.cpp:
(WebCore::FragmentShaderRGBATexRectFlipAlpha::getShaderString):
(WebCore::FragmentShaderRGBATexRectAlpha::getShaderString):
* platform/graphics/chromium/ShaderChromium.h:
* platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
(PluginProgramBinding::TexStretchPluginProgramBinding::set):
(PluginProgramBinding::TexTransformPluginProgramBinding::set):
(WebCore::CCPluginLayerImpl::CCPluginLayerImpl):
(WebCore::CCPluginLayerImpl::~CCPluginLayerImpl):
(WebCore::CCPluginLayerImpl::draw):
(WebCore::CCPluginLayerImpl::setIOSurfaceProperties):
(WebCore::CCPluginLayerImpl::cleanupResources):
* platform/graphics/chromium/cc/CCPluginLayerImpl.h:
2011-11-22 Daniel Cheng <dcheng@chromium.org>
[chromium] Fix plumbing for differentiating between clipboard/selection pastes.
https://bugs.webkit.org/show_bug.cgi?id=72056
Reviewed by Tony Chang.
Add a buffer parameter when retrieving the clipboard sequence number and fix several call
sites that incorrectly assume use of the standard buffer in pastes.
* platform/chromium/ChromiumDataObject.cpp:
(WebCore::ChromiumDataObject::types):
(WebCore::ChromiumDataObject::getData):
(WebCore::ChromiumDataObject::containsFilenames):
* platform/chromium/ChromiumDataObject.h:
* platform/chromium/ClipboardChromium.cpp:
(WebCore::ClipboardChromium::ClipboardChromium):
(WebCore::ClipboardChromium::getData):
(WebCore::ClipboardChromium::platformClipboardChanged):
* platform/chromium/ClipboardUtilitiesChromium.cpp:
(WebCore::currentPasteboardBuffer):
* platform/chromium/ClipboardUtilitiesChromium.h:
* platform/chromium/DataTransferItemChromium.cpp:
(WebCore::DataTransferItemChromium::getAsString):
* platform/chromium/PlatformSupport.h:
2011-11-22 Andrey Kosyakov <caseq@chromium.org>
Layout Test inspector/extensions/extensions-events.html is timing out
https://bugs.webkit.org/show_bug.cgi?id=72966
Reviewed by Pavel Feldman.
- always bind to {add,remove}EventListener() of event target, not WebInspector.Object
* inspector/front-end/ExtensionServer.js:
(WebInspector.ExtensionServer.prototype._registerAutosubscriptionHandler):
2011-11-22 Adam Klein <adamk@chromium.org>
Move splitView.css (added in r100991) to the correct target.
* WebCore.gypi:
2011-11-22 Andreas Kling <kling@webkit.org>
CSSProperty: Remove unnecessary operator overloads.
<http://webkit.org/b/72953>
Reviewed by Antti Koivisto.
* css/CSSProperty.cpp:
* css/CSSProperty.h:
Remove operator= and operator== from CSSProperty. They were neither
implemented correctly nor used anywhere.
2011-11-22 Andreas Kling <kling@webkit.org>
CSSStyleDeclaration: Kill FIXME in setProperty().
<http://webkit.org/b/72958>
Reviewed by Antonio Gomes.
Remove FIXME about possibly throwing an exception when setProperty()
is called with an invalid property name. CSSOM specifies that the
method should simply return in this case.
Spec: http://dev.w3.org/csswg/cssom/#dom-cssstyledeclaration-setproperty
* css/CSSStyleDeclaration.cpp:
(WebCore::CSSStyleDeclaration::setProperty):
2011-11-22 Shinya Kawanaka <shinyak@google.com>
Spellcheck should be able to run asynchronously.
https://bugs.webkit.org/show_bug.cgi?id=71991
Reviewed by Hajime Morita.
Run asynchronous spell checker if both asynchronous flag and unified text checker flag are ON.
When multiple asynchronous spellchecking are requested, only the first request will be processed.
Test: editing/spelling/spellcheck-async.html
* editing/Editor.cpp:
(WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
Uses asynchronous spell checker if asynchronous flag is ON.
2011-11-22 Alexander Pavlov <apavlov@chromium.org>
Web Inspector: [SuggestBox] Grayed prompt displayed with non-collapsed selection in place
https://bugs.webkit.org/show_bug.cgi?id=72951
Reviewed by Pavel Feldman.
* inspector/front-end/TextPrompt.js:
(WebInspector.TextPrompt.prototype.complete):
2011-11-22 Pavel Feldman <pfeldman@google.com>
Not reviewed: fix inspector front-end compilation.
* inspector/front-end/externs.js:
(WebInspector.showPanel):
2011-11-22 Adam Bergkvist <adam.bergkvist@ericsson.com>
Add WebCore platform interface needed by updated MediaStream API design
https://bugs.webkit.org/show_bug.cgi?id=70895
Reviewed by Adam Barth.
This is one in a series of patches that update the MediaStream feature
to use WebCore platform interfaces.
Tests will be provided by http://webkit.org/b/56587
* GNUmakefile.list.am:
* WebCore.gypi:
* mediastream/LocalMediaStream.cpp:
(WebCore::LocalMediaStream::stopTimerFired):
* mediastream/MediaStream.h:
* mediastream/MediaStreamTrack.cpp:
(WebCore::MediaStreamTrack::setEnabled):
* mediastream/PeerConnection.cpp:
(WebCore::PeerConnection::didRemoveRemoteStream):
* mediastream/UserMediaRequest.cpp:
(WebCore::UserMediaRequest::start):
* mediastream/UserMediaRequest.h:
* platform/mediastream/MediaStreamCenter.cpp: Added.
(WebCore::MediaStreamCenter::instance):
(WebCore::MediaStreamCenter::endLocalMediaStream):
(WebCore::MediaStreamCenter::MediaStreamCenter):
(WebCore::MediaStreamCenter::~MediaStreamCenter):
(WebCore::MediaStreamCenter::queryMediaStreamSources):
(WebCore::MediaStreamCenter::didSetMediaStreamTrackEnabled):
(WebCore::MediaStreamCenter::didStopLocalMediaStream):
* platform/mediastream/MediaStreamCenter.h: Added.
(WebCore::MediaStreamSourcesQueryClient::~MediaStreamSourcesQueryClient):
* platform/mediastream/MediaStreamDescriptor.h:
(WebCore::MediaStreamDescriptorOwner::~MediaStreamDescriptorOwner):
(WebCore::MediaStreamDescriptor::owner):
(WebCore::MediaStreamDescriptor::setOwner):
2011-11-22 Pavel Feldman <pfeldman@google.com>
Web Inspector: remove Inspector::bringToFront from the protocol.
https://bugs.webkit.org/show_bug.cgi?id=72937
Inspector::bringToFront protocol method is currently used on the backend
in order to reveal the front-end window. We should do that by means of
the inspector client interface instead.
Reviewed by Yury Semikhatsky.
* inspector/Inspector.json:
* inspector/InspectorClient.h:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::show):
* loader/EmptyClients.h:
(WebCore::EmptyInspectorClient::bringFrontendToFront):
2011-11-21 Andrey Kosyakov <caseq@chromium.org>
Web Inspector: [Extensions API][refactoring] remove dependencies on the ExtensionsServer from most of the insepctor
https://bugs.webkit.org/show_bug.cgi?id=72899
Reviewed by Pavel Feldman.
* inspector/front-end/ElementsPanel.js:
(WebInspector.ElementsPanel.prototype._selectedNodeChanged):
* inspector/front-end/ExtensionServer.js:
(WebInspector.ExtensionServer.prototype._notifyResourceContentCommitted):
(WebInspector.ExtensionServer.prototype._notifyElementsSelectionChanged):
* inspector/front-end/Resource.js:
(WebInspector.Resource.prototype.addRevision):
* inspector/front-end/externs.js:
2011-11-22 Zoltan Horvath <zoltan@webkit.org>
[Qt] Build fix for MHTML support
* Target.pri: Add missing includepath.
2011-11-22 Vsevolod Vlasov <vsevik@chromium.org>
Web Inspector: Extract SplitView from Panel.createSidebar() method and reuse in Elements and Scripts panels.
https://bugs.webkit.org/show_bug.cgi?id=72920
Reviewed by Pavel Feldman.
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/compile-front-end.sh:
* inspector/front-end/ApplicationCacheModel.js:
* inspector/front-end/AuditsPanel.js:
(WebInspector.AuditsPanel):
* inspector/front-end/ElementsPanel.js:
(WebInspector.ElementsPanel):
(WebInspector.ElementsPanel.prototype.wasShown):
(WebInspector.ElementsPanel.prototype.sidebarResized):
(WebInspector.ElementsPanel.prototype.toggleSearchingForNode):
* inspector/front-end/NetworkPanel.js:
(WebInspector.NetworkPanel.prototype.wasShown):
(WebInspector.NetworkPanel.prototype._showResource):
(WebInspector.NetworkPanel.prototype._closeVisibleResource):
(WebInspector.NetworkPanel.prototype._toggleGridMode):
(WebInspector.NetworkPanel.prototype._toggleViewingResourceMode):
* inspector/front-end/Panel.js:
(WebInspector.Panel.prototype.wasShown):
(WebInspector.Panel.prototype.createSplitView):
(WebInspector.Panel.prototype.createSplitViewWithSidebarTree):
(WebInspector.Panel.prototype.sidebarResized):
* inspector/front-end/ProfilesPanel.js:
(WebInspector.ProfilesPanel.prototype._reset):
(WebInspector.ProfilesPanel.prototype.sidebarResized):
* inspector/front-end/ResourcesPanel.js:
(WebInspector.ResourcesPanel.prototype.sidebarResized):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype.wasShown):
(WebInspector.ScriptsPanel.prototype.sidebarResized):
* inspector/front-end/SplitView.js: Added.
(WebInspector.SplitView):
* inspector/front-end/TimelineOverviewPane.js:
(WebInspector.TimelineOverviewPane.prototype.sidebarResized):
* inspector/front-end/TimelinePanel.js:
(WebInspector.TimelinePanel):
(WebInspector.TimelinePanel.prototype.sidebarResized):
(WebInspector.TimelinePanel.prototype._refreshRecords):
* inspector/front-end/WebKit.qrc:
* inspector/front-end/auditsPanel.css:
* inspector/front-end/elementsPanel.css:
* inspector/front-end/inspector.css:
(.sidebar):
* inspector/front-end/inspector.html:
* inspector/front-end/networkLogView.css:
* inspector/front-end/networkPanel.css:
(#network-views):
* inspector/front-end/profilesPanel.css:
(#profile-views):
* inspector/front-end/resourcesPanel.css:
* inspector/front-end/scriptsPanel.css:
(#scripts-split-view):
* inspector/front-end/splitView.css: Added.
* inspector/front-end/timelinePanel.css:
(.timeline .sidebar):
(.timeline-sidebar-background):
(#resources-container-content):
2011-11-22 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r100988.
http://trac.webkit.org/changeset/100988
https://bugs.webkit.org/show_bug.cgi?id=72941
"Broke pixel tests on Chromium-Linux" (Requested by kbalazs on
#webkit).
* platform/graphics/filters/FEConvolveMatrix.cpp:
(WebCore::FEConvolveMatrix::platformApplySoftware):
* platform/graphics/filters/FEConvolveMatrix.h:
* platform/graphics/filters/FEGaussianBlur.cpp:
(WebCore::FEGaussianBlur::platformApply):
* platform/graphics/filters/FEGaussianBlur.h:
* platform/graphics/filters/FELighting.cpp:
(WebCore::FELighting::platformApplyGeneric):
* platform/graphics/filters/FELighting.h:
* platform/graphics/filters/FEMorphology.cpp:
(WebCore::FEMorphology::platformApply):
* platform/graphics/filters/FEMorphology.h:
* platform/graphics/filters/FETurbulence.cpp:
(WebCore::FETurbulence::platformApplySoftware):
* platform/graphics/filters/FETurbulence.h:
* platform/graphics/filters/arm/FELightingNEON.cpp:
* platform/graphics/filters/arm/FELightingNEON.h:
(WebCore::FELighting::platformApplyNeon):
2011-11-21 Balazs Kelemen <kbalazs@webkit.org>
Enable ParallelJobs by default
https://bugs.webkit.org/show_bug.cgi?id=70032
Reviewed by Zoltan Herczeg.
Covered by existing tests.
According to measurements on Mac and Linux it is a
considerable speedup for SVG on multicore.
Remove the ENABLE(PARALLEL_JOBS) guard. Fix the Windows build
by qualifying ParallelJobs with the WTF namespace (otherwise
MSVC believes it belongs to WebCore which is likely a compiler bug).
* platform/graphics/filters/FEConvolveMatrix.cpp:
(WebCore::FEConvolveMatrix::setInteriorPixelsWorker):
(WebCore::FEConvolveMatrix::platformApplySoftware):
* platform/graphics/filters/FEConvolveMatrix.h:
* platform/graphics/filters/FEGaussianBlur.cpp:
(WebCore::FEGaussianBlur::platformApplyWorker):
(WebCore::FEGaussianBlur::platformApply):
* platform/graphics/filters/FEGaussianBlur.h:
* platform/graphics/filters/FELighting.cpp:
(WebCore::FELighting::platformApplyGenericWorker):
(WebCore::FELighting::platformApplyGeneric):
* platform/graphics/filters/FELighting.h:
* platform/graphics/filters/FEMorphology.cpp:
(WebCore::FEMorphology::platformApplyWorker):
(WebCore::FEMorphology::platformApply):
* platform/graphics/filters/FEMorphology.h:
* platform/graphics/filters/FETurbulence.cpp:
(WebCore::FETurbulence::fillRegionWorker):
(WebCore::FETurbulence::platformApplySoftware):
* platform/graphics/filters/FETurbulence.h:
* platform/graphics/filters/arm/FELightingNEON.cpp:
(WebCore::FELighting::platformApplyNeonWorker):
* platform/graphics/filters/arm/FELightingNEON.h:
(WebCore::FELighting::platformApplyNeon):
2011-11-22 Alexander Pavlov <apavlov@chromium.org>
Web Inspector: [protocol] actual JSON messages do not conform to Inspector.json in CSS
https://bugs.webkit.org/show_bug.cgi?id=72733
Reviewed by Pavel Feldman.
* inspector/Inspector.json:
* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::getComputedStyleForNode):
* inspector/InspectorCSSAgent.h:
* inspector/InspectorStyleSheet.cpp:
(WebCore::InspectorStyle::buildArrayForComputedStyle):
* inspector/InspectorStyleSheet.h:
* inspector/front-end/CSSStyleModel.js:
(WebInspector.CSSStyleModel.prototype.getComputedStyleAsync):
(WebInspector.CSSStyleDeclaration.parseComputedStylePayload):
2011-11-22 Pavel Feldman <pfeldman@google.com>
Web Inspector: strip unused InspectorController methods.
https://bugs.webkit.org/show_bug.cgi?id=72886
This is a follow up to the https://bugs.webkit.org/show_bug.cgi?id=63009.
I am now able to remove following InspectorController methods:
::startUserInitiatedProfiling,
::isRecordingUserInitiatedProfile,
::stopUserInitiatedProfiling,
::showAndEnableDebugger,
::debuggerEnabled,
::disableDebugger,
::startTimelineProfiler,
::stopTimelineProfiler,
::timelineProfilerEnabled,
::showConsole.
Reviewed by Yury Semikhatsky.
* WebCore.exp.in:
* WebCore.order:
* inspector/Inspector.json:
* inspector/InspectorAgent.cpp:
(WebCore::InspectorAgent::setFrontend):
* inspector/InspectorAgent.h:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::connectFrontend):
* inspector/InspectorController.h:
* inspector/InspectorDebuggerAgent.cpp:
(WebCore::InspectorDebuggerAgent::enable):
(WebCore::InspectorDebuggerAgent::disable):
* inspector/InspectorDebuggerAgent.h:
* inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::didCommitLoadImpl):
* inspector/InspectorProfilerAgent.cpp:
(WebCore::InspectorProfilerAgent::resetState):
(WebCore::InspectorProfilerAgent::clearFrontend):
(WebCore::InspectorProfilerAgent::restore):
(WebCore::InspectorProfilerAgent::start):
(WebCore::InspectorProfilerAgent::stop):
* inspector/InspectorProfilerAgent.h:
* inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::start):
(WebCore::InspectorTimelineAgent::stop):
* inspector/InspectorTimelineAgent.h:
* inspector/front-end/DebuggerModel.js:
(WebInspector.DebuggerModel.prototype.enableDebugger):
(WebInspector.DebuggerModel.prototype.disableDebugger):
* inspector/front-end/TimelineManager.js:
(WebInspector.TimelineManager.prototype.start):
(WebInspector.TimelineManager.prototype.stop):
(WebInspector.TimelineManager.prototype._started):
(WebInspector.TimelineManager.prototype._stopped):
* inspector/front-end/inspector.js:
2011-11-17 Nat Duca <nduca@chromium.org>
[chromium] Route willDraw/setNeedsRedraw to CCInputHandler and fix double-drawing issues that result
https://bugs.webkit.org/show_bug.cgi?id=72688
This allows CCInputFilter and CCLayerTreeHostImpl to
perform requestAnimationFrame-style animations. The bulk of
work here is to make the scheduler recover gracefully when you
call setNeedsRedraw inside scheduledActionDraw.
Reviewed by James Robinson.
* WebCore.gypi:
* platform/graphics/chromium/cc/CCInputHandler.h:
(WebCore::CCInputHandlerTarget::CCInputHandlerTarget):
(WebCore::CCInputHandlerTarget::~CCInputHandlerTarget):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::currentTimeMs):
(WebCore::CCLayerTreeHostImpl::setNeedsRedraw):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
* platform/graphics/chromium/cc/CCScheduler.cpp:
(WebCore::CCScheduler::CCScheduler):
(WebCore::CCScheduler::setVisible):
(WebCore::CCScheduler::setNeedsRedraw):
(WebCore::CCScheduler::beginFrame):
(WebCore::CCScheduler::processScheduledActions):
* platform/graphics/chromium/cc/CCScheduler.h:
* platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
(WebCore::CCSchedulerStateMachine::CCSchedulerStateMachine):
(WebCore::CCSchedulerStateMachine::nextAction):
(WebCore::CCSchedulerStateMachine::updateState):
(WebCore::CCSchedulerStateMachine::setInsideVSync):
(WebCore::CCSchedulerStateMachine::setOutsideVSync):
* platform/graphics/chromium/cc/CCSchedulerStateMachine.h:
* platform/graphics/chromium/cc/CCScrollController.h: Removed.
* platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::scheduledActionDrawAndSwap):
2011-11-22 Alexander Pavlov <apavlov@chromium.org>
Web Inspector: Design of the autocomplete suggest
https://bugs.webkit.org/show_bug.cgi?id=72798
Reviewed by Pavel Feldman.
Implemented a combination of grayed text for the first/only completion and hid
the suggest box for a single suggestion (the grayed text is displayed instead.)
Drive-by fix for the "trailing spaces in the prompt" issue
(got regressed when the suggest box was introduced for the first time.)
* inspector/front-end/ConsoleView.js:
(WebInspector.ConsoleView): Fix the "trailing spaces" issue
* inspector/front-end/TextPrompt.js:
(WebInspector.TextPrompt):
(WebInspector.TextPrompt.prototype.renderAsBlock): Fix the "trailing spaces" issue
(WebInspector.TextPrompt.prototype._attachInternal):
(WebInspector.TextPrompt.prototype.acceptAutoComplete):
(WebInspector.TextPrompt.prototype._completionsReady):
(WebInspector.TextPrompt.prototype.applySuggestion):
(WebInspector.TextPrompt.prototype.acceptSuggestion):
(WebInspector.TextPrompt.SuggestBox.prototype._completionsReady):
2011-11-21 David Barr <davidbarr@chromium.org>
REGRESSION(r98542): Chromium: CSS text is rendered on page
https://bugs.webkit.org/show_bug.cgi?id=71703
Reviewed by Dimitri Glazkov.
Matched UA declarations uncacheable when using simpleDefaultStyleSheet.
Test: fast/css/style-tag-display-none.html
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::matchUARules):
2011-11-21 Rob Brackett <rob@robbrackett.com>
If an event listener is a function, it should be called and not checked for handleEvent.
This also covers callbacks, which follow the same spec but are implemented separately.
https://bugs.webkit.org/show_bug.cgi?id=62518
Reviewed by Sam Weinig.
Tests: fast/events/dispatch-to-function-with-handle-event.html
fast/js/callback-function-with-handle-event.html
* bindings/js/JSCallbackData.cpp:
(WebCore::JSCallbackData::invokeCallback):
* bindings/js/JSEventListener.cpp:
(WebCore::JSEventListener::handleEvent):
2011-11-21 Rakesh KN <rakesh.kn@motorola.com>
Need support for dirname attribute
https://bugs.webkit.org/show_bug.cgi?id=65542
Reviewed by Eric Seidel.
Implemented 'dirname' form attribute.
Tests: fast/forms/form-dirname-attribute.html
fast/forms/submit-form-with-dirname-attribute-with-ancestor-dir-attribute.html
fast/forms/submit-form-with-dirname-attribute-with-nonhtml-ancestor.html
fast/forms/submit-form-with-dirname-attribute.html
* html/HTMLAttributeNames.in:
Added "dirname" attribute.
* html/HTMLInputElement.idl:
Add "dirName" property to HTMLInputElement interface.
* html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::appendFormData):
Append dirname form data.
* html/HTMLTextAreaElement.idl:
Add "dirName" property to HTMLTextAreaElement interface.
* html/HTMLTextFormControlElement.cpp:
(WebCore::parentHTMLElement):
Helper function which returns only HTML parent element.
(WebCore::HTMLTextFormControlElement::directionForFormData):
Helper function for finding directionality of the Element.
* html/HTMLTextFormControlElement.h:
Helper function for finding directionality of the Element.
* html/TextFieldInputType.cpp:
(WebCore::TextFieldInputType::appendFormData):
Append dirname form data.
* html/TextFieldInputType.h:
Append dirname form data.
2011-11-21 Joshua Bell <jsbell@chromium.org>
IndexedDB: Close database connections, abort transactions, and terminate requests on stop()
https://bugs.webkit.org/show_bug.cgi?id=72066
Reviewed by Tony Chang.
No new tests; addresses race conditions on document navigate/script context stop.
* dom/DocumentEventQueue.cpp:
(WebCore::DocumentEventQueue::enqueueEvent):
* dom/DocumentEventQueue.h:
* dom/EventQueue.h:
* storage/IDBDatabase.cpp:
(WebCore::IDBDatabase::IDBDatabase):
(WebCore::IDBDatabase::~IDBDatabase):
(WebCore::IDBDatabase::transaction):
(WebCore::IDBDatabase::close):
(WebCore::IDBDatabase::onVersionChange):
(WebCore::IDBDatabase::enqueueEvent):
(WebCore::IDBDatabase::stop):
* storage/IDBDatabase.h:
* storage/IDBFactory.cpp:
(WebCore::IDBFactory::IDBFactory):
(WebCore::IDBFactory::getDatabaseNames):
(WebCore::IDBFactory::open):
(WebCore::IDBFactory::deleteDatabase):
* storage/IDBFactory.h:
* storage/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::IDBObjectStore):
(WebCore::IDBObjectStore::name):
(WebCore::IDBObjectStore::keyPath):
(WebCore::IDBObjectStore::indexNames):
(WebCore::IDBObjectStore::get):
(WebCore::IDBObjectStore::add):
(WebCore::IDBObjectStore::put):
(WebCore::IDBObjectStore::deleteFunction):
(WebCore::IDBObjectStore::clear):
(WebCore::IDBObjectStore::createIndex):
(WebCore::IDBObjectStore::index):
(WebCore::IDBObjectStore::deleteIndex):
(WebCore::IDBObjectStore::openCursor):
* storage/IDBObjectStore.h:
* storage/IDBRequest.cpp:
(WebCore::IDBRequest::IDBRequest):
(WebCore::IDBRequest::abort):
(WebCore::IDBRequest::onSuccess):
(WebCore::IDBRequest::onSuccessWithContinuation):
(WebCore::IDBRequest::stop):
(WebCore::IDBRequest::dispatchEvent):
(WebCore::IDBRequest::enqueueEvent):
* storage/IDBRequest.h:
* storage/IDBTransaction.cpp:
(WebCore::IDBTransaction::IDBTransaction):
(WebCore::IDBTransaction::abort):
(WebCore::IDBTransaction::onAbort):
(WebCore::IDBTransaction::onComplete):
(WebCore::IDBTransaction::dispatchEvent):
(WebCore::IDBTransaction::stop):
(WebCore::IDBTransaction::enqueueEvent):
* storage/IDBTransaction.h:
* storage/IDBTransactionBackendImpl.cpp:
(WebCore::IDBTransactionBackendImpl::abort):
(WebCore::IDBTransactionBackendImpl::commit):
* workers/WorkerEventQueue.cpp:
(WebCore::WorkerEventQueue::enqueueEvent):
* workers/WorkerEventQueue.h:
2011-11-21 James Robinson <jamesr@chromium.org>
[chromium] Avoid pushing dirty tiles to the impl layer
https://bugs.webkit.org/show_bug.cgi?id=72765
Reviewed by Kenneth Russell.
If a tile has invalidations at pushPropertiesTo, then we know the contents of that tile are no longer valid even
if they still have valid backing textures. This avoids pushing that texture to the impl side so it is not
displayed to the user. The texture is still kept around (managed by the TextureManager) so that when we later do
decide to update the contents for that tile we can use partial results if they are still valid.
Covered by new unit test in TiledLayerChromiumTest.cpp
* platform/graphics/chromium/TiledLayerChromium.cpp:
(WebCore::UpdatableTile::isDirty):
(WebCore::TiledLayerChromium::updateTileSizeAndTilingOption):
(WebCore::TiledLayerChromium::setTileSize):
(WebCore::TiledLayerChromium::setLayerTreeHost):
(WebCore::TiledLayerChromium::createTiler):
(WebCore::TiledLayerChromium::updateCompositorResources):
(WebCore::TiledLayerChromium::pushPropertiesTo):
* platform/graphics/chromium/TiledLayerChromium.h:
(WebCore::TiledLayerChromium::setTextureFormat):
* platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
(WebCore::CCTiledLayerImpl::hasTileAt):
(WebCore::CCTiledLayerImpl::drawTiles):
* platform/graphics/chromium/cc/CCTiledLayerImpl.h:
2011-11-21 Simon Hausmann <simon.hausmann@nokia.com>
[Qt] Speed up debug builds.
https://bugs.webkit.org/show_bug.cgi?id=72882
Reviewed by Tor Arne Vestbø.
* Target.pri: Make BUILDING_WebCore available earlier, so it can be
used by the build system.
2011-11-17 Robert Hogan <robert@webkit.org>
CSS 2.1 failure: empty-inline-003.htm fails
https://bugs.webkit.org/show_bug.cgi?id=72638
Reviewed by Ryosuke Niwa.
Empty inline elements need to share their inline height with siblings.
* rendering/RenderBlockLineLayout.cpp:
(WebCore::inlineFlowRequiresLineBox): In strict mode, add a LineBox for an empty element if it is
going to affect the line-height.
(WebCore::requiresLineBox): Pass LineInfo to inlineFlowRequiresLineBox
(WebCore::RenderBlock::LineBreaker::nextLineBreak): Pass LineInfo to inlineFlowRequiresLineBox
2011-11-21 Adrienne Walker <enne@google.com>
[chromium] Remove incorrect render surface layer list asserts from compositor
https://bugs.webkit.org/show_bug.cgi?id=72744
Reviewed by James Robinson.
These asserts are incorrect, because it's valid for the default render
surface to be created but to have a root layer that doesn't draw. It
won't get added to the single render surface and it'll have an empty
layer list.
Test: compositor_unittests
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::drawLayersOntoRenderSurfaces):
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::paintLayerContents):
(WebCore::CCLayerTreeHost::updateCompositorResources):
2011-11-21 Andreas Kling <kling@webkit.org>
StyleSheet: Move completeURL() to CSSStyleSheet.
<http://webkit.org/b/72888>
Reviewed by Antti Koivisto.
Since completeURL() is only used on CSSStyleSheets, move it there (and make
it non-virtual) to make StyleSheet a little leaner.
* css/CSSStyleSheet.cpp:
(WebCore::CSSStyleSheet::completeURL):
* css/CSSStyleSheet.h:
* css/StyleSheet.cpp:
* css/StyleSheet.h:
2011-11-21 Robin Dunn <robin@alldunn.com>
[wx] Fix image translation calculations.
https://bugs.webkit.org/show_bug.cgi?id=72892
Reviewed by Kevin Ollivier.
* platform/graphics/wx/ImageWx.cpp:
(WebCore::Image::drawPattern):
2011-11-21 Scott Graham <scottmg@chromium.org>
copyright comment style to C from C++ for gamepad module
https://bugs.webkit.org/show_bug.cgi?id=72894
Reviewed by Sam Weinig.
Just changes comment format, no code/test changes.
* Modules/gamepad/Gamepad.cpp:
* Modules/gamepad/Gamepad.h:
* Modules/gamepad/Gamepad.idl:
* Modules/gamepad/GamepadList.cpp:
* Modules/gamepad/GamepadList.h:
* Modules/gamepad/GamepadList.idl:
2011-11-21 Andreas Kling <kling@webkit.org>
JSC/CSSOM: Merge root() for style declaration objects.
<http://webkit.org/b/72881>
Reviewed by Antti Koivisto.
Fold root(CSSMutableStyleDeclaration*) into root(CSSStyleDeclaration*),
removing a duplicated chunk and making it a little easier on the eyes.
* bindings/js/JSDOMBinding.h:
(WebCore::root):
2011-11-21 Igor Oliveira <igor.oliveira@openbossa.org>
[WK2][Qt] Move Accelerated Composite animations to UIProcess
https://bugs.webkit.org/show_bug.cgi?id=72753
Add helper method to synchronize animations in TextureMapper.
Reviewed by Noam Rosenthal.
* platform/graphics/texmap/TextureMapperNode.cpp:
(WebCore::TextureMapperNode::syncAnimationsRecursively):
* platform/graphics/texmap/TextureMapperNode.h:
2011-11-21 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r100913.
http://trac.webkit.org/changeset/100913
https://bugs.webkit.org/show_bug.cgi?id=72885
"Break Windows build" (Requested by kbalazs on #webkit).
* platform/graphics/filters/FEConvolveMatrix.cpp:
(WebCore::FEConvolveMatrix::platformApplySoftware):
* platform/graphics/filters/FEConvolveMatrix.h:
* platform/graphics/filters/FEGaussianBlur.cpp:
(WebCore::FEGaussianBlur::platformApply):
* platform/graphics/filters/FEGaussianBlur.h:
* platform/graphics/filters/FELighting.cpp:
(WebCore::FELighting::platformApplyGeneric):
* platform/graphics/filters/FELighting.h:
* platform/graphics/filters/FEMorphology.cpp:
(WebCore::FEMorphology::platformApply):
* platform/graphics/filters/FEMorphology.h:
* platform/graphics/filters/FETurbulence.cpp:
(WebCore::FETurbulence::platformApplySoftware):
* platform/graphics/filters/FETurbulence.h:
* platform/graphics/filters/arm/FELightingNEON.cpp:
* platform/graphics/filters/arm/FELightingNEON.h:
(WebCore::FELighting::platformApplyNeon):
2011-11-21 Balazs Kelemen <kbalazs@webkit.org>
Enable ParallelJobs by default
https://bugs.webkit.org/show_bug.cgi?id=70032
Reviewed by Zoltan Herczeg.
Covered by existing tests.
According to measurements on Mac and Linux it is a
considerable speedup for SVG on multicore.
Remove the ENABLE(PARALLEL_JOBS) guard. Fix the Windows build
by qualifying ParallelJobs with the WTF namespace (otherwise
MSVC believes it belongs to WebCore which is likely a compiler bug).
* platform/graphics/filters/FEConvolveMatrix.cpp:
(WebCore::FEConvolveMatrix::setInteriorPixelsWorker):
(WebCore::FEConvolveMatrix::platformApplySoftware):
* platform/graphics/filters/FEConvolveMatrix.h:
* platform/graphics/filters/FEGaussianBlur.cpp:
(WebCore::FEGaussianBlur::platformApplyWorker):
(WebCore::FEGaussianBlur::platformApply):
* platform/graphics/filters/FEGaussianBlur.h:
* platform/graphics/filters/FELighting.cpp:
(WebCore::FELighting::platformApplyGenericWorker):
(WebCore::FELighting::platformApplyGeneric):
* platform/graphics/filters/FELighting.h:
* platform/graphics/filters/FEMorphology.cpp:
(WebCore::FEMorphology::platformApplyWorker):
(WebCore::FEMorphology::platformApply):
* platform/graphics/filters/FEMorphology.h:
* platform/graphics/filters/FETurbulence.cpp:
(WebCore::FETurbulence::fillRegionWorker):
(WebCore::FETurbulence::platformApplySoftware):
* platform/graphics/filters/FETurbulence.h:
* platform/graphics/filters/arm/FELightingNEON.cpp:
(WebCore::FELighting::platformApplyNeonWorker):
* platform/graphics/filters/arm/FELightingNEON.h:
(WebCore::FELighting::platformApplyNeon):
2011-11-21 Antti Koivisto <antti@apple.com>
Remove CSSStyleSelector::m_additionalAttributeStyleDecls field
https://bugs.webkit.org/show_bug.cgi?id=72876
Reviewed by Andreas Kling.
There is no reason for this temporary to be a field.
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::matchAllRules):
* css/CSSStyleSelector.h:
2011-11-21 Pavel Feldman <pfeldman@google.com>
Web Inspector: [REGRESSION] Assertion failed in ScriptsPanel.js
https://bugs.webkit.org/show_bug.cgi?id=72877
Reviewed by Yury Semikhatsky.
* inspector/front-end/ScriptsPanel.js:
2011-11-18 Pavel Feldman <pfeldman@google.com>
Web Inspector: get rid of Panel::reset in the front-end.
https://bugs.webkit.org/show_bug.cgi?id=72587
I'm slowly getting rid of the Inspector protocol domain. It currently
contains methods that did not find their home in the meaningful domains.
This change removes reset protocol method.
Reviewed by Yury Semikhatsky.
* inspector/Inspector.json:
* inspector/InspectorAgent.cpp:
(WebCore::InspectorAgent::didCommitLoad):
* inspector/InspectorDebuggerAgent.cpp:
(WebCore::InspectorDebuggerAgent::didClearMainFrameWindowObject):
* inspector/InspectorDebuggerAgent.h:
* inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::didClearWindowObjectInWorldImpl):
(WebCore::InspectorInstrumentation::didCommitLoadImpl):
* inspector/front-end/ApplicationCacheModel.js:
(WebInspector.ApplicationCacheModel.prototype._frameNavigated):
(WebInspector.ApplicationCacheModel.prototype._frameDetached):
* inspector/front-end/DebuggerModel.js:
(WebInspector.DebuggerModel.prototype._globalObjectCleared):
(WebInspector.DebuggerDispatcher.prototype.globalObjectCleared):
* inspector/front-end/DebuggerPresentationModel.js:
(WebInspector.DebuggerPresentationModel):
(WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
* inspector/front-end/ExtensionServer.js:
(WebInspector.ExtensionServer):
(WebInspector.ExtensionServer.prototype._mainFrameNavigated):
* inspector/front-end/JavaScriptContextManager.js:
(WebInspector.JavaScriptContextManager.prototype._frameDetached):
(WebInspector.FrameEvaluationContext.prototype.get frameId):
* inspector/front-end/NetworkLog.js:
(WebInspector.NetworkLog):
(WebInspector.NetworkLog.prototype._mainFrameNavigated):
* inspector/front-end/NetworkPanel.js:
(WebInspector.NetworkLogView):
(WebInspector.NetworkLogView.prototype._mainFrameNavigated):
* inspector/front-end/ResourceTreeModel.js:
(WebInspector.ResourceTreeModel.prototype._frameNavigated):
(WebInspector.ResourceTreeModel.prototype._frameDetached):
(WebInspector.ResourceTreeModel.prototype._clearChildFramesAndResources):
* inspector/front-end/ResourcesPanel.js:
(WebInspector.ResourcesPanel.prototype._reset):
(WebInspector.ResourcesPanel.prototype._frameDetached):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype._debuggerWasDisabled):
(WebInspector.ScriptsPanel.prototype._reset):
* inspector/front-end/WorkerManager.js:
(WebInspector.WorkerManager):
(WebInspector.WorkerManager.prototype._mainFrameNavigated):
* inspector/front-end/inspector.js:
2011-06-20 Pavel Feldman <pfeldman@chromium.org>
Web Inspector: introduce InspectorFrontendAPI for actions initiated from the application menu.
https://bugs.webkit.org/show_bug.cgi?id=62985
Both: inspector protocol and WebCore/InspectorController have a number of unnecessary
methods for plumbing the menu action handlers through the WebKit and WebCore.
I intend to remove this menu support from the protocol and WebCore/InspectorController API.
I am starting with exposing the new front-end API in the WebCore and using it in the WebKit/mac port.
WebKit/win and WebKit2 to follow.
Reviewed by Yury Semikhatsky.
* WebCore.exp.in:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/InspectorFrontendClientLocal.cpp:
(WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal):
(WebCore::InspectorFrontendClientLocal::frontendLoaded):
(WebCore::InspectorFrontendClientLocal::setAttachedWindow):
(WebCore::InspectorFrontendClientLocal::isDebuggingEnabled):
(WebCore::InspectorFrontendClientLocal::setDebuggingEnabled):
(WebCore::InspectorFrontendClientLocal::isJavaScriptProfilingEnabled):
(WebCore::InspectorFrontendClientLocal::setJavaScriptProfilingEnabled):
(WebCore::InspectorFrontendClientLocal::isTimelineProfilingEnabled):
(WebCore::InspectorFrontendClientLocal::setTimelineProfilingEnabled):
(WebCore::InspectorFrontendClientLocal::isProfilingJavaScript):
(WebCore::InspectorFrontendClientLocal::startProfilingJavaScript):
(WebCore::InspectorFrontendClientLocal::stopProfilingJavaScript):
(WebCore::InspectorFrontendClientLocal::evaluateAsBoolean):
(WebCore::InspectorFrontendClientLocal::evaluateOnLoad):
* inspector/InspectorFrontendClientLocal.h:
* inspector/front-end/InspectorFrontendAPI.js: Added.
(InspectorFrontendAPI.isDebuggingEnabled):
(InspectorFrontendAPI.setDebuggingEnabled):
(InspectorFrontendAPI.isJavaScriptProfilingEnabled):
(InspectorFrontendAPI.setJavaScriptProfilingEnabled):
(InspectorFrontendAPI.isTimelineProfilingEnabled):
(InspectorFrontendAPI.setTimelineProfilingEnabled):
(InspectorFrontendAPI.isProfilingJavaScript):
(InspectorFrontendAPI.startProfilingJavaScript):
(InspectorFrontendAPI.stopProfilingJavaScript):
(InspectorFrontendAPI.setAttachedWindow):
* inspector/front-end/ProfileView.js:
(WebInspector.CPUProfileType):
(WebInspector.CPUProfileType.prototype.isRecordingProfile):
(WebInspector.CPUProfileType.prototype.startRecordingProfile):
(WebInspector.CPUProfileType.prototype.stopRecordingProfile):
* inspector/front-end/ProfilesPanel.js:
(WebInspector.ProfilesPanel.prototype.get profilerEnabled):
(WebInspector.ProfilesPanel.prototype.enableProfiler):
(WebInspector.ProfilesPanel.prototype.disableProfiler):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel):
(WebInspector.ScriptsPanel.prototype.get debuggingEnabled):
(WebInspector.ScriptsPanel.prototype.enableDebugging):
(WebInspector.ScriptsPanel.prototype.disableDebugging):
(WebInspector.ScriptsPanel.prototype.toggleDebugging):
* inspector/front-end/TimelinePanel.js:
(WebInspector.TimelinePanel.prototype._memoryOverviewItemSelected):
(WebInspector.TimelinePanel.prototype.setTimelineProfilingEnabled):
(WebInspector.TimelinePanel.prototype.get timelineProfilingEnabled):
* inspector/front-end/WebKit.qrc:
* inspector/front-end/inspector.html:
* inspector/front-end/inspector.js:
2011-11-18 Alexander Pavlov <apavlov@chromium.org>
Web Inspector: [Protocol] Retain a single universal method for loading a required combination of element styles
https://bugs.webkit.org/show_bug.cgi?id=72701
Reviewed by Pavel Feldman.
* inspector/Inspector.json:
* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::getMatchedStylesForNode):
(WebCore::InspectorCSSAgent::getInlineStylesForNode):
(WebCore::InspectorCSSAgent::getComputedStyleForNode):
* inspector/InspectorCSSAgent.h:
* inspector/front-end/AuditRules.js:
(WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
(WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.getStyles.inlineCallback):
(WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.getStyles.matchedCallback):
(WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.getStyles):
* inspector/front-end/CSSStyleModel.js:
(WebInspector.CSSStyleModel.prototype.getMatchedStylesAsync):
(WebInspector.CSSStyleModel.prototype.getComputedStyleAsync):
(WebInspector.CSSStyleModel.prototype.getInlineStylesAsync):
* inspector/front-end/MetricsSidebarPane.js:
(WebInspector.MetricsSidebarPane.prototype._innerUpdate):
* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylesSidebarPane.prototype.get forcedPseudoClasses):
(WebInspector.StylesSidebarPane.prototype._executeRebuildUpdate):
(WebInspector.StylesSidebarPane.prototype._executeRebuildUpdate.inlineCallback):
(WebInspector.StylesSidebarPane.prototype._executeRebuildUpdate.computedCallback):
(WebInspector.StylesSidebarPane.prototype._innerUpdate):
2011-11-21 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r100856.
http://trac.webkit.org/changeset/100856
https://bugs.webkit.org/show_bug.cgi?id=72867
New test fast/css/style-tag-display-none.html fails on
Chromium (Requested by steveblock on #webkit).
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::matchUARules):
2011-11-21 Jochen Eisinger <jochen@chromium.org>
Implement Meta referrer
https://bugs.webkit.org/show_bug.cgi?id=72674
Reviewed by Adam Barth.
http://wiki.whatwg.org/wiki/Meta_referrer
Tests: http/tests/security/referrer-policy-always.html
http/tests/security/referrer-policy-default.html
http/tests/security/referrer-policy-https-always.html
http/tests/security/referrer-policy-https-default.html
http/tests/security/referrer-policy-https-never.html
http/tests/security/referrer-policy-https-origin.html
http/tests/security/referrer-policy-never.html
http/tests/security/referrer-policy-origin.html
http/tests/security/referrer-policy-redirect.html
http/tests/security/referrer-policy-rel-noreferrer.html
* WebCore.exp.in: updated
* dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::processReferrerPolicy):
* dom/Document.h:
(WebCore::Document::referrerPolicy):
* html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::handleClick):
* html/HTMLMetaElement.cpp:
(WebCore::HTMLMetaElement::process):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadFrameRequest):
(WebCore::FrameLoader::loadResourceSynchronously):
* loader/PingLoader.cpp:
(WebCore::PingLoader::loadImage):
(WebCore::PingLoader::sendPing):
(WebCore::PingLoader::reportContentSecurityPolicyViolation):
* loader/SubframeLoader.cpp:
(WebCore::SubframeLoader::loadSubframe):
* loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::create):
* page/SecurityPolicy.cpp:
(WebCore::SecurityPolicy::generateReferrerHeader):
* page/SecurityPolicy.h:
2011-11-21 Vsevolod Vlasov <vsevik@chromium.org>
Web Inspector: ApplicationCache view should show navigator.onLine indicator.
https://bugs.webkit.org/show_bug.cgi?id=72618
Reviewed by Pavel Feldman.
* inspector/InspectorApplicationCacheAgent.cpp:
(WebCore::InspectorApplicationCacheAgent::enable):
* inspector/front-end/ApplicationCacheItemsView.js:
(WebInspector.ApplicationCacheItemsView):
(WebInspector.ApplicationCacheItemsView.prototype.wasShown):
* inspector/front-end/ApplicationCacheModel.js:
(WebInspector.ApplicationCacheModel):
(WebInspector.ApplicationCacheModel.prototype.get onLine):
(WebInspector.ApplicationCacheModel.prototype._networkStateUpdated):
* inspector/front-end/ResourcesPanel.js:
(WebInspector.ResourcesPanel.prototype.showApplicationCache):
(WebInspector.ResourcesPanel.prototype._applicationCacheNetworkStateChanged):
2011-11-21 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Fix make distcheck build.
* GNUmakefile.list.am:
2011-11-21 Dominic Mazzoni <dmazzoni@google.com>
Accessibility: Multiselect list boxes need to report the active option in addition to which items are selected.
https://bugs.webkit.org/show_bug.cgi?id=72479
Reviewed by Chris Fleizach.
Test: accessibility/multiselect-list-reports-active-option.html
* accessibility/AccessibilityListBoxOption.cpp:
(WebCore::AccessibilityListBoxOption::isSelectedOptionActive):
* accessibility/AccessibilityListBoxOption.h:
* accessibility/AccessibilityObject.h:
(WebCore::AccessibilityObject::isSelectedOptionActive):
2011-11-21 Yuta Kitamura <yutak@chromium.org>
[Qt] WebSocket close tests are failing
https://bugs.webkit.org/show_bug.cgi?id=72865
Reviewed by Simon Hausmann.
* platform/network/qt/SocketStreamHandleQt.cpp:
(WebCore::SocketStreamHandlePrivate::close):
Emit didCloseSocketStream() callback even before the connection is established.
Call m_socket->abort() to prevent "connected" signal from firing.
2011-11-21 Shinya Kawanaka <shinyak@google.com>
Refactoring: SpellChecker::requestCheckingFor should take Range instead of Node.
https://bugs.webkit.org/show_bug.cgi?id=72847
Reviewed by Hajime Morita.
Covered by existing test.
* editing/Editor.cpp:
(WebCore::Editor::replaceSelectionWithFragment):
Passes Range to requestCheckingFor instead of Node.
* editing/SpellChecker.cpp:
Changed argument type from Node to Range.
The corresponding changes are also done in dependent methods.
(WebCore::SpellChecker::initRequest):
(WebCore::SpellChecker::clearRequest):
(WebCore::SpellChecker::canCheckAsynchronously):
(WebCore::SpellChecker::isBusy):
(WebCore::SpellChecker::isValid):
(WebCore::SpellChecker::isCheckable):
(WebCore::SpellChecker::requestCheckingFor):
Changed argument type from Node to Range.
(WebCore::SpellChecker::doRequestCheckingFor):
(WebCore::SpellChecker::didCheck):
* editing/SpellChecker.h:
2011-11-20 Kenichi Ishibashi <bashi@chromium.org>
[Chromium] Remove old getFontFamilyForCharacters() and familyForChars() APIs.
https://bugs.webkit.org/show_bug.cgi?id=72844
Respects bold and italic properties that is given by fontconfig.
Reviewed by Darin Fisher.
* platform/graphics/chromium/FontCacheLinux.cpp:
(WebCore::FontCache::getFontDataForCharacters): Removed #if and old logic.
2011-11-20 Noel Gordon <noel.gordon@gmail.com>
[chromium] Remove qt/QtMobileWebStyle from the gyp projects
https://bugs.webkit.org/show_bug.cgi?id=72843
Reviewed by Antonio Gomes.
platform/qt/QtMobileWebStyle.{h,cpp} were removed in r100123
* WebCore.gypi: remove platform/qt/QtMobileWebStyle.{h,cpp}
2011-11-20 Kentaro Hara <haraken@chromium.org>
Unreviewed. Rebaselined run-bindings-tests results.
* bindings/scripts/test/CPP/WebDOMFloat64Array.cpp:
(WebDOMFloat64Array::WebDOMFloat64Array):
(WebDOMFloat64Array::impl):
(toWebCore):
(toWebKit):
* bindings/scripts/test/CPP/WebDOMFloat64Array.h:
2011-11-20 Adam Barth <abarth@webkit.org>
REGRESSION(r100691): Safari error pages and Growl notifications fail to load stylesheets
https://bugs.webkit.org/show_bug.cgi?id=72836
Reviewed by Sam Weinig.
This patch removes a (minor) security mitigation. Previously, we tried
sequester "directory listings" into unique origins to make it more
difficult for an attacker to crawl the user's local file system.
Unfortunately, this mitigation doesn't really buy us much security
because if the attacker has access to local files, we've probably lost
anyway.
The larger problem, however, is that this condition is overly
complicated and has broken in sublte ways several times in its
(relatively short) lifetime. In the cases reported in this bug, we see
that this check affects error pages in Safari and Growl notifications,
even those have nothing to do with directory listings.
If we have our heart set on this directory listing mitigation, we'll
need a more robust way of triggering the behavior than examining URLs
and guess whether they contain directory listings. For example, if we
implement Allow-From or Access-Control-Deny-Origin, then the embedder
can supply those policies along with the directory listings. Those
seem like much better solutions than the in-engine hack this patch
removes.
* page/SecurityOrigin.cpp:
(WebCore::shouldTreatAsUniqueOrigin):
2011-10-17 Antonio Gomes <agomes@rim.com>
Pass a Frame* parameter in EditorClient::respondToChangedSelection
https://bugs.webkit.org/show_bug.cgi?id=70248
Reviewed by Ryosuke Niwa.
Most of the port specific implementations of EditorClient::respondToChangedSelection
(like EditorClient{Qt,Gtk,etc}) are wrongly relying on FocusController::focusedOrMainFrame
method to get the Frame where the selection is happening on.
It is not right, since a selection can be easily triggered in an inner
frame that is not focused.
No new tests since it is a hard thing to test without
to hook into editor client in layout tests. We could
change the "Dumped Delegate" messages, but it would
require a rebasile of +1200 for a minor change.
* editing/Editor.cpp: Pass the Frame on where the selection is changing to the client.
(WebCore::Editor::respondToChangedSelection): Ditto.
(WebCore::Editor::changeSelectionAfterCommand): Ditto.
(WebCore::EmptyEditorClient::respondToChangedSelection):
* page/EditorClient.h: Pass Frame* to indicate where the selection is happening.
* loader/EmptyClients.h: Changed signature as per base class change.
2011-11-17 Mark Rowe <mrowe@apple.com>
<http://webkit.org/b/72646> Disable deprecation warnings around code where we cannot easily
switch away from the deprecated APIs.
Reviewed by Sam Weinig.
* platform/mac/WebCoreNSStringExtras.mm:
* platform/network/cf/SocketStreamHandleCFNet.cpp:
(WebCore::SocketStreamHandle::reportErrorToClient):
2011-11-19 Kevin Ollivier <kevino@theolliviers.com>
[wx] C++ bindings build fix for move of array classes to WTF.
* bindings/scripts/CodeGeneratorCPP.pm:
(GetCPPTypeGetter):
(GetNamespaceForClass):
(GenerateHeader):
(GenerateImplementation):
2011-11-19 Scott Graham <scottmg@chromium.org>
Move gamepad to Modules/ (+ some cleanup)
https://bugs.webkit.org/show_bug.cgi?id=72785
Reviewed by Adam Barth.
Move main files from page/ to Modules/gamepad/. #include guard the
gamepad header inclusions in Navigator.cpp to avoid including for
ports that do not enable GAMEPAD.
* Modules/gamepad/Gamepad.cpp: Renamed from Source/WebCore/page/Gamepad.cpp.
(WebCore::Gamepad::Gamepad):
(WebCore::Gamepad::axes):
(WebCore::Gamepad::buttons):
(WebCore::Gamepad::~Gamepad):
* Modules/gamepad/Gamepad.h: Renamed from Source/WebCore/page/Gamepad.h.
* Modules/gamepad/Gamepad.idl: Renamed from Source/WebCore/page/Gamepad.idl.
* Modules/gamepad/GamepadList.cpp: Renamed from Source/WebCore/page/GamepadList.cpp.
(WebCore::GamepadList::~GamepadList):
(WebCore::GamepadList::set):
(WebCore::GamepadList::length):
(WebCore::GamepadList::item):
* Modules/gamepad/GamepadList.h: Renamed from Source/WebCore/page/GamepadList.h.
(WebCore::GamepadList::create):
(WebCore::GamepadList::GamepadList):
* Modules/gamepad/GamepadList.idl: Renamed from Source/WebCore/page/GamepadList.idl.
* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:
* page/Navigator.cpp:
2011-11-19 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r100834.
http://trac.webkit.org/changeset/100834
https://bugs.webkit.org/show_bug.cgi?id=72806
this patch makes Qt run-webkit-test exit before finishing
(Requested by igoroliveira on #webkit).
* platform/graphics/texmap/TextureMapperNode.cpp:
* platform/graphics/texmap/TextureMapperNode.h:
2011-11-19 Huang Dongsung <luxtella@company100.net>
Remove WebCore/ForwardingHeaders/runtime/JSObjectWithGlobalObject.h because
JSObjectWithGlobalObject.h has been removed.
https://bugs.webkit.org/show_bug.cgi?id=72794
r94701 removed JSObjectWithGlobalObject.h.
Reviewed by Oliver Hunt.
* ForwardingHeaders/runtime/JSObjectWithGlobalObject.h: Removed.
2011-11-19 Vsevolod Vlasov <vsevik@chromium.org>
Web Inspector:[protocol] actual JSON messages do not conform to Inspector.json in InspectorApplicationCacheAgent.cpp
https://bugs.webkit.org/show_bug.cgi?id=72734
Reviewed by Timothy Hatcher.
* inspector/Inspector.json:
2011-11-19 David Barr <davidbarr@chromium.org>
REGRESSION(r98542): Chromium: CSS text is rendered on page
https://bugs.webkit.org/show_bug.cgi?id=71703
Reviewed by Antti Koivisto.
Matched UA declarations uncacheable when using simpleDefaultStyleSheet.
Test: fast/css/style-tag-display-none.html
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::matchUARules):
2011-11-19 Jay Civelli <jcivelli@chromium.org>
When loading a MHTML document, make sure we set the base URL before
we notify the frame was committed (so the document has the right base
URL when the notification happens).
https://bugs.webkit.org/show_bug.cgi?id=72788
Reviewed by Adam Barth.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::receivedFirstData):
2011-11-19 Adam Barth <abarth@webkit.org>
Integrate Source/WTF with the Chromium build system
https://bugs.webkit.org/show_bug.cgi?id=72790
Reviewed by Eric Seidel.
Add a dependency on the new WTF.
* WebCore.gyp/WebCore.gyp:
2011-11-18 Takashi Toyoshima <toyoshim@chromium.org>
[Chromium] [WebSocket] export WebSocketChannel interface for plugins
https://bugs.webkit.org/show_bug.cgi?id=72016
Reviewed by Darin Fisher.
Add a interface to send raw binary data.
This interface is used by WebWebSocketChannel implementation
in WebKit API.
No new tests because just export a interface.
* websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::send):
* websockets/WebSocketChannel.h:
2011-11-18 Vineet Chaudhary <vineet.chaudhary@motorola.com>
https://bugs.webkit.org/show_bug.cgi?id=72591
Remove document.width / document.height
Reviewed by Darin Adler.
Removed document.width/document.height from JS bindings,
but keeping the same for ObjC bindings. Also it should use
document.body.clientWidth and document.body.clientHeight instead.
* html/HTMLDocument.idl:
2011-11-18 Martin Robinson <mrobinson@igalia.com>
Fix the GTK+ build.
* page/Navigator.idl: Properly disable the webkitGamepads API if gamepad
isn't enabled at compile time.
2011-11-18 Daniel Bates <dbates@rim.com>
Add CMake build infrastructure for the BlackBerry port
https://bugs.webkit.org/show_bug.cgi?id=72768
Reviewed by Antonio Gomes.
* CMakeLists.txt: At this time the BlackBerry port doesn't support generating
DOM bindings from the SVG IDLs. See WebKit bug #72773.
* PlatformBlackBerry.cmake: Added.
2011-11-18 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r100826.
http://trac.webkit.org/changeset/100826
https://bugs.webkit.org/show_bug.cgi?id=72786
Broke Chromium Mac build (Requested by aklein on #webkit).
* page/ChromeClient.h:
* page/FrameView.cpp:
* page/FrameView.h:
* platform/ScrollView.cpp:
(WebCore::ScrollView::wheelEvent):
* platform/ScrollView.h:
* platform/ScrollableArea.h:
(WebCore::ScrollableArea::scrollbarStyleChanged):
* platform/mac/ScrollAnimatorMac.mm:
(WebCore::ScrollAnimatorMac::updateScrollerStyle):
2011-11-18 Alpha Lam <hclam@chromium.org>
[chromium] composited layers are blurry with a zoom-in page scale factor
https://bugs.webkit.org/show_bug.cgi?id=71225
Reviewed by James Robinson.
Pass contents scale factor to the compositor such that it can:
1. Adjust contentBounds() of the compositoer layers with content scale.
2. Apply the content scale in the painter for texture update in better resolution.
3. Apply the content scale to the dirty rect in CanvasLayerTextureUpdater.
This change fixed blurry problem for all tiled layer types and is not limited to
position:fixed layers.
Tests: compositing/geometry/fixed-position-composited-page-scale-down.html
compositing/geometry/fixed-position-composited-page-scale.html
compositing/geometry/fixed-position-iframe-composited-page-scale-down.html
compositing/geometry/fixed-position-iframe-composited-page-scale.html
compositing/geometry/fixed-position-transform-composited-page-scale-down.html
compositing/geometry/fixed-position-transform-composited-page-scale.html
* platform/graphics/chromium/GraphicsLayerChromium.cpp:
(WebCore::GraphicsLayerChromium::setTransform):
(WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
(WebCore::GraphicsLayerChromium::updateContentsScale):
(WebCore::GraphicsLayerChromium::contentsScale):
(WebCore::GraphicsLayerChromium::deviceOrPageScaleFactorChanged):
* platform/graphics/chromium/GraphicsLayerChromium.h:
* platform/graphics/chromium/ImageLayerChromium.cpp:
(WebCore::ImageLayerTextureUpdater::prepareToUpdate):
(WebCore::ImageLayerChromium::needsContentsScale):
* platform/graphics/chromium/ImageLayerChromium.h:
* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::LayerChromium):
(WebCore::LayerChromium::setContentsScale):
* platform/graphics/chromium/LayerChromium.h:
(WebCore::LayerChromium::needsContentsScale):
(WebCore::LayerChromium::contentsScale):
* platform/graphics/chromium/LayerTextureUpdater.h:
* platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
(WebCore::LayerTextureUpdaterCanvas::paintContents):
(WebCore::LayerTextureUpdaterBitmap::prepareToUpdate):
(WebCore::LayerTextureUpdaterSkPicture::prepareToUpdate):
* platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
* platform/graphics/chromium/TiledLayerChromium.cpp:
(WebCore::TiledLayerChromium::needsContentsScale):
(WebCore::TiledLayerChromium::contentBounds):
(WebCore::TiledLayerChromium::prepareToUpdate):
* platform/graphics/chromium/TiledLayerChromium.h:
2011-11-18 Igor Oliveira <igor.oliveira@openbossa.org>
[WK2][Qt] Move Accelerated Composite animations to UIProcess
https://bugs.webkit.org/show_bug.cgi?id=72753
Add helper method to synchronize animations in TextureMapper.
Reviewed by Noam Rosenthal.
* platform/graphics/texmap/TextureMapperNode.cpp:
(WebCore::TextureMapperNode::syncAnimationsRecursively):
* platform/graphics/texmap/TextureMapperNode.h:
2011-11-18 Scott Graham <scottmg@chromium.org>
IDL changes for gamepad support
https://bugs.webkit.org/show_bug.cgi?id=71753
Reviewed by Adam Barth.
IDL changes and associated plumbing to expose list of gamepad objects
on navigator object (per current spec). Full patch is
https://bugs.webkit.org/show_bug.cgi?id=69451. Only basic existence
test until more plumbing in future patches.
Test: gamepad/gamepad-api.html
* WebCore.gypi:
* bindings/generic/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::setWebkitGamepadsEnabled):
(WebCore::RuntimeEnabledFeatures::webkitGamepadsEnabled):
* page/Gamepad.cpp: Added.
(WebCore::Gamepad::Gamepad):
(WebCore::Gamepad::axes):
(WebCore::Gamepad::buttons):
(WebCore::Gamepad::~Gamepad):
* page/Gamepad.h: Added.
* page/Gamepad.idl: Added.
* page/GamepadList.cpp: Added.
(WebCore::GamepadList::~GamepadList):
(WebCore::GamepadList::set):
(WebCore::GamepadList::length):
(WebCore::GamepadList::item):
* page/GamepadList.h: Added.
(WebCore::GamepadList::create):
(WebCore::GamepadList::GamepadList):
* page/GamepadList.idl: Added.
* page/Navigator.cpp:
(WebCore::Navigator::webkitGamepads):
* page/Navigator.h:
* page/Navigator.idl:
2011-11-18 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r100693.
http://trac.webkit.org/changeset/100693
https://bugs.webkit.org/show_bug.cgi?id=72779
This patch caused a rendering regression (see bug 72770)
(Requested by philip__ on #webkit).
* rendering/RenderObject.cpp:
(WebCore::RenderObject::setStyle):
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::diff):
2011-11-18 Simon Fraser <simon.fraser@apple.com>
Reflection on composited element doesn't update if the element changes to show no content
https://bugs.webkit.org/show_bug.cgi?id=72774
Reviewed by Chris Marrin.
When a style change results in a reflected element losing its backing store,
we need to clear the backing stores on the layer clones as well.
Test: compositing/reflections/become-simple-composited-reflection.html
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::updateLayerDrawsContent):
2011-11-18 Daniel Cheng <dcheng@chromium.org>
[chromium] Use correct backing store for ChromiumDataObject in pasteboard writes.
https://bugs.webkit.org/show_bug.cgi?id=72767
Reviewed by Tony Chang.
Covered by existing tests.
* editing/chromium/EditorChromium.cpp:
(WebCore::Editor::newGeneralClipboard):
* page/chromium/EventHandlerChromium.cpp:
(WebCore::EventHandler::createDraggingClipboard):
* platform/chromium/ChromiumDataObject.cpp:
(WebCore::ChromiumDataObject::types):
(WebCore::ChromiumDataObject::getData):
(WebCore::ChromiumDataObject::containsFilenames):
(WebCore::ChromiumDataObject::ChromiumDataObject):
* platform/chromium/ChromiumDataObject.h:
(WebCore::ChromiumDataObject::createFromPasteboard):
(WebCore::ChromiumDataObject::create):
(WebCore::ChromiumDataObject::storageMode):
* platform/chromium/ClipboardChromium.cpp:
(WebCore::ClipboardChromium::hasData):
2011-11-18 Chris Evans <cevans@google.com>
Crash with ranges across a detached, reparented node tree
https://bugs.webkit.org/show_bug.cgi?id=72757
Reviewed by Adam Barth.
Test: fast/dom/move-detached-child-in-range.html
* dom/RangeBoundaryPoint.h:
(WebCore::RangeBoundaryPoint::childBefore): protect the raw child node from getting pulled from under us.
2011-11-18 Beth Dakin <bdakin@apple.com>
https://bugs.webkit.org/show_bug.cgi?id=72551
When the recommended scrollbar style changes, WKView's tracking options should
adjust accordingly
-and corresponding-
<rdar://problem/10409328>
Reviewed by Darin Adler.
This new ChromeClient function is called when the recommended scrollbar style
changes. This way, WebKit can respond to the change by adjusting its mouse
tracking.
* page/ChromeClient.h:
(WebCore::ChromeClient::recommendedScrollbarStyleDidChange):
Existing ScrollableArea function scrollbarStyleChanged() now takes an int
indicating the new scrollbar style and a bool indicating whether it is necessary
to force an update. It used to be the case that this function was ONLY used to
force an update (and only called when an updated was needed), but now that it must
also call into the ChromeClient, it is necessary to include a bool tracking
whether we need to force an update. New implementation on FrameView is responsible
for calling ChromeClient, and then that calls into the pre-existing ScrollView
function for the forceUpdate part.
* page/FrameView.cpp:
(WebCore::FrameView::scrollbarStyleChanged):
* page/FrameView.h:
* platform/ScrollView.cpp:
(WebCore::ScrollView:: scrollbarStyleChanged):
* platform/ScrollView.h:
* platform/ScrollableArea.h:
(WebCore::ScrollableArea::scrollbarStyleChanged):
* platform/mac/ScrollAnimatorMac.mm:
(WebCore::ScrollAnimatorMac::updateScrollerStyle):
2011-11-18 Kelly Norton <knorton@google.com>
Fixes several more void functions in RenderObject that return values.
https://bugs.webkit.org/show_bug.cgi?id=72750
Reviewed by Adam Barth.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::updateBeforeAfterContent):
(WebCore::RenderBlock::addChildToContinuation):
(WebCore::RenderBlock::addChildToAnonymousColumnBlocks):
(WebCore::RenderBlock::addChild):
(WebCore::RenderBlock::addChildIgnoringContinuation):
2011-11-18 Shawn Singh <shawnsingh@chromium.org>
[chromium] Add some useful text to existing debug dump
https://bugs.webkit.org/show_bug.cgi?id=72576
Reviewed by James Robinson.
No new tests needed.
* platform/graphics/chromium/cc/CCLayerImpl.cpp:
(WebCore::CCLayerImpl::dumpLayerProperties):
* platform/graphics/chromium/cc/CCRenderSurface.cpp:
(WebCore::CCRenderSurface::dumpSurface):
2011-11-18 Xiaomei Ji <xji@chromium.org>
REGRESSION: rtl horizontal scrollbar / resize bug - Body shifts on resize when scrolled all the way to the left
https://bugs.webkit.org/show_bug.cgi?id=70395
Reviewed by Tony Chang.
This patch fixes the problem in Mac and Chromium Mac.
The existing test fast/dom/rtl-scroll-to-leftmost-and-resize.html seems does not really work in Mac DRT
(the browswer window is not resized). It works in Chromium-Mac. And Chromium-Mac's code
is forked from Mac.
* platform/chromium/ScrollAnimatorChromiumMac.mm:
(WebCore::ScrollAnimatorChromiumMac::immediateScrollToPoint):
* platform/mac/ScrollAnimatorMac.mm:
(WebCore::ScrollAnimatorMac::immediateScrollToPoint):
2011-11-18 Martin Robinson <mrobinson@igalia.com>
REGRESSION (r99924): broke 2 pasteboard tests on GTK
https://bugs.webkit.org/show_bug.cgi?id=72131
Reviewed by Tony Chang.
* platform/gtk/ClipboardGtk.cpp:
(WebCore::ClipboardGtk::clearData): Call clearAll now.
(WebCore::ClipboardGtk::clearAllData): Call clearAllExceptFilenames now.
* platform/gtk/DataObjectGtk.cpp:
(WebCore::DataObjectGtk::clearAllExceptFilenames): Renamed from clear.
(WebCore::DataObjectGtk::clearAll): Added this method which also clear filenames.
* platform/gtk/DataObjectGtk.h:
* platform/gtk/PasteboardGtk.cpp: Call clear before setting new clipboard data.
(WebCore::Pasteboard::writeSelection): Ditto.
(WebCore::Pasteboard::writePlainText): Ditto.
(WebCore::Pasteboard::writeURL): Ditto.
(WebCore::Pasteboard::writeImage): Ditto.
* platform/gtk/PasteboardHelper.cpp:
(WebCore::clearClipboardContentsCallback): Use the clearAll method now.
2011-11-18 Vineet Chaudhary <vineet.chaudhary@motorola.com>
Access key should work on all elements.
https://bugs.webkit.org/show_bug.cgi?id=71854
Reviewed by Ryosuke Niwa.
All HTML elements can have the accesskey content attribute set.
Specification http://dev.w3.org/html5/spec/Overview.html#the-accesskey-attribute
Adding "accessKey" attribute to HTMLElement.idl file as [Reflect].
Test: fast/forms/access-key-for-all-elements.html
* bindings/objc/PublicDOMInterfaces.h: Moved properties form subclass to base class.
* html/BaseButtonInputType.cpp:
(WebCore::BaseButtonInputType::accessKeyAction): Renamed variable sendToAnyElement to sendMouseEvents.
* html/BaseButtonInputType.h: Ditto
* html/BaseCheckableInputType.cpp:
(WebCore::BaseCheckableInputType::accessKeyAction): Ditto
* html/BaseCheckableInputType.h: Ditto
* html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::accessKeyAction): Ditto
* html/HTMLAnchorElement.h: Ditto
* html/HTMLAnchorElement.idl: Removed redundant IDL attribute entries.
* html/HTMLAreaElement.idl: Removed redundant IDL attribute entries.
* html/HTMLButtonElement.cpp:
(WebCore::HTMLButtonElement::accessKeyAction): Renamed variable sendToAnyElement to sendMouseEvents.
* html/HTMLButtonElement.h: Ditto
* html/HTMLButtonElement.idl: Removed redundant IDL attribute entries.
* html/HTMLElement.cpp:
(WebCore::HTMLElement::accessKeyAction): Renamed variable sendToAnyElement to sendMouseEvents.
If the element does not have a defined activation behavior, fire a click event at the element.
* html/HTMLElement.h: Ditto
* html/HTMLElement.idl: Added accessKey IDL attribute.
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::accessKeyAction): Renamed variable sendToAnyElement to sendMouseEvents.
* html/HTMLInputElement.h: Ditto
* html/HTMLInputElement.idl: Removed redundant IDL attribute entries.
* html/HTMLLabelElement.cpp:
(WebCore::HTMLLabelElement::accessKeyAction): Renamed variable sendToAnyElement to sendMouseEvents.
* html/HTMLLabelElement.h: Ditto
* html/HTMLLabelElement.idl: Removed redundant IDL attribute entries.
* html/HTMLLegendElement.cpp:
(WebCore::HTMLLegendElement::accessKeyAction): Renamed variable sendToAnyElement to sendMouseEvents.
* html/HTMLLegendElement.h: Ditto
* html/HTMLLegendElement.idl: Removed redundant IDL attribute entries.
* html/HTMLOptGroupElement.h: Renamed variable sendToAnyElement to sendMouseEvents.
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::accessKeyAction): Ditto
* html/HTMLSelectElement.h: Ditto
* html/HTMLTextAreaElement.h: Ditto
* html/HTMLTextAreaElement.idl: Removed redundant IDL attribute entries.
* html/HiddenInputType.h: Renamed variable sendToAnyElement to sendMouseEvents.
* html/InputType.h: Ditto
* html/RangeInputType.cpp:
(WebCore::RangeInputType::accessKeyAction): Ditto
* html/RangeInputType.h: Ditto
2011-11-18 Simon Fraser <simon.fraser@apple.com>
Appearance of compound transform animations under apps linked on SnowLeopard is incorrect
https://bugs.webkit.org/show_bug.cgi?id=72641
and
<rdar://problem/10314267>
Reviewed by Dean Jackson.
GraphicsLayerCA contains a "linked on or after" check to account for a bug in
Core Animation on SnowLeopard and earlier, which is that CA would apply the list
of animations in reverse order.
Our previous fix was incorrect, because it only adjusted the 'additive' property
of the animation list based on ordering, rather than flipping the entire list.
This change reverses the list of animations before giving them to CA, which fixes
the bug.
Test: animations/additive-transform-animations.html
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::appendToUncommittedAnimations):
(WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes):
* platform/graphics/ca/GraphicsLayerCA.h:
2011-11-18 Tim Horton <timothy_horton@apple.com>
-webkit-cross-fade rendered incorrectly in overflow divs
https://bugs.webkit.org/show_bug.cgi?id=72693
<rdar://problem/10468564>
Reviewed by Simon Fraser.
Respect the desired source rectangle when rendering the cross-fade.
Test: css3/images/cross-fade-overflow-position.html
* platform/graphics/CrossfadeGeneratedImage.cpp:
(WebCore::CrossfadeGeneratedImage::drawCrossfade):
(WebCore::CrossfadeGeneratedImage::draw):
(WebCore::CrossfadeGeneratedImage::drawPattern):
* platform/graphics/CrossfadeGeneratedImage.h:
2011-11-18 Raphael Kubo da Costa <kubo@profusion.mobi>
Unreviewed build fix; r100686 broke the EFL build when Geolocation
support is enabled.
* platform/efl/GeolocationServiceEfl.cpp: Only declare
s_factoryFunction if CLIENT_BASED_GEOLOCATION is off, otherwise it is
also declared in GeolocationService.cpp.
2011-11-18 Igor Oliveira <igor.oliveira@openbossa.org>
[TextureMapper] computePerspectiveTransformIfNeeded is called twice in TextureMapperNode::syncCompositingState
https://bugs.webkit.org/show_bug.cgi?id=72727
TextureMapperNode::computeAllTransforms already has a call to TextureMapperNode::computePerspectiveTransformIfNeeded,
so it does not need to be called again after TextureMapperNode::computeAllTransforms.
Reviewed by Noam Rosenthal.
* platform/graphics/texmap/TextureMapperNode.cpp:
(WebCore::TextureMapperNode::syncCompositingState):
2011-11-18 Mihnea Ovidenie <mihnea@adobe.com>
Fix compilation warning in ComplexTextControllerCoreText.mm
https://bugs.webkit.org/show_bug.cgi?id=72702
Reviewed by Andreas Kling.
No functionality changed, so no new tests.
* platform/graphics/mac/ComplexTextControllerCoreText.mm:
(WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):
2011-11-18 Pavel Feldman <pfeldman@google.com>
Not reviewed: restore front-end compilability via updating externs and JS generator.
* inspector/front-end/ElementsPanel.js:
(WebInspector.ElementsPanel.prototype.jumpToNextSearchResult):
(WebInspector.ElementsPanel.prototype.jumpToPreviousSearchResult):
* inspector/front-end/externs.js:
(WebInspector.showPanelForAnchorNavigation):
* inspector/generate-protocol-externs:
2011-11-17 Pavel Feldman <pfeldman@google.com>
Web Inspector: dispatch messages from the front-end to the backend asynchronously.
https://bugs.webkit.org/show_bug.cgi?id=72621
We should align the way we dispatch messages from the front-end to backend across the environments:
- WebKit has it synchronoulsly
- Chromium has it asynchronously
- Remote debugging has it asynchronously
Making it asynchronous made a number of flaky Qt tests pass.
Tests uncovered console agent problem that was also fixed.
Reviewed by Yury Semikhatsky.
* inspector/InspectorConsoleAgent.cpp:
(WebCore::InspectorConsoleAgent::clearFrontend):
* inspector/InspectorFrontendClient.h:
* inspector/InspectorFrontendClientLocal.cpp:
(WebCore::InspectorBackendDispatchTask::InspectorBackendDispatchTask):
(WebCore::InspectorBackendDispatchTask::dispatch):
(WebCore::InspectorBackendDispatchTask::reset):
(WebCore::InspectorBackendDispatchTask::onTimer):
(WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal):
(WebCore::InspectorFrontendClientLocal::windowObjectCleared):
(WebCore::InspectorFrontendClientLocal::sendMessageToBackend):
* inspector/InspectorFrontendClientLocal.h:
2011-11-18 Iain Merrick <husky@google.com>
[chromium] Pass screen refresh rate into compositor.
https://bugs.webkit.org/show_bug.cgi?id=71040
Reviewed by Tony Gentilcore.
Covered by CCLayerTreeHostTest.
* platform/PlatformScreen.h:
* platform/chromium/PlatformScreenChromium.cpp:
(WebCore::screenRefreshRate):
* platform/chromium/PlatformSupport.h:
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
(WebCore::CCSettings::CCSettings):
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::initializeImplOnImplThread):
2011-11-18 Alexandru Chiculita <achicu@adobe.com>
[CSSShaders] Implement the computed style for mesh parameters of the custom() filter
https://bugs.webkit.org/show_bug.cgi?id=72478
Reviewed by Dean Jackson.
Added parsing and computed style for the mesh rows, columns, mesh box type
(filter-box, border-box, content-box and padding-box) and the detached mode.
Also fixed a case where "custom(none, 10, 10 filter-box)" was incorrectly
treated as "custom(none, 10)".
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::valueForFilter):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseCustomFilter): Fixed a case where invalid syntax was parsed as correct syntax.
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator CustomFilterOperation::MeshBoxType):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::createCustomFilterOperation):
* css/CSSValueList.h:
(WebCore::CSSValueListIterator::isPrimitiveValue):
* platform/graphics/filters/CustomFilterOperation.h:
2011-11-18 Adam Barth <abarth@webkit.org>
Remove unneeded include (and ifdef) from V8DOMWindowCustom.cpp
https://bugs.webkit.org/show_bug.cgi?id=72705
Reviewed by Eric Seidel.
Death to ifdefs!
* bindings/v8/custom/V8DOMWindowCustom.cpp:
2011-11-18 Adam Barth <abarth@webkit.org>
Move some mediastream related files into the mediastream directory
https://bugs.webkit.org/show_bug.cgi?id=72695
Reviewed by Eric Seidel.
Just moving the files to the proper directory.
* GNUmakefile.list.am:
* WebCore.gypi:
* mediastream/NavigatorUserMediaError.h: Renamed from Source/WebCore/page/NavigatorUserMediaError.h.
(WebCore::NavigatorUserMediaError::create):
(WebCore::NavigatorUserMediaError::~NavigatorUserMediaError):
(WebCore::NavigatorUserMediaError::code):
(WebCore::NavigatorUserMediaError::NavigatorUserMediaError):
* mediastream/NavigatorUserMediaError.idl: Renamed from Source/WebCore/page/NavigatorUserMediaError.idl.
* mediastream/NavigatorUserMediaErrorCallback.h: Renamed from Source/WebCore/page/NavigatorUserMediaErrorCallback.h.
(WebCore::NavigatorUserMediaErrorCallback::~NavigatorUserMediaErrorCallback):
* mediastream/NavigatorUserMediaErrorCallback.idl: Renamed from Source/WebCore/page/NavigatorUserMediaErrorCallback.idl.
* mediastream/NavigatorUserMediaSuccessCallback.h: Renamed from Source/WebCore/page/NavigatorUserMediaSuccessCallback.h.
(WebCore::NavigatorUserMediaSuccessCallback::~NavigatorUserMediaSuccessCallback):
* mediastream/NavigatorUserMediaSuccessCallback.idl: Renamed from Source/WebCore/page/NavigatorUserMediaSuccessCallback.idl.
2011-11-18 Andrey Kosyakov <caseq@chromium.org>
Web Inspector: [Extensions API] Provide a way for extension to create a status bar icon
https://bugs.webkit.org/show_bug.cgi?id=45955
Reviewed by Pavel Feldman.
* inspector/front-end/ExtensionAPI.js:
(injectedExtensionAPI.ExtensionPanelImpl.prototype.createStatusBarButton):
(injectedExtensionAPI):
(injectedExtensionAPI.ButtonImpl.prototype.update):
* inspector/front-end/ExtensionPanel.js:
(WebInspector.ExtensionPanel):
(WebInspector.ExtensionPanel.prototype.get statusBarItems):
(WebInspector.ExtensionPanel.prototype.addStatusBarItem):
(WebInspector.ExtensionButton):
(WebInspector.ExtensionButton.prototype.update):
(WebInspector.ExtensionButton.prototype._onClicked):
* inspector/front-end/ExtensionServer.js:
(WebInspector.ExtensionServer):
(WebInspector.ExtensionServer.prototype.notifyButtonClicked):
(WebInspector.ExtensionServer.prototype._onCreateStatusBarButton):
(WebInspector.ExtensionServer.prototype._onUpdateButton):
(WebInspector.ExtensionServer.prototype._onCreateSidebarPane):
* inspector/front-end/inspector.css:
(button.status-bar-item.extension):
2011-11-18 Tommy Widenflycht <tommyw@google.com>
MediaStream API: Merging the PeerConnectionHandler.h files
https://bugs.webkit.org/show_bug.cgi?id=72611
Reviewed by Adam Barth.
No actual code changes.
* GNUmakefile.am:
* GNUmakefile.list.am:
* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:
* platform/mediastream/PeerConnectionHandler.h: Renamed from Source/WebCore/platform/mediastream/chromium/PeerConnectionHandler.h.
* platform/mediastream/gstreamer/PeerConnectionHandler.h: Removed.
2011-11-17 Simon Hausmann <simon.hausmann@nokia.com>
[Qt] Layer violation: ThirdPartyCookiesQt.cpp uses QWebSettings in two places
https://bugs.webkit.org/show_bug.cgi?id=72597
Reviewed by Kenneth Rohde Christiansen.
Moved code that queries the third party cookie policy from QWebSettings
out of WebCore. Instead NetworkingContext has now the interface that allows
delegating the functionality into WebKit/qt.
In order to do that we need to pass the NetworkingContext around, which is used to
retrieve the cookie jar and the originating frame object pointer.
* platform/network/NetworkingContext.h: Add interface.
* platform/network/qt/QNetworkReplyHandler.cpp:
(WebCore::QNetworkReplyHandler::QNetworkReplyHandler): Pass NetworkingContext to ResourceRequest::toNetworkRequest.
(WebCore::QNetworkReplyHandler::redirect): Ditto.
* platform/network/qt/ResourceRequest.h: Replaced originatingObject parameter with NetworkingContext, which can
also provide the same plus more (cookie jar, policy callback).
* platform/network/qt/ResourceRequestQt.cpp:
(WebCore::ResourceRequest::toNetworkRequest): Ditto.
* platform/qt/CookieJarQt.cpp: Simplify to use NetworkingContext to get cookie jar and
call new thirdPartyCookiePolicyPermits API that takes the context as parameter.
(WebCore::networkingContext):
(WebCore::setCookies):
(WebCore::cookies):
(WebCore::cookieRequestHeaderFieldValue):
(WebCore::cookiesEnabled):
* platform/qt/ThirdPartyCookiesQt.cpp: Replace up-casting to QWebFrame and use of QWebSettings
with useage of NetworkingContext.
(WebCore::thirdPartyCookiePolicyPermits):
* platform/qt/ThirdPartyCookiesQt.h:
2011-11-17 Kenichi Ishibashi <bashi@chromium.org>
crash: WebCore::FontPlatformData::roundsGlyphAdvances on Lion
https://bugs.webkit.org/show_bug.cgi?id=71997
Reviewed by Dan Bernstein.
The cause is a null dereference of a fontData that is stored in
ComplexTextRun. The fontData is initialized by using the
fontCache, but it could be null when the font is in fallback
list. The reason a font from the fallback list might not be in the
font Cache is that it may be a web font. Before looking up the
fontCache, try to see whether the font is in the fallback list.
No new tests. We don't have webfonts that can produce the problem.
* platform/graphics/mac/ComplexTextControllerCoreText.mm:
(WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText): See fallback list first, then lookup cache.
2011-11-17 Kaustubh Atrawalkar <kaustubh@motorola.com>
Remove initProgressEvent method
https://bugs.webkit.org/show_bug.cgi?id=71340
Reviewed by Adam Barth.
This method has been removed from the spec draft.
http://www.w3.org/TR/progress-events/#interface-progressevent
No new tests. Removed method.
* dom/ProgressEvent.cpp:
* dom/ProgressEvent.h:
* dom/ProgressEvent.idl:
2011-11-17 Eunmi Lee <eunmi15.lee@samsung.com>
[EFL] Move keyIdentifierForEvasKeyName() and windowsKeyCodeForEvasKeyName() to the
EflKeyboardUtilities.cpp to use in the WebKit2
https://bugs.webkit.org/show_bug.cgi?id=62451
Reviewed by Martin Robinson.
The keyIdentifierForEvasKeyName() and windowsKeyCodeForEvasKeyName() were static functions
in the PlatformKeyboardEventEfl.cpp. But they are also needed in the WebKit2 EFL port, so I
moved them to the separated file - EflKeyboardUtilities.cpp.
* PlatformEfl.cmake:
* platform/efl/EflKeyboardUtilities.cpp: Copied from Source/WebCore/platform/efl/PlatformKeyboardEventEfl.cpp.
(WebCore::createKeyMap):
(WebCore::createWindowsKeyMap):
(WebCore::keyIdentifierForEvasKeyName):
(WebCore::windowsKeyCodeForEvasKeyName):
* platform/efl/EflKeyboardUtilities.h: Added.
* platform/efl/PlatformKeyboardEventEfl.cpp:
2011-11-17 Martin Robinson <mrobinson@igalia.com>
[GTK] The process freezes when you right click on windowless Flash
https://bugs.webkit.org/show_bug.cgi?id=69123
Reviewed by Xan Lopez.
No new tests. I tried to create a layout test that exercised this
issue, but it appears that EventSender clicks do not trigger
it. This is covered by the manual tests containing Flash.
* plugins/PluginPackage.cpp:
(WebCore::PluginPackage::determineQuirks): Always activate the
windowless Flash quirk if on x86_64 and X11.
* plugins/gtk/PluginViewGtk.cpp:
(WebCore::PluginView::handleMouseEvent): Avoid sending right-click
events if we have the quirk.
2011-11-17 Peter Rybin <peter.rybin@gmail.com>
Web Inspector: clear fixme in generator script
https://bugs.webkit.org/show_bug.cgi?id=71372
Remove unnecessary field name map and update license year number.
Reviewed by Pavel Feldman.
* inspector/CodeGeneratorInspector.py:
2011-11-17 Raphael Kubo da Costa <kubo@profusion.mobi>
[EFL] Clean up the use of DATA_DIR in the buildsystem
https://bugs.webkit.org/show_bug.cgi?id=72681
Reviewed by Daniel Bates.
Add the -DDATA_DIR definition here instead of defining it globally in
OptionsEfl.cmake, as WebCore is the only place which needs it.
No new tests, this is a buildsystem change.
* PlatformEfl.cmake:
2011-11-17 Adam Klein <adamk@chromium.org>
Move JS recursion counter from V8Proxy to V8BindingPerIsolateData
https://bugs.webkit.org/show_bug.cgi?id=72645
Reviewed by Adam Barth.
With the JS recursion level stored as a member of V8Proxy, it's tied
to a frame. But this is incorrect, as there's no reason that a JS call
stack need be restricted to a single frame (see my new test case for
an example of code going across frames).
In order to get the correct accounting of JS recursion level, per-Isolate
is the right granularity (per dslomov), which is what this patch accomplishes.
Test: storage/indexeddb/transaction-abort-with-js-recursion-cross-frame.html
* bindings/v8/V8Binding.cpp:
(WebCore::V8BindingPerIsolateData::V8BindingPerIsolateData):
* bindings/v8/V8Binding.h:
(WebCore::V8BindingPerIsolateData::recursionLevel):
(WebCore::V8BindingPerIsolateData::incrementRecursionLevel):
(WebCore::V8BindingPerIsolateData::decrementRecursionLevel):
(WebCore::V8RecursionScope::V8RecursionScope):
(WebCore::V8RecursionScope::~V8RecursionScope):
* bindings/v8/V8Proxy.cpp:
(WebCore::incrementRecursionLevel):
(WebCore::decrementRecursionLevel):
(WebCore::recursionLevel):
(WebCore::V8Proxy::V8Proxy):
(WebCore::V8Proxy::runScript):
(WebCore::V8Proxy::callFunction):
(WebCore::V8Proxy::didLeaveScriptContext):
* bindings/v8/V8Proxy.h:
2011-11-17 Robin Cao <robin.cao@torchmobile.com.cn>
[chromium] Font::drawComplexText can not draw a segment of text run
https://bugs.webkit.org/show_bug.cgi?id=72095
Reviewed by Adam Barth.
drawComplexText() should respect the 'from' and 'to' arguments.
Drawing the whole text run may result in text overlapping.
Test: platform/chromium-linux/fast/text/international/draw-complex-text-from-to.html
* platform/graphics/chromium/ComplexTextControllerLinux.cpp:
(WebCore::ComplexTextController::glyphsForRange):
* platform/graphics/chromium/ComplexTextControllerLinux.h:
* platform/graphics/chromium/FontLinux.cpp:
(WebCore::Font::drawComplexText):
2011-11-17 Adam Barth <abarth@webkit.org>
Unique SecurityOrigins shouldn't remember their old schemes and hosts
https://bugs.webkit.org/show_bug.cgi?id=71745
Reviewed by Darin Adler.
This is the final step in this series of patches.
This patch removes the forceUnique flag from SecurityOrigin::create.
Now, we create unique origins without passing in the document's URL,
preventing information from the document's URL from leaking into the
unique origin.
* WebCore.exp.in:
* dom/Document.cpp:
(WebCore::Document::setIsViewSource):
(WebCore::Document::initSecurityContext):
* loader/cache/MemoryCache.cpp:
(WebCore::MemoryCache::getOriginsWithCache):
- Update this callsite to use createFromString, which does exactly
what this code is doing manually.
* page/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::create):
* page/SecurityOrigin.h:
2011-11-17 Vincent Scheib <scheib@chromium.org>
Pointer Lock: Page Settings unecessary
https://bugs.webkit.org/show_bug.cgi?id=72662
Reviewed by Darin Fisher.
No new tests.
* page/Settings.cpp:
(WebCore::Settings::Settings):
* page/Settings.h:
2011-11-17 James Robinson <jamesr@chromium.org>
[chromium] Disable incremental uploading in threaded compositing path
https://bugs.webkit.org/show_bug.cgi?id=72669
Reviewed by Kenneth Russell.
Since we don't currently support atomic incremental uploads, incremental uploads in the threaded path result in
very strange-looking texture popping as tiles come in on pages that require more than 16 tile uploads per frame.
This disables that logic (by setting the upload limit per frame to 99999) until we handle the incremental
updates in an atomic fashion.
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::scheduledActionUpdateMoreResources):
2011-11-06 Nat Duca <nduca@chromium.org>
[chromium] Fix handling of setNeedsCommit and setNeedsAnimate in threaded mode
https://bugs.webkit.org/show_bug.cgi?id=71638
Reviewed by James Robinson.
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::CCThreadProxy):
(WebCore::CCThreadProxy::setNeedsAnimate):
(WebCore::CCThreadProxy::beginFrameAndCommit):
2011-11-17 Adam Barth <abarth@webkit.org>
Remove bogus ASSERT.
* page/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::SecurityOrigin):
2011-11-17 Peter Kasting <pkasting@google.com>
Unreviewed, rolling out r100698.
http://trac.webkit.org/changeset/100698
https://bugs.webkit.org/show_bug.cgi?id=72239
This change wasn't the problem either.
* dom/Document.cpp:
(WebCore::Document::implicitClose):
2011-11-17 David Reveman <reveman@chromium.org>
[Chromium] Calls to paintContentsIfDirty() and updateCompositorResources() should be balanced.
https://bugs.webkit.org/show_bug.cgi?id=72630
Reviewed by James Robinson.
Layer property changes during paintContent() can leave the layer
in an invalid state as paintContentsIfDirty() has been called
without a matching updateCompositorResources() call. Removing
conditionals around these calls ensure they are balanced.
This patch is tested by the following unit test:
- CCLayerTreeHostTestOpacityChange.runMultiThread
* platform/graphics/chromium/ContentLayerChromium.cpp:
(WebCore::ContentLayerChromium::paintContentsIfDirty):
* platform/graphics/chromium/VideoLayerChromium.cpp:
(WebCore::VideoLayerChromium::updateCompositorResources):
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
(WebCore::CCLayerTreeHost::paintLayerContents):
(WebCore::CCLayerTreeHost::updateCompositorResources):
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
2011-11-17 Peter Kasting <pkasting@google.com>
Unreviewed, rolling out r100584.
http://trac.webkit.org/changeset/100584
https://bugs.webkit.org/show_bug.cgi?id=72239
See if this change caused Linux dbg crashes.
* dom/Document.cpp:
(WebCore::Document::implicitClose):
2011-11-17 Adam Barth <abarth@webkit.org>
Remove cargo-cult copy/pasting of ScriptExecutionContext namespace
https://bugs.webkit.org/show_bug.cgi?id=72676
Reviewed by Eric Seidel.
It looks like this cargo-cult started with initDNSPrefetch being hacked
into setSecurityOrigin. I've removed this hack along with the
copy/paste code.
* dom/DOMImplementation.cpp:
* dom/Document.cpp:
(WebCore::Document::setIsViewSource):
(WebCore::Document::open):
(WebCore::Document::initSecurityContext):
(WebCore::Document::setSecurityOrigin):
* dom/Document.h:
* xml/XSLTProcessor.cpp:
2011-11-17 Peter Kasting <pkasting@google.com>
Unreviewed, rolling out r100676.
http://trac.webkit.org/changeset/100676
https://bugs.webkit.org/show_bug.cgi?id=72393
Looks like r100572 was not the source of the crashes.
* bindings/js/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::canSetScriptSource):
* bindings/js/ScriptDebugServer.h:
* bindings/v8/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::stepOutOfFunction):
(WebCore::ScriptDebugServer::canSetScriptSource):
* bindings/v8/ScriptDebugServer.h:
* inspector/CodeGeneratorInspector.py:
* inspector/Inspector.json:
* inspector/InspectorDebuggerAgent.cpp:
(WebCore::InspectorDebuggerAgent::getCapabilities):
* inspector/InspectorDebuggerAgent.h:
* inspector/front-end/DebuggerModel.js:
(WebInspector.DebuggerModel):
(WebInspector.DebuggerModel.prototype.enableDebugger):
(WebInspector.DebuggerModel.prototype.disableDebugger):
(WebInspector.DebuggerModel.prototype.canSetScriptSource):
* inspector/front-end/DebuggerPresentationModel.js:
(WebInspector.DebuggerPresentationModel.prototype.canEditScriptSource):
* inspector/front-end/Settings.js:
2011-11-17 Konstantin Scheglov <scheglov@google.com>
Absolute child is not repainted when parent opacity changes
https://bugs.webkit.org/show_bug.cgi?id=68777
Reviewed by Simon Fraser.
First time when we change opacity for parent we don't have layer, so
diff=StyleDifferenceRepaint is used instead of diff=StyleDifferenceRepaintLayer.
Layer is created later, in styleDidChange().
So, when we recalculate later diff, we now check for diff=StyleDifferenceRepaintLayer and
performs repaintIncludingDescendants().
Test: fast/layers/layer-absolute-parent-opacity.html
* rendering/RenderObject.cpp:
(WebCore::RenderObject::setStyle): Call repaintIncludingDescendants() instead of repaint().
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::diff): Add ContextSensitivePropertyOpacity when change opacity.
2011-11-17 Nate Chapin <japhet@chromium.org>
r100311 dropped a RefPtr that is very
helpful. Add it back.
https://bugs.webkit.org/show_bug.cgi?id=72647
Reviewed by Adam Barth.
http/tests/misc/xslt-bad-import.html should
stop crashing in full chromium builds.
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::loadDone):
2011-11-17 Adam Barth <abarth@webkit.org>
Refactor SecurityOrigin::create to be easier to understand
https://bugs.webkit.org/show_bug.cgi?id=72342
Reviewed by Eric Seidel.
Over time, the SecurityOrigin constructor has grown a bit out of
control. This patch attempts to separate the different concerns into
free functions. The general approach is to put more logic in the
"create" function and introduce a simple constructor for unique
origins.
This patch shouldn't change any behavior.
* page/SecurityOrigin.cpp:
(WebCore::schemeRequiresAuthority):
(WebCore::shouldUseInnerURL):
(WebCore::extractInnerURL):
(WebCore::isDirectory):
(WebCore::shouldTreatAsUniqueOrigin):
(WebCore::SecurityOrigin::SecurityOrigin):
(WebCore::SecurityOrigin::create):
(WebCore::SecurityOrigin::createUnique):
(WebCore::SecurityOrigin::databaseIdentifier):
* page/SecurityOrigin.h:
2011-11-17 Shawn Singh <shawnsingh@chromium.org>
[chromium] Fix minor style nit in CCLayerImpl
https://bugs.webkit.org/show_bug.cgi?id=71070
Reviewed by James Robinson.
Fixes if-statements on several settors to follow WebKit
conventions. Existing CCLayerImplTest unit tests already cover
this change.
* platform/graphics/chromium/cc/CCLayerImpl.cpp:
(WebCore::CCLayerImpl::setBounds):
(WebCore::CCLayerImpl::setMaskLayer):
(WebCore::CCLayerImpl::setReplicaLayer):
(WebCore::CCLayerImpl::setDrawsContent):
(WebCore::CCLayerImpl::setAnchorPoint):
(WebCore::CCLayerImpl::setAnchorPointZ):
(WebCore::CCLayerImpl::setBackgroundColor):
(WebCore::CCLayerImpl::setMasksToBounds):
(WebCore::CCLayerImpl::setOpaque):
(WebCore::CCLayerImpl::setOpacity):
(WebCore::CCLayerImpl::setPosition):
(WebCore::CCLayerImpl::setPreserves3D):
(WebCore::CCLayerImpl::setZoomAnimatorTransform):
(WebCore::CCLayerImpl::setSublayerTransform):
(WebCore::CCLayerImpl::setTransform):
(WebCore::CCLayerImpl::setDebugBorderColor):
(WebCore::CCLayerImpl::setDebugBorderWidth):
(WebCore::CCLayerImpl::setContentBounds):
(WebCore::CCLayerImpl::setScrollPosition):
(WebCore::CCLayerImpl::setScrollDelta):
(WebCore::CCLayerImpl::setScaleDelta):
(WebCore::CCLayerImpl::setDoubleSided):
2011-11-17 Michael Saboff <msaboff@apple.com>
Leaks seen in MemoryPressureHandlerMac.mm on Leaks bot
https://bugs.webkit.org/show_bug.cgi?id=72416
Added code to release _cache_event_source and _timer_event_source
after they are canceled. Also added defensive code to
clean up the _timer_event_source in uninstall().
Reviewed by Geoffrey Garen.
No new tests, fixing leaks caught by leaks bot.
* platform/mac/MemoryPressureHandlerMac.mm:
(WebCore::MemoryPressureHandler::uninstall):
(WebCore::MemoryPressureHandler::holdOff):
2011-11-17 Ken Buchanan <kenrb@chromium.org>
Crash from positioned generated content under run-in
https://bugs.webkit.org/show_bug.cgi?id=70456
Reviewed by David Hyatt.
Modified handling of run-in children to clear generated children
before removing the parent from the render tree. This caused problems
with absolute positioned children being not properly removed from the
positioned object list of the RenderView.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::handleRunInChild):
2011-11-17 Peter Kasting <pkasting@google.com>
Unreviewed, rolling out r100572.
https://bugs.webkit.org/show_bug.cgi?id=72393
https://bugs.webkit.org/show_bug.cgi?id=72651
May have caused seg faults on Chromium Linux dbg bot.
* bindings/js/ScriptDebugServer.cpp:
* bindings/js/ScriptDebugServer.h:
* bindings/v8/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::stepOutOfFunction):
* bindings/v8/ScriptDebugServer.h:
* inspector/CodeGeneratorInspector.py:
* inspector/Inspector.json:
* inspector/InspectorDebuggerAgent.cpp:
* inspector/InspectorDebuggerAgent.h:
* inspector/front-end/DebuggerModel.js:
(WebInspector.DebuggerModel):
(WebInspector.DebuggerModel.prototype.enableDebugger):
(WebInspector.DebuggerModel.prototype.disableDebugger):
* inspector/front-end/DebuggerPresentationModel.js:
(WebInspector.DebuggerPresentationModel.prototype.canEditScriptSource):
* inspector/front-end/Settings.js:
2011-11-17 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r100652.
http://trac.webkit.org/changeset/100652
https://bugs.webkit.org/show_bug.cgi?id=72648
"Caused outline-offset-min-assert.html to assert on debug
builds" (Requested by mwenge2 on #webkit).
* rendering/RenderObject.cpp:
(WebCore::RenderObject::paintOutline):
2011-11-17 Mark Rowe <mrowe@apple.com>
<http://webkit.org/b/72637> Stop performing runtime version checks on OS versions where the check can never possibly fail.
Reviewed by Simon Fraser.
* platform/graphics/cg/ImageBufferDataCG.cpp:
(WebCore::haveVImageRoundingErrorFix): When not targeting Snow Leopard we always have the fix.
2011-11-17 Chris Fleizach <cfleizach@apple.com>
AX: The scrollArea is not correctly returning the scrollbars
https://bugs.webkit.org/show_bug.cgi?id=70247
Reviewed by Beth Dakin.
A few bugs that were preventing this from working.
1) In accessibilityAttributeValue: when an element did not have a renderer() we were returning earlier than we should have
2) We were not updating and clearing the scrollbars correctly when children were cleared or when asked for.
Test: platform/mac/accessibility/scrollbars.html
* accessibility/AccessibilityScrollView.cpp:
(WebCore::AccessibilityScrollView::scrollBar):
(WebCore::AccessibilityScrollView::clearChildren):
* accessibility/AccessibilityScrollView.h:
* accessibility/mac/WebAccessibilityObjectWrapper.mm:
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
2011-11-14 Adam Barth <abarth@webkit.org>
Unique origins shouldn't remember their scheme, host, or port
https://bugs.webkit.org/show_bug.cgi?id=72308
Reviewed by Eric Seidel.
This patch contains the bulk (all?) of the behavior differences in this
patch series. Unique origins shouldn't remember their schemes. Doing
so causes some privileges (e.g., local access) to leak into unique
origins.
* page/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::SecurityOrigin):
- Explicitly clear out the protocol, host, and port for unique
origins. A future patch will refactor all this code to be more
elegant.
* platform/SchemeRegistry.cpp:
(WebCore::schemesWithUniqueOrigins):
- Merge "about" and "javascript" in with the general case now that
we don't have a separate notion of an empty origin.
2011-11-17 Chris Fleizach <cfleizach@apple.com>
AX: cleanup style and naming and code in accessibility search mechanism
https://bugs.webkit.org/show_bug.cgi?id=72570
Reviewed by Beth Dakin.
Cleanup the naming and code style within the element searching mechanism.
* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::isAccessibilityObjectSearchMatch):
(WebCore::AccessibilityObject::isAccessibilityTextSearchMatch):
(WebCore::AccessibilityObject::firstAccessibleObjectFromNode):
(WebCore::AccessibilityObject::findMatchingObjects):
* accessibility/AccessibilityObject.h:
* accessibility/mac/WebAccessibilityObjectWrapper.mm:
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
2011-11-17 Julien Chaffraix <jchaffraix@webkit.org>
CSS table with 100% width can overflow their containing block
https://bugs.webkit.org/show_bug.cgi?id=72180
Reviewed by David Hyatt.
Tests: fast/table/table-in-table-percent-width-collapsing-border-quirks-mode.html
fast/table/table-in-table-percent-width-collapsing-border.html
fast/table/table-in-table-percent-width-quirks-mode.html
fast/table/table-in-table-percent-width.html
After r97555, we would include the borders in a CSS table's logical width even if the 'width'
property was a percent. This does not match what Firefox and IE are doing. Thus don't apply
this behavior to percent 'width'.
* rendering/RenderTable.cpp:
(WebCore::RenderTable::computeLogicalWidth):
2011-11-17 Adrienne Walker <enne@google.com>
[chromium] Implicitly skip render surfaces that won't be drawn
https://bugs.webkit.org/show_bug.cgi?id=71038
Rather than having redundant checks in three places for how to walk
through a render surface list, instead don't add render surfaces that
don't need to get rendered to the render surface list.
Reviewed by James Robinson.
Covered by existing layout tests and unit tests.
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::drawLayersOntoRenderSurfaces):
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::paintLayerContents):
(WebCore::CCLayerTreeHost::updateCompositorResources):
* platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
(WebCore::calculateDrawTransformsAndVisibilityInternal):
2011-11-17 Simon Hausmann <simon.hausmann@nokia.com>
[Qt] Layer violation: qt_runtime.cpp accesses QWebElement and QTDRTNode
https://bugs.webkit.org/show_bug.cgi?id=72595
Reviewed by Noam Rosenthal.
Removed QWebElement and QtDRTNode usage that reached from WebCore into
WebKit/qt and replaced it with the ability to register custom JSValue
conversion functions. The old code has been moved to WebKit/qt.
* bridge/qt/qt_instance.cpp:
(JSC::Bindings::QtInstance::QtInstance): Remove unnecessary meta type registration
(now done in QtWebElementRuntime::initialize in WebKit/qt).
* bridge/qt/qt_runtime.cpp:
(JSC::Bindings::registerCustomType):
(JSC::Bindings::convertValueToQVariant):
(JSC::Bindings::convertQVariantToValue):
* bridge/qt/qt_runtime.h:
2011-11-17 Fady Samuel <fsamuel@chromium.org>
Pass Aspect Ratio to RenderStyle
https://bugs.webkit.org/show_bug.cgi?id=72350
Reviewed by Ojan Vafai.
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSStyleApplyProperty.cpp:
(WebCore::ApplyPropertyAspectRatio::applyInheritValue):
(WebCore::ApplyPropertyAspectRatio::applyInitialValue):
(WebCore::ApplyPropertyAspectRatio::applyValue):
(WebCore::ApplyPropertyAspectRatio::createHandler):
(WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
* css/CSSValue.h:
(WebCore::CSSValue::isAspectRatioValue):
* rendering/style/RenderStyle.h:
(WebCore::InheritedFlags::hasAspectRatio):
(WebCore::InheritedFlags::aspectRatio):
(WebCore::InheritedFlags::aspectRatioDenominator):
(WebCore::InheritedFlags::aspectRatioNumerator):
(WebCore::InheritedFlags::setHasAspectRatio):
(WebCore::InheritedFlags::setAspectRatioDenominator):
(WebCore::InheritedFlags::setAspectRatioNumerator):
(WebCore::InheritedFlags::initialHasAspectRatio):
(WebCore::InheritedFlags::initialAspectRatioDenominator):
(WebCore::InheritedFlags::initialAspectRatioNumerator):
* rendering/style/StyleRareNonInheritedData.cpp:
(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator==):
* rendering/style/StyleRareNonInheritedData.h:
2011-11-09 Robert Hogan <robert@webkit.org>
CSS 2.1 failure: outline-color-* tests fail
https://bugs.webkit.org/show_bug.cgi?id=71931
Reviewed by Julien Chaffraix.
WebKit wasn't displaying the top block in these tests because it did not paint the outline
of divs with zero size.
* rendering/RenderObject.cpp:
(WebCore::RenderObject::paintOutline): paint the outline even when the block has zero size
2011-11-17 Sergio Villar Senin <svillar@igalia.com>
[GTK] plugins/get-url-notify-with-url-that-fails-to-load.html on bots after r100466
https://bugs.webkit.org/show_bug.cgi?id=72613
Reviewed by Martin Robinson.
Do not assume that a SoupRequest always exists, it is not
generated for example when the provided URL is
invalid. ResourceHandle::platformSetDefersLoading was crashing
because of that.
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::ResourceHandle::platformSetDefersLoading):
2011-11-17 Vsevolod Vlasov <vsevik@chromium.org>
Web Inspector: Remove onlineDetectionEnabled from Preferences
https://bugs.webkit.org/show_bug.cgi?id=72617
Reviewed by Pavel Feldman.
* inspector/front-end/ApplicationCacheItemsView.js:
(WebInspector.ApplicationCacheItemsView):
(WebInspector.ApplicationCacheItemsView.prototype.get statusBarItems):
* inspector/front-end/Settings.js:
2011-11-17 Ken Buchanan <kenrb@chromium.org>
Crash from nested tables with generated content
https://bugs.webkit.org/show_bug.cgi?id=68811
Reviewed by David Hyatt.
When adding a child to a table that has generated content, this change
ensures that we leave alone any generated content renderers that belong
to descendants in the tree. They don't need to be touched, and doing so
can create confusion about who the content belongs to.
This patch also simplifies some existing code for finding pseudoelement
renderers.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::addChild):
(WebCore::RenderObject::isBeforeAfterContentGeneratedByAncestor): Added
* rendering/RenderObject.h:
(WebCore::RenderObject::findAfterContentRenderer): Deleted
(WebCore::RenderObject::findBeforeContentRenderer): Deleted
* rendering/RenderObjectChildList.cpp:
(WebCore::RenderObjectChildList::beforePseudoElementRenderer):
(WebCore::RenderObjectChildList::afterPseudoElementRenderer):
* rendering/RenderTable.cpp:
(WebCore::RenderTable::addChild):
* rendering/RenderTableRow.cpp:
(WebCore::RenderTableRow::addChild):
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::addChild):
2011-11-17 Patrick Gansterer <paroga@webkit.org>
Unreviewed WinCE build fix for r94119.
MSVC throws multiply defined symbols linker error when using local class in inline function.
* bindings/js/JSDictionary.h:
(WebCore::JSDictionary::IdentitySetter::identitySetter):
(WebCore::JSDictionary::tryGetProperty):
2011-11-17 Eric Carlson <eric.carlson@apple.com>
TextTrackList not sorted correctly
https://bugs.webkit.org/show_bug.cgi?id=72545
Reviewed by Darin Adler.
Test: media/track/track-texttracks.html
* WebCore.xcodeproj/project.pbxproj: Add TextTrack.h to WebCore private headers because
it is included by HTMLMediaElement.h.
* html/LoadableTextTrack.cpp:
(WebCore::LoadableTextTrack::LoadableTextTrack): Pass track type to base class constructor.
(WebCore::LoadableTextTrack::trackElementIndex): New, return the <track> element's tree order
for sorting.
* html/LoadableTextTrack.h:
* html/TextTrack.cpp:
(WebCore::TextTrack::TextTrack): Set track type.
* html/TextTrack.h:
(WebCore::TextTrack::create): Ditto.
(WebCore::TextTrack::trackType): Ditto.
* html/track/TextTrackList.cpp:
(TextTrackList::length): Update to deal with two TextTrack vectors.
(TextTrackList::item): Ditto.
(TextTrackList::append): Ditto.
(TextTrackList::remove): Ditto
* html/track/TextTrackList.h: Store the two types of TextTracks in separate Vectors to make
it simpler to keep them in the correct order.
2011-11-17 Simon Hausmann <simon.hausmann@nokia.com>
[Qt] Layer violation: WebCore::dnsPrefetch uses QWebSettings::globalSettings()
https://bugs.webkit.org/show_bug.cgi?id=72596
Reviewed by Kenneth Rohde Christiansen.
We don't need to use QWebSettings here, because we now propagate the DNS prefetch
setting to WebCore::Settings and the rest of WebCore checks the setting before calling
WebCore::prefetchDNS.
* platform/network/qt/DnsPrefetchHelper.cpp:
(WebCore::prefetchDNS): Removed the use of QWebSettings.
* platform/network/qt/DnsPrefetchHelper.h: Remove offending qwebsettings.h inclusion.
2011-11-17 Simon Hausmann <simon.hausmann@nokia.com>
[Qt] Layer violation: Image::loadPlatformResource uses QWebSettings::webGraphic
https://bugs.webkit.org/show_bug.cgi?id=72594
Reviewed by Kenneth Rohde Christiansen.
Move the cache for the resource pixmaps into ImageQt.cpp.
* platform/graphics/Image.h: Add Qt specific setter for resource pixmaps.
* platform/graphics/qt/ImageQt.cpp: Moved resource pixmap hash from qwebsettings.
(earlyClearGraphics):
(graphics):
(loadResourcePixmap):
(WebCore::Image::setPlatformResource):
2011-11-17 Zeno Albisser <zeno@webkit.org>
[Qt][WK2] Touch/Mouse events are delivered with wrong coordinates.
https://bugs.webkit.org/show_bug.cgi?id=72604
When using the QtViewportInterationEngine for zooming/panning,
no additional scroll offset should be applied to input events
by the ScrollView.
This patch is based on work by Andreas Kling.
Reviewed by Kenneth Rohde Christiansen.
* platform/ScrollView.cpp:
(WebCore::ScrollView::windowToContents):
(WebCore::ScrollView::contentsToWindow):
2011-11-17 Ben Murdoch <benm@google.com>
Unreviewed build fix.
Fix the Windows builds by adding WorkerEventQueue.cpp|h to the
vcproj. Build break was introduced in
https://bugs.webkit.org/show_bug.cgi?id=72528
* WebCore.vcproj/WebCore.vcproj: Add missing files.
2011-11-17 Mihnea Ovidenie <mihnea@adobe.com>
CSS Exclusions: parse the wrap-margin and wrap-padding properties
https://bugs.webkit.org/show_bug.cgi?id=71900
Reviewed by Dean Jackson.
Tests: fast/exclusions/wrap-margin-parsing.html
fast/exclusions/wrap-padding-parsing.html
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSParser.cpp:
(WebCore::isSimpleLengthPropertyID):
(WebCore::CSSParser::parseValue):
* css/CSSProperty.cpp:
(WebCore::CSSProperty::isInheritedProperty):
* css/CSSPropertyNames.in:
* css/CSSStyleApplyProperty.cpp:
(WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::diff):
* rendering/style/RenderStyle.h:
(WebCore::InheritedFlags::wrapPadding):
(WebCore::InheritedFlags::setWrapPadding):
(WebCore::InheritedFlags::initialWrapPadding):
(WebCore::InheritedFlags::wrapMargin):
(WebCore::InheritedFlags::setWrapMargin):
(WebCore::InheritedFlags::initialWrapMargin):
* rendering/style/StyleRareNonInheritedData.cpp:
(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator==):
* rendering/style/StyleRareNonInheritedData.h:
2011-11-17 Kenichi Ishibashi <bashi@chromium.org>
[chromium] don't call fontconfig twice in complex text path
https://bugs.webkit.org/show_bug.cgi?id=38701
Adds a new API for getting font family. For now, FontCacheLinux calls the new API, but don't use additional properties for compatibility. The old API will be removed when Chromium is ready to use new API.
Reviewed by Tony Chang.
No new tests. No behavior changes for now.
* platform/chromium/PlatformSupport.h: Added FontFamily struct and changed the declaration of getFontFamilyForCharacters().
* platform/graphics/chromium/FontCacheLinux.cpp:
(WebCore::FontCache::getFontDataForCharacters): Uses new PlatformSupport::getFontFamilyForCharacters().
* platform/graphics/chromium/FontPlatformDataLinux.h:
(WebCore::FontPlatformData::setFakeBold): Added.
(WebCore::FontPlatformData::setFakeItalic): Added.
2011-11-17 Mario Sanchez Prada <msanchez@igalia.com>
[GTK] Consider parent AtkObject in webkit_accessible_get_parent(), if already set
https://bugs.webkit.org/show_bug.cgi?id=72525
Reviewed by Xan Lopez.
* accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
(webkit_accessible_get_parent): Call to the implementation of
atk_object_get_parent in AtkObject class to check whether a parent
AtkObject has been previously set, before trying to find one.
2011-11-17 Pavel Feldman <pfeldman@google.com>
Not reviewed: fix IE user agents strings in the inspector.
* inspector/front-end/SettingsScreen.js:
(WebInspector.SettingsScreen.prototype._createUserAgentSelectRowElement.get const):
2011-11-16 Kenneth Rohde Christiansen <kenneth@webkit.org>
Make use-fixed-layout work reliable
https://bugs.webkit.org/show_bug.cgi?id=72511
Reviewed by Simon Hausmann.
Always send a viewport update per page load as we depend on that,
to reset all viewport handling before doing layout.
* page/Page.cpp:
(WebCore::Page::updateViewportArguments):
2011-11-16 Alexander Pavlov <apavlov@chromium.org>
Web Inspector: inspector follows javascript: hrefs as relative
https://bugs.webkit.org/show_bug.cgi?id=72373
javascript: hrefs should never be linkified for security.
Reviewed by Yury Semikhatsky.
* inspector/front-end/ElementsTreeOutline.js:
(WebInspector.ElementsTreeElement.prototype._buildAttributeDOM):
* inspector/front-end/ResourceUtils.js:
(WebInspector.completeURL):
2011-11-17 Nikolas Zimmermann <nzimmermann@rim.com>
Not reviewed. Fix 32bit builds.
* platform/ClockGeneric.cpp:
(ClockGeneric::now): Use narrowPrecisionToFloat.
* rendering/FilterEffectRenderer.cpp:
(WebCore::FilterEffectRenderer::build): Use it correctly.
2011-11-17 Dominic Mazzoni <dmazzoni@google.com>
Accessibility: Chromium requires an AX notification when an iframe loads.
https://bugs.webkit.org/show_bug.cgi?id=72239
When a document finishes loading, we were sending an AXLoadComplete if it
was the top document. Now, if it's a document in an iframe, send an
AXLayoutComplete on the iframe.
Reviewed by Chris Fleizach.
Test: accessibility/loading-iframe-sends-notification.html
* dom/Document.cpp:
(WebCore::Document::implicitClose):
2011-11-16 Mark Rowe <mrowe@apple.com>
<http://webkit.org/b/72574> Remove unnecessary use of CarbonCore APIs from Audio code
Reviewed by Andy Estes.
* platform/audio/mac/AudioDestinationMac.cpp:
(WebCore::AudioDestinationMac::AudioDestinationMac): Switch from using the Carbon Component Manager
to using AudioUnit's own component interface.
(WebCore::AudioDestinationMac::~AudioDestinationMac): Ditto.
* platform/audio/mac/AudioFileReaderMac.cpp:
(WebCore::AudioFileReader::AudioFileReader): Remove an unncessary trip through the Carbon File Manager
when converting a char* path to a CFURLRef representing the same.
2011-11-17 Adam Barth <abarth@webkit.org>
CSP report-only mode doesn't work from an HTTP header
https://bugs.webkit.org/show_bug.cgi?id=71958
Reviewed by Eric Seidel.
"It's tested or it's broken." -- Adam Leventhal
Test: http/tests/security/contentSecurityPolicy/report-only-from-header.php
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::didBeginDocument):
2011-11-15 Pavel Feldman <pfeldman@google.com>
Web Inspector: introduce Debugger domain capabilities concept.
https://bugs.webkit.org/show_bug.cgi?id=72393
Many of the Preferences that we have in Settings.js and override in DevTools.js
are really not preferences, but capabilities. Protocol clients should have a way
of figuring out whether some capability is present before using it.
Reviewed by Yury Semikhatsky.
* bindings/js/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::canSetScriptSource):
* bindings/js/ScriptDebugServer.h:
* bindings/v8/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::canSetScriptSource):
* bindings/v8/ScriptDebugServer.h:
* inspector/CodeGeneratorInspector.py:
* inspector/Inspector.json:
* inspector/InspectorDebuggerAgent.cpp:
(WebCore::InspectorDebuggerAgent::getCapabilities):
* inspector/InspectorDebuggerAgent.h:
* inspector/front-end/DebuggerModel.js:
(WebInspector.DebuggerModel):
(WebInspector.DebuggerModel.prototype.enableDebugger):
(WebInspector.DebuggerModel.prototype.canSetScriptSource):
* inspector/front-end/DebuggerPresentationModel.js:
(WebInspector.DebuggerPresentationModel.prototype.canEditScriptSource):
* inspector/front-end/Settings.js:
2011-11-17 Mihnea Ovidenie <mihnea@adobe.com>
CSS exclusions: parse the wrap-flow and wrap-through properties
https://bugs.webkit.org/show_bug.cgi?id=71904
Reviewed by Dean Jackson.
Tests: fast/exclusions/wrap-flow-parsing.html
fast/exclusions/wrap-through-parsing.html
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator WrapFlow):
(WebCore::CSSPrimitiveValue::operator WrapThrough):
* css/CSSProperty.cpp:
(WebCore::CSSProperty::isInheritedProperty):
* css/CSSPropertyNames.in:
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
* css/CSSValueKeywords.in:
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::diff):
* rendering/style/RenderStyle.h:
(WebCore::InheritedFlags::wrapFlow):
(WebCore::InheritedFlags::wrapThrough):
(WebCore::InheritedFlags::setWrapFlow):
(WebCore::InheritedFlags::setWrapThrough):
(WebCore::InheritedFlags::initialWrapFlow):
(WebCore::InheritedFlags::initialWrapThrough):
* rendering/style/RenderStyleConstants.h:
* rendering/style/StyleRareNonInheritedData.cpp:
(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator==):
* rendering/style/StyleRareNonInheritedData.h:
2011-11-16 Dean Jackson <dino@apple.com>
Implement filter function shorthands
https://bugs.webkit.org/show_bug.cgi?id=68475
Reviewed by Simon Fraser.
Implement the shorthand functions for filter effects.
This includes grayscale, sepia, invert, hue-rotate, saturate,
opacity, gamma, drop-shadow and blur. At the moment sharpen
and url are not supported.
CSSParser needed to be updated because it was mistakenly
clamping saturation values to [0,1]. Any positive number
is allowed so you can produce super-saturated images.
The biggest change was the API to FilterEffectRenderer. It now
builds a list of effects and applies the filter itself.
Note that the drop-shadow and blur operations don't yet
provide accurate results because they produce an output image
that is larger than the input. See
https://bugs.webkit.org/show_bug.cgi?id=71929
https://bugs.webkit.org/show_bug.cgi?id=71930
While I was there, I fixed a small style issue in
CustomFilterOperation.
Tests: css3/filters/effect-blur.html
css3/filters/effect-combined.html
css3/filters/effect-drop-shadow.html
css3/filters/effect-gamma.html
css3/filters/effect-grayscale.html
css3/filters/effect-hue-rotate.html
css3/filters/effect-invert.html
css3/filters/effect-opacity.html
css3/filters/effect-saturate.html
css3/filters/effect-sepia.html
* WebCore.xcodeproj/project.pbxproj: Add StyleShader.h to
the project (missing from earlier commit).
* css/CSSParser.cpp:
(WebCore::CSSParser::isValidFilterArgument): Don't clamp
saturate to [0,1]
* platform/graphics/filters/CustomFilterOperation.h:
* rendering/FilterEffectRenderer.cpp:
(WebCore::endMatrixRow):
(WebCore::lastMatrixRow):
(WebCore::FilterEffectRenderer::FilterEffectRenderer):
(WebCore::FilterEffectRenderer::inputContext):
(WebCore::FilterEffectRenderer::build):
(WebCore::FilterEffectRenderer::prepare):
(WebCore::FilterEffectRenderer::apply):
* rendering/FilterEffectRenderer.h:
(WebCore::FilterEffectRenderer::setSourceImageRect):
(WebCore::FilterEffectRenderer::output):
(WebCore::FilterEffectRenderer::setMaxEffectRects):
(WebCore::FilterEffectRenderer::lastEffect):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintLayer):
(WebCore::RenderLayer::updateOrRemoveFilterEffect):
(WebCore::RenderLayer::updateFilterBackingStore):
2011-11-16 Kentaro Hara <haraken@chromium.org>
Remove all custom constructors of Events from JSC
https://bugs.webkit.org/show_bug.cgi?id=72577
Reviewed by Adam Barth.
- Makes CodeGeneratorJS.pm generate Event constructors
if [ConstructorTemplate=Event] IDL is specified.
- Removes EventConstructors.h and JSEventConstructors.cpp.
- Replaces all JSC custom constructors of Events
with the generated code by [ConstructorTemplate=Event] IDL.
Tests: fast/events/constructors/before-load-event-constructor.html
fast/events/constructors/close-event-constructor.html
fast/events/constructors/custom-event-constructor.html
fast/events/constructors/error-event-constructor.html
fast/events/constructors/event-constructors.html
fast/events/constructors/hash-change-event-constructor.html
fast/events/constructors/message-event-constructor.html
fast/events/constructors/overflow-event-constructor.html
fast/events/constructors/page-transition-event-constructor.html
fast/events/constructors/pop-state-event-constructor.html
fast/events/constructors/progress-event-constructor.html
fast/events/constructors/track-event-constructor.html
fast/events/constructors/webkit-animation-event-constructor.html
fast/events/constructors/webkit-transition-event-constructor.html
* bindings/generic/EventConstructors.h: Removed. This is what we wanted to do in this patch.
* bindings/js/JSEventConstructors.cpp: Ditto.
* GNUmakefile.list.am: Removed EventConstructors.h and JSEventConstructors.cpp.
* Target.pri: Ditto.
* UseJSC.cmake: Ditto.
* WebCore.gypi: Ditto.
* WebCore.vcproj/WebCore.vcproj: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* bindings/js/JSBindingsAllInOne.cpp: Ditto.
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader): Added JSDictionary.h.
(GenerateConstructorDeclaration): Added a header for fillXXXXEventInit(...).
(GenerateConstructorDefinition): Generates an Event constructor. The generated code is the same as the code that had been written in JSEventConstructors.cpp.
(IsConstructable): Judges if a given interface is constructable.
(IsConstructorTemplate): Judges if a given interface has a given template, e.g. judges if an interface has [ConstructorTemplate=Event].
* bindings/scripts/test/TestEventConstructor.idl: Changed 'CustomConstructor=Event' to 'ConstructorTemplate=Event'. We should have changed this in r100108.
* bindings/scripts/test/JS/JSTestEventConstructor.cpp: Updated a run-bindings-tests result.
(WebCore::JSTestEventConstructorConstructor::constructJSTestEventConstructor):
(WebCore::fillTestEventConstructorInit):
* bindings/scripts/test/JS/JSTestEventConstructor.h: Ditto.
* bindings/scripts/test/V8/V8TestEventConstructor.cpp: Ditto.
(WebCore::V8TestEventConstructor::constructorCallback):
(WebCore::fillTestEventConstructorInit):
* bindings/scripts/test/V8/V8TestEventConstructor.h: Ditto.
* dom/BeforeLoadEvent.idl: In essence, replaced [JSCustomConstructor] IDL with [JSConstructorTemplate=Event] IDL.
* dom/CustomEvent.idl: Ditto.
* dom/ErrorEvent.idl: Ditto.
* dom/Event.idl: Ditto.
* dom/HashChangeEvent.idl: Ditto.
* dom/MessageEvent.idl: Ditto.
* dom/OverflowEvent.idl: Ditto.
* dom/PageTransitionEvent.idl: Ditto.
* dom/PopStateEvent.idl: Ditto.
* dom/ProgressEvent.idl: Ditto.
* dom/WebKitAnimationEvent.idl: Ditto.
* dom/WebKitTransitionEvent.idl: Ditto.
* html/track/TrackEvent.idl: Ditto.
* websockets/CloseEvent.idl: Ditto.
2011-11-16 Dean Jackson <dino@apple.com>
Build fix for Apple WebKit due to r100560.
When I removed the violating header file it lost the
reference to Color.
No review.
* platform/graphics/filters/FilterOperation.h:
2011-11-16 Dean Jackson <dino@apple.com>
DropShadowFilterOperation violates platform isolation
https://bugs.webkit.org/show_bug.cgi?id=72544
Reviewed by Simon Fraser.
Move ShadowData properties into the DropShadowFilterOperation
to avoid depending on something outside platform.
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::valueForFilter):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::createFilterOperations):
* platform/graphics/filters/FilterOperation.h:
(WebCore::DropShadowFilterOperation::create):
(WebCore::DropShadowFilterOperation::x):
(WebCore::DropShadowFilterOperation::y):
(WebCore::DropShadowFilterOperation::stdDeviation):
(WebCore::DropShadowFilterOperation::color):
(WebCore::DropShadowFilterOperation::operator==):
(WebCore::DropShadowFilterOperation::DropShadowFilterOperation):
2011-11-16 Adam Bergkvist <adam.bergkvist@ericsson.com>
Use a simple page client for user consent in getUserMedia()
https://bugs.webkit.org/show_bug.cgi?id=70897
Reviewed by Adam Barth.
This is one in a series of patches that update the MediaStream feature
to use WebCore platform interfaces.
Covered by existing tests.
* GNUmakefile.list.am:
* WebCore.gypi:
* mediastream/MediaStreamClient.h: Removed.
* mediastream/MediaStreamController.cpp: Removed.
* mediastream/MediaStreamController.h: Removed.
* mediastream/MediaStreamFrameController.cpp: Removed.
* mediastream/MediaStreamFrameController.h: Removed.
* mediastream/UserMediaClient.h: Added.
(WebCore::UserMediaClient::~UserMediaClient):
* mediastream/UserMediaRequest.cpp: Added.
(WebCore::UserMediaRequest::create):
(WebCore::UserMediaRequest::UserMediaRequest):
(WebCore::UserMediaRequest::~UserMediaRequest):
(WebCore::UserMediaRequest::start):
(WebCore::UserMediaRequest::mediaStreamSourcesQueryCompleted):
(WebCore::UserMediaRequest::succeed):
(WebCore::UserMediaRequest::fail):
(WebCore::UserMediaRequest::contextDestroyed):
(WebCore::UserMediaRequest::parseOptions):
* mediastream/UserMediaRequest.h: Added.
(WebCore::UserMediaRequest::audio):
(WebCore::UserMediaRequest::video):
(WebCore::UserMediaRequest::cameraPreferenceUser):
(WebCore::UserMediaRequest::cameraPreferenceEnvironment):
(WebCore::UserMediaRequest::successCallback):
(WebCore::UserMediaRequest::errorCallback):
* page/CallbackTask.h: Removed.
* page/Frame.cpp:
(WebCore::Frame::Frame):
(WebCore::Frame::~Frame):
(WebCore::Frame::pageDestroyed):
(WebCore::Frame::transferChildFrameToNewDocument):
* page/Frame.h:
* page/Navigator.cpp:
(WebCore::Navigator::webkitGetUserMedia):
* page/NavigatorUserMediaErrorCallback.h:
* page/Page.cpp:
(WebCore::Page::Page):
(WebCore::Page::~Page):
(WebCore::Page::PageClients::PageClients):
* page/Page.h:
(WebCore::Page::userMediaClient):
2011-11-16 David Grogan <dgrogan@chromium.org>
instantiate WorkerEventQueue in WorkerContext
https://bugs.webkit.org/show_bug.cgi?id=72528
Reviewed by David Levin.
No new tests - nothing uses it yet.
* workers/WorkerContext.cpp:
(WebCore::WorkerContext::WorkerContext):
Instantiate WorkerEventQueue in InitializerList
* workers/WorkerEventQueue.h:
Don't inherit from RefCounted, WorkerContext has an OwnPtr to it
2011-11-16 Kentaro Hara <haraken@chromium.org>
Unreviewed. Rebaselined run-bindings-tests results.
* bindings/scripts/test/JS/JSTestEventConstructor.cpp:
(WebCore::JSTestEventConstructor::JSTestEventConstructor):
(WebCore::JSTestEventConstructorOwner::finalize):
* bindings/scripts/test/JS/JSTestEventConstructor.h:
(WebCore::JSTestEventConstructor::impl):
(WebCore::JSTestEventConstructor::releaseImpl):
* bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::JSTestInterface::JSTestInterface):
(WebCore::JSTestInterfaceOwner::finalize):
* bindings/scripts/test/JS/JSTestInterface.h:
(WebCore::JSTestInterface::impl):
(WebCore::JSTestInterface::releaseImpl):
* bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
(WebCore::JSTestMediaQueryListListener::JSTestMediaQueryListListener):
(WebCore::JSTestMediaQueryListListenerOwner::finalize):
* bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
(WebCore::JSTestMediaQueryListListener::impl):
(WebCore::JSTestMediaQueryListListener::releaseImpl):
* bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
(WebCore::JSTestNamedConstructor::JSTestNamedConstructor):
(WebCore::JSTestNamedConstructorOwner::finalize):
* bindings/scripts/test/JS/JSTestNamedConstructor.h:
(WebCore::JSTestNamedConstructor::impl):
(WebCore::JSTestNamedConstructor::releaseImpl):
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::JSTestObj::JSTestObj):
(WebCore::JSTestObjOwner::finalize):
* bindings/scripts/test/JS/JSTestObj.h:
(WebCore::JSTestObj::impl):
(WebCore::JSTestObj::releaseImpl):
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
(WebCore::JSTestSerializedScriptValueInterface::JSTestSerializedScriptValueInterface):
(WebCore::JSTestSerializedScriptValueInterfaceOwner::finalize):
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
(WebCore::JSTestSerializedScriptValueInterface::impl):
(WebCore::JSTestSerializedScriptValueInterface::releaseImpl):
2011-11-16 Jay Civelli <jcivelli@chromium.org>
Make sure MHTML documents use the domain of the MHTML file.
https://bugs.webkit.org/show_bug.cgi?id=72445
Reviewed by Adam Barth.
* dom/Document.h:
(WebCore::Document::setBaseURL):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::receivedFirstData):
2011-11-16 Julien Chaffraix <jchaffraix@webkit.org>
Update supported display list after -webkit-grid and -webkit-inline-grid addition
https://bugs.webkit.org/show_bug.cgi?id=72559
Reviewed by Tony Chang.
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue): Added the 2 new supported
values (forgotten in the previous change).
2011-11-11 Adrienne Walker <enne@google.com>
[chromium] Expose mock scrollbars to window.internals
https://bugs.webkit.org/show_bug.cgi?id=72195
Reviewed by James Robinson.
* testing/Internals.cpp:
(WebCore::Internals::setMockScrollbarsEnabled):
* testing/Internals.h:
* testing/Internals.idl:
2011-11-16 Michael Nordman <michaeln@google.com>
ApplicationCache manifest should work with any MIME type.
https://bugs.webkit.org/show_bug.cgi?id=72082
Reviewed by Alexey Proskuryakov.
* loader/appcache/ApplicationCacheGroup.cpp:
(WebCore::ApplicationCacheGroup::didReceiveManifestResponse): Remove the test for a particular type.
2011-11-16 Daniel Sievers <sievers@chromium.org>
[Chromium] Avoid color mask operations for root layers
https://bugs.webkit.org/show_bug.cgi?id=72452
Instead of relying on the combination of clearing the surface and initializing
the alpha channel to 1.0 followed by disabling alpha in the color mask when
rendering the root layer tiles, add shaders to support writing out opaque layers
(alpha channel values written as 1.0).
Reviewed by James Robinson.
No functional change made that requires new tests.
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::drawLayersInternal):
(WebCore::LayerRendererChromium::initializeSharedObjects):
(WebCore::LayerRendererChromium::tilerProgramOpaque):
(WebCore::LayerRendererChromium::tilerProgramOpaqueAA):
(WebCore::LayerRendererChromium::tilerProgramSwizzleOpaque):
(WebCore::LayerRendererChromium::tilerProgramSwizzleOpaqueAA):
(WebCore::LayerRendererChromium::cleanupSharedObjects):
* platform/graphics/chromium/LayerRendererChromium.h:
* platform/graphics/chromium/ShaderChromium.cpp:
(WebCore::FragmentTexOpaqueBinding::FragmentTexOpaqueBinding):
(WebCore::FragmentTexOpaqueBinding::init):
(WebCore::FragmentShaderRGBATexOpaque::getShaderString):
(WebCore::FragmentShaderRGBATexSwizzleOpaque::getShaderString):
(WebCore::FragmentTexClampOpaqueAABinding::FragmentTexClampOpaqueAABinding):
(WebCore::FragmentTexClampOpaqueAABinding::init):
(WebCore::FragmentShaderRGBATexClampOpaqueAA::getShaderString):
(WebCore::FragmentShaderRGBATexClampSwizzleOpaqueAA::getShaderString):
* platform/graphics/chromium/ShaderChromium.h:
(WebCore::FragmentTexOpaqueBinding::alphaLocation):
(WebCore::FragmentTexOpaqueBinding::samplerLocation):
(WebCore::FragmentTexClampOpaqueAABinding::alphaLocation):
(WebCore::FragmentTexClampOpaqueAABinding::samplerLocation):
(WebCore::FragmentTexClampOpaqueAABinding::fragmentTexTransformLocation):
(WebCore::FragmentTexClampOpaqueAABinding::edgeLocation):
* platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
(WebCore::CCTiledLayerImpl::draw):
* platform/graphics/chromium/cc/CCTiledLayerImpl.h:
2011-11-16 Tim Horton <timothy_horton@apple.com>
Implement CSS3 Images cross-fade() image function
https://bugs.webkit.org/show_bug.cgi?id=52162
<rdar://problem/10209254>
Reviewed by Simon Fraser.
Render -webkit-cross-fade. Only cross-fades entirely composed of images will render for now,
cross-fades involving generated images are not yet implemented.
Reorganize GeneratedImage to be the base class for GeneratorGeneratedImage and CrossfadeGeneratedImage.
Add a pending state to CSSImageGeneratorValue, which is used to enable the pending-images loading
mechanism for -webkit-cross-fade's sub-images. Rework the logic in CSSStyleSelector to support pending
generated images.
Support parsing fractional values for the cross-fade amount (for example, 0.5 = 50%). Clamp cross-fade
amount to 0-1 range.
Tests: css3/images/cross-fade-invalidation.html
css3/images/cross-fade-simple.html
css3/images/cross-fade-sizing.html
css3/images/cross-fade-tiled.html
* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.xcodeproj/project.pbxproj:
* css/CSSCanvasValue.h:
(WebCore::CSSCanvasValue::isPending):
(WebCore::CSSCanvasValue::loadSubimages):
* css/CSSCrossfadeValue.cpp:
(WebCore::CSSCrossfadeValue::isPending):
(WebCore::CSSCrossfadeValue::loadSubimages):
(WebCore::subimageIsPending):
(WebCore::loadSubimage):
(WebCore::cachedImageForCSSValue):
(WebCore::CSSCrossfadeValue::image):
(WebCore::CSSCrossfadeValue::crossfadeChanged):
* css/CSSCrossfadeValue.h:
(WebCore::CSSCrossfadeValue::create):
(WebCore::CSSCrossfadeValue::~CSSCrossfadeValue):
(WebCore::CSSCrossfadeValue::fixedSize):
(WebCore::CSSCrossfadeValue::CSSCrossfadeValue):
(WebCore::CSSCrossfadeValue::CrossfadeObserverProxy::CrossfadeObserverProxy):
* css/CSSGradientValue.cpp:
(WebCore::CSSGradientValue::image):
* css/CSSGradientValue.h:
(WebCore::CSSGradientValue::isPending):
(WebCore::CSSGradientValue::loadSubimages):
* css/CSSImageGeneratorValue.cpp:
(WebCore::CSSImageGeneratorValue::generatedOrPendingImage):
(WebCore::CSSImageGeneratorValue::generatedImage):
(WebCore::CSSImageGeneratorValue::isPending):
(WebCore::CSSImageGeneratorValue::loadSubimages):
* css/CSSImageGeneratorValue.h:
* css/CSSParser.cpp:
(WebCore::CSSParser::parseCrossfade):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::styleImage):
(WebCore::CSSStyleSelector::generatedOrPendingFromValue):
(WebCore::CSSStyleSelector::loadPendingImage):
(WebCore::CSSStyleSelector::loadPendingImages):
* css/CSSStyleSelector.h:
* platform/graphics/BitmapImage.h:
* platform/graphics/CrossfadeGeneratedImage.cpp: Added.
(WebCore::CrossfadeGeneratedImage::CrossfadeGeneratedImage):
(WebCore::CrossfadeGeneratedImage::~CrossfadeGeneratedImage):
(WebCore::CrossfadeGeneratedImage::drawCrossfade):
(WebCore::CrossfadeGeneratedImage::draw):
(WebCore::CrossfadeGeneratedImage::drawPattern):
(WebCore::CrossfadeGeneratedImage::imageChanged):
* platform/graphics/CrossfadeGeneratedImage.h: Added.
(WebCore::CrossfadeGeneratedImage::create):
(WebCore::CrossfadeSubimageObserverProxy::CrossfadeSubimageObserverProxy):
(WebCore::CrossfadeSubimageObserverProxy::setReady):
* platform/graphics/GeneratedImage.h:
(WebCore::GeneratedImage::GeneratedImage):
* platform/graphics/GeneratorGeneratedImage.cpp: Renamed from Source/WebCore/platform/graphics/GeneratedImage.cpp.
(WebCore::GeneratorGeneratedImage::draw):
(WebCore::GeneratorGeneratedImage::drawPattern):
(WebCore::GeneratedImage::computeIntrinsicDimensions):
* platform/graphics/GeneratorGeneratedImage.h: Copied from Source/WebCore/platform/graphics/GeneratedImage.h.
(WebCore::GeneratorGeneratedImage::create):
(WebCore::GeneratorGeneratedImage::~GeneratorGeneratedImage):
(WebCore::GeneratorGeneratedImage::GeneratorGeneratedImage):
* platform/graphics/Image.h:
* platform/graphics/ImageBuffer.h:
* rendering/style/StylePendingImage.h:
(WebCore::StylePendingImage::create):
(WebCore::StylePendingImage::data):
(WebCore::StylePendingImage::cssImageValue):
(WebCore::StylePendingImage::cssImageGeneratorValue):
(WebCore::StylePendingImage::StylePendingImage):
2011-11-16 Dan Bernstein <mitz@apple.com>
WebCore part of <rdar://problem/10262242> Add API for paginated display
https://bugs.webkit.org/show_bug.cgi?id=72537
Reviewed by Anders Carlsson.
* WebCore.exp.in: Exported Page::pageCount().
* page/Page.cpp:
(WebCore::Page::pageCount): Added this getter.
* page/Page.h:
2011-11-16 Shawn Singh <shawnsingh@chromium.org>
[chromium] Track property changes for render surfaces.
https://bugs.webkit.org/show_bug.cgi?id=72521
Reviewed by James Robinson.
Created CCRenderSurfaceTest for testing.
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::drawLayersOntoRenderSurfaces):
* platform/graphics/chromium/cc/CCLayerImpl.cpp:
(WebCore::CCLayerImpl::resetPropertyChangedFlagForSubtree):
* platform/graphics/chromium/cc/CCLayerImpl.h:
* platform/graphics/chromium/cc/CCRenderSurface.cpp:
(WebCore::CCRenderSurface::CCRenderSurface):
(WebCore::CCRenderSurface::setClipRect):
(WebCore::CCRenderSurface::setContentRect):
(WebCore::CCRenderSurface::surfacePropertyChanged):
* platform/graphics/chromium/cc/CCRenderSurface.h:
(WebCore::CCRenderSurface::resetPropertyChangedFlag):
2011-11-16 Ben Wells <benwells@chromium.org>
Seaming on border corners with mixed colour alpha borders
https://bugs.webkit.org/show_bug.cgi?id=70471
Reviewed by Simon Fraser.
Seaming is fixed by antialiasing mitred corners for edges that have alpha and are joining
a side that is of a different color.
Test: fast/borders/border-mixed-alpha.html
* rendering/RenderBoxModelObject.cpp:
(WebCore::colorNeedsAntiAliasAtCorner):
(WebCore::RenderBoxModelObject::paintOneBorderSide):
2011-11-16 Sam Weinig <sam@webkit.org>
JS wrappers of DOM objects should have no-op constructors
https://bugs.webkit.org/show_bug.cgi?id=72556
Reviewed by Geoffrey Garen.
Stop using a RefPtr to hold DOM objects contained by JavaScript
wrappers and instead use a raw pointer. We were already releasing
the underlying object before the destructor ran (via the finalizer)
so the default behavior of destroying the RefPtr is always unnecessary
busy work.
* bindings/js/JSCSSValueCustom.cpp:
(WebCore::JSCSSValueOwner::finalize):
* bindings/js/JSNodeCustom.cpp:
(WebCore::JSNodeOwner::finalize):
(WebCore::JSNode::visitChildren):
Call releaseImpl() instead of clearImpl().
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
Stop storing m_impl in a RefPtr and instead use a raw pointer. Switch
clearImpl() to releaseImpl(), which explicitly derefs the pointer and
clear it.
(GenerateImplementation):
Use leakPtr() to explicitly adopt the PassRefPtr into the raw pointer.
Change default finalize to call releaseImpl() instead of clearImpl().
2011-11-16 Michael Saboff <msaboff@apple.com>
Enable 8 Bit Strings in JavaScriptCore
https://bugs.webkit.org/show_bug.cgi?id=71337
This patch turns on 8 bit strings in StringImpl and enables
their use in JavaScriptCore. Some of the changes are to
turn on code that had been staged (Lexer.cpp, Identifier.cpp,
SmallStrings.cpp and some of StringImpl.{h,cpp}).
Other changes are minor fixes to make 8 bit strings work
(UString.h, StringImpl::getData16SlowCase()).
Changed StringBuffer to be a templated class based on character
type. This change riplled into WebCore code as well.
Reviewed by Geoffrey Garen.
No new tests - Changes in response to refactoring StringBuffer to
be a template on character type.
* css/CSSParser.cpp:
(WebCore::quoteCSSString):
* css/CSSPrimitiveValue.cpp:
(WebCore::formatNumber):
* dom/Document.cpp:
(WebCore::canonicalizedTitle):
* platform/Length.cpp:
(WebCore::newCoordsArray):
* platform/sql/SQLiteStatement.cpp:
(WebCore::SQLiteStatement::prepare):
* platform/text/TextCodecUTF16.cpp:
(WebCore::TextCodecUTF16::decode):
* platform/text/TextCodecUTF8.cpp:
(WebCore::TextCodecUTF8::decode):
* rendering/RenderText.cpp:
(WebCore::makeCapitalized):
* xml/XSLTProcessorLibxslt.cpp:
(WebCore::writeToStringBuilder):
2011-11-16 Alexandre Elias <aelias@google.com>
[chromium] Improvements for page scale delta during commit
https://bugs.webkit.org/show_bug.cgi?id=72471
Reviewed by James Robinson.
Page scale now follows the same commit flow as scroll position:
the delta is folded into m_pageScale at BFAC time, and a "sent" value
is preserved for temporary use until the commit finishes.
I also merged setPageScaleFactor and setPageScaleFactorLimits into one
function on the impl side. The reason is that setPageFactor must
be applied after the limits are updated, but on the other hand setting
the limits first may cause an unnecessary clamp of the scale delta.
Merging the methods avoids this bind.
No new tests. (planning to add later: https://bugs.webkit.org/show_bug.cgi?id=71529)
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::finishCommitOnImplThread):
(WebCore::CCLayerTreeHost::applyScrollAndScale):
* platform/graphics/chromium/cc/CCLayerTreeHostCommon.h:
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
(WebCore::CCLayerTreeHostImpl::setPageScaleFactorAndLimits):
(WebCore::CCLayerTreeHostImpl::adjustScrollsForPageScaleChange):
(WebCore::CCLayerTreeHostImpl::setScaleDelta):
(WebCore::CCLayerTreeHostImpl::applyScaleDeltaToScrollLayer):
(WebCore::CCLayerTreeHostImpl::scrollRootLayer):
(WebCore::CCLayerTreeHostImpl::processScrollDeltas):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
2011-11-16 Joshua Bell <jsbell@chromium.org>
IndexedDB: Reduce nested key depth threshold, re-enable flaky test
https://bugs.webkit.org/show_bug.cgi?id=72529
Reviewed by Adam Barth.
Drop maximum array key depth from 20k to 2k.
* bindings/v8/IDBBindingUtilities.cpp:
2011-11-16 Nate Chapin <japhet@chromium.org>
Fix incorrect multipart handling in r100311.
SubresourceLoader::didReceiveData() is getting called
twice, which has unintended side effects.
https://bugs.webkit.org/show_bug.cgi?id=72436
Reviewed by Adam Barth.
http/tests/multipart/invalid-image-data.html should stop
asserting after this.
* loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::didReceiveResponse):
(WebCore::SubresourceLoader::didReceiveData):
(WebCore::SubresourceLoader::sendDataToResource):
* loader/SubresourceLoader.h:
2011-11-16 Justin Schuh <jschuh@chromium.org>
Clear SVG filter client when its node is detached
https://bugs.webkit.org/show_bug.cgi?id=71741
Reviewed by Eric Seidel.
Test: svg/filters/reparent-animated-filter-target.html
* rendering/svg/SVGResourcesCache.cpp:
(WebCore::SVGResourcesCache::clientDestroyed):
2011-11-16 John Bates <jbates@google.com>
Page/layer flashes after GPU-accelerated CSS transition
https://bugs.webkit.org/show_bug.cgi?id=72343
LayerRendererChromium was resizing the window to 1x1 at initialization.
In some cases, there is no drawLayers before switching back to
software rendering. This left the window resized to 1x1 and the
following software paints would therefore not be visible. This change
moves the reshape call into drawLayers so that it will only be called
if rendering will occur.
Reviewed by James Robinson.
New test: CCLayerTreeHostImplTest.reshapeNotCalledUntilDraw.
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::viewportChanged):
(WebCore::LayerRendererChromium::doViewportChanged):
(WebCore::LayerRendererChromium::drawLayersInternal):
* platform/graphics/chromium/LayerRendererChromium.h:
2011-11-16 Alexandre Elias <aelias@google.com>
[chromium] Add null pointer check in setDeviceScaleFactor
https://bugs.webkit.org/show_bug.cgi?id=72464
Reviewed by James Robinson.
No new tests. (Tiny fix.)
* page/Page.cpp:
(WebCore::Page::setDeviceScaleFactor):
2011-11-16 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r100438.
http://trac.webkit.org/changeset/100438
https://bugs.webkit.org/show_bug.cgi?id=72536
Broke unit tests (Requested by jamesr_ on #webkit).
* platform/PlatformScreen.h:
* platform/chromium/PlatformScreenChromium.cpp:
* platform/chromium/PlatformSupport.h:
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
(WebCore::CCSettings::CCSettings):
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::initializeImplOnImplThread):
2011-11-16 Andy Estes <aestes@apple.com>
Assertion failure in LayerFlushScheduler::resume() when running some layout tests in WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=72535
Reviewed by Anders Carlsson.
LayerFlushScheduler attempted to use a counter strategy for calls to
suspend() and resume(), which allowed us to assert that these calls
were balanced. Unfortunately it is hard to guarantee this in WebKit2,
where we sometimes try to call suspend() before we've entered
compositing mode (hence before we have a LayerTreeHost and a
LayerFlushScheduler). When we later call resume(), this call ends up
being unbalanced and asserts.
For now, remove the assertions and allow unbalanced calls to suspend()
and resume().
* platform/graphics/ca/LayerFlushScheduler.cpp:
(WebCore::LayerFlushScheduler::suspend):
(WebCore::LayerFlushScheduler::resume):
* platform/graphics/ca/LayerFlushScheduler.h:
* platform/graphics/ca/mac/LayerFlushSchedulerMac.cpp:
(WebCore::LayerFlushScheduler::LayerFlushScheduler):
(WebCore::LayerFlushScheduler::runLoopObserverCallback):
(WebCore::LayerFlushScheduler::schedule):
2011-11-16 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r100473.
http://trac.webkit.org/changeset/100473
https://bugs.webkit.org/show_bug.cgi?id=72534
"Broke the Mac Build" (Requested by mwenge2 on #webkit).
* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::createObject):
(WebCore::RenderObject::addChild):
* rendering/RenderObject.h:
* rendering/RenderTable.cpp:
(WebCore::RenderTable::addChild):
* rendering/RenderTable.h:
* rendering/RenderTableCaption.cpp: Removed.
* rendering/RenderTableCaption.h: Removed.
2011-11-16 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r100479.
http://trac.webkit.org/changeset/100479
https://bugs.webkit.org/show_bug.cgi?id=72533
"Broke the Mac Build" (Requested by mwenge2 on #webkit).
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* rendering/RenderingAllInOne.cpp:
2011-11-16 Chris Fleizach <cfleizach@apple.com>
WebKitTestRunner needs to support accessibility-related DRT APIs
https://bugs.webkit.org/show_bug.cgi?id=42131
Minor changes needed to support AX testing in WKTestRunner.
Reviewed by Beth Dakin.
* WebCore.exp.in:
Expose focusedUIElementForPage so that the WK2 injected bundle can retrieve it.
* accessibility/mac/WebAccessibilityObjectWrapper.mm:
(accessibilitySearchKeyForString):
Remove an unncessary assert that was causing issues with the WK2 test run.
2011-11-16 Sergio Villar Senin <svillar@igalia.com>
[Soup] Somet tests fail with FAIL Unexpected response data received: Wrong method: GET
https://bugs.webkit.org/show_bug.cgi?id=69219
Reviewed by Martin Robinson.
Do not stop appending data to the request body if any of the blob
items to upload is not accesible.
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::addEncodedBlobToSoupMessageBody):
2011-11-16 Beth Dakin <bdakin@apple.com>
https://bugs.webkit.org/show_bug.cgi?id=72400
Scrollbar uiStateTransitionProgress requires tracking the mouse all the time
-and corresponding-
<rdar://problem/10409328>
Reviewed by Darin Adler.
This patch makes it so we track the mouse all the time when we have legacy
scrollbars (rather than only tracking the mouse when the window is key). When
we're in that mode, we want to do as little work as possible when handling the
mouseMoved event so that this extra tracking has little to no performance impact.
Also, we don't want to change basic behaviors by having normal web content hover
effects start happening when a window is in the background. So this patch also
introduces a way to handle a mouseMoved event that will only affect scrollbars.
EventHandler::mouseMoved() and EventHandler::handleMouseEvent() both now take a
boolean parameter that indicates if we are only updating scrollbars. If that is
the case, then we make our HitTestRequest ReadOnly, and we return early once
updateLastScrollbarUnderMouse() is called.
* WebCore.exp.in:
* page/EventHandler.cpp:
(WebCore::EventHandler::mouseMoved):
(WebCore::EventHandler::handleMouseMoveEvent):
In addition to calling Scrollbar::mouseExited() when appropriate, this function
now calls a new function, Scrollbar::mouseEntered() when appropriate.
(WebCore::EventHandler::updateLastScrollbarUnderMouse):
* page/EventHandler.h:
Scrollbar::mouseMoved() used to be responsible for calling
ScrollAnimator::mouseEnteredScrollbar(), but now Scrollbar::mouseEntered() takes
care of that instead, much like how Scrollbar::mouseExited() takes care of calling
the animator's exit function.
* platform/Scrollbar.cpp:
(WebCore::Scrollbar::mouseMoved):
(WebCore::Scrollbar::mouseEntered):
* platform/Scrollbar.h:
2011-11-16 Andreas Kling <kling@webkit.org>
CSSValue: isInheritedValue() doesn't need a dedicated bit.
<http://webkit.org/b/72514>
Reviewed by Antti Koivisto.
Remove CSSValue::m_isInherited and have isInheritedValue() check the
class type instead. There's no compelling reason for CSSInheritedValue
to have a dedicated bit, since nobody subclasses it anyway.
* css/CSSValue.h:
(WebCore::CSSValue::isInheritedValue):
(WebCore::CSSValue::CSSValue):
2011-11-16 Robert Hogan <robert@webkit.org>
Fix build on Windows and Mac after r100473
Unreviewed, fix build.
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* rendering/RenderingAllInOne.cpp:
2011-11-16 Philip Rogers <pdr@google.com>
Remove extra GraphicsContextStateSaver restore() call.
https://bugs.webkit.org/show_bug.cgi?id=72497
Reviewed by Andreas Kling.
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::drawTextInternal):
2011-11-08 Robert Hogan <robert@webkit.org>
CSS 2.1 failure: border-collapse-offset-002.htm fails
https://bugs.webkit.org/show_bug.cgi?id=71705
Table captions are implemented as children of the table but have a special
requirement to expand to the full width of the table rather than just the 'available'
width, i.e. the full width minus padding and borders.
To accomodate this create a RenderTableCaption object that reimplements containingBlockLogicalWidthForContent()
to return the full width of the containing block (i.e. the table) rather than the available width.
Reviewed by Antti Koivisto.
* CMakeLists.txt: Add RenderTableCaption.[cpp|h]
* GNUmakefile.list.am: Add RenderTableCaption.[cpp|h]
* Target.pri: Add RenderTableCaption.[cpp|h]
* WebCore.gypi: Add RenderTableCaption.[cpp|h]
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks): Use RenderTableCaption
* rendering/RenderObject.cpp:
(WebCore::RenderObject::createObject): Add RenderTableCaption.[cpp|h]
(WebCore::RenderObject::addChild): ditto
* rendering/RenderObject.h:
(WebCore::RenderObject::isTableCaption):
* rendering/RenderTable.cpp:
(WebCore::RenderTable::addChild):
* rendering/RenderTable.h:
* rendering/RenderTableCaption.cpp: Added.
(WebCore::RenderTableCaption::RenderTableCaption): Implement RenderTableCaption
(WebCore::RenderTableCaption::~RenderTableCaption):
(WebCore::RenderTableCaption::containingBlockLogicalWidthForContent): Return the containing block's full width rather than it's available width.
* rendering/RenderTableCaption.h: Added.
(WebCore::RenderTableCaption::isTableCaption):
(WebCore::toRenderTableCaption):
2011-11-16 Antaryami Pandia <antaryami.pandia@motorola.com>
[Gtk] display:none has no effect on <option> element.
https://bugs.webkit.org/show_bug.cgi?id=72370
Reviewed by Martin Robinson.
* platform/gtk/GtkPopupMenu.cpp:
(WebCore::GtkPopupMenu::appendItem):
* platform/gtk/PopupMenuGtk.cpp:
(WebCore::PopupMenuGtk::createGtkActionForMenuItem):
2011-11-16 Dan Winship <danw@gnome.org>
[GTK] Fix platformDefersLoading to handle non-http requests, and
to not use broken-ish libsoup APIs.
https://bugs.webkit.org/show_bug.cgi?id=72227
Reviewed by Martin Robinson.
* platform/network/ResourceHandleInternal.h:
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::sendRequestCallback):
(WebCore::startHTTPRequest):
(WebCore::hasBeenSent):
(WebCore::ResourceHandle::platformSetDefersLoading):
(WebCore::readCallback): rather than deferring by using
soup_session_pause_message(), let the read complete, but just don't
process the result until we're no longer deferred.
(WebCore::startNonHTTPRequest): Don't start the request if
it's deferred.
2011-11-16 Vsevolod Vlasov <vsevik@chromium.org>
Web Inspector: Application cache status should be updated after swapCache().
https://bugs.webkit.org/show_bug.cgi?id=72123
Reviewed by Pavel Feldman.
Application cache view resources and status are now updated after swapCache() call.
Refresh button removed from application cache view.
Application cache inspector tests are moved to their own folder.
Tests: http/tests/inspector/appcache/appcache-iframe-manifests.html
http/tests/inspector/appcache/appcache-manifest-with-non-existing-file.html
http/tests/inspector/appcache/appcache-swap.html
* inspector/front-end/ApplicationCacheItemsView.js:
(WebInspector.ApplicationCacheItemsView):
(WebInspector.ApplicationCacheItemsView.prototype.get statusBarItems):
(WebInspector.ApplicationCacheItemsView.prototype.wasShown):
(WebInspector.ApplicationCacheItemsView.prototype._maybeUpdate):
(WebInspector.ApplicationCacheItemsView.prototype._markDirty):
(WebInspector.ApplicationCacheItemsView.prototype.updateStatus):
(WebInspector.ApplicationCacheItemsView.prototype._updateCallback):
(WebInspector.ApplicationCacheItemsView.prototype._deleteCallback):
* loader/appcache/ApplicationCacheGroup.cpp:
(WebCore::ApplicationCacheGroup::setNewestCache):
(WebCore::ApplicationCacheGroup::makeObsolete):
(WebCore::ApplicationCacheGroup::setUpdateStatus):
* loader/appcache/ApplicationCacheHost.cpp:
(WebCore::ApplicationCacheHost::notifyDOMApplicationCache):
(WebCore::ApplicationCacheHost::swapCache):
2011-11-16 Eric Carlson <eric.carlson@apple.com>
addTrack() must throw an exception if 'kind' is unknown
https://bugs.webkit.org/show_bug.cgi?id=71915
Reviewed by Philippe Normand.
Tests: media/track/track-addtrack-kind.html
media/track/track-kind.html
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::textTrackKindChanged): New. Will be implemented for 62885.
(WebCore::HTMLMediaElement::addTrack): Throw if 'kind' is not a known value.
(WebCore::HTMLMediaElement::addTextTrack): Call textTracks(), it will allocate the track
list object if necessary.
(WebCore::HTMLMediaElement::textTracks): Never return NULL, a TextTrackList with no tracks
is allowed.
* html/HTMLMediaElement.h:
(WebCore::HTMLMediaElement::addTrack): Add variants to deal with optional parameters plus
a mandatory ExceptionCode parameter.
* html/HTMLMediaElement.idl: addTrack can generate an exception.
* html/HTMLTrackElement.cpp:
(WebCore::HTMLTrackElement::attributeChanged): kind, label, and srclang attribute changes should
percolate down the the TextTrack.
(WebCore::HTMLTrackElement::kind): Return the TextTrack kind because it is not necessarily the
same as the attribute value.
(WebCore::HTMLTrackElement::ensureTrack): Only pass legal 'kind' keywords to create a TextTrack.
(WebCore::HTMLTrackElement::textTrackKindChanged): Notify parent element, if any.
* html/HTMLTrackElement.h:
* html/TextTrack.cpp:
(WebCore::TextTrack::subtitlesKeyword): New, return legal kind attribute value.
(WebCore::TextTrack::captionsKeyword): Ditto.
(WebCore::TextTrack::descriptionsKeyword): Ditto.
(WebCore::TextTrack::chaptersKeyword): Ditto.
(WebCore::TextTrack::metadataKeyword): Ditto.
(WebCore::TextTrack::TextTrack): Call setKind to make sure m_kind is always set to legal value.
(WebCore::TextTrack::isValidKindKeyword): New, validate 'kind' value.
(WebCore::TextTrack::setKind): Only allow legal values.
* html/TextTrack.h:
(WebCore::TextTrack::kind):
(WebCore::TextTrack::label):
(WebCore::TextTrack::setLabel):
(WebCore::TextTrack::language):
(WebCore::TextTrack::setLanguage):
(WebCore::TextTrack::readyState):
(WebCore::TextTrack::mode):
2011-11-16 Andreas Kling <kling@webkit.org>
CSSValue: Clean up initial value construction.
<http://webkit.org/b/72502>
Reviewed by Antti Koivisto.
Instead of determining whether a given CSSInitialValue is 'implicit' or not by
querying the CSSValue::ClassType (InitialClass vs. ImplicitInitialClass),
add a protected CSSValue member and set it from the CSSInitialValue constructor.
Also get rid of the CSSValue::m_isInitial bit since we can now replace the
checks by classType() == InitialClass.
No new tests, this is a cleanup.
* css/CSSInitialValue.h:
(WebCore::CSSInitialValue::CSSInitialValue):
Poke 'implicit' constructor argument into CSSValue::m_isImplicit.
* css/CSSValue.cpp:
(WebCore::CSSValue::cssText):
(WebCore::CSSValue::destroy):
Remove ImplicitInitialClass cases.
* css/CSSValue.h:
(WebCore::CSSValue::isImplicitInitialValue):
(WebCore::CSSValue::isInitialValue):
(WebCore::CSSValue::CSSValue):
2011-11-16 Antaryami Pandia <antaryami.pandia@motorola.com>
Remove unnecessary if check from RenderListBox::paintItemForeground.
https://bugs.webkit.org/show_bug.cgi?id=72488
Reviewed by Andreas Kling.
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::paintItemForeground):
2011-11-15 Simon Hausmann <simon.hausmann@nokia.com>
[Qt] Centralize hide_symbols and ensure all libs are built with symbol visibility & bsymbolic_functions
Reviewed by Tor Arne Vestbø.
* Target.pri: Eliminate duplicated symbol stuff that lives now in default_post.prf.
2011-11-16 Iain Merrick <husky@google.com>
[chromium] Pass screen refresh rate into compositor.
https://bugs.webkit.org/show_bug.cgi?id=71040
Reviewed by Tony Gentilcore.
* platform/PlatformScreen.h:
* platform/chromium/PlatformScreenChromium.cpp:
(WebCore::screenRefreshRate):
* platform/chromium/PlatformSupport.h:
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
(WebCore::CCSettings::CCSettings):
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::initializeImplOnImplThread):
2011-11-15 Andrey Kosyakov <caseq@chromium.org>
Web Inspector: [Extensions API] drop ExtensionSidebarPane.onUpdated, use callbacks instead
https://bugs.webkit.org/show_bug.cgi?id=72388
Reviewed by Pavel Feldman.
Tests: inspector/extensions/extensions-panel.html
inspector/extensions/extensions-sidebar.html
- fire ExtensionSidebarPane.on{Hidden,Shown} for non-iframe content (experssions/objects);
- drop ExtensionsSidebarPane.onUpdated, provide callback for setObject()/setExpression() instead;
- fix an exception when a page is replaced with object/expression.
inspector/front-end/ExtensionAPI.js:
(injectedExtensionAPI.ExtensionSidebarPaneImpl):
(injectedExtensionAPI.ExtensionSidebarPaneImpl.prototype.setExpression):
(injectedExtensionAPI.ExtensionSidebarPaneImpl.prototype.setObject):
* inspector/front-end/ExtensionPanel.js:
(WebInspector.ExtensionNotifierView):
(WebInspector.ExtensionNotifierView.prototype.wasShown):
(WebInspector.ExtensionNotifierView.prototype.willHide):
(WebInspector.ExtensionSidebarPane.prototype.setObject):
(WebInspector.ExtensionSidebarPane.prototype.setExpression):
(WebInspector.ExtensionSidebarPane.prototype.setPage):
(WebInspector.ExtensionSidebarPane.prototype._onEvaluate):
(WebInspector.ExtensionSidebarPane.prototype._makeObjectPropertiesView):
(WebInspector.ExtensionSidebarPane.prototype._setObject):
* inspector/front-end/ExtensionServer.js:
(WebInspector.ExtensionServer.prototype._onSetSidebarContent.callback):
(WebInspector.ExtensionServer.prototype._onSetSidebarContent):
(WebInspector.ExtensionServer.prototype._dispatchCallback):
* inspector/front-end/View.js:
(WebInspector.View.prototype.detach):
2011-11-16 Simon Hausmann <simon.hausmann@nokia.com>
Unreviewed, rolling out r100266.
http://trac.webkit.org/changeset/100266
Broke WTR.
* Target.pri:
2011-11-16 Per-Erik Brodin <per-erik.brodin@ericsson.com>
[GTK] fast/events/event-creation.html fails creating MediaStreamEvent
https://bugs.webkit.org/show_bug.cgi?id=70720
Reviewed by Philippe Normand.
Added missing overriding of Event::interfaceName()
* mediastream/MediaStreamEvent.cpp:
(WebCore::MediaStreamEvent::stream): Changed return value to raw pointer.
(WebCore::MediaStreamEvent::interfaceName): Added back from r98044.
* mediastream/MediaStreamEvent.h:
* mediastream/MediaStreamEvent.idl: Changed module name to "events".
2011-11-16 Mario Sanchez Prada <msanchez@igalia.com>
[GTK] Use GQuark's in the ATK wrapper to get and set arbitrary data
https://bugs.webkit.org/show_bug.cgi?id=72394
Reviewed by Martin Robinson.
No new functionality, no new tests needed.
* accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
(webkit_accessible_class_init): Initialize GQuarks.
(getGailTextUtilForAtk): Use gailTextUtilQuark.
(getPangoLayoutForAtk): Remove unused call to
g_object_set_data_full, since that data is no used anywhere.
(webkitAccessibleHyperlinkImplGetHyperlink): Use hyperlinkObjectQuark.
2011-11-15 Alexandru Chiculita <achicu@adobe.com>
[CSSShaders] Implement the style cached resources and computed style for the shader urls
https://bugs.webkit.org/show_bug.cgi?id=72378
Reviewed by Dean Jackson.
Test: css3/filters/custom-filter-property-computed-style.html
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::valueForFilter):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::CSSStyleSelector):
(WebCore::CSSStyleSelector::styleForKeyframe):
(WebCore::CSSStyleSelector::pseudoStyleForElement):
(WebCore::CSSStyleSelector::styleForPage):
(WebCore::CSSStyleSelector::applyMatchedDeclarations):
(WebCore::CSSStyleSelector::styleShader):
(WebCore::CSSStyleSelector::cachedOrPendingStyleShaderFromValue):
(WebCore::CSSStyleSelector::loadPendingShaders):
(WebCore::CSSStyleSelector::createCustomFilterOperation):
(WebCore::CSSStyleSelector::createFilterOperations):
* css/CSSStyleSelector.h:
* css/WebKitCSSShaderValue.cpp:
(WebCore::WebKitCSSShaderValue::WebKitCSSShaderValue):
(WebCore::WebKitCSSShaderValue::~WebKitCSSShaderValue):
(WebCore::WebKitCSSShaderValue::cachedShader):
(WebCore::WebKitCSSShaderValue::cachedOrPendingShader):
* css/WebKitCSSShaderValue.h:
* loader/cache/CachedResource.cpp:
(WebCore::defaultPriorityForResourceType):
* loader/cache/CachedResource.h:
* loader/cache/CachedResourceLoader.cpp:
(WebCore::createResource):
(WebCore::CachedResourceLoader::requestShader):
(WebCore::CachedResourceLoader::checkInsecureContent):
(WebCore::CachedResourceLoader::canRequest):
* loader/cache/CachedResourceLoader.h:
* loader/cache/CachedShader.cpp:
(WebCore::CachedShader::CachedShader):
(WebCore::CachedShader::~CachedShader):
* loader/cache/CachedShader.h:
* platform/graphics/filters/CustomFilterOperation.h:
* rendering/style/RenderStyle.h:
(WebCore::InheritedFlags::filter):
* rendering/style/StyleCachedShader.cpp:
(WebCore::StyleCachedShader::StyleCachedShader):
(WebCore::StyleCachedShader::cssValue):
* rendering/style/StyleCachedShader.h:
(WebCore::StyleCachedShader::create):
* rendering/style/StylePendingShader.h:
(WebCore::StylePendingShader::create):
(WebCore::StylePendingShader::cssValue):
(WebCore::StylePendingShader::cssShaderValue):
(WebCore::StylePendingShader::StylePendingShader):
* rendering/style/StyleShader.h:
(WebCore::StyleShader::~StyleShader):
(WebCore::StyleShader::isCachedShader):
(WebCore::StyleShader::isPendingShader):
(WebCore::StyleShader::StyleShader):
2011-11-15 Sergio Villar Senin <svillar@igalia.com>
[WK2] [GTK] fast/css/webkit-mask-crash-fieldset-legend.html asserts WebKitWebProcess
https://bugs.webkit.org/show_bug.cgi?id=69510
Reviewed by Simon Fraser.
End the current transparency layer before early returning from
paintMask() when there is a maskBoxImage which is still being
loaded. This will balance the previous call to
beginTransparencyLayer().
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::paintMask):
2011-11-15 Darin Adler <darin@apple.com>
Incorrect type checks in RenderTheme media code
https://bugs.webkit.org/show_bug.cgi?id=72184
Reviewed by Eric Carlson.
No tests added. Ideally this patch should be revised to add tests!
* accessibility/AccessibilityMediaControls.cpp:
(WebCore::AccessibilityMediaControl::create): Use mediaControlElementType.
(WebCore::AccessibilityMediaControl::controlType): Ditto.
(WebCore::AccessibilityMediaTimeline::valueDescription): Use early return
rather than an assertion to check type of input element.
* html/shadow/MediaControlElements.cpp:
(WebCore::mediaControlElementType): Added. A type-safe way to get the
media control element type after checking isMediaControlElement but with
no other assumptions.
* html/shadow/MediaControlElements.h: Added mediaControlElementType.
* platform/efl/RenderThemeEfl.cpp:
(WebCore::RenderThemeEfl::paintMediaPlayButton): Use mediaControlElementType.
(WebCore::RenderThemeEfl::paintMediaSeekBackButton): Use mediaControlElementType.
(WebCore::RenderThemeEfl::paintMediaSeekForwardButton): Use mediaControlElementType.
* platform/gtk/RenderThemeGtk.cpp:
(WebCore::RenderThemeGtk::paintMediaPlayButton): Check isMediaControlElement and
use mediaControlElementType.
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::paintMediaMuteButton): Ditto. Also remove uneeded
redundant null check.
(WebCore::RenderThemeMac::paintMediaPlayButton): Ditto.
(WebCore::RenderThemeMac::paintMediaToggleClosedCaptionsButton): Ditto.
2011-11-15 Jeff Timanus <twiz@chromium.org>
[chromium] During tear down, prevent the WebGLLayerChromium instance from attempting to stop a timer for a NULL context.
https://bugs.webkit.org/show_bug.cgi?id=72423
Reviewed by Kenneth Russell.
* platform/graphics/chromium/WebGLLayerChromium.cpp:
(WebCore::WebGLLayerChromium::setDrawingBuffer):
2011-11-15 Mark Hahnenberg <mhahnenberg@apple.com>
Rebaseline generated WebCore bindings
Unreviewed build fix
No new tests.
* bindings/scripts/test/JS/JSTestEventConstructor.cpp:
(WebCore::isObservable):
(WebCore::JSTestEventConstructorOwner::isReachableFromOpaqueRoots):
(WebCore::JSTestEventConstructorOwner::finalize):
* bindings/scripts/test/JS/JSTestEventConstructor.h:
(WebCore::JSTestEventConstructor::clearImpl):
(WebCore::wrapperOwner):
(WebCore::wrapperContext):
* bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::JSTestInterfaceOwner::finalize):
* bindings/scripts/test/JS/JSTestInterface.h:
(WebCore::JSTestInterface::clearImpl):
* bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
(WebCore::isObservable):
(WebCore::JSTestMediaQueryListListenerOwner::isReachableFromOpaqueRoots):
(WebCore::JSTestMediaQueryListListenerOwner::finalize):
* bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
(WebCore::JSTestMediaQueryListListener::clearImpl):
(WebCore::wrapperOwner):
(WebCore::wrapperContext):
* bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
(WebCore::JSTestNamedConstructorOwner::finalize):
* bindings/scripts/test/JS/JSTestNamedConstructor.h:
(WebCore::JSTestNamedConstructor::clearImpl):
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::isObservable):
(WebCore::JSTestObjOwner::isReachableFromOpaqueRoots):
(WebCore::JSTestObjOwner::finalize):
* bindings/scripts/test/JS/JSTestObj.h:
(WebCore::JSTestObj::clearImpl):
(WebCore::wrapperOwner):
(WebCore::wrapperContext):
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
(WebCore::isObservable):
(WebCore::JSTestSerializedScriptValueInterfaceOwner::isReachableFromOpaqueRoots):
(WebCore::JSTestSerializedScriptValueInterfaceOwner::finalize):
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
(WebCore::JSTestSerializedScriptValueInterface::clearImpl):
(WebCore::wrapperOwner):
(WebCore::wrapperContext):
2011-11-15 Jeff Timanus <twiz@chromium.org>
Patch removing duplicated code in the setup of the DrawingBuffer used
to host the back-buffer for WebGL contents.
https://bugs.webkit.org/show_bug.cgi?id=72327
Reviewed by Kenneth Russell.
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::copyTexImage2D):
(WebCore::WebGLRenderingContext::copyTexSubImage2D):
(WebCore::WebGLRenderingContext::readPixels):
2011-11-15 Mark Hahnenberg <mhahnenberg@apple.com>
JS DOM wrappers depend on destructor to deref impl RefPtrs
https://bugs.webkit.org/show_bug.cgi?id=72341
Reviewed by Sam Weinig.
No new tests.
Added clearing of impl RefPtrs to JS DOM wrapper nodes and removed the default
wrapperOwner function in favor of generating all WeakHandleOwners and wrapperOwner functions.
* bindings/js/JSCSSValueCustom.cpp:
(WebCore::JSCSSValueOwner::finalize):
* bindings/js/JSDOMBinding.h:
* bindings/js/JSNodeCustom.cpp:
(WebCore::JSNodeOwner::finalize):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
(GenerateImplementation):
2011-11-15 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: Share Highlight Code for Drawing Outlined Quad
https://bugs.webkit.org/show_bug.cgi?id=72451
Reviewed by Timothy Hatcher.
* inspector/DOMNodeHighlighter.cpp:
2011-11-15 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r100308.
http://trac.webkit.org/changeset/100308
https://bugs.webkit.org/show_bug.cgi?id=72450
Introduces WebGL conformance test regressions. (Requested by
twiz on #webkit).
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::copyTexImage2D):
(WebCore::WebGLRenderingContext::copyTexSubImage2D):
(WebCore::WebGLRenderingContext::readPixels):
2011-11-15 James Robinson <jamesr@chromium.org>
Rollout http://trac.webkit.org/changeset/99813, caused some crashes in
TiledLayerChromium::updateCompositorResources()
* WebCore.gypi:
* platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.cpp: Removed.
* platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.h: Removed.
* platform/graphics/chromium/CanvasLayerTextureUpdater.cpp: Removed.
* platform/graphics/chromium/CanvasLayerTextureUpdater.h: Removed.
* platform/graphics/chromium/ContentLayerChromium.cpp:
(WebCore::ContentLayerChromium::createTextureUpdater):
* platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.h: Removed.
* platform/graphics/chromium/ImageLayerChromium.cpp:
(WebCore::ImageLayerTextureUpdater::prepareToUpdate):
* platform/graphics/chromium/LayerRendererChromium.cpp:
* platform/graphics/chromium/LayerTextureUpdater.h:
* platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp: Renamed from Source/WebCore/platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp.
(WebCore::FrameBuffer::FrameBuffer::FrameBuffer):
(WebCore::FrameBuffer::FrameBuffer::~FrameBuffer):
(WebCore::FrameBuffer::FrameBuffer::initialize):
(WebCore::LayerTextureUpdaterCanvas::LayerTextureUpdaterCanvas):
(WebCore::LayerTextureUpdaterCanvas::paintContents):
(WebCore::LayerTextureUpdaterBitmap::create):
(WebCore::LayerTextureUpdaterBitmap::LayerTextureUpdaterBitmap):
(WebCore::LayerTextureUpdaterBitmap::sampledTexelFormat):
(WebCore::LayerTextureUpdaterBitmap::prepareToUpdate):
(WebCore::LayerTextureUpdaterBitmap::updateTextureRect):
(WebCore::LayerTextureUpdaterSkPicture::create):
(WebCore::LayerTextureUpdaterSkPicture::LayerTextureUpdaterSkPicture):
(WebCore::LayerTextureUpdaterSkPicture::~LayerTextureUpdaterSkPicture):
(WebCore::LayerTextureUpdaterSkPicture::sampledTexelFormat):
(WebCore::LayerTextureUpdaterSkPicture::prepareToUpdate):
(WebCore::LayerTextureUpdaterSkPicture::updateTextureRect):
* platform/graphics/chromium/LayerTextureUpdaterCanvas.h: Added.
(WebCore::LayerTextureUpdaterCanvas::contentRect):
(WebCore::LayerTextureUpdaterBitmap::orientation):
(WebCore::LayerTextureUpdaterSkPicture::orientation):
* platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.cpp: Removed.
* platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.h: Removed.
* platform/graphics/chromium/TiledLayerChromium.cpp:
(WebCore::UpdatableTile::UpdatableTile):
(WebCore::UpdatableTile::texture):
(WebCore::TiledLayerChromium::updateCompositorResources):
(WebCore::TiledLayerChromium::pushPropertiesTo):
(WebCore::TiledLayerChromium::createTile):
(WebCore::TiledLayerChromium::protectTileTextures):
(WebCore::TiledLayerChromium::prepareToUpdate):
* platform/graphics/chromium/cc/CCTextureUpdater.cpp:
(WebCore::CCTextureUpdater::append):
(WebCore::CCTextureUpdater::update):
* platform/graphics/chromium/cc/CCTextureUpdater.h:
2011-11-15 Julien Chaffraix <jchaffraix@webkit.org>
Add the needed plumbing to parse display: -webkit-inline-grid
https://bugs.webkit.org/show_bug.cgi?id=72438
Reviewed by Tony Chang.
Test: fast/css-grid-layout/display-grid-set-get.html
Added the needed constants and plugged everything together.
Again we treat display: -webkit-inline-grid like display: none
for the moment.
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
* css/CSSValueKeywords.in:
* rendering/RenderObject.cpp:
(WebCore::RenderObject::createObject):
* rendering/style/RenderStyleConstants.h:
2011-11-15 W. James MacLean <wjmaclean@chromium.org>
[chromium] Move setVisibleRect() calls into calculateDrawTransformAndVisibility()
https://bugs.webkit.org/show_bug.cgi?id=72162
Reviewed by Kenneth Russell.
Refactoring of existing functionality, so uses existing tests.
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::drawLayer):
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::paintContentsIfDirty):
(WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
(WebCore::CCLayerTreeHost::paintLayerContents):
* platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
(WebCore::walkLayersAndCalculateVisibleLayerRects):
(WebCore::CCLayerTreeHostCommon::calculateDrawTransformsAndVisibility):
2011-11-15 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r100340.
http://trac.webkit.org/changeset/100340
https://bugs.webkit.org/show_bug.cgi?id=72448
Caused assertion failure in Win dbg canary. (Requested by
pkasting on #webkit).
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::LayerRendererChromium):
(WebCore::LayerRendererChromium::viewportChanged):
(WebCore::LayerRendererChromium::drawLayersInternal):
* platform/graphics/chromium/LayerRendererChromium.h:
2011-11-15 Julien Chaffraix <jchaffraix@webkit.org>
Switch table indexing to unsigned
https://bugs.webkit.org/show_bug.cgi?id=72083
Reviewed by Darin Adler.
No expected change in behavior.
All of the code is now using unsigned for indexing!
* rendering/FixedTableLayout.cpp:
(WebCore::FixedTableLayout::layout):
* rendering/RenderTable.cpp:
(WebCore::RenderTable::colElement):
(WebCore::RenderTable::cellAbove):
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::splitColumn):
Added some ASSERTs to make sure we don't underflow. Looking at how
the different variables are populated, they should not be reached.
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::colSpan):
(WebCore::RenderTableCell::rowSpan):
Those 2 functions promotes HTMLTableCellElement's int to unsigned
which should be fine as we make sure their are positive. Also HTML5
makes those 2 fields "unsigned long" which goes in the same direction.
* rendering/AutoTableLayout.cpp:
(WebCore::AutoTableLayout::layout):
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::nodeAtPoint):
Rewrote a couple of reverse iterating to be able to use unsigned
without overflowing.
* rendering/AutoTableLayout.cpp:
(WebCore::AutoTableLayout::recalcColumn):
(WebCore::AutoTableLayout::fullRecalc):
(WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
(WebCore::AutoTableLayout::insertSpanCell):
* rendering/AutoTableLayout.h:
* rendering/FixedTableLayout.cpp:
(WebCore::FixedTableLayout::calcWidthArray):
* rendering/RenderTable.cpp:
(WebCore::RenderTable::splitColumn):
(WebCore::RenderTable::appendColumn):
(WebCore::RenderTable::recalcSections):
* rendering/RenderTable.h:
(WebCore::RenderTable::getColumnPos):
(WebCore::RenderTable::spanOfEffCol):
(WebCore::RenderTable::effColToCol):
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::styleOrColLogicalWidth):
(WebCore::CollapsedBorders::nextBorder):
* rendering/RenderTableCell.h:
* rendering/RenderTableCol.cpp:
(WebCore::RenderTableCol::updateFromElement):
* rendering/RenderTableCol.h:
(WebCore::RenderTableCol::span):
(WebCore::RenderTableCol::setSpan):
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::addCell):
(WebCore::RenderTableSection::setCellLogicalWidths):
(WebCore::RenderTableSection::layoutRows):
(WebCore::RenderTableSection::calcOuterBorderBefore):
(WebCore::RenderTableSection::calcOuterBorderAfter):
(WebCore::RenderTableSection::calcOuterBorderStart):
(WebCore::RenderTableSection::calcOuterBorderEnd):
(WebCore::RenderTableSection::paintObject):
(WebCore::RenderTableSection::appendColumn):
* rendering/RenderTableSection.h:
(WebCore::RenderTableSection::cellAt):
(WebCore::RenderTableSection::primaryCellAt):
(WebCore::RenderTableSection::getBaseline):
Mechanical change int -> unsigned.
2011-11-15 Andy Estes <aestes@apple.com>
Consolidate the logic that creates run loop observers for flushing layer tree changes to CoreAnimation
https://bugs.webkit.org/show_bug.cgi?id=72106
Reviewed by Anders Carlsson.
Add a class that encapsulates the logic of scheduling, enabling and
invalidating a run loop observer that fires before Core Animation's
commit observer. Clients can subclass LayerFlushSchedulerClient and
implement flushLayers(), which will be called by the observer.
* WebCore.exp.in:
* WebCore.xcodeproj/project.pbxproj:
* platform/graphics/ca/LayerFlushScheduler.cpp: Added.
(WebCore::LayerFlushScheduler::suspend): Suspend scheduling by
invalidating the run loop observer. Keep a count of calls to suspend()
in m_suspendCount.
(WebCore::LayerFlushScheduler::resume): Decrement m_suspendCount.
Install the run loop observer when it reaches 0.
* platform/graphics/ca/LayerFlushSchedulerClient.h: Added.
(WebCore::LayerFlushSchedulerClient::~LayerFlushSchedulerClient):
* platform/graphics/ca/LayerFlushScheduler.h: Added.
* platform/graphics/ca/mac/LayerFlushSchedulerMac.cpp: Added.
(LayerFlushScheduler::LayerFlushScheduler):
(LayerFlushScheduler::~LayerFlushScheduler):
(LayerFlushScheduler::runLoopObserverCallback): Call flushLayers() on
the LayerFlushSchedulerClient.
(LayerFlushScheduler::schedule): Install the run loop observer.
(LayerFlushScheduler::invalidate): Remove the run loop
observer if it is installed.
2011-11-15 Adam Klein <adamk@chromium.org>
[v8] Use throwError instead of compiling and running script in handleMaxRecursionDepthExceeded
https://bugs.webkit.org/show_bug.cgi?id=72432
Reviewed by Adam Barth.
* bindings/v8/V8Proxy.cpp:
(WebCore::handleMaxRecursionDepthExceeded):
2011-11-15 Vincent Scheib <scheib@chromium.org>
Pointer Lock: Refactoring: PointerLock.idl: Dropping webkit prefix
https://bugs.webkit.org/show_bug.cgi?id=72431
Reviewed by Adam Barth.
* page/PointerLock.cpp:
(WebCore::PointerLock::lock):
(WebCore::PointerLock::unlock):
(WebCore::PointerLock::isLocked):
* page/PointerLock.h:
* page/PointerLock.idl:
2011-11-15 Nat Duca <nduca@chromium.org>
[chromium] Fuse MainThread and CCThread
https://bugs.webkit.org/show_bug.cgi?id=72426
Reviewed by James Robinson.
* WebCore.gypi:
* platform/graphics/chromium/LayerRendererChromium.cpp:
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::CCLayerTreeHost):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
* platform/graphics/chromium/cc/CCMainThread.cpp: Removed.
* platform/graphics/chromium/cc/CCMainThread.h: Removed.
* platform/graphics/chromium/cc/CCMainThreadTask.h: Removed.
* platform/graphics/chromium/cc/CCProxy.cpp:
(WebCore::CCProxy::setMainThread):
(WebCore::CCProxy::mainThread):
(WebCore::CCProxy::setImplThread):
(WebCore::CCProxy::implThread):
(WebCore::CCProxy::isMainThread):
(WebCore::CCProxy::isImplThread):
(WebCore::CCProxy::~CCProxy):
* platform/graphics/chromium/cc/CCProxy.h:
* platform/graphics/chromium/cc/CCScopedThreadProxy.h: Renamed from Source/WebCore/platform/graphics/chromium/cc/CCScopedMainThreadProxy.h.
(WebCore::CCScopedThreadProxy::create):
(WebCore::CCScopedThreadProxy::postTask):
(WebCore::CCScopedThreadProxy::shutdown):
(WebCore::CCScopedThreadProxy::CCScopedThreadProxy):
(WebCore::CCScopedThreadProxy::runTaskIfNotShutdown):
* platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::CCThreadProxy):
(WebCore::CCThreadProxy::compositeAndReadback):
(WebCore::CCThreadProxy::finishAllRendering):
(WebCore::CCThreadProxy::initializeLayerRenderer):
(WebCore::CCThreadProxy::setNeedsAnimate):
(WebCore::CCThreadProxy::setNeedsCommit):
(WebCore::CCThreadProxy::onSwapBuffersCompleteOnImplThread):
(WebCore::CCThreadProxy::setNeedsRedraw):
(WebCore::CCThreadProxy::setVisible):
(WebCore::CCThreadProxy::start):
(WebCore::CCThreadProxy::stop):
(WebCore::CCThreadProxy::obtainBeginFrameAndCommitTaskFromCCThread):
(WebCore::CCThreadProxy::createBeginFrameAndCommitTaskOnImplThread):
(WebCore::CCThreadProxy::beginFrameAndCommit):
(WebCore::CCThreadProxy::scheduledActionDrawAndSwap):
(WebCore::CCThreadProxy::initializeImplOnImplThread):
* platform/graphics/chromium/cc/CCThreadProxy.h:
2011-11-15 Vincent Scheib <scheib@chromium.org>
Pointer Lock: Refactor: MouseEvent.idl movementX/Y
https://bugs.webkit.org/show_bug.cgi?id=72427
- [Conditional...] vs #if defined
- Runtime enabled
- .movementX/Y prefixed with 'webkit'
Reviewed by Adam Barth.
No new tests.
* bindings/generic/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::webkitMovementXEnabled):
(WebCore::RuntimeEnabledFeatures::webkitMovementYEnabled):
* dom/MouseEvent.idl:
* dom/MouseRelatedEvent.h:
(WebCore::MouseRelatedEvent::webkitMovementX):
(WebCore::MouseRelatedEvent::webkitMovementY):
2011-10-28 Ojan Vafai <ojan@chromium.org>
implement flex-align for flex-flow: column
https://bugs.webkit.org/show_bug.cgi?id=70754
Reviewed by David Hyatt.
Tests: css3/flexbox/flex-align-column.html
css3/flexbox/line-wrapping.html
* rendering/RenderBox.cpp:
(WebCore::RenderBox::sizesToIntrinsicLogicalWidth):
When flexitems are column, they should size to the intrinsic width unless flex-flow is stretch.
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::alignChildrenBlockDirection):
This was just using the wrong, non-flow-aware method.
2011-11-15 Jochen Eisinger <jochen@chromium.org>
Rename ReferrerPolicy to clarify its meaning
https://bugs.webkit.org/show_bug.cgi?id=72420
Reviewed by Nate Chapin.
On the one hand, even if the ReferrerPolicy was set to SendReferrer, the
referrer wasn't necessarily send. On the other hand, I want to use the
name ReferrerPolicy when implementing the meta referrer tag.
No change in behavior expected so no test.
* html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::handleClick):
(WebCore::handleLinkClick):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::changeLocation):
(WebCore::FrameLoader::urlSelected):
(WebCore::FrameLoader::loadFrameRequest):
* loader/FrameLoader.h:
* loader/FrameLoaderTypes.h:
* loader/NavigationScheduler.cpp:
(WebCore::ScheduledHistoryNavigation::fire):
(WebCore::ScheduledFormSubmission::fire):
* page/ContextMenuController.cpp:
(WebCore::openNewWindow):
(WebCore::ContextMenuController::contextMenuItemSelected):
* WebCore.exp.in: updated.
2011-11-15 Adam Klein <adamk@chromium.org>
Factor out V8Proxy's max recursion depth handling code
https://bugs.webkit.org/show_bug.cgi?id=72422
Reviewed by Nate Chapin.
Previously, V8Proxy used slightly different code to handle stack limit
violations depending on whether they occured in runScript or
callFunction. As described in http://webkit.org/b/72063, I intend to
expand the usage of m_recursion when calling into script. This patch
is intended to unify the existing handling code, making it easier to
move elsewhere without causing unintended side-effects.
No tests changed, as the only change in behavior is the string passed
to RangeError in the runScript case, and it's not mentioned anywhere
in the LayoutTests.
* bindings/v8/V8Proxy.cpp:
(WebCore::handleMaxRecursionDepthExceeded):
(WebCore::V8Proxy::runScript): Use callFunction's factored-out code.
(WebCore::V8Proxy::callFunction): Simplify and factor out code into handleMaxRecursionDepthExceeded.
2011-11-15 Jessie Berlin <jberlin@apple.com>
NSURLRequest leak beneath ResourceRequest::setStorageSession seen on Leaks bot.
https://bugs.webkit.org/show_bug.cgi?id=72419
Reviewed by Adam Roben.
Adopt the copied NSURLRequest.
* platform/network/mac/ResourceRequestMac.mm:
(WebCore::ResourceRequest::setStorageSession):
2011-11-15 John Bates <jbates@google.com>
Page/layer flashes after GPU-accelerated CSS transition
https://bugs.webkit.org/show_bug.cgi?id=72343
LayerRendererChromium was resizing the window to 1x1 at initialization.
In some cases, there is no drawLayers before switching back to
software rendering. This left the window resized to 1x1 and the
following software paints would therefore not be visible. This change
moves the reshape call into drawLayers so that it will only be called
if rendering will occur.
Reviewed by James Robinson.
New test: CCLayerTreeHostImplTest.reshapeNotCalledUntilDraw.
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::viewportChanged):
(WebCore::LayerRendererChromium::doViewportChanged):
(WebCore::LayerRendererChromium::drawLayersInternal):
* platform/graphics/chromium/LayerRendererChromium.h:
2011-11-15 Julien Chaffraix <jchaffraix@webkit.org>
Add the needed plumbing to parse display: -webkit-grid
https://bugs.webkit.org/show_bug.cgi?id=72331
Reviewed by Tony Chang.
Test: fast/css-grid-layout/display-grid-set-get.html
Added parsing support for display: -webkit-grid. From a rendering perspective,
the value is equivalent to display: none until we properly implement it.
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
* css/CSSValueKeywords.in:
* rendering/style/RenderStyleConstants.h:
Added the new CSS value and plumbed the parsing and style application of
the new value.
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::operator EDisplay):
Added an ASSERT here as I bumped into some non-trivial issues due to bug 72296.
-wap-marquee was offsetting the new value and was wrongly casted by the CSSPrimitiveValueMapping
logic outside the EDisplay range which would lead to crashes.
* rendering/RenderObject.cpp:
(WebCore::RenderObject::createObject):
Fixed the indentation to follow our coding rules.
2011-11-15 Vincent Scheib <scheib@chromium.org>
Mouse Lock: Renaming to 'Pointer Lock': MouseLockable to PointerLock
https://bugs.webkit.org/show_bug.cgi?id=72315
Reviewed by Dimitri Glazkov.
* WebCore.gypi:
* page/Navigator.cpp:
(WebCore::Navigator::webkitPointer):
* page/Navigator.h:
* page/Navigator.idl:
* page/PointerLock.cpp: Renamed from Source/WebCore/page/MouseLockable.cpp.
(WebCore::PointerLock::PointerLock):
(WebCore::PointerLock::~PointerLock):
(WebCore::PointerLock::webkitLock):
(WebCore::PointerLock::webkitUnlock):
(WebCore::PointerLock::webkitIsLocked):
* page/PointerLock.h: Renamed from Source/WebCore/page/MouseLockable.h.
(WebCore::PointerLock::create):
* page/PointerLock.idl: Renamed from Source/WebCore/page/MouseLockable.idl.
2011-10-28 Ojan Vafai <ojan@chromium.org>
Overflow and relayout are broken in the new flexboxes
https://bugs.webkit.org/show_bug.cgi?id=71161
Reviewed by David Hyatt.
Tests: css3/flexbox/auto-height-dynamic.html
css3/flexbox/flex-item-child-overflow-expected.html
css3/flexbox/flex-item-child-overflow.html
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::layoutBlock):
-Always set the logical height to 0 to start with to ensure we don't
use the height from the previous layout when we are computing the
intrinsic size of the flexbox.
-Call computeOverflow after computeLogicalHeight so that flex-item's children's
overflow is properly rendered.
(WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection):
-Now that we setLogicalHeight in layoutBlock, we no longer need to do it here.
-Refactor flipping code. The behavior is the same, but the variable names are just
more correct.
2011-10-28 Ojan Vafai <ojan@chromium.org>
Overflow and relayout are broken in the new flexboxes
https://bugs.webkit.org/show_bug.cgi?id=71161
Reviewed by David Hyatt.
Tests: css3/flexbox/auto-height-dynamic.html
css3/flexbox/flex-item-child-overflow-expected.html
css3/flexbox/flex-item-child-overflow.html
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::layoutBlock):
-Always set the logical height to 0 to start with to ensure we don't
use the height from the previous layout when we are computing the
intrinsic size of the flexbox.
-Call computeOverflow after computeLogicalHeight so that flex-item's children's
overflow is properly rendered.
(WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection):
-Now that we setLogicalHeight in layoutBlock, we no longer need to do it here.
-Refactor flipping code. The behavior is the same, but the variable names are just
more correct.
2011-11-15 Nate Chapin <japhet@chromium.org>
CachedResourceRequest is now the only SubresourceLoaderClient
Merge CachedResourceRequest into SubresourceLoader and delete
the SubresourceLoaderClient interface. A few items were moved
to CachedResource instead of SubresourceLoader.
https://bugs.webkit.org/show_bug.cgi?id=71149
Reviewed by Adam Barth.
* CMakeLists.txt:
* GNUmakefile.list.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* loader/ResourceLoadScheduler.cpp:
* loader/ResourceLoadScheduler.h:
* loader/ResourceLoader.cpp:
* loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::SubresourceLoader):
(WebCore::SubresourceLoader::create):
(WebCore::SubresourceLoader::init): Do work that had previously been
done in SubresourceLoader::create() after the constructor.
(WebCore::SubresourceLoader::willSendRequest):
(WebCore::SubresourceLoader::didSendData):
(WebCore::SubresourceLoader::didReceiveResponse):
(WebCore::SubresourceLoader::didReceiveData):
(WebCore::SubresourceLoader::didReceiveCachedMetadata):
(WebCore::SubresourceLoader::didFinishLoading):
(WebCore::SubresourceLoader::didFail):
(WebCore::SubresourceLoader::willCancel):
(WebCore::SubresourceLoader::releaseResources): Do the cleanup work that was
duplicated throughout the various terminal CachedResourceRequest callbacks.
* loader/SubresourceLoader.h: Fix indentation style issues.
* loader/SubresourceLoaderClient.h: Removed.
* loader/cache/CachedImage.cpp:
* loader/cache/CachedRawResource.cpp:
* loader/cache/CachedResource.cpp:
(WebCore::cachedResourceTypeToTargetType):
(WebCore::CachedResource::load): Do the work that had been done in
CachedResourceRequest::load().
(WebCore::CachedResource::finish):
(WebCore::CachedResource::setResponse):
(WebCore::CachedResource::stopLoading):
* loader/cache/CachedResource.h:
(WebCore::CachedResource::canDelete):
* loader/cache/CachedResourceLoader.cpp:
* loader/cache/CachedResourceRequest.cpp: Removed.
* loader/cache/CachedResourceRequest.h: Removed.
* loader/cf/SubresourceLoaderCF.cpp:
* loader/chromium/CachedResourceRequestChromium.cpp: Removed.
* loader/chromium/SubresourceLoaderChromium.cpp:
2011-11-15 Anders Carlsson <andersca@apple.com>
HostWindow screenToWindow/windowToScreen should be screenToRootView/rootViewToScreen
https://bugs.webkit.org/show_bug.cgi?id=72397
Reviewed by Dan Bernstein.
screenToWindow and windowToScreen already use root view coordinates everywhere, with the
exception of Mac WebKit1 which doesn't even implement the functions.
* accessibility/mac/WebAccessibilityObjectWrapper.mm:
(-[WebAccessibilityObjectWrapper position]):
* loader/EmptyClients.h:
* page/Chrome.cpp:
(WebCore::Chrome::screenToRootView):
(WebCore::Chrome::rootViewToScreen):
* page/Chrome.h:
* page/ChromeClient.h:
* platform/HostWindow.h:
* platform/ScrollView.cpp:
(WebCore::ScrollView::contentsToScreen):
(WebCore::ScrollView::screenToContents):
* platform/chromium/PopupContainer.cpp:
(WebCore::PopupContainer::layoutAndCalculateWidgetRect):
(WebCore::PopupContainer::refresh):
2011-11-15 Jeff Timanus <twiz@chromium.org>
Patch removing duplicated code in the setup of the DrawingBuffer used
to host the back-buffer for WebGL contents.
https://bugs.webkit.org/show_bug.cgi?id=72327
Reviewed by Julien Chaffraix.
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::copyTexImage2D):
(WebCore::WebGLRenderingContext::copyTexSubImage2D):
(WebCore::WebGLRenderingContext::readPixels):
2011-11-15 Eugene Nalimov <enal@google.com>
Event listener for active DOM object that is also DOM node can be garbage collected prematurely.
https://bugs.webkit.org/show_bug.cgi?id=70421
Reviewed by Adam Barth.
Problem demonstrated itself when HTMLAudioElement was changed to become active DOM object.
Before that there were no DOM objects that simultaneously were nodes and active objects.
DOM object could be held in one of 3 maps -- node map, active objects map, and all other
objects map, and HTMLAudioElement should be in 2 maps simultaneously. When it was in the
active DOM objects map only, its event listener could be garbage collected, because special
code that groups listeners with wrappers could handle only wrappers for objects in the node
map. If we put HTMLAudioElement into nodes map, it would not be active DOM node, and can be
garbage collected prematurely itself (see https://bugs.webkit.org/show_bug.cgi?id=66878).
Fix is to introduce 4th map -- active nodes map, and change the code accordingly.
Test: media/audio-garbage-collect.html
* bindings/scripts/CodeGeneratorV8.pm:
(GenerateNamedConstructorCallback):
(GetDomMapFunction):
* bindings/v8/DOMDataStore.cpp:
(WebCore::DOMDataStore::DOMDataStore):
(WebCore::DOMDataStore::getDOMWrapperMap):
(WebCore::DOMDataStore::weakNodeCallback):
* bindings/v8/DOMDataStore.h:
(WebCore::DOMDataStore::activeDomNodeMap):
* bindings/v8/ScopedDOMDataStore.cpp:
(WebCore::ScopedDOMDataStore::ScopedDOMDataStore):
(WebCore::ScopedDOMDataStore::~ScopedDOMDataStore):
* bindings/v8/StaticDOMDataStore.cpp:
(WebCore::StaticDOMDataStore::StaticDOMDataStore):
* bindings/v8/StaticDOMDataStore.h:
* bindings/v8/V8DOMMap.cpp:
(WebCore::getActiveDOMNodeMap):
(WebCore::removeAllDOMObjects):
(WebCore::visitActiveDOMNodes):
* bindings/v8/V8DOMMap.h:
* bindings/v8/V8DOMWrapper.cpp:
(WebCore::V8DOMWrapper::setJSWrapperForDOMNode):
(WebCore::V8DOMWrapper::getWrapperSlow):
* bindings/v8/V8GCController.cpp:
(WebCore::GCPrologueSpecialCase):
(WebCore::void):
(WebCore::Node):
(WebCore::GCPrologueVisitor::visitDOMWrapper):
(WebCore::V8GCController::gcPrologue):
(WebCore::GCEpilogueHelper::GCEpilogueSpecialCase):
(WebCore::GCEpilogueVisitor::visitDOMWrapper):
(WebCore::V8GCController::gcEpilogue):
* dom/Node.h:
(WebCore::Node::isActiveNode):
* html/HTMLAudioElement.h:
(WebCore::HTMLAudioElement::isActiveNode):
2011-11-15 David Kilzer <ddkilzer@apple.com>
Remove useless const modifier from KURL::init
<http://webkit.org/b/72387>
Reviewed by Darin Adler.
* platform/KURL.cpp:
(WebCore::KURL::init): Remove useless const.
2011-11-14 Anders Carlsson <andersca@apple.com>
HostWindow invalidation functions should use root view coordinates
https://bugs.webkit.org/show_bug.cgi?id=72338
Reviewed by Dan Bernstein.
Rename invalidateWindow to invalidateRootView, and invalidateContentsAndWindow
to invalidateContentsAndRootView. Make sure that the rects passed to the renamed functions
are in root view coordinates by changing contentsToWindow calls to contentsToRootView.
In practice this doesn't matter because for all platforms except Mac WebKit1, root view coordinates
and window coordinates are equivalent, and Mac WebKit1 doesn't use these invalidation functions.
* loader/EmptyClients.h:
* page/Chrome.cpp:
(WebCore::Chrome::invalidateRootView):
(WebCore::Chrome::invalidateContentsAndRootView):
* page/Chrome.h:
* page/ChromeClient.h:
* page/Frame.cpp:
(WebCore::Frame::tiledBackingStorePaintEnd):
* page/FrameView.cpp:
(WebCore::FrameView::invalidateRect):
(WebCore::FrameView::scrollContentsFastPath):
* platform/HostWindow.h:
* platform/ScrollView.cpp:
(WebCore::ScrollView::rectToCopyOnScroll):
(WebCore::ScrollView::scrollContents):
(WebCore::ScrollView::wheelEvent):
* platform/chromium/FramelessScrollView.cpp:
(WebCore::FramelessScrollView::invalidateRect):
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImageChromeClient::invalidateContentsAndRootView):
2011-11-15 Philip Rogers <pdr@google.com>
Implement maxWidth for fillText and strokeText, fixing the canvas/philip/tests/2d.text.draw.fill.maxWidth.fontface.html test.
https://bugs.webkit.org/show_bug.cgi?id=61528
Reviewed by Stephen White.
Tests: fast/canvas/2d.text.draw.fill.maxWidth.gradient.html
fast/canvas/2d.text.draw.fill.maxWidth.negative.html
fast/canvas/2d.text.draw.fill.maxWidth.veryLarge.html
fast/canvas/2d.text.draw.fill.maxWidth.verySmall.html
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::drawTextInternal):
2011-11-15 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Implement download support in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=72258
Reviewed by Martin Robinson.
Add common download errors to ErrorsGtk.
* platform/gtk/ErrorsGtk.cpp:
(WebCore::downloadNetworkError):
(WebCore::downloadCancelledByUserError):
(WebCore::downloadDestinationError):
* platform/gtk/ErrorsGtk.h:
2011-11-15 Cary Clark <caryclark@google.com>
[chromium-mac] Enable vertical text using Skia
https://bugs.webkit.org/show_bug.cgi?id=72137
Use Skia to draw vertical text. This is much
faster and has higher fidelity than the old method
of drawing text on a path.
The graphics context passed to Skia has been
rotated 90 degrees but the character advances
have not, so it is necessary to unrotate the canvas,
and re-rotate the positions.
This generates correct output (or, at least,
consistent with Chromium CG on Mac) for all vertical
text tests, one of which is mentioned below.
Reviewed by Stephen White.
Test: fast/writing-mode/text-orientation-basic.html
* platform/graphics/skia/FontSkia.cpp:
(WebCore::setupPaint):
(WebCore::Font::drawGlyphs):
2011-11-15 Philip Rogers <pdr@google.com>
Fix SVG hit testing when padding is present
https://bugs.webkit.org/show_bug.cgi?id=37325
Reviewed by Nikolas Zimmermann.
Test: svg/hittest/svg-padding.xhtml
* rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::nodeAtPoint):
2011-11-15 Pavel Feldman <pfeldman@google.com>
Web Inspector: move generic code from DevTools.js into the WebCore.
https://bugs.webkit.org/show_bug.cgi?id=72377
re-landing r100269.
Reviewed by Yury Semikhatsky.
* English.lproj/localizedStrings.js:
* inspector/front-end/InspectorFrontendHostStub.js:
(.WebInspector.InspectorFrontendHostStub.prototype.inspectedURLChanged):
* inspector/front-end/ProfilesPanel.js:
* inspector/front-end/Resource.js:
* inspector/front-end/Settings.js:
* inspector/front-end/UIUtils.js:
(WebInspector.setToolbarColors):
(WebInspector.resetToolbarColors):
* inspector/front-end/inspector.js:
2011-11-15 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r100269.
http://trac.webkit.org/changeset/100269
https://bugs.webkit.org/show_bug.cgi?id=72383
"Broke dozens of tests due to exception in loadingFinished"
(Requested by tonyg-cr on #webkit).
* English.lproj/localizedStrings.js:
* inspector/front-end/InspectorFrontendHostStub.js:
(.WebInspector.InspectorFrontendHostStub.prototype.inspectedURLChanged):
* inspector/front-end/ProfilesPanel.js:
* inspector/front-end/Resource.js:
* inspector/front-end/Settings.js:
* inspector/front-end/UIUtils.js:
* inspector/front-end/inspector.js:
2011-11-15 Alexander Pavlov <apavlov@chromium.org>
font property does not show up as "shorthand" in inspector
https://bugs.webkit.org/show_bug.cgi?id=15598
Reviewed by Nikolas Zimmermann.
The "font" CSS property is turned into a real shorthand, as its longhands used to float around
in the resulting style declaration without any reference to their underlying "font" property.
Test: fast/css/font-shorthand.html
* css/CSSMutableStyleDeclaration.cpp:
(WebCore::CSSMutableStyleDeclaration::getPropertyValue): Extracted the "font" value building into fontValue().
(WebCore::CSSMutableStyleDeclaration::appendFontLonghandValueIfExplicit): Added
(WebCore::CSSMutableStyleDeclaration::fontValue): Build the "font" value from longhands.
* css/CSSMutableStyleDeclaration.h:
* css/CSSParser.cpp:
(WebCore::CSSParser::addProperty): Added optional "implicit" parameter.
(WebCore::CSSParser::parseFont): Build respective longhands instead of the shorthand "font" property.
* css/CSSParser.h: Added optional "implicit" parameter to addProperty().
* css/CSSPropertyLonghand.cpp:
(WebCore::initShorthandMap): Added "font" shorthand map entry.
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyPropertyToStyle): Separated the property application from the instance setup.
(WebCore::CSSStyleSelector::applyPropertyToCurrentStyle): Added.
* css/CSSStyleSelector.h: Made updateFont() public.
* css/FontValue.cpp:
(WebCore::FontValue::customCssText): Made use of StringBuilder.
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::setFont): Apply "font" longhands rather than the (non-existent) "font" property.
* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylesSidebarPane.prototype._markUsedProperties): Removed a workaround for "font" not being a shorthand.
* page/animation/AnimationBase.cpp:
(WebCore::addShorthandProperties): Removed a workaround for "font" not being a shorthand.
2011-11-15 Pierre Rossi <pierre.rossi@gmail.com>
[Qt] Clean up the remaining duplicate code after the RenderThemeQt refactoring.
https://bugs.webkit.org/show_bug.cgi?id=72262
Reviewed by Antonio Gomes.
No new tests needed, this is purely cosmetic.
* platform/qt/RenderThemeQStyle.cpp:
(WebCore::RenderThemeQStyle::adjustMenuListButtonStyle):
* platform/qt/RenderThemeQStyle.h:
* platform/qt/RenderThemeQt.cpp:
(WebCore::RenderThemeQt::adjustMenuListButtonStyle): remove the call to resetBorderRadius()
since the mobile theme actually didn't do this.
* platform/qt/RenderThemeQtMobile.cpp:
(WebCore::RenderThemeQtMobile::adjustMenuListStyle):
2011-11-15 Pavel Feldman <pfeldman@google.com>
Web Inspector: move generic code from DevTools.js into the WebCore.
https://bugs.webkit.org/show_bug.cgi?id=72377
This includes support for themed toolbar, remote debugging routines,
removes a couple of obsolete overrides from the DevTools.js
Reviewed by Yury Semikhatsky.
* English.lproj/localizedStrings.js:
* inspector/front-end/InspectorFrontendHostStub.js:
(.WebInspector.InspectorFrontendHostStub.prototype.inspectedURLChanged):
* inspector/front-end/ProfilesPanel.js:
* inspector/front-end/Resource.js:
* inspector/front-end/Settings.js:
* inspector/front-end/UIUtils.js:
(WebInspector.setToolbarColors):
(WebInspector.resetToolbarColors):
* inspector/front-end/inspector.js:
2011-11-15 Simon Hausmann <simon.hausmann@nokia.com>
[Qt] Centralize hide_symbols and ensure all libs are built with symbol visibility & bsymbolic_functions
Reviewed by Tor Arne Vestbø.
* Target.pri: Eliminate duplicated symbol stuff that lives now in default_post.prf.
2011-11-15 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r100213.
http://trac.webkit.org/changeset/100213
https://bugs.webkit.org/show_bug.cgi?id=72371
"Breaks test_shell_tests" (Requested by tonyg-cr on #webkit).
* page/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::SecurityOrigin):
* platform/SchemeRegistry.cpp:
(WebCore::schemesWithUniqueOrigins):
2011-11-15 Alpha Lam <hclam@chromium.org>
[chromium] scroll deltas are cleared during commit to the main thread
https://bugs.webkit.org/show_bug.cgi?id=71916
Reviewed by James Robinson.
Patch is covered by unit test.
Add a member m_sentScrollDelta to CCLayerImpl to keep track of the scroll delta being
sent to the main thread during commit. This gives a simpler approach to keep tracking of a
layer's scroll delta in impl thread.
* platform/graphics/chromium/LayerChromium.h:
(WebCore::LayerChromium::sentScrollDelta):
* platform/graphics/chromium/cc/CCLayerImpl.h:
(WebCore::CCLayerImpl::sentScrollDelta):
(WebCore::CCLayerImpl::setSentScrollDelta):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::processScrollDeltas):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
2011-11-15 Simon Hausmann <simon.hausmann@nokia.com>
[Qt] REGRESSION(100123): It made inspector tests crash
https://bugs.webkit.org/show_bug.cgi?id=72274
Reviewed by Tor Arne Vestbø.
* platform/qt/RenderThemeQStyle.h: Remove uninitialized and duplicated
m_page member that should really come from RenderThemeQt.
2011-11-15 Gyuyoung Kim <gyuyoung.kim@samsung.com>
Unreviewed. Fix build breaks when EFL port is built.
* CMakeLists.txt:
* UseJSC.cmake:
2011-11-15 Noel Gordon <noel.gordon@gmail.com>
Make ImageFrame member getAddr() public
https://bugs.webkit.org/show_bug.cgi?id=72321
Reviewed by Adam Barth.
Make ImageFrame member getAddr() public to allow ImageFrame users access to the
underlying frame pixels if needed. Image decoders, for example, could with care
use this service to write decoded pixels direct to the ImageFrame pixel buffer,
avoiding intermeadiate data copies from temporary decoded pixel row buffers and
the decoding performance loss that that entails.
No new tests, refactoring only.
* platform/image-decoders/ImageDecoder.h:
(WebCore::ImageFrame::getAddr):
2011-11-14 Alexander Pavlov <apavlov@chromium.org>
Web Inspector: [Crash] Crash when inspecting namespaced SVG styled via element names
https://bugs.webkit.org/show_bug.cgi?id=72261
Reviewed by Pavel Feldman.
Test: inspector/styles/svg-style.xhtml
* inspector/InspectorStyleSheet.cpp:
(WebCore::InspectorStyleSheet::inlineStyleSheetText):
2011-11-15 Kent Tamura <tkent@chromium.org>
[V8] Fix incorrect handling of JavaScript properties in DOMStringMap
https://bugs.webkit.org/show_bug.cgi?id=53578
Reviewed by Adam Barth.
Follows a JSC behavior change by r96893.
* bindings/v8/custom/V8DOMStringMapCustom.cpp:
(WebCore::V8DOMStringMap::namedPropertyGetter):
Propagate to the JavaScript object if the DOMStringMap object
doesn't have the requested item.
(WebCore::V8DOMStringMap::namedPropertyDeleter): ditto.
(WebCore::V8DOMStringMap::namedPropertySetter):
Try to set a property to only a DOMStringMap object.
2011-11-14 Pavel Feldman <pfeldman@google.com>
Web Inspector: Command line $x fails for 3 of 4 types of XPath query
https://bugs.webkit.org/show_bug.cgi?id=72276
Reviewed by Timothy Hatcher.
Test: inspector/console/console-xpath.html
* inspector/InjectedScriptSource.js:
(.):
2011-11-14 Ryosuke Niwa <rniwa@webkit.org>
Fix the change log entry for r59190.
* ChangeLog-2010-05-24:
2011-11-14 Dmitry Lomov <dslomov@google.com>
[V8][Chromium]Serialize dense arrays densly
https://bugs.webkit.org/show_bug.cgi?id=72198
This patch ensures that:
- Dense arrays are serialized densly, and not as name-value pairs
- Sparse arrays are allocated as sparse on deserialization.
The criteria to choose whether to serialize densly or sparsely is the size
of a resulting serialized stream.
Reviewed by David Levin.
Test: fast/dom/Window/window-postmessage-arrays.html
* bindings/v8/SerializedScriptValue.cpp:
(WebCore::V8ObjectMap::Writer::writeDenseArray):
(WebCore::V8ObjectMap::Writer::writeGenerateFreshSparseArray):
(WebCore::V8ObjectMap::Writer::writeGenerateFreshDenseArray):
(WebCore::V8ObjectMap::Serializer::writeDenseArray):
(WebCore::V8ObjectMap::Serializer::AbstractObjectState::execDepth):
(WebCore::V8ObjectMap::Serializer::AbstractObjectState::serializeProperties):
(WebCore::V8ObjectMap::Serializer::ObjectState::advance):
(WebCore::V8ObjectMap::Serializer::DenseArrayState::DenseArrayState):
(WebCore::V8ObjectMap::Serializer::DenseArrayState::advance):
(WebCore::V8ObjectMap::Serializer::DenseArrayState::objectDone):
(WebCore::V8ObjectMap::Serializer::SparseArrayState::SparseArrayState):
(WebCore::V8ObjectMap::Serializer::SparseArrayState::advance):
(WebCore::V8ObjectMap::Serializer::serializeDensely):
(WebCore::V8ObjectMap::Serializer::startArrayState):
(WebCore::V8ObjectMap::Serializer::startObjectState):
(WebCore::V8ObjectMap::Serializer::doSerialize):
(WebCore::V8ObjectMap::Reader::read):
(WebCore::V8ObjectMap::Deserializer::newSparseArray):
(WebCore::V8ObjectMap::Deserializer::completeSparseArray):
(WebCore::V8ObjectMap::Deserializer::completeDenseArray):
2011-11-14 Alexandre Elias <aelias@google.com>
[chromium] Fix scaleDelta zoom-out visibility rect bug
https://bugs.webkit.org/show_bug.cgi?id=72208
Since the scroll is no longer applied at the top layer of the layer
tree, the scaleDelta transformation needs to be moved down to the
same level.
Also fix zoomAnimator to be applied the same way. I removed zoom
animator layout tests, as they aren't testing the actual impl-side
codepath, and are hard to continue supporting -- we should cover zoom
features with unit tests in the future.
Reviewed by James Robinson.
No new tests (planning to add later: https://bugs.webkit.org/show_bug.cgi?id=71529)
* platform/graphics/chromium/LayerChromium.h:
(WebCore::LayerChromium::scaleDelta):
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::drawLayersInternal):
* platform/graphics/chromium/LayerRendererChromium.h:
* platform/graphics/chromium/cc/CCLayerImpl.cpp:
(WebCore::CCLayerImpl::CCLayerImpl):
(WebCore::CCLayerImpl::setScaleDelta):
* platform/graphics/chromium/cc/CCLayerImpl.h:
(WebCore::CCLayerImpl::scaleDelta):
* platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
(WebCore::calculateDrawTransformsAndVisibilityInternal):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::setScaleDelta):
(WebCore::CCLayerTreeHostImpl::setZoomAnimatorTransform):
2011-11-14 Chris Fleizach <cfleizach@apple.com>
WebProcess crashes when trying to display your "uploaded videos" page on Facebook
https://bugs.webkit.org/show_bug.cgi?id=72334
Reviewed by Beth Dakin.
Protect against documents without frames.
* accessibility/mac/WebAccessibilityObjectWrapper.mm:
(-[WebAccessibilityObjectWrapper remoteAccessibilityParentObject]):
2011-11-14 Oliver Hunt <oliver@apple.com>
More V8 build fixes.
* bindings/v8/custom/V8ArrayBufferViewCustom.h:
(WebCore::setWebGLArrayHelper):
2011-11-14 Oliver Hunt <oliver@apple.com>
Fix V8 build again.
* bindings/scripts/CodeGeneratorV8.pm:
* bindings/scripts/test/V8/V8Float64Array.cpp:
(WTF::Float64Array::neuterBinding):
2011-11-14 Oliver Hunt <oliver@apple.com>
Fix V8 build.
* bindings/scripts/CodeGeneratorV8.pm:
* bindings/scripts/test/V8/V8Float64Array.cpp:
(WTF::Float64Array::neuterBinding):
2011-11-14 Oliver Hunt <oliver@apple.com>
Start migrating typed array impl types to WTF
https://bugs.webkit.org/show_bug.cgi?id=72336
Reviewed by Geoffrey Garen.
Move typed arrays from WebCore namespace to WTF, and
start reducing dependencies on WebCore types.
* bindings/js/JSArrayBufferViewHelper.h:
(WebCore::setWebGLArrayHelper):
* bindings/scripts/CodeGeneratorJS.pm:
(IsTypedArrayType):
(AddClassForwardIfNeeded):
(GenerateImplementation):
* bindings/scripts/CodeGeneratorV8.pm:
(IsTypedArrayType):
* bindings/scripts/test/CPP/WebDOMFloat64Array.cpp: Added.
(WebDOMFloat64Array::WebDOMFloat64Array):
(WebDOMFloat64Array::impl):
(toWebCore):
(toWebKit):
* bindings/scripts/test/CPP/WebDOMFloat64Array.h: Added.
(WebDOMFloat64Array::~WebDOMFloat64Array):
* bindings/scripts/test/GObject/WebKitDOMFloat64Array.cpp: Added.
(WebKit::kit):
(WebKit::core):
(webkit_dom_float64array_finalize):
(webkit_dom_float64array_set_property):
(webkit_dom_float64array_get_property):
(webkit_dom_float64array_constructed):
(webkit_dom_float64array_class_init):
(webkit_dom_float64array_init):
(WebKit::wrapFloat64Array):
* bindings/scripts/test/GObject/WebKitDOMFloat64Array.h: Added.
* bindings/scripts/test/GObject/WebKitDOMFloat64ArrayPrivate.h: Added.
* bindings/scripts/test/JS/JSFloat64Array.cpp: Added.
(WebCore::JSFloat64ArrayConstructor::JSFloat64ArrayConstructor):
(WebCore::JSFloat64ArrayConstructor::finishCreation):
(WebCore::JSFloat64ArrayConstructor::getOwnPropertySlot):
(WebCore::JSFloat64ArrayConstructor::getOwnPropertyDescriptor):
(WebCore::JSFloat64ArrayConstructor::getConstructData):
(WebCore::getJSFloat64ArrayPrototypeTable):
(WebCore::JSFloat64ArrayPrototype::self):
(WebCore::getJSFloat64ArrayTable):
(WebCore::JSFloat64Array::JSFloat64Array):
(WebCore::JSFloat64Array::finishCreation):
(WebCore::JSFloat64Array::createPrototype):
(WebCore::JSFloat64Array::getOwnPropertySlot):
(WebCore::JSFloat64Array::getOwnPropertyDescriptor):
(WebCore::JSFloat64Array::getOwnPropertySlotByIndex):
(WebCore::jsFloat64ArrayConstructor):
(WebCore::JSFloat64Array::put):
(WebCore::JSFloat64Array::putByIndex):
(WebCore::JSFloat64Array::getOwnPropertyNames):
(WebCore::JSFloat64Array::getConstructor):
(WebCore::JSFloat64Array::getByIndex):
(WebCore::toFloat64Array):
(WTF::Float64Array::neuterBinding):
* bindings/scripts/test/JS/JSFloat64Array.h: Added.
(WebCore::JSFloat64Array::create):
(WebCore::JSFloat64Array::createStructure):
(WebCore::JSFloat64Array::impl):
(WebCore::JSFloat64ArrayPrototype::create):
(WebCore::JSFloat64ArrayPrototype::createStructure):
(WebCore::JSFloat64ArrayPrototype::JSFloat64ArrayPrototype):
(WebCore::JSFloat64ArrayConstructor::create):
(WebCore::JSFloat64ArrayConstructor::createStructure):
* bindings/scripts/test/ObjC/DOMFloat64Array.h: Copied from Source/WebCore/html/canvas/Int16Array.cpp.
* bindings/scripts/test/ObjC/DOMFloat64Array.mm: Copied from Source/WebCore/html/canvas/Float32Array.cpp.
(core):
(kit):
* bindings/scripts/test/ObjC/DOMFloat64ArrayInternal.h: Copied from Source/WebCore/html/canvas/Int16Array.cpp.
* bindings/scripts/test/TestTypedArray.idl: Copied from Source/WebCore/html/canvas/Float64Array.cpp.
* bindings/scripts/test/V8/V8Float64Array.cpp: Added.
(WebCore::Float64ArrayInternal::V8_USE):
(WebCore::ConfigureV8Float64ArrayTemplate):
(WebCore::V8Float64Array::GetRawTemplate):
(WebCore::V8Float64Array::GetTemplate):
(WebCore::V8Float64Array::HasInstance):
(WebCore::V8Float64Array::wrapSlow):
(WTF::Float64Array::neuterBinding):
(WebCore::V8Float64Array::derefObject):
* bindings/scripts/test/V8/V8Float64Array.h: Added.
(WebCore::V8Float64Array::toNative):
(WebCore::V8Float64Array::existingWrapper):
(WebCore::V8Float64Array::wrap):
(WebCore::toV8):
* fileapi/FileReader.h:
* fileapi/FileReaderLoader.h:
* fileapi/FileReaderSync.h:
* fileapi/WebKitBlobBuilder.h:
* html/HTMLMediaElement.h:
* html/canvas/ArrayBuffer.cpp:
* html/canvas/ArrayBuffer.h:
* html/canvas/ArrayBufferView.cpp:
(WTF::ArrayBufferView::setImpl):
(WTF::ArrayBufferView::setRangeImpl):
(WTF::ArrayBufferView::zeroRangeImpl):
(WTF::ArrayBufferView::neuter):
* html/canvas/ArrayBufferView.h:
* html/canvas/Float32Array.cpp:
* html/canvas/Float32Array.h:
(WTF::Float32Array::set):
* html/canvas/Float64Array.cpp:
* html/canvas/Float64Array.h:
(WTF::Float64Array::set):
* html/canvas/Int16Array.cpp:
* html/canvas/Int16Array.h:
(WTF::Int16Array::set):
* html/canvas/Int32Array.cpp:
* html/canvas/Int32Array.h:
(WTF::Int32Array::set):
* html/canvas/Int8Array.cpp:
* html/canvas/Int8Array.h:
(WTF::Int8Array::set):
* html/canvas/IntegralTypedArrayBase.h:
* html/canvas/TypedArrayBase.h:
(WTF::TypedArrayBase::set):
(WTF::TypedArrayBase::setRange):
(WTF::TypedArrayBase::zeroRange):
* html/canvas/Uint16Array.cpp:
* html/canvas/Uint16Array.h:
(WTF::Uint16Array::set):
* html/canvas/Uint32Array.cpp:
* html/canvas/Uint32Array.h:
(WTF::Uint32Array::set):
* html/canvas/Uint8Array.cpp:
* html/canvas/Uint8Array.h:
(WTF::Uint8Array::set):
* html/canvas/WebGLBuffer.h:
* page/Crypto.h:
* webaudio/AsyncAudioDecoder.h:
* webaudio/AudioBuffer.cpp:
(WebCore::AudioBuffer::AudioBuffer):
(WebCore::AudioBuffer::zero):
* webaudio/AudioContext.h:
* webaudio/JavaScriptAudioNode.h:
* webaudio/RealtimeAnalyser.h:
* webaudio/RealtimeAnalyserNode.h:
* webaudio/WaveShaperNode.h:
* websockets/ThreadableWebSocketChannel.h:
* websockets/WebSocket.h:
* websockets/WebSocketChannel.h:
* xml/XMLHttpRequest.h:
2011-11-14 Julien Chaffraix <jchaffraix@webkit.org>
Add --css-grid-layout to build-webkit and the build systems
https://bugs.webkit.org/show_bug.cgi?id=72320
Reviewed by Ojan Vafai.
* Configurations/FeatureDefines.xcconfig:
2011-11-14 Daniel Bates <dbates@rim.com>
Remove unnecessary #include SVGResourcesCache.h in SVGDocumentExtensions.h; use forward declaration
https://bugs.webkit.org/show_bug.cgi?id=72335
Reviewed by Eric Seidel.
It's sufficient to forward declare SVGResourcesCache in SVGDocumentExtensions.h and #include SVGResourcesCache.h
in SVGDocumentExtensions.cpp. This will reduce the number of files we need to re-compile after the file
SVGResourcesCache.h has been modified. Currently we #include SVGResourcesCache.h in SVGDocumentExtensions.h.
* rendering/svg/RenderSVGBlock.cpp: Include SVGResourcesCache.h.
* rendering/svg/RenderSVGContainer.cpp: Ditto.
* rendering/svg/RenderSVGForeignObject.cpp: Ditto.
* rendering/svg/RenderSVGImage.cpp: Ditto.
* rendering/svg/RenderSVGInline.cpp: Ditto.
* rendering/svg/RenderSVGModelObject.cpp: Ditto.
* rendering/svg/RenderSVGPath.cpp: Ditto.
* rendering/svg/RenderSVGResource.cpp: Ditto.
* rendering/svg/RenderSVGResourceClipper.cpp: Ditto.
* rendering/svg/RenderSVGResourceContainer.cpp: Ditto.
* rendering/svg/RenderSVGRoot.cpp: Ditto.
* rendering/svg/RenderSVGText.cpp: Ditto.
* rendering/svg/SVGInlineTextBox.cpp: Ditto.
* rendering/svg/SVGRenderSupport.cpp: Ditto.
* svg/SVGDocumentExtensions.cpp: Ditto.
* svg/SVGDocumentExtensions.h: Forward declare SVGResourcesCache.
2011-11-14 Rafael Weinstein <rafaelw@chromium.org>
[MutationObservers] Add histogram collection for usage of DOM Mutation Events
https://bugs.webkit.org/show_bug.cgi?id=72316
Reviewed by Ryosuke Niwa.
This patch adds six calls in ~Document() which simply pipe-out to the embedder
the (already-collected) bits of whether varous DOM Mutation Events were registered
on the document.
No tests needed. No functional changes.
* dom/Document.cpp:
(WebCore::histogramMutationEventUsage):
(WebCore::Document::~Document):
2011-11-14 Simon Fraser <simon.fraser@apple.com>
div with webkit-transform + webkit-box-reflect disappears when switching tabs
https://bugs.webkit.org/show_bug.cgi?id=53355
Reviewed by Dean Jackson.
Tickle Core Animation into updating the layer's content property when
switching back to a tab which has composited reflections. This hack is
needed becuase reflections involve sharing layer contents between layers.
* platform/graphics/mac/WebLayer.mm:
(-[WebLayer actionForKey:]):
2011-11-14 Adam Barth <abarth@webkit.org>
Unique origins shouldn't remember their scheme, host, or port
https://bugs.webkit.org/show_bug.cgi?id=72308
Reviewed by Eric Seidel.
This patch contains the bulk (all?) of the behavior differences in this
patch series. Unique origins shouldn't remember their schemes. Doing
so causes some privileges (e.g., local access) to leak into unique
origins.
* page/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::SecurityOrigin):
- Explicitly clear out the protocol, host, and port for unique
origins. A future patch will refactor all this code to be more
elegant.
* platform/SchemeRegistry.cpp:
(WebCore::schemesWithUniqueOrigins):
- Merge "about" and "javascript" in with the general case now that
we don't have a separate notion of an empty origin.
2011-11-14 Adam Barth <abarth@webkit.org>
Don't special-case "data" URLs in drag-and-drop logic
https://bugs.webkit.org/show_bug.cgi?id=72322
Reviewed by Eric Seidel.
See the bug for more details.
Test: editing/pasteboard/drag-drop-to-data-url.html
* page/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::canReceiveDragData):
2011-11-14 Adrienne Walker <enne@google.com>
[chromium] Pipe compositor commit/swap up to WebWidgetClient
https://bugs.webkit.org/show_bug.cgi?id=72041
Reviewed by Darin Fisher.
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
(WebCore::CCLayerTreeHost::didCommitAndDrawFrame):
(WebCore::CCLayerTreeHost::didCompleteSwapBuffers):
* platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
(WebCore::CCSingleThreadProxy::doComposite):
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::onSwapBuffersCompleteOnImplThread):
(WebCore::CCThreadProxy::scheduledActionDrawAndSwap):
(WebCore::CCThreadProxy::didCommitAndDrawFrame):
(WebCore::CCThreadProxy::didCompleteSwapBuffers):
* platform/graphics/chromium/cc/CCThreadProxy.h:
2011-11-14 Tony Chang <tony@chromium.org>
Remove the CSS3_FLEXBOX compile time flag and enable on all ports
https://bugs.webkit.org/show_bug.cgi?id=72196
Reviewed by Ojan Vafai.
* Configurations/FeatureDefines.xcconfig:
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSFlexValue.cpp:
* css/CSSFlexValue.h:
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseFlex):
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
* css/CSSProperty.cpp:
(WebCore::CSSProperty::isInheritedProperty):
* css/CSSPropertyNames.in:
* css/CSSStyleApplyProperty.cpp:
(WebCore::ApplyPropertyLength::applyValue):
(WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
* css/CSSValue.cpp:
(WebCore::CSSValue::cssText):
(WebCore::CSSValue::destroy):
* css/CSSValue.h:
* css/CSSValueKeywords.in:
* rendering/RenderFlexibleBox.cpp:
* rendering/RenderFlexibleBox.h:
* rendering/RenderObject.cpp:
(WebCore::RenderObject::createObject):
* rendering/RenderObject.h:
(WebCore::RenderObject::isFlexibleBoxIncludingDeprecated):
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::RenderStyle):
(WebCore::RenderStyle::diff):
* rendering/style/RenderStyle.h:
* rendering/style/RenderStyleConstants.h:
* rendering/style/StyleFlexibleBoxData.cpp:
* rendering/style/StyleFlexibleBoxData.h:
* rendering/style/StyleRareNonInheritedData.cpp:
(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator==):
* rendering/style/StyleRareNonInheritedData.h:
2011-11-14 Vincent Scheib <scheib@chromium.org>
Mouse Lock: Renaming to 'Pointer Lock': Runtime Enable Flags
https://bugs.webkit.org/show_bug.cgi?id=72303
Reviewed by Darin Fisher.
* bindings/generic/RuntimeEnabledFeatures.cpp:
* bindings/generic/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::webkitPointerLockEnabled):
(WebCore::RuntimeEnabledFeatures::setWebkitPointerLockEnabled):
(WebCore::RuntimeEnabledFeatures::webkitPointerEnabled):
* page/Settings.cpp:
(WebCore::Settings::Settings):
* page/Settings.h:
(WebCore::Settings::setPointerLockEnabled):
(WebCore::Settings::PointerLockEnabled):
2011-11-14 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r100176.
http://trac.webkit.org/changeset/100176
https://bugs.webkit.org/show_bug.cgi?id=72309
it broke the Mac builds (missing symbols) in a non-obvious way
(Requested by jchaffraix on #webkit).
* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* bindings/js/JSWebGLRenderingContextCustom.cpp:
(WebCore::toJS):
* bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
(WebCore::toV8Object):
* html/canvas/WebGLExperimentalCompressedTextures.cpp: Removed.
* html/canvas/WebGLExperimentalCompressedTextures.h: Removed.
* html/canvas/WebGLExperimentalCompressedTextures.idl: Removed.
* html/canvas/WebGLExtension.h:
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::getExtension):
(WebCore::WebGLRenderingContext::getParameter):
(WebCore::WebGLRenderingContext::getSupportedExtensions):
* html/canvas/WebGLRenderingContext.h:
* platform/graphics/Extensions3D.h:
* platform/graphics/GraphicsContext3D.h:
* platform/graphics/efl/GraphicsContext3DEfl.cpp:
* platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
* platform/graphics/qt/GraphicsContext3DQt.cpp:
2011-11-14 Tony Chang <tony@chromium.org>
remove -wap-marquee css propery value
https://bugs.webkit.org/show_bug.cgi?id=72296
Reviewed by Adam Barth.
This css value is no longer used.
* css/CSSValueKeywords.in:
2011-11-14 Julien Chaffraix <jchaffraix@webkit.org>
Crash in RenderTableSection::splitColumn
https://bugs.webkit.org/show_bug.cgi?id=70171
Reviewed by David Hyatt.
Tests: fast/table/crash-splitColumn-2.html
fast/table/crash-splitColumn-3.html
fast/table/crash-splitColumn.html
The old code would not take into account the fact that each RenderTableSection
can set its m_needsCellRecalc flag independently of the rest.
This means that you cannot assume that you can always split or append columns to
all the sections. Our approach is to skip sections needing cell recalc in several
parts of the code as they will be properly reset to the table's representations
during a cell recalc.
* rendering/RenderTable.cpp:
(WebCore::RenderTable::splitColumn):
(WebCore::RenderTable::appendColumn):
Skip sections needing cell recalc as they will be properly updated later.
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::addCell):
Ignore a section needing cell recalc as addCell will be called after sync'ing
the internal column representation in recalcCells.
(WebCore::RenderTableSection::recalcCells):
Clear the flag at the beginning of the function to activate the previous functions.
Added a comment as to why this is fine.
(WebCore::RenderTableSection::appendColumn):
Added an ASSERT. If we need cell recalc, we should NEVER update m_grid outside
of recalcCells().
2011-11-14 Adam Barth <abarth@webkit.org>
Remove the concept of an empty SecurityOrigin
https://bugs.webkit.org/show_bug.cgi?id=72287
Reviewed by Eric Seidel.
This concept is fragile and doesn't exist in the specs. Previous
patches have removed most of the code relying upon this function. This
patch removes a couple stragglers.
* page/DOMWindow.cpp:
(WebCore::DOMWindow::postMessage):
- This check should really be about unique origins because it
doesn't make sense to target postMessages at unique origins, as
explained in the comment.
* page/SecurityOrigin.cpp:
* page/SecurityOrigin.h:
2011-11-14 Adam Barth <abarth@webkit.org>
SecurityContext::isSecureTransitionTo should not refer to empty security origins
https://bugs.webkit.org/show_bug.cgi?id=72277
Reviewed by Eric Seidel.
Now that we're tracking the "failed to initialized SecurityOrigin"
state explicitly, we should use that to determine whether we can make a
secure transition.
* dom/SecurityContext.cpp:
(WebCore::SecurityContext::isSecureTransitionTo):
2011-11-14 Vincent Scheib <scheib@chromium.org>
Mouse Lock: Renaming to 'Pointer Lock': ENABLE Flags
https://bugs.webkit.org/show_bug.cgi?id=72286
Reviewed by Adam Barth.
* bindings/generic/RuntimeEnabledFeatures.cpp:
* bindings/generic/RuntimeEnabledFeatures.h:
* dom/MouseEvent.idl:
* dom/MouseRelatedEvent.h:
* page/MouseLockable.cpp:
* page/MouseLockable.h:
* page/MouseLockable.idl:
* page/Navigator.cpp:
* page/Navigator.h:
* page/Navigator.idl:
* page/Settings.cpp:
(WebCore::Settings::Settings):
* page/Settings.h:
2011-11-14 Anna Cavender <annacc@chromium.org>
Remove TextTrackCueIndex and TextTrackCueSet. No longer needed.
https://bugs.webkit.org/show_bug.cgi?id=72216
Reviewed by Sam Weinig.
No new tests. No new functionality.
* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.xcodeproj/project.pbxproj:
* html/TextTrackCueIndex.cpp: Removed.
* html/TextTrackCueIndex.h: Removed.
2011-10-10 Robert Hogan <robert@webkit.org>
CSS 2.1 failure: border-spacing-applies-to-015.htm
https://bugs.webkit.org/show_bug.cgi?id=69773
Reviewed by David Hyatt.
The CSS test suite expects UAs to allow multiple captions per table.
Replace m_caption with a Vector called m_captions.
* rendering/RenderTable.cpp:
(WebCore::RenderTable::RenderTable):
(WebCore::RenderTable::addChild):
(WebCore::RenderTable::removeChild):
(WebCore::RenderTable::adjustLogicalHeightForCaption):
(WebCore::RenderTable::layout):
(WebCore::RenderTable::addOverflowFromChildren):
(WebCore::RenderTable::paintObject):
(WebCore::RenderTable::subtractCaptionRect):
(WebCore::RenderTable::computePreferredLogicalWidths):
(WebCore::RenderTable::nextColElement):
(WebCore::RenderTable::colElement):
(WebCore::RenderTable::recalcCaption):
(WebCore::RenderTable::recalcSections):
(WebCore::RenderTable::overflowClipRect):
(WebCore::RenderTable::nodeAtPoint):
* rendering/RenderTable.h:
2011-11-14 Gregg Tavares <gman@google.com>
Implement WEBGL_EXPERIMENTAL_compressed_textures WebGL extension
https://bugs.webkit.org/show_bug.cgi?id=72086
Reviewed by Kenneth Russell.
No new tests. Will write final test once on hardware.
* CMakeLists.txt:
* GNUmakefile.list.am:
* WebCore.gypi:
* WebCore.pro:
* bindings/js/JSWebGLRenderingContextCustom.cpp:
(WebCore::toJS):
* bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
(WebCore::toV8Object):
* html/canvas/WebGLExperimentalCompressedTextures.cpp: Added.
(WebCore::WebGLExperimentalCompressedTextures::WebGLExperimentalCompressedTextures):
(WebCore::WebGLExperimentalCompressedTextures::~WebGLExperimentalCompressedTextures):
(WebCore::WebGLExperimentalCompressedTextures::getName):
(WebCore::WebGLExperimentalCompressedTextures::create):
(WebCore::WebGLExperimentalCompressedTextures::supported):
(WebCore::WebGLExperimentalCompressedTextures::validateCompressedTexFormat):
(WebCore::WebGLExperimentalCompressedTextures::validateCompressedTexFuncData):
(WebCore::WebGLExperimentalCompressedTextures::validateCompressedTexSubDimensions):
(WebCore::WebGLExperimentalCompressedTextures::compressedTexImage2D):
(WebCore::WebGLExperimentalCompressedTextures::compressedTexSubImage2D):
(WebCore::WebGLExperimentalCompressedTextures::getCompressedTextureFormats):
* html/canvas/WebGLExperimentalCompressedTextures.h: Added.
* html/canvas/WebGLExperimentalCompressedTextures.idl: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
* html/canvas/WebGLExtension.h:
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::getExtension):
(WebCore::WebGLRenderingContext::getParameter):
(WebCore::WebGLRenderingContext::getSupportedExtensions):
* html/canvas/WebGLRenderingContext.h:
* platform/graphics/Extensions3D.h:
* platform/graphics/GraphicsContext3D.h:
* platform/graphics/efl/GraphicsContext3DEfl.cpp:
(WebCore::GraphicsContext3D::compressedTexImage2D):
(WebCore::GraphicsContext3D::compressedTexSubImage2D):
* platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
(WebCore::GraphicsContext3D::compressedTexImage2D):
(WebCore::GraphicsContext3D::compressedTexSubImage2D):
* platform/graphics/qt/GraphicsContext3DQt.cpp:
(WebCore::GraphicsContext3D::compressedTexImage2D):
(WebCore::GraphicsContext3D::compressedTexSubImage2D):
2011-11-14 Michael Nordman <michaeln@google.com>
Return more complete error and exception messages when a
WebSQLDatabase function fails. Produce console logging
for openDatabase() errors and vacuum errors. Add a lastErrorMessage
accessor to the DatabaseSync interface.
https://bugs.webkit.org/show_bug.cgi?id=71575
Reviewed by David Levin.
Yes, see LayoutTests/ChangeLog in this patch.
* platform/sql/SQLiteDatabase.cpp:
(WebCore::SQLiteDatabase::SQLiteDatabase):
(WebCore::SQLiteDatabase::open):
(WebCore::SQLiteDatabase::close):
(WebCore::SQLiteDatabase::lastError):
(WebCore::SQLiteDatabase::lastErrorMsg):
(WebCore::SQLiteDatabase:: runVacuumCommand):
(WebCore::SQLiteDatabase:: runIncrementalVacuumCommand):
Reflect errors in the open() method in lastError() and lastErrorMsg().
Return an error codes for runVacuumCommand() and runIncrementalVacuumCommand().
* platform/sql/SQLiteDatabase.h:
* storage/AbstractDatabase.cpp:
(WebCore::formatErrorMessage):
(WebCore::AbstractDatabase::performOpenAndVerify):
(WebCore::AbstractDatabase::logErrorMessage):
During openAndVerify, produce formatted error messages that include what was being done, the sqlite error code,
and the sqlite error message. Add a helper to log message to the console.
* storage/AbstractDatabase.h:
* storage/ChangeVersionWrapper.cpp:
(WebCore::ChangeVersionWrapper::performPreflight):
(WebCore::ChangeVersionWrapper::performPostflight):
* storage/Database.cpp:
(WebCore::Database::openDatabase):
(WebCore::Database::openAndVerifyVersion):
(WebCore::Database::performOpenAndVerify):
* storage/Database.h:
* storage/DatabaseSync.cpp:
(WebCore::DatabaseSync::openDatabaseSync):
(WebCore::DatabaseSync::changeVersion):
(WebCore::DatabaseSync::runTransaction):
* storage/DatabaseSync.h:
(WebCore::DatabaseSync::lastErrorMessage):
(WebCore::DatabaseSync::setLastErrorMessage):
* storage/DatabaseSync.idl:
Add a lastErrorMessage attribute so javascript callers can
retrieve more detailed information about what went wrong.
* storage/DatabaseTask.cpp:
(WebCore::Database::DatabaseOpenTask::DatabaseOpenTask):
(WebCore::Database::DatabaseOpenTask::doPerformTask):
* storage/DatabaseTask.h:
(WebCore::Database::DatabaseOpenTask::create):
Return an errorMessage in addition to the exception code.
* storage/SQLError.h:
(WebCore::SQLError::create):
Add helpers to produced formatted error messages.
* storage/SQLStatement.cpp:
(WebCore::SQLStatement::execute):
* storage/SQLStatementSync.cpp:
(WebCore::SQLStatementSync::execute):
* storage/SQLTransaction.cpp:
(WebCore::SQLTransaction::openTransactionAndPreflight):
(WebCore::SQLTransaction::postflightAndCommit):
* storage/SQLTransactionSync.cpp:
(WebCore::SQLTransactionSync::executeSQL):
(WebCore::SQLTransactionSync::begin):
(WebCore::SQLTransactionSync::execute):
(WebCore::SQLTransactionSync::commit):
2011-11-14 Adam Barth <abarth@webkit.org>
SecurityOrigin inheritance should depend on document URL, not on "emptiness" of the SecurityOrigin
https://bugs.webkit.org/show_bug.cgi?id=72283
Reviewed by Sam Weinig.
This change aligns our implementation more closely with the spec. I
don't think this change has an observable effects, but it moves us
closer to removing the concept of an empty security origin.
* dom/Document.cpp:
(WebCore::shouldInheritSecurityOriginFromOwner):
(WebCore::Document::initSecurityContext):
2011-11-14 Erik Arvidsson <arv@chromium.org>
Remove getParameter from HTMLAnchorElement and Location
https://bugs.webkit.org/show_bug.cgi?id=71966
Reviewed by Adam Barth.
* html/HTMLAnchorElement.cpp: Removed getParameter.
* html/HTMLAnchorElement.h: Ditto.
* html/HTMLAnchorElement.idl: Ditto.
* page/Location.cpp: Ditto.
* page/Location.h: Ditto.
* page/Location.idl: Ditto.
2011-11-14 Erik Arvidsson <arv@chromium.org>
Remove RequiresAllArguments
https://bugs.webkit.org/show_bug.cgi?id=71503
Reviewed by Adam Barth.
This removes RequiresAllArguments from the idl files as well as from the code generators.
For window.move/resize/scroll we now match IE and treat missing arguments as 0.
For Clipboard we now match Gecko and IE and throw an exception when setData is called with too few arguments.
Test: fast/events/drag-and-drop-set-drag-data-arguments.html
* bindings/js/JSSVGLengthCustom.cpp:
(WebCore::JSSVGLength::convertToSpecifiedUnits):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateArgumentsCountCheck): Remove RequiresAllArguments.
* bindings/scripts/CodeGeneratorV8.pm:
(GenerateArgumentsCountCheck): Ditto.
* 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:
* bindings/scripts/test/JS/JSTestObj.h:
* 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):
* dom/Clipboard.idl: Remove [RequireAllArguments] from setData which actually means we now require all arguments and throw instead of silently fail.
* page/DOMWindow.idl: Treat missing arguments as 0 which makes us match IE.
* websockets/WebSocket.idl: Comment changes only.
2011-11-08 Jer Noble <jer.noble@apple.com>
Implement MediaController.
https://bugs.webkit.org/show_bug.cgi?id=71408
Reviewed by Eric Carlson.
Tests: media/media-controller-playback.html
media/media-controller.html
Adds support for the MediaController DOM object, and the mediagroup and mediacontroller
HTMLMediaElement attributes.
MediaController is an DOM object which synchronizes playback of multiple HTMLMediaElements. It can
either be created by a page script and assigned to a HTMLMediaElement using the controller property,
or all HTMLMediaElements with identical mediagroup attributes will have a MediaController assigned
automatically.
Add an abstract interface implemented by both MediaController and HTMLMediaElement.
* html/MediaControllerInterface.h: Added.
(WebCore::MediaControllerInterface::~MediaControllerInterface):
Add the MediaController object and IDL.
* html/MediaController.cpp: Added.
(mediaGroupToMediaControllerMap):
(MediaController::mediaControllerForMediaGroup):
(MediaController::create):
(MediaController::MediaController):
(MediaController::~MediaController):
(MediaController::addMediaElement):
(MediaController::removeMediaElement):
(MediaController::containsMediaElement):
(MediaController::buffered):
(MediaController::seekable):
(MediaController::played):
(MediaController::duration):
(MediaController::currentTime):
(MediaController::setCurrentTime):
(MediaController::play):
(MediaController::pause):
(MediaController::setDefaultPlaybackRate):
(MediaController::setPlaybackRate):
(MediaController::setVolume):
(MediaController::setMuted):
(MediaController::reportControllerState):
(MediaController::updateReadyState):
(MediaController::updatePlaybackState):
(MediaController::updateMediaElements):
(MediaController::scheduleEvent):
(MediaController::asyncEventTimerFired):
(MediaController::scriptExecutionContext):
(MediaController::hasAudio):
(MediaController::hasVideo):
(MediaController::hasClosedCaptions):
(MediaController::setClosedCaptionsVisible):
(MediaController::supportsScanning):
(MediaController::beginScrubbing):
(MediaController::endScrubbing):
(MediaController::canPlay):
(MediaController::isLiveStream):
(MediaController::hasSource):
(MediaController::returnToRealtime):
(MediaController::isBlocked):
(MediaController::hasEnded):
* html/MediaController.h: Added.
(WebCore::MediaController::mediaGroup):
(WebCore::MediaController::paused):
(WebCore::MediaController::defaultPlaybackRate):
(WebCore::MediaController::playbackRate):
(WebCore::MediaController::volume):
(WebCore::MediaController::muted):
(WebCore::MediaController::readyState):
(WebCore::MediaController::playbackState):
(WebCore::MediaController::supportsFullscreen):
(WebCore::MediaController::isFullscreen):
(WebCore::MediaController::enterFullscreen):
(WebCore::MediaController::closedCaptionsVisible):
(WebCore::MediaController::refEventTarget):
(WebCore::MediaController::derefEventTarget):
(WebCore::MediaController::toMediaController):
(WebCore::MediaController::eventTargetData):
(WebCore::MediaController::ensureEventTargetData):
* html/MediaController.idl: Added.
Add convenience functions to TimeRanges which can calculate intersections and
unions between TimeRanges objects.
* html/TimeRanges.cpp:
(TimeRanges::copy):
(TimeRanges::invert):
(TimeRanges::intersectWith):
(TimeRanges::unionWith):
* html/TimeRanges.h:
Add MediaControllerConstructor to the Window object.
* page/DOMWindow.idl:
Add the two new attribute names, mediagroup and controller.
* html/HTMLAttributeNames.in:
Add support for the new attributes, and add overridden behavior when a media element
has a current media controller:
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::~HTMLMediaElement):
(WebCore::HTMLMediaElement::parseMappedAttribute):
(WebCore::HTMLMediaElement::prepareForLoad):
(WebCore::HTMLMediaElement::setReadyState):
(WebCore::HTMLMediaElement::setCurrentTime):
(WebCore::HTMLMediaElement::setPlaybackRate):
(WebCore::HTMLMediaElement::playInternal):
(WebCore::HTMLMediaElement::togglePlayState):
(WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
(WebCore::HTMLMediaElement::seekable):
(WebCore::HTMLMediaElement::potentiallyPlaying):
(WebCore::HTMLMediaElement::endedPlayback):
(WebCore::HTMLMediaElement::updateVolume):
(WebCore::HTMLMediaElement::updatePlayState):
(WebCore::HTMLMediaElement::userCancelledLoad):
(WebCore::HTMLMediaElement::mediaGroup):
(WebCore::HTMLMediaElement::setMediaGroup):
(WebCore::HTMLMediaElement::controller):
(WebCore::HTMLMediaElement::setController):
(WebCore::HTMLMediaElement::updateMediaController):
(WebCore::HTMLMediaElement::isBlockedOnMediaController):
* html/HTMLMediaElement.h:
(WebCore::HTMLMediaElement::hasSource):
(WebCore::HTMLMediaElement::isLiveStream):
* html/HTMLMediaElement.idl:
* bindings/js/JSHTMLMediaElementCustom.cpp: Added.
(WebCore::JSHTMLMediaElement::setMediaController):
Add convenience functions to store a mapping of media-elements-per-document to allow
a quick lookup of media elements with the same media group within a given document:
* html/HTMLMediaElement.cpp:
(WebCore::documentToElementSetMap):
(WebCore::addElementToDocumentMap):
(WebCore::removeElementFromDocumentMap):
Add a function "seekable" which returns a TimeRanges containing the seekable time ranges
in a media element. By default this is a single range of [0, maxTimeSeekable].
* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::seekable):
* platform/graphics/MediaPlayer.h:
* platform/graphics/MediaPlayerPrivate.h:
(WebCore::MediaPlayerPrivateInterface::seekable):
Support functions to cast between MediaController and EventTarget.
* bindings/js/JSEventTarget.cpp:
(WebCore::toJS):
* dom/EventTarget.cpp:
(WebCore::EventTarget::toMediaController):
* dom/EventTarget.h:
Fixed an infinite-recursion bug due to a collision between WTF::currentTime and
ClockGeneric::currentTime:
* platform/ClockGeneric.cpp:
(ClockGeneric::ClockGeneric):
(ClockGeneric::setCurrentTime):
(ClockGeneric::currentTime):
(ClockGeneric::setPlayRate):
(ClockGeneric::start):
(ClockGeneric::stop):
(ClockGeneric::now):
* platform/ClockGeneric.h:
Boilerplate to support creating the derived sources for MediaController and adding new sources
to the project:
* CMakeLists.txt:
* DerivedSources.cpp:
* DerivedSources.make:
* GNUmakefile.list.am:
* WebCore.gypi:
* WebCore.xcodeproj/project.pbxproj:
2011-11-14 Florin Malita <fmalita@google.com>
Multiple foreign objects not rendered
https://bugs.webkit.org/show_bug.cgi?id=72151
Reviewed by Adam Barth.
SVG end tags need to be case-adjusted (just like their start counterparts).
Test: svg/foreignObject/multiple-foreign-objects.html
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processEndTag):
2011-11-14 Mario Sanchez Prada <msanchez@igalia.com>
Add support for the caretBrowsingEnabled preference in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=72266
Reviewed by Chris Fleizach.
* WebCore.exp.in: Exported settings for setCaretBrowsingEnabled.
2011-11-14 Jonathan Backer <backer@chromium.org>
[chromium] Plumb through partial swap
https://bugs.webkit.org/show_bug.cgi?id=72028
Reviewed by Kenneth Russell.
* platform/graphics/chromium/Extensions3DChromium.h:
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::initialize):
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
(WebCore::LayerRendererCapabilities::LayerRendererCapabilities):
2011-11-14 Andrey Kosyakov <caseq@chromium.org>
Web Inspector: expose iframe window to the onShown event handler of panels & sidebars
https://bugs.webkit.org/show_bug.cgi?id=72268
Reviewed by Pavel Feldman.
- replace IFrameView with ExtensionView;
- inherit both ExtensionPanel and ExtensionSidebarPane from ExtensionView in the API;
- move Panel.{onShow|onHide} to ExtensionView, effectively disabling show/hide notifications for non-extension panels and enabling it for sidebar panes;
- expose iframe's window object in the onShow event handler.
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/compile-front-end.sh:
* inspector/front-end/ExtensionAPI.js:
(injectedExtensionAPI.ExtensionViewImpl.dispatchShowEvent):
(injectedExtensionAPI):
(injectedExtensionAPI.PanelWithSidebarImpl):
(injectedExtensionAPI.ExtensionPanelImpl):
(injectedExtensionAPI.ExtensionSidebarPaneImpl):
* inspector/front-end/ExtensionPanel.js:
(WebInspector.ExtensionView):
(WebInspector.ExtensionView.prototype.wasShown):
(WebInspector.ExtensionView.prototype.willHide):
(WebInspector.ExtensionView.prototype._onLoad):
(WebInspector.ExtensionPanel):
(WebInspector.ExtensionSidebarPane.prototype.setPage):
* inspector/front-end/ExtensionServer.js:
(WebInspector.ExtensionServer.prototype.notifyViewShown):
(WebInspector.ExtensionServer.prototype.notifyViewHidden):
(WebInspector.ExtensionServer.prototype._onCreatePanel):
* inspector/front-end/IFrameView.js: Removed.
* inspector/front-end/Panel.js:
(WebInspector.Panel.prototype.wasShown):
(WebInspector.Panel.prototype.willHide):
* inspector/front-end/WebKit.qrc:
* inspector/front-end/inspector.html:
2011-11-14 Yury Semikhatsky <yurys@chromium.org>
Web Inspector: add 'Show function definition' context menu item for function values
https://bugs.webkit.org/show_bug.cgi?id=72265
Allow navigating to JavaScript function definition using context menu.
Reviewed by Pavel Feldman.
* English.lproj/localizedStrings.js:
* inspector/front-end/DebuggerPresentationModel.js:
(WebInspector.DebuggerPresentationModel.prototype.rawLocationToUILocation):
* inspector/front-end/ObjectPropertiesSection.js:
(WebInspector.ObjectPropertyTreeElement.prototype.update):
(WebInspector.ObjectPropertyTreeElement.prototype._functionContextMenuEventFired):
(WebInspector.ObjectPropertyTreeElement.prototype._functionContextMenuEventFired.revealFunction):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype.showFunctionDefinition):
* inspector/front-end/inspector.js:
(WebInspector.showPanelForAnchorNavigation):
2011-11-14 Pavel Feldman <pfeldman@google.com>
Web Inspector: console's protocol payload does not have url and line properties.
https://bugs.webkit.org/show_bug.cgi?id=72256
Reviewed by Yury Semikhatsky.
Test: inspector/console/console-url-and-line.html
* inspector/ConsoleMessage.cpp:
(WebCore::ConsoleMessage::ConsoleMessage):
* inspector/front-end/ConsoleMessage.js:
(WebInspector.ConsoleMessageImpl):
2011-11-14 Pavel Feldman <pfeldman@google.com>
Web Inspector: [regression r99960] null callback access.
https://bugs.webkit.org/show_bug.cgi?id=72263
Reviewed by Yury Semikhatsky.
* inspector/CodeGeneratorInspector.py:
2011-11-14 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
[Qt] Unbreak the build on Mac OS X
QMacStyle is guarded by Q_WS_MAC, which is not the case for QPA. Until
that's been fixed in Qt we have to use the same guards in WebKit, not
Q_OS_MAC.
* platform/qt/RenderThemeQStyle.cpp:
(WebCore::RenderThemeQStyle::RenderThemeQStyle):
(WebCore::RenderThemeQStyle::adjustButtonStyle):
(WebCore::RenderThemeQStyle::paintMenuList):
(WebCore::RenderThemeQStyle::paintInnerSpinButton):
* platform/qt/ScrollbarThemeQt.cpp:
(WebCore::ScrollbarThemeQt::paint):
2011-11-14 Simon Hausmann <simon.hausmann@nokia.com>
[Qt] Replace use of QApplication with QGuiApplication.
Reviewed by Tor Arne Vestbø.
Replace use of QApplication by QGuiApplication where applicable.
* platform/qt/RenderThemeQt.cpp:
(WebCore::RenderThemeQt::RenderThemeQt):
(WebCore::RenderThemeQt::platformActiveSelectionBackgroundColor):
(WebCore::RenderThemeQt::platformInactiveSelectionBackgroundColor):
(WebCore::RenderThemeQt::platformActiveSelectionForegroundColor):
(WebCore::RenderThemeQt::platformInactiveSelectionForegroundColor):
(WebCore::RenderThemeQt::platformFocusRingColor):
(WebCore::RenderThemeQt::systemColor):
(WebCore::RenderThemeQt::minimumMenuListSize):
(WebCore::RenderThemeQt::getMediaControlForegroundColor):
(WebCore::RenderThemeQt::paintMediaVolumeSliderTrack):
(WebCore::RenderThemeQt::caretBlinkInterval):
2011-11-14 Jaehoon Jeong <jh4u.jeong@samsung.com>
[CMAKE] Add the UseV8.cmake to WebCore.
https://bugs.webkit.org/show_bug.cgi?id=72000
Reviewed by Daniel Bates.
Add the UseV8.cmake to WebCore to build bindings of V8 and
generate JavaScript codes given IDL input.
* UseV8.cmake: Added.
2011-11-11 Pierre Rossi <pierre.rossi@gmail.com>
[Qt] Remove the QStyle dependency in Qt's mobile theme
https://bugs.webkit.org/show_bug.cgi?id=67773
This refactoring splits up RenderThemeQt with two
subclasses, a QStyle-backed one, and a Mobile version
that uses the old mobile theme for now.
QStyle availability is detected at compile time, and
its use is determined by the QT_WEBKIT_USE_MOBILE_THEME
environment variable.
Reviewed by Simon Hausmann.
Covered by the existing tests.
* Target.pri:
* platform/qt/QtMobileWebStyle.cpp: Removed. The relevant logic
now lives within RenderThemeQtMobile.
* platform/qt/QtMobileWebStyle.h: Removed. Ditto.
* platform/qt/RenderThemeQStyle.cpp: Added.
(WebCore::initStyleOption):
(WebCore::RenderThemeQStyle::getStylePainter):
(WebCore::StylePainterQStyle::StylePainterQStyle):
(WebCore::StylePainterQStyle::init):
(WebCore::RenderThemeQStyle::create):
(WebCore::RenderThemeQStyle::RenderThemeQStyle):
(WebCore::RenderThemeQStyle::~RenderThemeQStyle):
(WebCore::RenderThemeQStyle::fallbackStyle):
(WebCore::RenderThemeQStyle::qStyle):
(WebCore::RenderThemeQStyle::findFrameLineWidth):
(WebCore::RenderThemeQStyle::inflateButtonRect):
(WebCore::RenderThemeQStyle::computeSizeBasedOnStyle):
(WebCore::RenderThemeQStyle::adjustButtonStyle):
(WebCore::RenderThemeQStyle::setButtonPadding):
(WebCore::RenderThemeQStyle::paintButton):
(WebCore::RenderThemeQStyle::adjustTextFieldStyle):
(WebCore::RenderThemeQStyle::paintTextField):
(WebCore::RenderThemeQStyle::adjustTextAreaStyle):
(WebCore::RenderThemeQStyle::paintTextArea):
(WebCore::RenderThemeQStyle::setPopupPadding):
(WebCore::RenderThemeQStyle::paintMenuList):
(WebCore::RenderThemeQStyle::adjustMenuListButtonStyle):
(WebCore::RenderThemeQStyle::paintMenuListButton):
(WebCore::RenderThemeQStyle::animationDurationForProgressBar):
(WebCore::RenderThemeQStyle::paintProgressBar):
(WebCore::RenderThemeQStyle::paintSliderTrack):
(WebCore::RenderThemeQStyle::adjustSliderTrackStyle):
(WebCore::RenderThemeQStyle::paintSliderThumb):
(WebCore::RenderThemeQStyle::adjustSliderThumbStyle):
(WebCore::RenderThemeQStyle::paintSearchField):
(WebCore::RenderThemeQStyle::adjustSearchFieldStyle):
(WebCore::RenderThemeQStyle::adjustSearchFieldDecorationStyle):
(WebCore::RenderThemeQStyle::paintSearchFieldDecoration):
(WebCore::RenderThemeQStyle::adjustSearchFieldResultsDecorationStyle):
(WebCore::RenderThemeQStyle::paintSearchFieldResultsDecoration):
(WebCore::RenderThemeQStyle::paintInnerSpinButton):
(WebCore::RenderThemeQStyle::initializeCommonQStyleOptions):
(WebCore::RenderThemeQStyle::adjustSliderThumbSize):
* platform/qt/RenderThemeQStyle.h: Added.
(WebCore::StylePainterQStyle::isValid):
(WebCore::StylePainterQStyle::drawPrimitive):
(WebCore::StylePainterQStyle::drawControl):
(WebCore::StylePainterQStyle::drawComplexControl):
* platform/qt/RenderThemeQt.cpp:
(WebCore::RenderThemeQt::RenderThemeQt):
(WebCore::RenderThemeQt::isControlStyled):
(WebCore::RenderThemeQt::inflateButtonRect):
(WebCore::RenderThemeQt::adjustRepaintRect):
(WebCore::RenderThemeQt::minimumMenuListSize):
(WebCore::RenderThemeQt::adjustTextFieldStyle):
(WebCore::RenderThemeQt::adjustMenuListStyle):
(WebCore::RenderThemeQt::adjustMenuListButtonStyle):
(WebCore::RenderThemeQt::adjustProgressBarStyle):
(WebCore::RenderThemeQt::paintSearchFieldCancelButton):
(WebCore::RenderThemeQt::adjustInnerSpinButtonStyle):
(WebCore::RenderThemeQt::setPaletteFromPageClientIfExists):
(WebCore::RenderThemeQt::paintMediaFullscreenButton):
(WebCore::RenderThemeQt::paintMediaMuteButton):
(WebCore::RenderThemeQt::paintMediaPlayButton):
(WebCore::RenderThemeQt::paintMediaCurrentTime):
(WebCore::RenderThemeQt::paintMediaVolumeSliderTrack):
(WebCore::RenderThemeQt::paintMediaVolumeSliderThumb):
(WebCore::RenderThemeQt::paintMediaSliderTrack):
(WebCore::RenderThemeQt::paintMediaSliderThumb):
(WebCore::RenderThemeQt::adjustSliderThumbSize):
(WebCore::RenderThemeQt::caretBlinkInterval):
(WebCore::RenderThemeQt::fileListNameForWidth):
(WebCore::StylePainter::StylePainter):
(WebCore::StylePainter::init):
(WebCore::StylePainter::~StylePainter):
* platform/qt/RenderThemeQt.h:
(WebCore::RenderThemeQt::useMobileTheme):
(WebCore::StylePainter::isValid):
* platform/qt/RenderThemeQtMobile.cpp: Added.
(WebCore::drawRectangularControlBackground):
(WebCore::RenderThemeQtMobile::getStylePainter):
(WebCore::StylePainterMobile::StylePainterMobile):
(WebCore::StylePainterMobile::drawChecker):
(WebCore::StylePainterMobile::findChecker):
(WebCore::StylePainterMobile::drawRadio):
(WebCore::StylePainterMobile::findRadio):
(WebCore::StylePainterMobile::drawMultipleComboButton):
(WebCore::StylePainterMobile::drawSimpleComboButton):
(WebCore::StylePainterMobile::getButtonImageSize):
(WebCore::StylePainterMobile::findComboButton):
(WebCore::StylePainterMobile::drawLineEdit):
(WebCore::StylePainterMobile::drawCheckBox):
(WebCore::StylePainterMobile::drawRadioButton):
(WebCore::StylePainterMobile::drawPushButton):
(WebCore::StylePainterMobile::drawComboBox):
(WebCore::RenderThemeQtMobile::create):
(WebCore::RenderTheme::themeForPage):
(WebCore::RenderThemeQtMobile::RenderThemeQtMobile):
(WebCore::RenderThemeQtMobile::~RenderThemeQtMobile):
(WebCore::RenderThemeQtMobile::isControlStyled):
(WebCore::RenderThemeQtMobile::popupInternalPaddingBottom):
(WebCore::RenderThemeQtMobile::computeSizeBasedOnStyle):
(WebCore::RenderThemeQtMobile::adjustButtonStyle):
(WebCore::RenderThemeQtMobile::setButtonPadding):
(WebCore::RenderThemeQtMobile::paintButton):
(WebCore::RenderThemeQtMobile::adjustTextFieldStyle):
(WebCore::RenderThemeQtMobile::paintTextField):
(WebCore::RenderThemeQtMobile::adjustMenuListStyle):
(WebCore::RenderThemeQtMobile::setPopupPadding):
(WebCore::RenderThemeQtMobile::paintMenuList):
(WebCore::RenderThemeQtMobile::paintMenuListButton):
(WebCore::RenderThemeQtMobile::animationDurationForProgressBar):
(WebCore::RenderThemeQtMobile::paintProgressBar):
(WebCore::RenderThemeQtMobile::paintSliderTrack):
(WebCore::RenderThemeQtMobile::paintSliderThumb):
(WebCore::RenderThemeQtMobile::checkMultiple):
(WebCore::RenderThemeQtMobile::setPaletteFromPageClientIfExists):
(WebCore::RenderThemeQtMobile::adjustSliderThumbSize):
* platform/qt/RenderThemeQtMobile.h: Added.
* platform/qt/ScrollbarThemeQt.cpp:
(WebCore::ScrollbarTheme::nativeTheme):
(WebCore::ScrollbarThemeQt::paint):
(WebCore::ScrollbarThemeQt::scrollbarThickness):
(WebCore::ScrollbarThemeQt::paintScrollCorner):
2011-11-14 Adam Barth <abarth@webkit.org>
SecurityContext should track whether the SecurityOrigin has been initialized
https://bugs.webkit.org/show_bug.cgi?id=72250
Reviewed by Eric Seidel.
This patch is another step towards https://bugs.webkit.org/show_bug.cgi?id=71745.
One of the things we use "empty" SecurityOrigins for is detecting
whether a Document's SecurityOrigin has been initialized. In this
patch, we track that state directly on SecurityContext (which is a base
class of Document), moving us closer to removing the concept of an
empty SecurityOrigin.
* dom/Document.cpp:
(WebCore::Document::initSecurityContext):
* dom/SecurityContext.cpp:
(WebCore::SecurityContext::SecurityContext):
(WebCore::SecurityContext::setSecurityOrigin):
* dom/SecurityContext.h:
(WebCore::SecurityContext::didFailToInitializeSecurityOrigin):
(WebCore::SecurityContext::haveInitializedSecurityOrigin):
2011-11-14 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Fix make distcheck build.
* GNUmakefile.list.am: Add missing files.
2011-11-14 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: Give HTML ContextMenu a more Native look
https://bugs.webkit.org/show_bug.cgi?id=72207
Reviewed by Pavel Feldman.
* inspector/front-end/SoftContextMenu.js:
(.WebInspector.SoftContextMenu.prototype._createMenuItem):
Give the checkmark a class name so that it can be styled more
with CSS instead of with JavaScript.
* inspector/front-end/inspector.css:
(.soft-context-menu): tweak the border and shadow.
(.soft-context-menu-item): tweak the font size and positioning.
(.soft-context-menu-separator): tweak the whitespace.
(.soft-context-menu-item-mouse-over): solid blue for non-mac platforms.
(body.platform-mac .soft-context-menu-item-mouse-over): gradient for mac platforms.
(.soft-context-menu-item-checkmark): gray color normally.
(.soft-context-menu-item-mouse-over .soft-context-menu-item-checkmark): white on hover.
2011-11-10 Yury Semikhatsky <yurys@chromium.org>
Web Inspector: function remote objetct should provide access to function position in the script
https://bugs.webkit.org/show_bug.cgi?id=71808
Added Debugger.getFunctionLocation command for resolving function location including
start line, column and script id.
Reviewed by Pavel Feldman.
Test: inspector/debugger/function-location.html
* bindings/js/JSInjectedScriptHostCustom.cpp:
(WebCore::JSInjectedScriptHost::functionLocation):
* bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
(WebCore::V8InjectedScriptHost::functionLocationCallback):
* inspector/InjectedScript.cpp:
(WebCore::InjectedScript::getFunctionLocation):
* inspector/InjectedScript.h:
* inspector/InjectedScriptHost.idl:
* inspector/InjectedScriptSource.js:
(.):
* inspector/Inspector.json:
* inspector/InspectorDebuggerAgent.cpp:
(WebCore::InspectorDebuggerAgent::getFunctionLocation):
* inspector/InspectorDebuggerAgent.h:
2011-11-14 Rakesh KN <rakesh.kn@motorola.com>
Cannot select multiple options by mouse dragging in <select multiple="multiple" size="7"> list
https://bugs.webkit.org/show_bug.cgi?id=70496
Reviewed by Kent Tamura.
Select Multiple options in a select element with a mouse drag when no. of options
are less than the no. specified in size attribute.
Other browsers(IE, Opera, Firefox) support this feature
Test: fast/forms/select-multiple-elements-with-mouse-drag-with-options-less-than-size.html
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
Handled mouse move event with Left button pressed. We select the options under mouse
when mouse drag happens and the select element cannot autoscroll.
2011-11-14 Yury Semikhatsky <yurys@chromium.org>
Web Inspector: [chromium] list dedicated workers in case inspector opened post-worker creation.
https://bugs.webkit.org/show_bug.cgi?id=72020
Collect information about dedicated workers even when inspector is closed. This
way we can list all dedicated workers if the front-end opens later.
Reviewed by Pavel Feldman.
Test: http/tests/inspector-enabled/dedicated-workers-list.html
* inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::didStartWorkerContext):
* inspector/InspectorWorkerAgent.cpp:
(WebCore::InspectorWorkerAgent::InspectorWorkerAgent):
(WebCore::InspectorWorkerAgent::~InspectorWorkerAgent):
(WebCore::InspectorWorkerAgent::setFrontend):
(WebCore::InspectorWorkerAgent::restore):
(WebCore::InspectorWorkerAgent::clearFrontend):
(WebCore::InspectorWorkerAgent::setWorkerInspectionEnabled):
(WebCore::InspectorWorkerAgent::didStartWorkerContext):
(WebCore::InspectorWorkerAgent::workerContextTerminated):
(WebCore::InspectorWorkerAgent::createWorkerFrontendChannelsForExistingWorkers):
(WebCore::InspectorWorkerAgent::destroyWorkerFrontendChannels):
(WebCore::InspectorWorkerAgent::createWorkerFrontendChannel):
* inspector/InspectorWorkerAgent.h:
2011-11-14 Zalan Bujtas <zbujtas@gmail.com>
Build breaks with --no-javascript-debugger --no-inspector
https://bugs.webkit.org/show_bug.cgi?id=72228
Reviewed by Simon Hausmann.
* workers/WorkerMessagingProxy.cpp:
(WebCore::PostMessageToPageInspectorTask::performTask):
(WebCore::WorkerMessagingProxy::connectToInspector):
* workers/WorkerThread.cpp:
(WebCore::WorkerThread::workerThread):
2011-11-14 Kentaro Hara <haraken@chromium.org>
Remove all custom constructors of Events in V8
https://bugs.webkit.org/show_bug.cgi?id=72074
Reviewed by Adam Barth.
V8 has [ConstructorTemplate=Event] IDL, which generates
Event constructors. This patch removes all the custom constructors
in V8EventConstructors.cpp and generates them using
[ConstructorTemplate=Event] IDL.
Tests: fast/events/constructors/before-load-event-constructor.html
fast/events/constructors/close-event-constructor.html
fast/events/constructors/custom-event-constructor.html
fast/events/constructors/error-event-constructor.html
fast/events/constructors/event-constructors.html
fast/events/constructors/hash-change-event-constructor.html
fast/events/constructors/message-event-constructor.html
fast/events/constructors/overflow-event-constructor.html
fast/events/constructors/page-transition-event-constructor.html
fast/events/constructors/pop-state-event-constructor.html
fast/events/constructors/progress-event-constructor.html
fast/events/constructors/track-event-constructor.html
fast/events/constructors/webkit-animation-event-constructor.html
fast/events/constructors/webkit-transition-event-constructor.html
* Target.pri: Removed V8EventConstructors.cpp.
* WebCore.gypi: Ditto.
* bindings/v8/custom/V8EventConstructors.cpp: Removed.
* dom/BeforeLoadEvent.idl: Replaced [V8CustomConstructor] with [V8ConstructorTemplate=Event]. Added [InitializedByConstructor] IDL to attributes that can be initialized by the generated constructor.
* dom/CustomEvent.idl: Ditto.
* dom/ErrorEvent.idl: Ditto.
* dom/HashChangeEvent.idl: Ditto.
* dom/MessageEvent.idl: Ditto.
* dom/OverflowEvent.idl: Ditto.
* dom/PageTransitionEvent.idl: Ditto.
* dom/PopStateEvent.idl: Ditto.
* dom/ProgressEvent.idl: Ditto.
* dom/WebKitAnimationEvent.idl: Ditto.
* dom/WebKitTransitionEvent.idl: Ditto.
* html/track/TrackEvent.idl: Ditto.
* websockets/CloseEvent.idl: Ditto.
2011-11-13 Patrick Gansterer <paroga@webkit.org>
[WX] Make FontPlatformData::m_size private
https://bugs.webkit.org/show_bug.cgi?id=72214
Reviewed by Andreas Kling.
Also change the order of member variables to match
the order in the constructor to fix many warnings.
* platform/graphics/wx/FontPlatformData.h:
2011-11-13 Adam Barth <abarth@webkit.org>
Document::initSecurityOrigin should return earlier more often
https://bugs.webkit.org/show_bug.cgi?id=72244
Reviewed by Eric Seidel.
This minor tweak was suggested by Darin to make the subsequent patches
easier to read.
* dom/Document.cpp:
(WebCore::Document::initSecurityContext):
2011-11-13 Adam Barth <abarth@webkit.org>
SecurityPolicy should refer to isUnique rather than isEmpty
https://bugs.webkit.org/show_bug.cgi?id=72242
Reviewed by Eric Seidel.
It doesn't make sense to tweak the security policy for unique origins
because they're different every time. Previously, this code checked
for empty origins, which are technically a subset of unique origins. I
don't think it's possible to call this code in a way that can detect
the difference, but we're eventually going to remove the isEmpty
function.
* page/SecurityPolicy.cpp:
(WebCore::SecurityPolicy::addOriginAccessWhitelistEntry):
(WebCore::SecurityPolicy::removeOriginAccessWhitelistEntry):
2011-11-13 Adam Barth <abarth@webkit.org>
Move isSecureTransitionTo from SecurityOrigin to SecurityContext
https://bugs.webkit.org/show_bug.cgi?id=72241
Reviewed by Eric Seidel.
This patch is a step towards breaking the patch for
https://bugs.webkit.org/show_bug.cgi?id=71745 up into tiny,
digestible pieces.
* dom/SecurityContext.cpp:
(WebCore::SecurityContext::isSecureTransitionTo):
* dom/SecurityContext.h:
* loader/DocumentWriter.cpp:
(WebCore::DocumentWriter::begin):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::stopLoading):
* page/SecurityOrigin.cpp:
* page/SecurityOrigin.h:
2011-11-13 Nat Duca <nduca@chromium.org>
[chromium] LayerRendererChromium::initialize should fail when GaphicsContext3D::makeCurrent fails
https://bugs.webkit.org/show_bug.cgi?id=72102
Reviewed by James Robinson.
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::initialize):
(WebCore::LayerRendererChromium::releaseRenderSurfaceTextures):
(WebCore::LayerRendererChromium::makeContextCurrent):
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::initializeLayerRendererOnImplThread):
2011-11-11 Vincent Scheib <scheib@chromium.org>
Mouse Lock: MouseEvent IDL
https://bugs.webkit.org/show_bug.cgi?id=72158
Reviewed by Dimitri Glazkov.
Tests for movementX/Y pending mock mouse lock test infrastructure.
* dom/MouseEvent.idl:
* dom/MouseRelatedEvent.h:
(WebCore::MouseRelatedEvent::movementX):
(WebCore::MouseRelatedEvent::movementY):
2011-11-13 Julien Chaffraix <jchaffraix@webkit.org>
REGRESSION(99849): NULL-deref in updateLastMediaLine when parsing some media-queries
https://bugs.webkit.org/show_bug.cgi?id=72222
Reviewed by Pavel Feldman.
Test: fast/media/update-media-query-css-parser.html
* css/CSSGrammar.y: Added a proper NULL-check.
2011-11-12 Vincent Scheib <scheib@chromium.org>
Mouse Lock Navigator IDL
https://bugs.webkit.org/show_bug.cgi?id=72150
Reviewed by Dimitri Glazkov.
Tests require mocking (similar to geolocation) that will be built after this.
* WebCore.gypi:
* bindings/generic/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::webkitPointerEnabled):
* page/MouseLockable.cpp: Added.
(WebCore::MouseLockable::MouseLockable):
(WebCore::MouseLockable::~MouseLockable):
(WebCore::MouseLockable::webkitLock):
(WebCore::MouseLockable::webkitUnlock):
(WebCore::MouseLockable::webkitIsLocked):
* page/MouseLockable.h: Added.
(WebCore::MouseLockable::create):
* page/MouseLockable.idl: Added.
* page/Navigator.cpp:
(WebCore::Navigator::webkitPointer):
* page/Navigator.h:
* page/Navigator.idl:
2011-11-11 Andreas Kling <kling@webkit.org>
Only HTMLAllCollection needs stateful named item traversal.
<http://webkit.org/b/71987>
Reviewed by Antti Koivisto.
After the ability to call collections (excluding document.all) was removed
in <http://webkit.org/b/67579>, chunks of code remained in HTMLCollection
and HTMLFormCollection that was only used for this purpose.
Restrict the nextNamedItem() mechanism to HTMLAllCollection, since it's no
longer used by any of the other collections.
* html/HTMLCollection.h:
Moved nextNamedItem() to HTMLAllCollection (and made it non-virtual.)
Promoted itemAfter() and checkForNameMatch() to protected methods so
they can be called from HTMLAllCollection.
* html/HTMLAllCollection.h:
* html/HTMLAllCollection.cpp:
(WebCore::HTMLAllCollection::HTMLAllCollection):
(WebCore::HTMLAllCollection::nextNamedItem):
* html/HTMLCollection.cpp:
(WebCore::HTMLCollection::HTMLCollection):
(WebCore::HTMLCollection::namedItem):
* html/HTMLFormCollection.cpp:
(WebCore::HTMLFormCollection::namedItem):
* html/HTMLFormCollection.h:
2011-11-13 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
Update binding generator tests to use jsCast
https://bugs.webkit.org/show_bug.cgi?id=72224
Reviewed by Geoffrey Garen.
Update the expected results for JS generator after r100006 added jsCast.
* bindings/scripts/test/JS/JSTestEventConstructor.cpp:
(WebCore::JSTestEventConstructor::getOwnPropertySlot):
(WebCore::JSTestEventConstructor::getOwnPropertyDescriptor):
2011-11-12 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r100038.
http://trac.webkit.org/changeset/100038
https://bugs.webkit.org/show_bug.cgi?id=72225
It broke more than 500 layout tests on the Qt bots (Requested
by Ossy_night on #webkit).
* platform/qt/ScrollbarThemeQt.h:
2011-11-12 Laszlo Gombos <laszlo.1.gombos@nokia.com>
[Qt][Symbian] Remove support for WINSCW compiler
https://bugs.webkit.org/show_bug.cgi?id=70178
Reviewed by Chang Shu.
No new tests as there is no new functionality.
* config.h: Revert r57076.
* loader/cache/CachedResourceHandle.h: Revert r49017 and r49556.
(WebCore::CachedResourceHandle::CachedResourceHandle):
* rendering/style/RenderStyle.h: Revert r52733.
(compareEqual):
* bindings/scripts/CodeGeneratorJS.pm: Revert r45553.
* bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: Ditto.
* bindings/scripts/test/JS/JSTestEventConstructor.cpp: Ditto.
* bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
* bindings/scripts/test/JS/JSTestNamedConstructor.cpp: Ditto.
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: Ditto.
* bindings/scripts/test/JS/JSTestInterface.cpp: Ditto.
2011-11-12 Anna Cavender <annacc@chromium.org>
Add WebVTT parsing layout tests. Patch also includes creating a TextTrackCueList
in TextTrack::cues() and observing WebVTT chronological cue order.
https://bugs.webkit.org/show_bug.cgi?id=72215
Reviewed by Eric Carlson.
Tests: media/track/track-webvtt-tc000-empty.html
media/track/track-webvtt-tc001-utf8.html
media/track/track-webvtt-tc002-bom.html
media/track/track-webvtt-tc003-newlines.html
media/track/track-webvtt-tc004-magic-header.html
media/track/track-webvtt-tc005-header-comment.html
media/track/track-webvtt-tc006-cue-identifiers.html
media/track/track-webvtt-tc007-cue-no-id.html
media/track/track-webvtt-tc008-timings-no-hours.html
media/track/track-webvtt-tc009-timings-hour.html
media/track/track-webvtt-tc010-no-timings.html
media/track/track-webvtt-tc011-blank-lines.html
media/track/track-webvtt-tc012-out-of-order.html
media/track/track-webvtt-tc013-settings.html
media/track/track-webvtt-tc014-alignment.html
media/track/track-webvtt-tc015-positioning.html
media/track/track-webvtt-tc016-align-positioning.html
media/track/track-webvtt-tc017-line-position.html
media/track/track-webvtt-tc018-align-text-line-position.html
media/track/track-webvtt-tc019-cue-size.html
media/track/track-webvtt-tc020-cue-size-align.html
media/track/track-webvtt-tc021-valign.html
media/track/track-webvtt-tc022-entities.html
media/track/track-webvtt-tc023-markup.html
media/track/track-webvtt-tc024-timestamp.html
media/track/track-webvtt-tc025-class-markup.html
media/track/track-webvtt-tc026-voice.html
media/track/track-webvtt-tc027-empty-cue.html
media/track/track-webvtt-tc028-unsupported-markup.html
* html/TextTrack.cpp:
(WebCore::TextTrack::~TextTrack): Only call client if m_cues has been allocated.
(WebCore::TextTrack::cues): Create a TextTrackCueList if we don't already have one.
* html/TextTrack.h: The cues() function can no longer be const.
* html/TextTrackCueList.cpp:
(WebCore::TextTrackCueList::add): Only add the cue if the startTime comes after
all other startTimes in the list.
2011-11-12 Nat Duca <nduca@chromium.org>
Fixes to GraphicsContext3D::makeCurrent on gtk and mac
https://bugs.webkit.org/show_bug.cgi?id=72218
Unreviewed. Forgot to handle corner cases. Thanks Nico!
* platform/graphics/gtk/GraphicsContext3DGtk.cpp:
(WebCore::GraphicsContext3D::makeContextCurrent):
* platform/graphics/gtk/GraphicsContext3DPrivate.cpp:
(WebCore::GraphicsContext3DPrivate::makeContextCurrent):
* platform/graphics/mac/GraphicsContext3DMac.mm:
(WebCore::GraphicsContext3D::makeContextCurrent):
2011-11-12 Patrick Gansterer <paroga@webkit.org>
Add stub implementation for SVGResources::filter()
https://bugs.webkit.org/show_bug.cgi?id=72211
Reviewed by Dirk Schulze.
Add an empty implementation, which only returns 0 for !ENABLE(FILTERS)
to reduce the #if ENABLE(FILTERS) complexity a bit.
* rendering/svg/RenderSVGContainer.cpp:
(WebCore::RenderSVGContainer::selfWillPaint):
* rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::selfWillPaint):
* rendering/svg/SVGRenderSupport.cpp:
(WebCore::SVGRenderSupport::filtersForceContainerLayout):
* rendering/svg/SVGResources.h:
(WebCore::SVGResources::filter):
* rendering/svg/SVGResourcesCache.cpp:
(WebCore::SVGResourcesCache::clientLayoutChanged):
(WebCore::SVGResourcesCache::clientUpdatedFromElement):
2011-11-12 Antti Koivisto <antti@apple.com>
REGRESSION(r98542): Rendering error on Google maps
https://bugs.webkit.org/show_bug.cgi?id=71996
Reviewed by Andreas Kling.
r98542 exposed that StyleBoxData copy constructor and operator== are missing a field.
Test reduction by David Barr.
Test: fast/css/vertical-align-length-copy-bug.html
* rendering/style/StyleBoxData.cpp:
(WebCore::StyleBoxData::StyleBoxData):
(WebCore::StyleBoxData::operator==):
2011-11-12 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r100013.
http://trac.webkit.org/changeset/100013
https://bugs.webkit.org/show_bug.cgi?id=72210
It breaks all mac builds (Requested by WildFox on #webkit).
* html/HTMLAnchorElement.idl:
* html/HTMLAreaElement.idl:
* html/HTMLButtonElement.idl:
* html/HTMLElement.idl:
* html/HTMLInputElement.idl:
* html/HTMLLabelElement.idl:
* html/HTMLLegendElement.idl:
* html/HTMLTextAreaElement.idl:
2011-11-12 Nikolas Zimmermann <nzimmermann@rim.com>
Finish SVGLengthContext conversion in svg/
https://bugs.webkit.org/show_bug.cgi?id=72105
Reviewed by Antti Koivisto.
Make SVGLengthContext(const SVGElement*) explicit, adapt all remaining call sites.
Now that this process is finished, SVGLengthContext can be shared across renders,
so that its possible to override the length context in a single place. This will
be done in future patches.
Doesn't affect any tests yet.
* bindings/js/JSSVGLengthCustom.cpp:
(WebCore::JSSVGLength::value):
(WebCore::JSSVGLength::setValue):
(WebCore::JSSVGLength::convertToSpecifiedUnits):
* bindings/scripts/CodeGeneratorObjC.pm:
(GenerateImplementation):
* bindings/v8/custom/V8SVGLengthCustom.cpp:
(WebCore::V8SVGLength::valueAccessorGetter):
(WebCore::V8SVGLength::valueAccessorSetter):
(WebCore::V8SVGLength::convertToSpecifiedUnitsCallback):
* css/CSSCursorImageValue.cpp:
(WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
* rendering/svg/RenderSVGForeignObject.cpp:
(WebCore::RenderSVGForeignObject::layout):
* rendering/svg/RenderSVGImage.cpp:
(WebCore::RenderSVGImage::updateFromElement):
* rendering/svg/RenderSVGPath.cpp:
(WebCore::RenderSVGPath::zeroLengthSubpathRect):
(WebCore::RenderSVGPath::calculateMarkerBoundsIfNeeded):
* rendering/svg/RenderSVGResourceMarker.cpp:
(WebCore::RenderSVGResourceMarker::referencePoint):
(WebCore::RenderSVGResourceMarker::calcViewport):
* rendering/svg/RenderSVGText.cpp:
(WebCore::RenderSVGText::strokeBoundingBox):
* rendering/svg/RenderSVGViewportContainer.cpp:
(WebCore::RenderSVGViewportContainer::calcViewport):
* rendering/svg/SVGRenderSupport.cpp:
(WebCore::SVGRenderSupport::applyStrokeStyleToContext):
* rendering/svg/SVGRenderTreeAsText.cpp:
(WebCore::writeStyle):
(WebCore::operator<<):
* rendering/svg/SVGShadowTreeElements.cpp:
(WebCore::SVGShadowTreeContainerElement::containerTranslation):
* rendering/svg/SVGTextChunkBuilder.cpp:
(WebCore::SVGTextChunkBuilder::addTextChunk):
* rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
(WebCore::extractFloatValuesFromSVGLengthList):
* rendering/svg/SVGTextLayoutEngine.cpp:
(WebCore::SVGTextLayoutEngine::parentDefinesTextLength):
(WebCore::SVGTextLayoutEngine::beginTextPathLayout):
* rendering/svg/SVGTextLayoutEngineBaseline.cpp:
(WebCore::SVGTextLayoutEngineBaseline::calculateBaselineShift):
* rendering/svg/SVGTextLayoutEngineSpacing.cpp:
(WebCore::SVGTextLayoutEngineSpacing::calculateCSSKerningAndSpacing):
* svg/SVGElement.h:
* svg/SVGLengthContext.cpp:
(WebCore::SVGLengthContext::determineViewport):
* svg/SVGLengthContext.h:
* svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::viewport):
(WebCore::SVGSVGElement::localCoordinateSpaceTransform):
(WebCore::SVGSVGElement::currentViewBoxRect):
* svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::toClipPath):
2011-11-12 Patrick Gansterer <paroga@webkit.org>
Unreviewed build fix for !ENABLE(FILTERS) after r100036.
* rendering/svg/SVGRenderSupport.cpp:
(WebCore::SVGRenderSupport::filtersForceContainerLayout):
2011-11-11 Patrick Gansterer <paroga@webkit.org>
[WIN] Fix build without precompiled header.
https://bugs.webkit.org/show_bug.cgi?id=72115
Unreviewed. Add missing includes to fix build without precompiled header.
* platform/ContextMenu.h:
* platform/graphics/win/DIBPixelData.h:
* platform/graphics/win/FontCustomPlatformData.h:
* platform/network/cf/ResourceError.h:
* platform/win/LanguageWin.cpp:
* platform/win/LocalizedStringsWin.cpp:
* platform/win/LoggingWin.cpp:
2011-11-11 Joseph Pecoraro <pecoraro@apple.com>
Remove Duplicate Symbol Exports
https://bugs.webkit.org/show_bug.cgi?id=72205
Reviewed by Dan Bernstein.
* WebCore.exp.in: Remove duplicate symbols listed.
Each dup in this case was already always exported.
2011-11-11 Nico Weber <thakis@chromium.org>
[chromium] Remove 2 static initializers and 3 exit time destructors. Turn on -Wexit-time-destructors.
https://bugs.webkit.org/show_bug.cgi?id=72146
Reviewed by Nate Chapin.
* WebCore.gyp/WebCore.gyp:
2011-11-11 Nat Duca <nduca@chromium.org>
Since GraphicsContext3D::makeContextCurrent can fail, return bool.
https://bugs.webkit.org/show_bug.cgi?id=72101
Reviewed by Kenneth Russell.
* platform/graphics/GraphicsContext3D.h:
* platform/graphics/efl/GraphicsContext3DEfl.cpp:
(WebCore::GraphicsContext3D::makeContextCurrent):
* platform/graphics/gtk/GraphicsContext3DGtk.cpp:
(WebCore::GraphicsContext3D::makeContextCurrent):
* platform/graphics/gtk/GraphicsContext3DPrivate.cpp:
(WebCore::GraphicsContext3DPrivate::makeContextCurrent):
* platform/graphics/gtk/GraphicsContext3DPrivate.h:
* platform/graphics/mac/GraphicsContext3DMac.mm:
(WebCore::GraphicsContext3D::makeContextCurrent):
* platform/graphics/qt/GraphicsContext3DQt.cpp:
(WebCore::GraphicsContext3D::makeContextCurrent):
2011-11-11 Ojan Vafai <ojan@chromium.org>
Unreviewed. Rollout http://trac.webkit.org/changeset/99744.
https://bugs.webkit.org/show_bug.cgi?id=72203
r99744 causes crash in Chromium's dom_perf test.
* rendering/RenderTable.cpp:
(WebCore::RenderTable::splitColumn):
(WebCore::RenderTable::appendColumn):
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::addCell):
(WebCore::RenderTableSection::recalcCells):
(WebCore::RenderTableSection::appendColumn):
2011-11-11 James Robinson <jamesr@chromium.org>
[chromium] Removed unused local from CCThreadProxy::scheduledActionCommit
https://bugs.webkit.org/show_bug.cgi?id=72200
Reviewed by Kenneth Russell.
How did I get here I am not good with computers.
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::scheduledActionCommit):
2011-11-11 Dominic Mazzoni <dmazzoni@google.com>
Fix a crash when an anonymous render block is in a continuation.
https://bugs.webkit.org/show_bug.cgi?id=70994
Reviewed by Chris Fleizach.
Test: accessibility/anonymous-render-block-in-continuation-causes-crash.html
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::renderParentObject):
2011-11-11 Anna Cavender <annacc@chromium.org>
Storage and retrieval of TextTrackCues during video playback, including
cuechange, enter, and exit events.
https://bugs.webkit.org/show_bug.cgi?id=70452
Reviewed by Eric Carlson.
Tests: media/track/track-cues-cuechange.html
media/track/track-cues-enter-exit.html
media/track/track-cues-seeking.html
Add cuechange, enter, and exit events and make TextTrack and
TextTrackCue EventTargets:
* dom/EventNames.h:
* dom/EventTarget.h:
* dom/EventTargetFactory.in:
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::loadTimerFired):
Use scheduleLoad() instead of configureTextTracks() to start an async load.
(WebCore::HTMLMediaElement::updateActiveTextTrackCues):
Updates the list of currently active cues during playback.
(WebCore::HTMLMediaElement::textTrackAddCues):
Adds cues to cueTree. Called when cues are discovered/loaded.
(WebCore::HTMLMediaElement::textTrackRemoveCues):
Removes cues from cueTree. Called when cues and/or tracks die.
(WebCore::HTMLMediaElement::textTrackAddCue):
Adds a cue to cueTree. Called when cues are discovered/loaded.
(WebCore::HTMLMediaElement::textTrackRemoveCue):
Removes a cue from cueTree. Called when cues and/or tracks die.
(WebCore::HTMLMediaElement::playbackProgressTimerFired):
Update the active TextTrackCues when playbackProgressTimerFired.
(WebCore::HTMLMediaElement::addTrack):
Pass along a ScriptExecutionContext to TextTrack::create().
(WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
Update the active TextTrackCues when the media player time changes.
* html/HTMLMediaElement.h:
Use a PodIntervalTree cueTree to store and retrieve TextTrackCues
during playback.
* html/HTMLTrackElement.cpp:
(WebCore::HTMLTrackElement::ensureTrack):
Pass along a ScriptExecutionContext needed for EventTarget interface.
* html/LoadableTextTrack.cpp:
(WebCore::LoadableTextTrack::LoadableTextTrack):
Pass along a ScriptExecutionContext needed for EventTarget interface.
(WebCore::LoadableTextTrack::fireCueChangeEvent):
Fire a cue change event on this TextTrack's <track>
* html/LoadableTextTrack.h:
(WebCore::LoadableTextTrack::create):
Pass along a ScriptExecutionContext needed for EventTarget interface.
* html/TextTrack.cpp:
(WebCore::TextTrack::TextTrack):
Pass along a ScriptExecutionContext needed for EventTarget interface.
(WebCore::TextTrack::cues):
(WebCore::TextTrack::activeCues):
Return a TextTrackCueList that represents the currently active cues.
(WebCore::TextTrack::fireCueChangeEvent):
Fires a cue change event.
* html/TextTrack.h:
(WebCore::TextTrack::create):
Pass along a ScriptExecutionContext needed for EventTarget interface.
* html/TextTrack.idl:
Makes TextTrack extend EventTarget interface and add oncuechange.
* html/TextTrackCue.cpp:
(WebCore::TextTrackCue::TextTrackCue):
TextTrackCue should extend EventTarget, not ActiveDOMObject.
(WebCore::TextTrackCue::isActive):
(WebCore::TextTrackCue::setIsActive):
Dispatch an enter or exit event depending on active state and notify
the corresponding track to fire a cuechange event.
The following are needed for EventTarget interface:
(WebCore::TextTrackCue::interfaceName):
(WebCore::TextTrackCue::scriptExecutionContext):
(WebCore::TextTrackCue::eventTargetData):
(WebCore::TextTrackCue::ensureEventTargetData):
* html/TextTrackCue.h:
(WebCore::TextTrackCue::refEventTarget):
(WebCore::TextTrackCue::derefEventTarget):
* html/TextTrackCue.idl:
Extend EventTarget and add onenter and onexit.
* html/TextTrackCueList.cpp:
(WebCore::TextTrackCueList::activeCues):
Update and return the list of currently active cues.
(WebCore::TextTrackCueList::clear):
Clear the cues from list (needed to return same object each time).
* html/TextTrackCueList.h:
The following are needed for EventTarget interface:
* html/track/TrackBase.cpp:
(WebCore::TrackBase::TrackBase):
(WebCore::TrackBase::interfaceName):
(WebCore::TrackBase::scriptExecutionContext):
(WebCore::TrackBase::eventTargetData):
(WebCore::TrackBase::ensureEventTargetData):
* html/track/TrackBase.h:
(WebCore::TrackBase::refEventTarget):
(WebCore::TrackBase::derefEventTarget):
2011-11-11 David Reveman <reveman@chromium.org>
[Chromium] Remove unused variable added by r99813.
https://bugs.webkit.org/show_bug.cgi?id=72199
Reviewed by James Robinson.
* platform/graphics/chromium/TiledLayerChromium.cpp:
(WebCore::TiledLayerChromium::prepareToUpdate):
2011-11-11 James Robinson <jamesr@chromium.org>
Rollout http://trac.webkit.org/changeset/99844
Solution is more complicated than the problem it was intended to solve.
* platform/graphics/chromium/LayerChromium.cpp:
* platform/graphics/chromium/LayerChromium.h:
* platform/graphics/chromium/cc/CCLayerImpl.cpp:
* platform/graphics/chromium/cc/CCLayerImpl.h:
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::applyScrollAndScale):
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
* platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
* platform/graphics/chromium/cc/CCLayerTreeHostCommon.h:
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::processScrollDeltas):
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::beginFrameAndCommit):
(WebCore::CCThreadProxy::beginFrameCompleteOnImplThread):
* platform/graphics/chromium/cc/CCThreadProxy.h:
2011-11-11 Levi Weintraub <leviw@chromium.org>
Revert Page to operate on integers
https://bugs.webkit.org/show_bug.cgi?id=72185
Reviewed by Eric Seidel.
Reverting the page classes to integers from LayoutUnits. It's not necessary to expose
LayoutUnits in these classes, so we'll avoid doing so.
No new tests, no change in behavior.
* page/EventHandler.cpp:
(WebCore::EventHandler::handleMousePressEvent):
(WebCore::EventHandler::sendContextMenuEventForKey):
(WebCore::EventHandler::dragHysteresisExceeded):
(WebCore::EventHandler::handleDrag):
* page/EventHandler.h:
* page/Frame.cpp:
(WebCore::Frame::documentAtPoint):
* page/Frame.h:
* page/FrameView.cpp:
(WebCore::FrameView::create):
(WebCore::FrameView::invalidateRect):
(WebCore::FrameView::setFrameRect):
(WebCore::FrameView::setContentsSize):
(WebCore::FrameView::adjustViewSize):
(WebCore::FrameView::repaintContentRectangle):
(WebCore::FrameView::invalidateScrollbarRect):
(WebCore::FrameView::getTickmarks):
(WebCore::FrameView::windowResizerRect):
(WebCore::FrameView::setVisibleScrollerThumbRect):
(WebCore::FrameView::updateScrollCorner):
(WebCore::FrameView::paintScrollCorner):
(WebCore::FrameView::paintContents):
(WebCore::FrameView::paintOverhangAreas):
(WebCore::FrameView::convertFromRenderer):
(WebCore::FrameView::convertToRenderer):
(WebCore::FrameView::convertToContainingView):
(WebCore::FrameView::convertFromContainingView):
* page/FrameView.h:
* page/Page.cpp:
(WebCore::Page::setPageScaleFactor):
* page/Page.h:
* page/SpatialNavigation.cpp:
(WebCore::scrollInDirection):
2011-11-11 Dominic Mazzoni <dmazzoni@google.com>
New iframe content may not be reflected in the ax tree.
https://bugs.webkit.org/show_bug.cgi?id=72100
Reviewed by Chris Fleizach.
The core issue was that when childrenChanged was called on a
web area from an iframe that was just detached, it wasn't calling
childrenChanged on its parent scroll area, or that scroll area's
parent iframe element. To fix this, now AccessibilityScrollView
implements setNeedsToUpdateChildren and parentObjectIfExists,
and childrenChanged calls setNeedsToUpdateChildren on every object
in the parent chain, not just AccessibilityRenderObjects.
Test: accessibility/loading-iframe-updates-axtree.html
* accessibility/AXObjectCache.h:
* accessibility/AccessibilityObject.h:
(WebCore::AccessibilityObject::setNeedsToUpdateChildren):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::parentObjectIfExists):
(WebCore::AccessibilityRenderObject::childrenChanged):
* accessibility/AccessibilityRenderObject.h:
(WebCore::AccessibilityRenderObject::setNeedsToUpdateChildren):
* accessibility/AccessibilityScrollView.cpp:
(WebCore::AccessibilityScrollView::AccessibilityScrollView):
(WebCore::AccessibilityScrollView::updateChildrenIfNecessary):
(WebCore::AccessibilityScrollView::parentObject):
(WebCore::AccessibilityScrollView::parentObjectIfExists):
* accessibility/AccessibilityScrollView.h:
(WebCore::AccessibilityScrollView::setNeedsToUpdateChildren):
2011-11-11 Iain Merrick <husky@google.com>
[chromium] Fix CCThreadProxy::setVisible
https://bugs.webkit.org/show_bug.cgi?id=71903
The behavior is different depending on whether we're showing
or hiding the compositor. This patch fixes both code paths.
Reviewed by James Robinson.
* platform/graphics/chromium/cc/CCCompletionEvent.h:
(WebCore::CCCompletionEvent::CCCompletionEvent):
(WebCore::CCCompletionEvent::~CCCompletionEvent):
(WebCore::CCCompletionEvent::wait):
(WebCore::CCCompletionEvent::signal):
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::setVisible):
2011-11-11 Iain Merrick <husky@google.com>
[chromium] CCThreadProxy::finishAllRendering hangs if !visible
https://bugs.webkit.org/show_bug.cgi?id=71920
Reviewed by James Robinson.
* platform/graphics/chromium/cc/CCScheduler.cpp:
(WebCore::CCScheduler::setNeedsForcedRedraw):
* platform/graphics/chromium/cc/CCScheduler.h:
* platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
(WebCore::CCSchedulerStateMachine::CCSchedulerStateMachine):
(WebCore::CCSchedulerStateMachine::nextAction):
(WebCore::CCSchedulerStateMachine::updateState):
(WebCore::CCSchedulerStateMachine::setNeedsForcedRedraw):
* platform/graphics/chromium/cc/CCSchedulerStateMachine.h:
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::requestReadbackOnImplThread):
(WebCore::CCThreadProxy::finishAllRenderingOnImplThread):
2011-11-11 John Knottenbelt <jknotten@chromium.org>
[Chromium] Enable building without shared workers.
https://bugs.webkit.org/show_bug.cgi?id=72122
Reviewed by Yury Semikhatsky.
* bindings/v8/WorkerScriptDebugServer.cpp:
(WebCore::retrieveWorkerContext):
2011-11-11 Julien Chaffraix <jchaffraix@webkit.org>
Crash in styleDidChange when changing a table cell's height.
<http://webkit.org/b/72004>
Reviewed by Darin Adler.
Tests: fast/table/crash-table-cell-change-height.html
fast/table/table-cell-change-height-with-needsCellRecalc-section.html
fast/table/table-cell-change-last-row-with-needsCellRecalc-section.html
fast/table/table-row-change-height-with-needsCellRecalc-section.html
r99212 removed our call to recalcCells when the logical height changed. This
means that we could end up with a cells without having set its row() properly
which would crash.
The change exposes the was-the-row-properly-set information so that we don't
try to access a bogus index. This should work properly even if the section
needs a cell recalc as the current section's row structure would still be
accurate in this case.
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::styleDidChange): Check that our row index
was properly set before calling
* rendering/RenderTableCell.h:
(WebCore::RenderTableCell::rowWasSet): Helper function to detect
if we have set up our a row.
(WebCore::RenderTableCell::row): Use the previous function in the
ASSERT.
2011-11-11 Shinya Kawanaka <shinyak@google.com>
Implement legacy text check emulation in unified text check interface.
https://bugs.webkit.org/show_bug.cgi?id=70299
Reviewed by Hajime Morita.
When UNIFIED_TEXT_CHECKING is off, WebCore::checkTextOfParagraph() emulates
TextCheckerClient::checkTextOfParagraph() using checkSpellingOfString and checkGrammarOfString.
This emulation can be used by setting the flag on.
This can be done by WebCore::Internals::setUnifiedTextCheckingEnabled.
Test: editing/spelling/spelling-unified-emulation.html
* editing/TextCheckingHelper.cpp:
(WebCore::findBadGrammars): Added.
(WebCore::findMisspellings): Added.
(WebCore::checkTextOfParagraph):
Emulates TextCheckerClients::checkTextOfParagraph if UNIFIED_TEXT_CHECKING is off.
* testing/Internals.cpp:
(WebCore::Internals::setUnifiedTextCheckingEnabled): flag setter.
(WebCore::Internals::unifiedTextCheckingEnabled): flag getter.
* testing/Internals.h:
* testing/Internals.idl:
2011-11-11 Gyuyoung Kim <gyuyoung.kim@samsung.com>
[CMAKE] Add a missing file to PlatformEfl.cmake for curl network backend.
https://bugs.webkit.org/show_bug.cgi?id=72092
Unreviewed. Fix build break when using curl.
ProxyServerCurl.cpp file is not included in PlatformEfl.cmake. So, the file is not built
when EFL port uses curl as network backend.
* PlatformEfl.cmake: Add missing ProxyServerCurl.cpp.
2011-11-11 Emil A Eklund <eae@chromium.org>
Switch remaining RenderBlock/Box methods to to new layout types
https://bugs.webkit.org/show_bug.cgi?id=72075
Reviewed by Eric Seidel.
Move margins, floats and line layout block logic to layout abstraction.
No new tests.
* rendering/RenderBlockLineLayout.cpp:
(WebCore::borderPaddingMarginStart):
(WebCore::borderPaddingMarginEnd):
(WebCore::inlineLogicalWidth):
(WebCore::setStaticPositions):
(WebCore::LineLayoutState::LineLayoutState):
(WebCore::LineLayoutState::setRepaintRange):
(WebCore::LineLayoutState::updateRepaintRangeFromBox):
(WebCore::RenderBlock::layoutRunsAndFloatsInRange):
(WebCore::RenderBlock::linkToEndLineIfNeeded):
(WebCore::RenderBlock::layoutInlineChildren):
(WebCore::RenderBlock::checkFloatsInCleanLine):
(WebCore::RenderBlock::determineStartPosition):
(WebCore::RenderBlock::checkPaginationAndFloatsAtEndLine):
(WebCore::RenderBlock::LineBreaker::nextLineBreak):
(WebCore::RenderBlock::addOverflowFromInlineChildren):
(WebCore::RenderBlock::checkLinesForTextOverflow):
(WebCore::RenderBlock::positionNewFloatOnLine):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::containingBlockLogicalWidthForContentInRegion):
(WebCore::RenderBox::offsetFromContainer):
(WebCore::RenderBox::positionLineBox):
(WebCore::RenderBox::computeInlineDirectionMargins):
(WebCore::RenderBox::containingBlockLogicalWidthForPositioned):
(WebCore::RenderBox::containingBlockLogicalHeightForPositioned):
* rendering/RenderBox.h:
(WebCore::RenderBox::tryLayoutDoingPositionedMovementOnly):
2011-11-11 Antoine Labour <piman@chromium.org>
[chromium] Add translation/scaling to WebExternalTextureLayer
https://bugs.webkit.org/show_bug.cgi?id=72087
Reviewed by James Robinson.
Covered by WebLayerTest.
* platform/graphics/chromium/PluginLayerChromium.cpp:
(WebCore::PluginLayerChromium::PluginLayerChromium):
(WebCore::PluginLayerChromium::setUVRect):
(WebCore::PluginLayerChromium::pushPropertiesTo):
* platform/graphics/chromium/PluginLayerChromium.h:
(WebCore::PluginLayerChromium::uvRect):
* platform/graphics/chromium/ShaderChromium.cpp:
(WebCore::VertexShaderPosTexStretch::VertexShaderPosTexStretch):
(WebCore::VertexShaderPosTexStretch::init):
(WebCore::VertexShaderPosTexStretch::getShaderString):
* platform/graphics/chromium/ShaderChromium.h:
(WebCore::VertexShaderPosTexStretch::matrixLocation):
(WebCore::VertexShaderPosTexStretch::offsetLocation):
(WebCore::VertexShaderPosTexStretch::scaleLocation):
* platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
(WebCore::CCPluginLayerImpl::CCPluginLayerImpl):
(WebCore::CCPluginLayerImpl::draw):
* platform/graphics/chromium/cc/CCPluginLayerImpl.h:
(WebCore::CCPluginLayerImpl::setUVRect):
2011-11-11 Stephen Chenney <schenney@chromium.org>
Null deref when no use element exists for SVG element instance
https://bugs.webkit.org/show_bug.cgi?id=59136
Second attempt, with a fix to handle JS garbage collection.
Reviewed by Nikolas Zimmermann.
Test: svg/custom/element-instance-held-by-js-crash.svg
* svg/SVGElementInstance.cpp:
(WebCore::SVGElementInstance::~SVGElementInstance): Added call to detach() to clear
anything not yet cleared.
(WebCore::SVGElementInstance::detach): New method to replace old clear methods. This one
clears all the pointers it can, and removes the instance from the corresponding elements
instance list.
* svg/SVGElementInstance.h: Removed clear methods and replaced with detach.
* svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::detachInstance): Modified calls to clean up an SVGElementInstance.
2011-11-11 Florin Malita <fmalita@google.com>
clipPath does not work on foreignObject
https://bugs.webkit.org/show_bug.cgi?id=68251
Reviewed by Dirk Schulze.
Add ForeignObject clipping, filtering and masking support using the SVGRenderSupport helpers
(prepareToRenderSVGContent, finishRenderSVGContent) on RenderSVGForeignObject's paint path.
This also allows us to remove explicit transparency handling, since the helpers already cover it.
Tests: svg/foreignObject/clip.html
svg/foreignObject/filter.html
svg/foreignObject/mask.html
* rendering/svg/RenderSVGForeignObject.cpp:
(WebCore::RenderSVGForeignObject::paint):
* rendering/svg/SVGResources.cpp:
(WebCore::clipperFilterMaskerTags):
2011-11-11 Adam Klein <adamk@chromium.org>
Remove no-op StorageNamespace::unlock method
https://bugs.webkit.org/show_bug.cgi?id=72181
Reviewed by Darin Adler.
The method was meant to support the localStorage mutex,
but the approach of using a mutex for localStorage has never been
implemented (and almost certainly won't be). Even if it were implemented,
it's not being called at the right time, due to bugs in the V8 bindings'
use of V8Proxy (see http://webkit.org/b/72063 for details).
If, in the future, some replacement for a mutex is used to synchronize
localStorage access, it can easily be re-added to the (hopefully
fixed-by-then) replacement for V8Proxy::didLeaveScriptContext.
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::didLeaveScriptContext): Stop calling unlock().
* page/Navigator.cpp:
(WebCore::Navigator::getStorageUpdates): Remove implementation (a call to unlock), but leave code as it's exposed to the platform.
* page/Navigator.idl: Added a FIXME to remove getStorageUpdates from the platform.
* storage/StorageNamespace.h:
* storage/StorageNamespaceImpl.cpp:
* storage/StorageNamespaceImpl.h:
2011-11-11 Alexis Menard <alexis.menard@openbossa.org>
[Qt][WK2] Make sure Scrollbars are in their own layer.
https://bugs.webkit.org/show_bug.cgi?id=72064
Reviewed by Kenneth Rohde Christiansen.
Make sure we render our scrollbars in a separate layer.
No new tests : existing ones should cover.
* platform/qt/ScrollbarThemeQt.h:
(WebCore::ScrollbarThemeQt::usesOverlayScrollbars):
2011-11-11 Joel Webber <jgw@google.com>
Repaint broken when children of filtered SVG elements are updated
https://bugs.webkit.org/show_bug.cgi?id=71733
Reviewed by Nikolas Zimmermann.
Test: svg/repaint/filter-child-repaint.svg
* rendering/svg/RenderSVGContainer.cpp:
(WebCore::RenderSVGContainer::layout):
* rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::layout):
* rendering/svg/SVGRenderSupport.cpp:
(WebCore::SVGRenderSupport::setNeedsLayoutForFilteredContainer):
2011-11-11 Timothy Hatcher <timothy@apple.com>
Don't remove InspectorBackendStub.js in Release builds after it has been
combined into inspector.js. Also remove any *.qrc file on Mac.
https://webkit.org/b/72186
Reviewed by Joseph Pecoraro.
* WebCore.xcodeproj/project.pbxproj:
2011-11-11 Jeff Timanus <twiz@chromium.org>
[chromium] Patch that implementing the changes required to allow WebGL
to share its backing store directly with the compositor.
WebGL rendering contexts create and render to FBOs managed by a
DrawingBuffer instance. All PlatformLayer lifetime management is
performed by the DrawingBuffer.
Changes are only relevant to Chromium ports. Functionality is
unchanged for other ports.
https://bugs.webkit.org/show_bug.cgi?id=53201
Reviewed by Stephen White.
* html/canvas/WebGLRenderingContext.cpp: Construct a DrawingBuffer
during initialization, and forward all framebuffer management calls to
it.
(WebCore::WebGLRenderingContext::create):
(WebCore::WebGLRenderingContext::WebGLRenderingContext):
(WebCore::WebGLRenderingContext::initializeNewContext):
(WebCore::WebGLRenderingContext::markContextChanged):
(WebCore::WebGLRenderingContext::clearIfComposited):
(WebCore::WebGLRenderingContext::paintRenderingResultsToCanvas):
(WebCore::WebGLRenderingContext::paintRenderingResultsToImageData):
(WebCore::WebGLRenderingContext::reshape):
(WebCore::WebGLRenderingContext::drawingBufferWidth):
(WebCore::WebGLRenderingContext::drawingBufferHeight):
(WebCore::WebGLRenderingContext::bindFramebuffer):
(WebCore::WebGLRenderingContext::copyTexImage2D):
(WebCore::WebGLRenderingContext::copyTexSubImage2D):
(WebCore::WebGLRenderingContext::deleteFramebuffer):
(WebCore::WebGLRenderingContext::disable):
(WebCore::WebGLRenderingContext::enable):
(WebCore::WebGLRenderingContext::readPixels):
(WebCore::WebGLRenderingContext::platformLayer):
(WebCore::WebGLRenderingContext::getBoundFramebufferWidth):
(WebCore::WebGLRenderingContext::getBoundFramebufferHeight):
(WebCore::WebGLRenderingContext::maybeRestoreContext):
* html/canvas/WebGLRenderingContext.h:
* platform/graphics/GraphicsContext3D.cpp:
* platform/graphics/GraphicsContext3D.h: WebGLLayerChromium instances
are no longer tracked by GraphicsContext3D. Callers can now pass a
DrawingBuffer instance to provide access to the WebGLLayerChromium data.
* platform/graphics/chromium/DrawingBufferChromium.cpp:
(WebCore::generateColorTexture):
(WebCore::DrawingBuffer::DrawingBuffer):
(WebCore::DrawingBuffer::initialize):
(WebCore::DrawingBuffer::publishToPlatformLayer):
(WebCore::DrawingBuffer::platformLayer):
(WebCore::DrawingBuffer::platformColorBuffer):
(WebCore::DrawingBuffer::framebuffer):
(WebCore::DrawingBuffer::markContextChanged):
(WebCore::DrawingBuffer::paintCompositedResultsToCanvas):
* platform/graphics/chromium/WebGLLayerChromium.cpp:
(WebCore::WebGLLayerChromium::WebGLLayerChromium):
(WebCore::WebGLLayerChromium::~WebGLLayerChromium):
(WebCore::WebGLLayerChromium::drawsContent):
(WebCore::WebGLLayerChromium::updateCompositorResources):
(WebCore::WebGLLayerChromium::paintRenderedResultsToCanvas):
(WebCore::WebGLLayerChromium::contentChanged):
(WebCore::WebGLLayerChromium::setDrawingBuffer):
(WebCore::WebGLLayerChromium::context):
* platform/graphics/chromium/WebGLLayerChromium.h: WebGLLayerChromium instances
have a raw reference to their owning DrawingBuffer. This reference is set to NULL on
destruction of the DrawingBuffer. This follows the old code, which had the WebGLLayerChromium
refer rawly to a GraphicsContext3D instance, which was also revoked during tear-down of the
GraphicsContext3D.
(WebCore::WebGLLayerChromium::drawingBuffer):
* platform/graphics/efl/GraphicsContext3DEfl.cpp:
(WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
(WebCore::GraphicsContext3D::paintRenderingResultsToImageData):
* platform/graphics/gpu/DrawingBuffer.cpp: The DrawingBuffer is now the
central point between the GraphicsContext3D, WebGLRenderingContext, and
WebGLLayerChromium classes. GraphicsContext3D, and WebGLLayerChromium only
depend on the DrawingBuffer interface.
(WebCore::DrawingBuffer::create):
(WebCore::DrawingBuffer::clear):
(WebCore::DrawingBuffer::clearFramebuffer):
(WebCore::DrawingBuffer::reset):
(WebCore::DrawingBuffer::commit):
(WebCore::DrawingBuffer::multisample):
(WebCore::DrawingBuffer::paintRenderingResultsToImageData):
(WebCore::DrawingBuffer::discardResources):
* platform/graphics/gpu/DrawingBuffer.h:
(WebCore::DrawingBuffer::setScissorEnabled):
* platform/graphics/gpu/mac/DrawingBufferMac.mm:
(WebCore::DrawingBuffer::DrawingBuffer):
* platform/graphics/gpu/qt/DrawingBufferQt.cpp:
(WebCore::DrawingBuffer::DrawingBuffer):
* platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
(WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
(WebCore::GraphicsContext3D::paintRenderingResultsToImageData):
* platform/graphics/qt/GraphicsContext3DQt.cpp:
(WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
(WebCore::GraphicsContext3D::paintRenderingResultsToImageData):
2011-11-11 Darin Adler <darin@apple.com>
Remove all releaseRef implementations except for RetainPtr
https://bugs.webkit.org/show_bug.cgi?id=71423
Reviewed by Julien Chaffraix.
* platform/win/COMPtr.h: Removed releaseRef.
2011-11-11 Darin Adler <darin@apple.com>
* WebCore.xcodeproj/project.pbxproj: Let a newer Xcode update this file.
If an older Xcode downgrades this file and we have a risk of some kind of
oscillating commit situation, please contact me so I know not to do this again.
2011-11-11 Ojan Vafai <ojan@chromium.org>
Unreviewed, rolling out r99953.
Caused 4 tests to hit an assert.
https://bugs.webkit.org/show_bug.cgi?id=72163
* inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::didStartWorkerContext):
* inspector/InspectorWorkerAgent.cpp:
(WebCore::InspectorWorkerAgent::InspectorWorkerAgent):
(WebCore::InspectorWorkerAgent::~InspectorWorkerAgent):
(WebCore::InspectorWorkerAgent::setFrontend):
(WebCore::InspectorWorkerAgent::restore):
(WebCore::InspectorWorkerAgent::clearFrontend):
(WebCore::InspectorWorkerAgent::setWorkerInspectionEnabled):
(WebCore::InspectorWorkerAgent::didStartWorkerContext):
(WebCore::InspectorWorkerAgent::workerContextTerminated):
* inspector/InspectorWorkerAgent.h:
2011-11-11 Vincent Scheib <scheib@chromium.org>
Unreviewed, rolling out r100024.
http://trac.webkit.org/changeset/100024
https://bugs.webkit.org/show_bug.cgi?id=72158
Broke chromium build
* dom/MouseEvent.cpp:
(WebCore::MouseEvent::initMouseEvent):
(WebCore::MouseEventDispatchMediator::dispatchEvent):
* dom/MouseEvent.h:
* dom/MouseEvent.idl:
* dom/MouseRelatedEvent.h:
2011-11-11 Vincent Scheib <scheib@chromium.org>
Mouse Lock: MouseEvent IDL
https://bugs.webkit.org/show_bug.cgi?id=72158
Reviewed by Dimitri Glazkov.
Tests for movementX/Y pending mock mouse lock test infrastructure.
* dom/MouseEvent.cpp:
(WebCore::MouseEvent::initMouseEvent):
(WebCore::MouseEventDispatchMediator::dispatchEvent):
* dom/MouseEvent.h:
* dom/MouseEvent.idl:
* dom/MouseRelatedEvent.h:
(WebCore::MouseRelatedEvent::movementX):
(WebCore::MouseRelatedEvent::movementY):
2011-11-11 Beth Dakin <bdakin@apple.com>
https://bugs.webkit.org/show_bug.cgi?id=72167
REGRESSION: Scroll position not restored on back after scroll
-and corresponding-
<rdar://problem/10410684>
Reviewed by Simon Fraser.
We can't just return early if we are not on an active page.
notifyPositionChanged() is called when a page is going into the page cache (and
therefore when not on an active page). We should not notify AppKit that the page
has scrolled in that case, but we still need to call
ScrollAnimator::notifyPositionChanged();. So this patch removes the early return,
and replaces it with a conditional around the relevant code.
* platform/mac/ScrollAnimatorMac.mm:
(WebCore::ScrollAnimatorMac::notifyPositionChanged):
2011-11-11 Julien Chaffraix <jchaffraix@codeaurora.org>, Zaheer Ahmad <zahimad@codeaurora.org>, Joone Hur <joone.hur@collabora.co.uk>, Tomasz Morawski <t.morawski@samsung.com>
Added TileCairo and TiledBackingStoreBackendCairo files
https://bugs.webkit.org/show_bug.cgi?id=71350
Reviewed by Martin Robinson.
Added TileCairo and TiledBackingStoreBackend files needed by Tiled Backing Store implementation that uses cairo
library eg. EFL and Gtk WebKit port.
This patch contains some parts of rebased and updated code from 45423 bug. Originals authors of the code are:
- Julien Chaffraix <jchaffraix@codeaurora.org>
- Zaheer Ahmad <zahmad@codeaurora.org>
- Joone Hur <joone.hur@collabora.co.uk>
* platform/graphics/cairo/RefPtrCairo.cpp: Added support of RefPtr for cairo_region object.
(WTF::refIfNotNull): New refIfNotNull function for cairo_region object.
(WTF::derefIfNotNull): New derefIfNotNull function for cairo_region object.
* platform/graphics/cairo/RefPtrCairo.h: Added support of RefPtr for cairo_region object.
* platform/graphics/cairo/TileCairo.cpp: Added a new file. Implementation of TileCairo class.
(WebCore::TileCairo::TileCairo):
(WebCore::TileCairo::~TileCairo):
(WebCore::TileCairo::isDirty):
(WebCore::TileCairo::isReadyToPaint):
(WebCore::TileCairo::invalidate):
(WebCore::TileCairo::updateBackBuffer):
(WebCore::TileCairo::swapBackBufferToFront):
(WebCore::TileCairo::paint):
(WebCore::TileCairo::resize):
* platform/graphics/cairo/TileCairo.h: Added a new file. Implementation of TileCairo class.
(WebCore::TileCairo::create):
(WebCore::TileCairo::coordinate):
(WebCore::TileCairo::rect):
* platform/graphics/cairo/TiledBackingStoreBackendCairo.cpp: Added a new file. Implementation of
TiledBackingStoreBackend methods.
(WebCore::TiledBackingStoreBackend::createTile):
(WebCore::checkeredSurface): Helper function that creates checkered surface (see below function)
(WebCore::TiledBackingStoreBackend::paintCheckerPattern): Function is used to draw a place holder when tile no
exist or it is not ready to paint yet. The checkered surface is used here.
2011-11-11 Julien Chaffraix <jchaffraix@webkit.org>
Remove unneeded frame check in FrameView::detachCustomScrollbars
https://bugs.webkit.org/show_bug.cgi?id=71980
Reviewed by Anders Carlsson.
Change covered by the existing tests in scrollbars/.
* page/FrameView.cpp:
(WebCore::FrameView::detachCustomScrollbars):
Remove the leftover check that was forgotten by the different refactoring.
2011-11-11 Vineet Chaudhary <vineet.chaudhary@motorola.com>
Access key should work on all elements.
https://bugs.webkit.org/show_bug.cgi?id=71854
Reviewed by Adam Barth.
As per specification http://dev.w3.org/html5/spec/Overview.html#elements-in-the-dom
says All HTML elements can have the accesskey content attribute set. Adding "accessKey"
attribute idl file as [Reflect].
Test: fast/forms/access-key-for-all-elements.html
* html/HTMLAnchorElement.idl: Removed redundant IDL attribute entries.
* html/HTMLAreaElement.idl: Ditto.
* html/HTMLButtonElement.idl: Ditto.
* html/HTMLElement.idl: Added accessKey IDL attribute.
* html/HTMLInputElement.idl: Ditto.
* html/HTMLLabelElement.idl: Ditto.
* html/HTMLLegendElement.idl: Ditto.
* html/HTMLTextAreaElement.idl: Ditto.
2011-11-11 Mark Hahnenberg <mhahnenberg@apple.com>
Add jsCast to replace static_cast
https://bugs.webkit.org/show_bug.cgi?id=72071
Reviewed by Geoffrey Garen.
No new tests.
Added new jsCast and changed all of the static_cast sites in functions that
are in the MethodTable to use jsCast instead.
* bindings/js/JSAttrCustom.cpp:
(WebCore::JSAttr::visitChildren):
* bindings/js/JSAudioContextCustom.cpp:
(WebCore::JSAudioContext::visitChildren):
* bindings/js/JSCSSRuleCustom.cpp:
(WebCore::JSCSSRule::visitChildren):
* bindings/js/JSCSSStyleDeclarationCustom.cpp:
(WebCore::JSCSSStyleDeclaration::visitChildren):
* bindings/js/JSCanvasRenderingContext2DCustom.cpp:
(WebCore::toHTMLCanvasStyle):
* bindings/js/JSCanvasRenderingContextCustom.cpp:
(WebCore::JSCanvasRenderingContext::visitChildren):
* bindings/js/JSDOMGlobalObject.cpp:
(WebCore::JSDOMGlobalObject::visitChildren):
* bindings/js/JSDOMStringMapCustom.cpp:
(WebCore::JSDOMStringMap::getOwnPropertyNames):
(WebCore::JSDOMStringMap::deleteProperty):
* bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::toThisObject):
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::visitChildren):
(WebCore::JSDOMWindow::getOwnPropertySlot):
(WebCore::JSDOMWindow::getOwnPropertyDescriptor):
(WebCore::JSDOMWindow::put):
(WebCore::JSDOMWindow::deleteProperty):
(WebCore::JSDOMWindow::getPropertyNames):
(WebCore::JSDOMWindow::getOwnPropertyNames):
(WebCore::JSDOMWindow::defineGetter):
(WebCore::JSDOMWindow::defineSetter):
(WebCore::JSDOMWindow::defineOwnProperty):
* bindings/js/JSDOMWindowShell.cpp:
(WebCore::JSDOMWindowShell::className):
(WebCore::JSDOMWindowShell::getOwnPropertySlot):
(WebCore::JSDOMWindowShell::getOwnPropertyDescriptor):
(WebCore::JSDOMWindowShell::put):
(WebCore::JSDOMWindowShell::putWithAttributes):
(WebCore::JSDOMWindowShell::defineOwnProperty):
(WebCore::JSDOMWindowShell::deleteProperty):
(WebCore::JSDOMWindowShell::getPropertyNames):
(WebCore::JSDOMWindowShell::getOwnPropertyNames):
(WebCore::JSDOMWindowShell::defineGetter):
(WebCore::JSDOMWindowShell::defineSetter):
* bindings/js/JSHTMLAppletElementCustom.cpp:
(WebCore::JSHTMLAppletElement::getCallData):
* bindings/js/JSHTMLEmbedElementCustom.cpp:
(WebCore::JSHTMLEmbedElement::getCallData):
* bindings/js/JSHTMLObjectElementCustom.cpp:
(WebCore::JSHTMLObjectElement::getCallData):
* bindings/js/JSHistoryCustom.cpp:
(WebCore::JSHistory::deleteProperty):
(WebCore::JSHistory::getOwnPropertyNames):
* bindings/js/JSJavaScriptAudioNodeCustom.cpp:
(WebCore::JSJavaScriptAudioNode::visitChildren):
* bindings/js/JSLocationCustom.cpp:
(WebCore::JSLocation::deleteProperty):
(WebCore::JSLocation::getOwnPropertyNames):
* bindings/js/JSMessageChannelCustom.cpp:
(WebCore::JSMessageChannel::visitChildren):
* bindings/js/JSMessagePortCustom.cpp:
(WebCore::JSMessagePort::visitChildren):
* bindings/js/JSNamedNodeMapCustom.cpp:
(WebCore::JSNamedNodeMap::visitChildren):
* bindings/js/JSNodeCustom.cpp:
(WebCore::JSNode::visitChildren):
* bindings/js/JSNodeFilterCustom.cpp:
(WebCore::JSNodeFilter::visitChildren):
* bindings/js/JSNodeIteratorCustom.cpp:
(WebCore::JSNodeIterator::visitChildren):
* bindings/js/JSSVGElementInstanceCustom.cpp:
(WebCore::JSSVGElementInstance::visitChildren):
* bindings/js/JSSharedWorkerCustom.cpp:
(WebCore::JSSharedWorker::visitChildren):
* bindings/js/JSStorageCustom.cpp:
(WebCore::JSStorage::deleteProperty):
(WebCore::JSStorage::getOwnPropertyNames):
* bindings/js/JSStyleSheetCustom.cpp:
(WebCore::JSStyleSheet::visitChildren):
* bindings/js/JSTreeWalkerCustom.cpp:
(WebCore::JSTreeWalker::visitChildren):
* bindings/js/JSWebGLRenderingContextCustom.cpp:
(WebCore::JSWebGLRenderingContext::visitChildren):
* bindings/js/JSWorkerContextCustom.cpp:
(WebCore::JSWorkerContext::visitChildren):
* bindings/js/JSXMLHttpRequestCustom.cpp:
(WebCore::JSXMLHttpRequest::visitChildren):
* bindings/js/JSXPathResultCustom.cpp:
(WebCore::JSXPathResult::visitChildren):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
(GenerateImplementation):
* bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::JSTestInterface::getOwnPropertySlot):
(WebCore::JSTestInterface::getOwnPropertyDescriptor):
* bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
(WebCore::JSTestMediaQueryListListenerPrototype::getOwnPropertySlot):
(WebCore::JSTestMediaQueryListListenerPrototype::getOwnPropertyDescriptor):
(WebCore::JSTestMediaQueryListListener::getOwnPropertySlot):
(WebCore::JSTestMediaQueryListListener::getOwnPropertyDescriptor):
* bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
(WebCore::JSTestNamedConstructor::getOwnPropertySlot):
(WebCore::JSTestNamedConstructor::getOwnPropertyDescriptor):
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::JSTestObjPrototype::getOwnPropertySlot):
(WebCore::JSTestObjPrototype::getOwnPropertyDescriptor):
(WebCore::JSTestObj::getOwnPropertySlot):
(WebCore::JSTestObj::getOwnPropertyDescriptor):
(WebCore::JSTestObj::put):
(WebCore::JSTestObj::visitChildren):
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
(WebCore::JSTestSerializedScriptValueInterface::getOwnPropertySlot):
(WebCore::JSTestSerializedScriptValueInterface::getOwnPropertyDescriptor):
* bridge/objc/objc_runtime.mm:
(JSC::Bindings::ObjcFallbackObjectImp::getCallData):
(JSC::Bindings::ObjcFallbackObjectImp::defaultValue):
* bridge/qt/qt_instance.cpp:
(JSC::Bindings::QtRuntimeObject::visitChildren):
* bridge/qt/qt_runtime.cpp:
(JSC::Bindings::QtRuntimeMetaMethod::visitChildren):
(JSC::Bindings::QtRuntimeMetaMethod::getOwnPropertySlot):
(JSC::Bindings::QtRuntimeMetaMethod::getOwnPropertyDescriptor):
(JSC::Bindings::QtRuntimeConnectionMethod::getOwnPropertySlot):
(JSC::Bindings::QtRuntimeConnectionMethod::getOwnPropertyDescriptor):
* bridge/runtime_array.cpp:
(JSC::RuntimeArray::getOwnPropertyNames):
(JSC::RuntimeArray::getOwnPropertySlot):
(JSC::RuntimeArray::getOwnPropertyDescriptor):
(JSC::RuntimeArray::getOwnPropertySlotByIndex):
(JSC::RuntimeArray::put):
(JSC::RuntimeArray::putByIndex):
* bridge/runtime_method.cpp:
(JSC::RuntimeMethod::getOwnPropertySlot):
(JSC::RuntimeMethod::getOwnPropertyDescriptor):
* bridge/runtime_object.cpp:
(JSC::Bindings::RuntimeObject::getOwnPropertySlot):
(JSC::Bindings::RuntimeObject::getOwnPropertyDescriptor):
(JSC::Bindings::RuntimeObject::put):
(JSC::Bindings::RuntimeObject::defaultValue):
(JSC::Bindings::RuntimeObject::getCallData):
(JSC::Bindings::RuntimeObject::getConstructData):
(JSC::Bindings::RuntimeObject::getOwnPropertyNames):
2011-11-11 Vincent Scheib <scheib@chromium.org>
Unreviewed, rolling out r99994.
http://trac.webkit.org/changeset/99994
https://bugs.webkit.org/show_bug.cgi?id=72150
Broke chromium windows build
* WebCore.gypi:
* bindings/generic/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::webkitLockMouseEnabled):
(WebCore::RuntimeEnabledFeatures::webkitUnlockMouseEnabled):
(WebCore::RuntimeEnabledFeatures::webkitMouseLockedEnabled):
* page/MouseLockable.cpp: Removed.
* page/MouseLockable.h: Removed.
* page/MouseLockable.idl: Removed.
* page/Navigator.cpp:
* page/Navigator.h:
* page/Navigator.idl:
2011-11-11 Adam Klein <adamk@chromium.org>
[v8] Remove unused V8Proxy::executingScript method
https://bugs.webkit.org/show_bug.cgi?id=72160
Reviewed by Nate Chapin.
* bindings/v8/V8Proxy.cpp:
* bindings/v8/V8Proxy.h:
2011-11-11 Brady Eidson <beidson@apple.com>
Rubberstamped by Andy Estes
100,000!
Congratulations WebKit, and here's to hundreds of thousands more!
* ChangeLog: Point out revision 100,000.
2011-11-11 David Kilzer <ddkilzer@apple.com>
<http://webkit.org/b/71921> Remove use of strcpy in KURL
Reviewed by Antti Koivisto.
* platform/KURL.cpp:
(WebCore::KURL::init): Replace strcpy() with strncpy().
2011-11-11 Mark Hahnenberg <mhahnenberg@apple.com>
De-virtualize supportsProfiling, supportsRichSourceInfo, shouldInterruptScript in JSGlobalObject
https://bugs.webkit.org/show_bug.cgi?id=72035
Reviewed by Geoffrey Garen.
No new tests.
* bindings/js/JSDOMGlobalObject.cpp: Changed constructor to support passing new GlobalObjectMethodTable pointer to parent class.
(WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
* bindings/js/JSDOMGlobalObject.h:
* bindings/js/JSDOMWindowBase.cpp: Added static const GlobalObjectMethodTable and filled it in with the proper function pointers.
(WebCore::JSDOMWindowBase::JSDOMWindowBase):
(WebCore::JSDOMWindowBase::supportsProfiling): Changed to static to put in the method table.
(WebCore::JSDOMWindowBase::supportsRichSourceInfo): Ditto.
(WebCore::JSDOMWindowBase::shouldInterruptScript): Ditto.
* bindings/js/JSDOMWindowBase.h:
2011-11-11 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r99869.
http://trac.webkit.org/changeset/99869
https://bugs.webkit.org/show_bug.cgi?id=72157
"Caused a ~400% perf regression on the Chromium intl1 page
cyclers" (Requested by ojan on #webkit).
* dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::images):
(WebCore::Document::applets):
(WebCore::Document::embeds):
(WebCore::Document::plugins):
(WebCore::Document::objects):
(WebCore::Document::scripts):
(WebCore::Document::links):
(WebCore::Document::forms):
(WebCore::Document::anchors):
* dom/Document.h:
* html/CollectionType.h:
2011-11-11 Vincent Scheib <scheib@chromium.org>
Mouse Lock Navigator IDL
https://bugs.webkit.org/show_bug.cgi?id=72150
Reviewed by Dimitri Glazkov.
Tests require mocking (similar to geolocation) that will be built after this.
* WebCore.gypi:
* bindings/generic/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::webkitPointerEnabled):
* page/MouseLockable.cpp: Added.
(WebCore::MouseLockable::MouseLockable):
(WebCore::MouseLockable::~MouseLockable):
(WebCore::MouseLockable::webkitLock):
(WebCore::MouseLockable::webkitUnlock):
(WebCore::MouseLockable::webkitIsLocked):
* page/MouseLockable.h: Added.
(WebCore::MouseLockable::create):
* page/MouseLockable.idl: Added.
* page/Navigator.cpp:
(WebCore::Navigator::webkitPointer):
* page/Navigator.h:
* page/Navigator.idl:
2011-11-11 Mark Hahnenberg <mhahnenberg@apple.com>
De-virtualize JSGlobalObject::allowsAccessFrom
https://bugs.webkit.org/show_bug.cgi?id=71969
Reviewed by Darin Adler.
No new tests.
Since allowsAccessFrom is only used by WebScriptObject, we know that we'll always have a
JSDOMWindowBase, so we can simply have allowsAccessFrom to live in JSDOMWindowBase rather
than JSGlobalObject.
* bindings/js/JSDOMWindowBase.h: De-virtualized allowsAccessFrom.
* bindings/objc/WebScriptObject.mm:
(-[WebScriptObject _isSafeScript]): Added a cast from a JSGlobalObject to a JSDOMWindowBase in
order to call the allowsAccessFrom method.
2011-11-11 Rafael Weinstein <rafaelw@chromium.org>
[MutationObservers] Support attributeFilter for attribute mutations
https://bugs.webkit.org/show_bug.cgi?id=70860
Reviewed by Dimitri Glazkov.
This patch adds an attributeFilter to the MutationObserverRegistration and
adds support for only observing attributes whose name are in the provided
filter set (array of strings).
Test: fast/mutation/observe-attributes.html.
* bindings/js/JSWebKitMutationObserverCustom.cpp:
(WebCore::JSWebKitMutationObserver::observe):
* bindings/v8/OptionsObject.cpp:
(WebCore::OptionsObject::get):
* bindings/v8/OptionsObject.h:
* bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:
(WebCore::V8WebKitMutationObserver::observeCallback):
* dom/Element.cpp:
(WebCore::enqueueAttributesMutationRecord):
* dom/MutationObserverRegistration.cpp:
(WebCore::MutationObserverRegistration::resetObservation):
(WebCore::MutationObserverRegistration::shouldReceiveMutationFrom):
(WebCore::MutationObserverRegistration::caseInsensitiveAttributeFilter):
* dom/MutationObserverRegistration.h:
* dom/Node.cpp:
(WebCore::Node::collectMatchingObserversForMutation):
(WebCore::Node::getRegisteredMutationObserversOfType):
* dom/Node.h:
* dom/WebKitMutationObserver.cpp:
(WebCore::WebKitMutationObserver::observe):
* dom/WebKitMutationObserver.h:
2011-11-11 Vsevolod Vlasov <vsevik@chromium.org>
Application cache status indicator gets stuck at DOWNLOADING after a failure
https://bugs.webkit.org/show_bug.cgi?id=60793
Reviewed by Pavel Feldman.
Test: http/tests/inspector/resource-tree/appcache-manifest-with-non-existing-file.html
* inspector/InspectorApplicationCacheAgent.cpp:
(WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
(WebCore::InspectorApplicationCacheAgent::restore):
(WebCore::InspectorApplicationCacheAgent::enable):
* inspector/InspectorApplicationCacheAgent.h:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::restoreInspectorStateFromCookie):
* inspector/front-end/ApplicationCacheItemsView.js:
(WebInspector.ApplicationCacheItemsView):
(WebInspector.ApplicationCacheItemsView.prototype.updateStatus):
2011-11-11 Eric Carlson <eric.carlson@apple.com>
Implement TextTrackList and the textTracks attribute of HTMLMediaElement
https://bugs.webkit.org/show_bug.cgi?id=71123
Reviewed by Sam Weinig.
Test: media/track/track-add-track.html
media/track/tracklist-is-reachable.html
* CMakeLists.txt: Add new files for TextTrackList.
* DerivedSources.cpp: Ditto.
* DerivedSources.make: Ditto.
* DerivedSources.pri: Ditto.
* GNUmakefile.list.am: Ditto.
* Target.pri: Ditto.
* WebCore.gypi: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* bindings/js/JSBindingsAllInOne.cpp: Ditto.
* bindings/js/JSTextTrackListCustom.cpp: Added.
(WebCore::JSTextTrackListOwner::isReachableFromOpaqueRoots):
* dom/EventTargetFactory.in: Add TextTrackList, conditional on VIDEO_TRACK.
* html/HTMLAudioElement.cpp:
(WebCore::HTMLAudioElement::createForJSConstructor): Update for scheduleLoad change.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::~HTMLMediaElement): Update for m_textTracks change from
generic Vector to TextTrackList.
(WebCore::HTMLMediaElement::attributeChanged): Ditto.
(WebCore::HTMLMediaElement::insertedIntoDocument): Update for scheduleLoad change.
(WebCore::HTMLMediaElement::scheduleLoad): Add a parameter so caller can specify if
the main resource or a text track should be loaded.
(WebCore::HTMLMediaElement::loadTimerFired): Update to allow text track loading.
(WebCore::HTMLMediaElement::loadInternal): Don't call loadTextTracks.
(WebCore::HTMLMediaElement::isSafeToLoadURL): Log when CSP denies load.
(WebCore::HTMLMediaElement::playInternal): Update for scheduleLoad change.
(WebCore::HTMLMediaElement::pauseInternal): Ditto.
(WebCore::HTMLMediaElement::addTrack): Update for m_textTracks change from
generic Vector to TextTrackList.
(WebCore::HTMLMediaElement::addTextTrack): New, add track to m_textTracks and configure.
(WebCore::HTMLMediaElement::configureTextTracks): New, add comments about what this should
do eventually.
(WebCore::HTMLMediaElement::textTracks): New, return TextTrackList.
(WebCore::HTMLMediaElement::trackWasAdded): Bail if runtime feature is not enabled, schedule
asynchronous text track load.
(WebCore::HTMLMediaElement::trackWillBeRemoved): Minor cleanup.
(WebCore::HTMLMediaElement::selectNextSourceChild): Ditto.
(WebCore::HTMLMediaElement::sourceWasAdded): Update for scheduleLoad change.
* html/HTMLMediaElement.h:
* html/HTMLMediaElement.idl: Add textTracks attribute.
* html/HTMLTrackElement.cpp:
(WebCore::HTMLTrackElement::insertedIntoTree): Use new mediaElement() method.
(WebCore::HTMLTrackElement::willRemove): Ditto.
(WebCore::HTMLTrackElement::attributeChanged): When 'src' is changed, call scheduleLoad
instead of HTMLMediaElement
(WebCore::HTMLTrackElement::isDefault): hasAttribute -> fastHasAttribute.
(WebCore::HTMLTrackElement::track): Allocate track if necessary.
(WebCore::HTMLTrackElement::scheduleLoad): New, tell the track to schedule a load.
(WebCore::HTMLTrackElement::canLoadUrl): New, check security policy to see if it is OK
to load a text track. If so, dispatch 'beforeload' event to give it a chance to disallow
load.
(WebCore::HTMLTrackElement::loadingCompleted): Renamed from textTrackLoadingCompleted.
(WebCore::HTMLTrackElement::textTrackReadyStateChanged): New, TextTrackLoadingClient interface
used to inform parent of TextTrack state changes.
(WebCore::HTMLTrackElement::textTrackModeChanged): Ditto.
(WebCore::HTMLTrackElement::textTrackAddCues): Ditto.
(WebCore::HTMLTrackElement::textTrackRemoveCues): Ditto.
(WebCore::HTMLTrackElement::textTrackAddCue): Ditto.
(WebCore::HTMLTrackElement::textTrackRemoveCue): Ditto.
(WebCore::HTMLTrackElement::mediaElement): New, return parent element.
* html/HTMLTrackElement.h:
* html/LoadableTextTrack.cpp:
(WebCore::LoadableTextTrack::LoadableTextTrack): Initialize new instance variables.
(WebCore::LoadableTextTrack::scheduleLoad): New, prime a timer to kick off loading.
(WebCore::LoadableTextTrack::loadTimerFired): Cancel current load, if any, check to see if
new url is allowed to load, and start new load.
(WebCore::LoadableTextTrack::cueLoadingCompleted):
* html/LoadableTextTrack.h:
(WebCore::LoadableTextTrackClient::~LoadableTextTrackClient): TextTrackLoadingClient -> LoadableTextTrackClient
(WebCore::LoadableTextTrackClient::canLoadUrl):
(WebCore::LoadableTextTrackClient::loadingCompleted):
(WebCore::LoadableTextTrack::create):
* html/TextTrack.cpp:
(WebCore::TextTrack::TextTrack): setClient(0) -> clearClient().
* html/TextTrack.h:
(WebCore::TextTrack::clearClient): Renamed from setClient, because it is only used to clear the client pointer.
* html/TextTrackCueList.cpp:
(WebCore::TextTrackCueList::add): Get rid of a compiler warning that breaks the OS X build.
* html/track/TextTrackList.cpp: Added. Implement the TextTrackList object.
(TextTrackList::TextTrackList):
(TextTrackList::~TextTrackList):
(TextTrackList::length):
(TextTrackList::item):
(TextTrackList::append):
(TextTrackList::remove):
(TextTrackList::interfaceName):
(TextTrackList::scheduleAddTrackEvent):
(TextTrackList::asyncEventTimerFired):
* html/track/TextTrackList.h: Added.
(WebCore::TextTrackList::create):
(WebCore::TextTrackList::scriptExecutionContext):
(WebCore::TextTrackList::clearOwner):
(WebCore::TextTrackList::owner):
(WebCore::TextTrackList::refEventTarget):
(WebCore::TextTrackList::derefEventTarget):
(WebCore::TextTrackList::eventTargetData):
(WebCore::TextTrackList::ensureEventTargetData):
* html/track/TextTrackList.idl: Added.
* loader/TextTrackLoader.cpp:
(WebCore::TextTrackLoader::cancelLoad): New, cancel pending or in progress load and delete loader.
(WebCore::TextTrackLoader::notifyFinished): Call cancelLoad.
(WebCore::TextTrackLoader::load): Ditto.
* loader/TextTrackLoader.h:
* page/DOMWindow.idl: Add TextTrackList.
2011-11-11 Pavel Feldman <pfeldman@google.com>
Web Inspector: reimplement DOM search using no XPath.
https://bugs.webkit.org/show_bug.cgi?id=72125
Reviewed by Yury Semikhatsky.
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::performSearch):
(WebCore::InspectorDOMAgent::buildObjectForNode):
* inspector/InspectorDOMAgent.h:
2011-11-11 Gavin Peters <gavinp@chromium.org>
Protect Document during error responses
https://bugs.webkit.org/show_bug.cgi?id=72068
Add a Document protector to the error response code handler, just
as exists for other ends of requests.
Reviewed by Nate Chapin.
Test: http/tests/misc/xslt-bad-import.html
* loader/cache/CachedResourceRequest.cpp:
(WebCore::CachedResourceRequest::didReceiveData):
2011-11-11 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r99979.
http://trac.webkit.org/changeset/99979
https://bugs.webkit.org/show_bug.cgi?id=72136
bad commit message (Requested by gavinp on #webkit).
* loader/cache/CachedResourceRequest.cpp:
(WebCore::CachedResourceRequest::didReceiveData):
2011-11-11 Gavin Peters <gavinp@chromium.org>
Protect Document during error responses
https://bugs.webkit.org/show_bug.cgi?id=72068
Add a Document protector to the error response code handler, just
as exists for other ends of requests.
Reviewed by Nate Chapin.
Test: http/tests/misc/xslt-bad-import.html
* loader/cache/CachedResourceRequest.cpp:
(WebCore::CachedResourceRequest::didReceiveData):
2011-11-10 Philippe Normand <pnormand@igalia.com>
[GStreamer] GstCaps and GstPad RefPtr implementation
https://bugs.webkit.org/show_bug.cgi?id=72023
Reviewed by Martin Robinson.
Smart pointer implementations for GstCaps and GstPad and them
in the media player code.
* platform/graphics/gstreamer/GRefPtrGStreamer.cpp:
(WTF::GstPad):
(WTF::GstCaps):
* platform/graphics/gstreamer/GRefPtrGStreamer.h:
* platform/graphics/gstreamer/GStreamerGWorld.cpp:
(WebCore::GStreamerGWorld::enterFullscreen):
(WebCore::GStreamerGWorld::exitFullscreen):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::naturalSize):
(WebCore::MediaPlayerPrivateGStreamer::totalBytes):
(WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
* platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(webkit_web_src_init):
(StreamingClient::didReceiveResponse):
2011-11-11 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r99964.
http://trac.webkit.org/changeset/99964
https://bugs.webkit.org/show_bug.cgi?id=72124
Broke too many Qt tests (Requested by tronical_ on #webkit).
* Target.pri:
* html/HTMLSelectElement.h:
(WebCore::HTMLSelectElement::usesMenuList):
* platform/qt/QtMobileWebStyle.cpp: Added.
(QtMobileWebStyle::QtMobileWebStyle):
(drawRectangularControlBackground):
(QtMobileWebStyle::drawChecker):
(QtMobileWebStyle::findChecker):
(QtMobileWebStyle::drawRadio):
(QtMobileWebStyle::findRadio):
(QtMobileWebStyle::drawControl):
(QtMobileWebStyle::drawPrimitive):
(QtMobileWebStyle::drawMultipleComboButton):
(QtMobileWebStyle::drawSimpleComboButton):
(QtMobileWebStyle::getButtonImageSize):
(QtMobileWebStyle::findComboButton):
(QtMobileWebStyle::drawComplexControl):
* platform/qt/QtMobileWebStyle.h: Added.
* platform/qt/QtStyleOptionWebComboBox.h:
(WebCore::QtStyleOptionWebComboBox::QtStyleOptionWebComboBox):
(WebCore::QtStyleOptionWebComboBox::checkMultiple):
* platform/qt/RenderThemeQStyle.cpp: Removed.
* platform/qt/RenderThemeQStyle.h: Removed.
* platform/qt/RenderThemeQt.cpp:
(WebCore::initStyleOption):
(WebCore::StylePainter::StylePainter):
(WebCore::StylePainter::init):
(WebCore::StylePainter::~StylePainter):
(WebCore::RenderThemeQt::create):
(WebCore::RenderTheme::themeForPage):
(WebCore::RenderThemeQt::RenderThemeQt):
(WebCore::RenderThemeQt::~RenderThemeQt):
(WebCore::RenderThemeQt::isControlStyled):
(WebCore::RenderThemeQt::popupInternalPaddingBottom):
(WebCore::RenderThemeQt::fallbackStyle):
(WebCore::RenderThemeQt::qStyle):
(WebCore::RenderThemeQt::extraDefaultStyleSheet):
(WebCore::RenderThemeQt::findFrameLineWidth):
(WebCore::inflateButtonRect):
(WebCore::RenderThemeQt::adjustRepaintRect):
(WebCore::RenderThemeQt::minimumMenuListSize):
(WebCore::RenderThemeQt::computeSizeBasedOnStyle):
(WebCore::RenderThemeQt::adjustButtonStyle):
(WebCore::RenderThemeQt::setButtonPadding):
(WebCore::RenderThemeQt::paintButton):
(WebCore::RenderThemeQt::adjustTextFieldStyle):
(WebCore::RenderThemeQt::paintTextField):
(WebCore::RenderThemeQt::adjustMenuListStyle):
(WebCore::RenderThemeQt::setPopupPadding):
(WebCore::RenderThemeQt::paintMenuList):
(WebCore::RenderThemeQt::adjustMenuListButtonStyle):
(WebCore::RenderThemeQt::paintMenuListButton):
(WebCore::RenderThemeQt::animationDurationForProgressBar):
(WebCore::RenderThemeQt::paintProgressBar):
(WebCore::RenderThemeQt::paintSliderTrack):
(WebCore::RenderThemeQt::paintSliderThumb):
(WebCore::RenderThemeQt::paintSearchFieldCancelButton):
(WebCore::RenderThemeQt::paintInnerSpinButton):
(WebCore::RenderThemeQt::setPaletteFromPageClientIfExists):
(WebCore::RenderThemeQt::initializeCommonQStyleOptions):
(WebCore::RenderThemeQt::paintMediaFullscreenButton):
(WebCore::RenderThemeQt::paintMediaMuteButton):
(WebCore::RenderThemeQt::paintMediaPlayButton):
(WebCore::RenderThemeQt::paintMediaCurrentTime):
(WebCore::RenderThemeQt::paintMediaVolumeSliderTrack):
(WebCore::RenderThemeQt::paintMediaVolumeSliderThumb):
(WebCore::RenderThemeQt::paintMediaSliderTrack):
(WebCore::RenderThemeQt::paintMediaSliderThumb):
(WebCore::RenderThemeQt::adjustSliderThumbSize):
(WebCore::RenderThemeQt::caretBlinkInterval):
(WebCore::RenderThemeQt::fileListNameForWidth):
* platform/qt/RenderThemeQt.h:
(WebCore::StylePainter::isValid):
(WebCore::StylePainter::drawPrimitive):
(WebCore::StylePainter::drawControl):
(WebCore::StylePainter::drawComplexControl):
* platform/qt/RenderThemeQtMobile.cpp: Removed.
* platform/qt/RenderThemeQtMobile.h: Removed.
* platform/qt/ScrollbarThemeQt.cpp:
(WebCore::ScrollbarTheme::nativeTheme):
(WebCore::ScrollbarThemeQt::paint):
(WebCore::ScrollbarThemeQt::scrollbarThickness):
(WebCore::ScrollbarThemeQt::paintScrollCorner):
2011-11-11 Pavel Feldman <pfeldman@google.com>
Not reviewed: fix Snow Leopard build.
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::performSearch):
2011-11-11 Pavel Feldman <pfeldman@google.com>
Web Inspector: make search in DOM panel scale.
https://bugs.webkit.org/show_bug.cgi?id=72118
Reviewed by Yury Semikhatsky.
* inspector/Inspector.json:
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::InspectorDOMAgent):
(WebCore::InspectorDOMAgent::reset):
(WebCore::InspectorDOMAgent::performSearch):
(WebCore::InspectorDOMAgent::getSearchResults):
(WebCore::InspectorDOMAgent::discardSearchResults):
* inspector/InspectorDOMAgent.h:
* inspector/front-end/DOMAgent.js:
(WebInspector.DOMAgent.prototype.performSearch.callback):
(WebInspector.DOMAgent.prototype.performSearch):
(WebInspector.DOMAgent.prototype.searchResult.mycallback):
(WebInspector.DOMAgent.prototype.searchResult):
(WebInspector.DOMAgent.prototype.cancelSearch):
(WebInspector.DOMDispatcher.prototype.childNodeRemoved):
* inspector/front-end/ElementsPanel.js:
(WebInspector.ElementsPanel.prototype.searchCanceled):
(WebInspector.ElementsPanel.prototype.performSearch.resultCountCallback):
(WebInspector.ElementsPanel.prototype.performSearch):
(WebInspector.ElementsPanel.prototype.jumpToNextSearchResult):
(WebInspector.ElementsPanel.prototype.jumpToPreviousSearchResult):
(WebInspector.ElementsPanel.prototype._highlightCurrentSearchResult.):
(WebInspector.ElementsPanel.prototype._highlightCurrentSearchResult):
(WebInspector.ElementsPanel.prototype._hideSearchHighlights):
* inspector/front-end/NetworkPanel.js:
(WebInspector.NetworkLogView.prototype._highlightNthMatchedResource):
* inspector/front-end/ResourcesPanel.js:
(WebInspector.ResourcesPanel.prototype._showSearchResult.callback):
(WebInspector.ResourcesPanel.prototype._showSearchResult):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype.performSearch.finishedCallback):
(WebInspector.ScriptsPanel.prototype.performSearch):
(WebInspector.ScriptsPanel.prototype.jumpToNextSearchResult):
(WebInspector.ScriptsPanel.prototype.jumpToPreviousSearchResult):
* inspector/front-end/SearchController.js:
(WebInspector.SearchController.prototype._updateSearchMatchesCountAndCurrentMatchIndex):
2011-11-11 Pierre Rossi <pierre.rossi@gmail.com>
[Qt] Remove the QStyle dependency in Qt's mobile theme
https://bugs.webkit.org/show_bug.cgi?id=67773
This refactoring splits up RenderThemeQt with two
subclasses, a QStyle-backed one, and a Mobile version
that uses the old mobile theme for now.
QStyle availability is detected at compile time, and
its use is determined by the QT_WEBKIT_USE_MOBILE_THEME
environment variable.
Reviewed by Simon Hausmann.
Covered by the existing tests.
* Target.pri:
* platform/qt/QtMobileWebStyle.cpp: Removed. The relevant logic
now lives within RenderThemeQtMobile.
* platform/qt/QtMobileWebStyle.h: Removed. Ditto.
* platform/qt/RenderThemeQStyle.cpp: Added.
(WebCore::initStyleOption):
(WebCore::RenderThemeQStyle::getStylePainter):
(WebCore::StylePainterQStyle::StylePainterQStyle):
(WebCore::StylePainterQStyle::init):
(WebCore::RenderThemeQStyle::create):
(WebCore::RenderThemeQStyle::RenderThemeQStyle):
(WebCore::RenderThemeQStyle::~RenderThemeQStyle):
(WebCore::RenderThemeQStyle::fallbackStyle):
(WebCore::RenderThemeQStyle::qStyle):
(WebCore::RenderThemeQStyle::findFrameLineWidth):
(WebCore::RenderThemeQStyle::inflateButtonRect):
(WebCore::RenderThemeQStyle::computeSizeBasedOnStyle):
(WebCore::RenderThemeQStyle::adjustButtonStyle):
(WebCore::RenderThemeQStyle::setButtonPadding):
(WebCore::RenderThemeQStyle::paintButton):
(WebCore::RenderThemeQStyle::adjustTextFieldStyle):
(WebCore::RenderThemeQStyle::paintTextField):
(WebCore::RenderThemeQStyle::adjustTextAreaStyle):
(WebCore::RenderThemeQStyle::paintTextArea):
(WebCore::RenderThemeQStyle::setPopupPadding):
(WebCore::RenderThemeQStyle::paintMenuList):
(WebCore::RenderThemeQStyle::adjustMenuListButtonStyle):
(WebCore::RenderThemeQStyle::paintMenuListButton):
(WebCore::RenderThemeQStyle::animationDurationForProgressBar):
(WebCore::RenderThemeQStyle::paintProgressBar):
(WebCore::RenderThemeQStyle::paintSliderTrack):
(WebCore::RenderThemeQStyle::adjustSliderTrackStyle):
(WebCore::RenderThemeQStyle::paintSliderThumb):
(WebCore::RenderThemeQStyle::adjustSliderThumbStyle):
(WebCore::RenderThemeQStyle::paintSearchField):
(WebCore::RenderThemeQStyle::adjustSearchFieldStyle):
(WebCore::RenderThemeQStyle::adjustSearchFieldDecorationStyle):
(WebCore::RenderThemeQStyle::paintSearchFieldDecoration):
(WebCore::RenderThemeQStyle::adjustSearchFieldResultsDecorationStyle):
(WebCore::RenderThemeQStyle::paintSearchFieldResultsDecoration):
(WebCore::RenderThemeQStyle::paintInnerSpinButton):
(WebCore::RenderThemeQStyle::initializeCommonQStyleOptions):
(WebCore::RenderThemeQStyle::adjustSliderThumbSize):
* platform/qt/RenderThemeQStyle.h: Added.
(WebCore::StylePainterQStyle::isValid):
(WebCore::StylePainterQStyle::drawPrimitive):
(WebCore::StylePainterQStyle::drawControl):
(WebCore::StylePainterQStyle::drawComplexControl):
* platform/qt/RenderThemeQt.cpp:
(WebCore::RenderThemeQt::RenderThemeQt):
(WebCore::RenderThemeQt::isControlStyled):
(WebCore::RenderThemeQt::inflateButtonRect):
(WebCore::RenderThemeQt::adjustRepaintRect):
(WebCore::RenderThemeQt::minimumMenuListSize):
(WebCore::RenderThemeQt::adjustTextFieldStyle):
(WebCore::RenderThemeQt::adjustMenuListStyle):
(WebCore::RenderThemeQt::adjustMenuListButtonStyle):
(WebCore::RenderThemeQt::adjustProgressBarStyle):
(WebCore::RenderThemeQt::paintSearchFieldCancelButton):
(WebCore::RenderThemeQt::adjustInnerSpinButtonStyle):
(WebCore::RenderThemeQt::setPaletteFromPageClientIfExists):
(WebCore::RenderThemeQt::paintMediaFullscreenButton):
(WebCore::RenderThemeQt::paintMediaMuteButton):
(WebCore::RenderThemeQt::paintMediaPlayButton):
(WebCore::RenderThemeQt::paintMediaCurrentTime):
(WebCore::RenderThemeQt::paintMediaVolumeSliderTrack):
(WebCore::RenderThemeQt::paintMediaVolumeSliderThumb):
(WebCore::RenderThemeQt::paintMediaSliderTrack):
(WebCore::RenderThemeQt::paintMediaSliderThumb):
(WebCore::RenderThemeQt::adjustSliderThumbSize):
(WebCore::RenderThemeQt::caretBlinkInterval):
(WebCore::RenderThemeQt::fileListNameForWidth):
(WebCore::StylePainter::StylePainter):
(WebCore::StylePainter::init):
(WebCore::StylePainter::~StylePainter):
* platform/qt/RenderThemeQt.h:
(WebCore::RenderThemeQt::useMobileTheme):
(WebCore::StylePainter::isValid):
* platform/qt/RenderThemeQtMobile.cpp: Added.
(WebCore::drawRectangularControlBackground):
(WebCore::RenderThemeQtMobile::getStylePainter):
(WebCore::StylePainterMobile::StylePainterMobile):
(WebCore::StylePainterMobile::drawChecker):
(WebCore::StylePainterMobile::findChecker):
(WebCore::StylePainterMobile::drawRadio):
(WebCore::StylePainterMobile::findRadio):
(WebCore::StylePainterMobile::drawMultipleComboButton):
(WebCore::StylePainterMobile::drawSimpleComboButton):
(WebCore::StylePainterMobile::getButtonImageSize):
(WebCore::StylePainterMobile::findComboButton):
(WebCore::StylePainterMobile::drawLineEdit):
(WebCore::StylePainterMobile::drawCheckBox):
(WebCore::StylePainterMobile::drawRadioButton):
(WebCore::StylePainterMobile::drawPushButton):
(WebCore::StylePainterMobile::drawComboBox):
(WebCore::RenderThemeQtMobile::create):
(WebCore::RenderTheme::themeForPage):
(WebCore::RenderThemeQtMobile::RenderThemeQtMobile):
(WebCore::RenderThemeQtMobile::~RenderThemeQtMobile):
(WebCore::RenderThemeQtMobile::isControlStyled):
(WebCore::RenderThemeQtMobile::popupInternalPaddingBottom):
(WebCore::RenderThemeQtMobile::computeSizeBasedOnStyle):
(WebCore::RenderThemeQtMobile::adjustButtonStyle):
(WebCore::RenderThemeQtMobile::setButtonPadding):
(WebCore::RenderThemeQtMobile::paintButton):
(WebCore::RenderThemeQtMobile::adjustTextFieldStyle):
(WebCore::RenderThemeQtMobile::paintTextField):
(WebCore::RenderThemeQtMobile::adjustMenuListStyle):
(WebCore::RenderThemeQtMobile::setPopupPadding):
(WebCore::RenderThemeQtMobile::paintMenuList):
(WebCore::RenderThemeQtMobile::paintMenuListButton):
(WebCore::RenderThemeQtMobile::animationDurationForProgressBar):
(WebCore::RenderThemeQtMobile::paintProgressBar):
(WebCore::RenderThemeQtMobile::paintSliderTrack):
(WebCore::RenderThemeQtMobile::paintSliderThumb):
(WebCore::RenderThemeQtMobile::checkMultiple):
(WebCore::RenderThemeQtMobile::setPaletteFromPageClientIfExists):
(WebCore::RenderThemeQtMobile::adjustSliderThumbSize):
* platform/qt/RenderThemeQtMobile.h: Added.
* platform/qt/ScrollbarThemeQt.cpp:
(WebCore::ScrollbarTheme::nativeTheme):
(WebCore::ScrollbarThemeQt::paint):
(WebCore::ScrollbarThemeQt::scrollbarThickness):
(WebCore::ScrollbarThemeQt::paintScrollCorner):
2011-11-11 Alexander Pavlov <apavlov@chromium.org>
Web Inspector: Option to configure indentation of pretty-printed Javascript
https://bugs.webkit.org/show_bug.cgi?id=72119
Reviewed by Pavel Feldman.
Drive-by fix for field names and added indent caching, as suggested by Pavel Podivilov.
* inspector/front-end/JavaScriptFormatter.js:
(FormattedContentBuilder):
(FormattedContentBuilder.prototype.increaseNestingLevel):
(FormattedContentBuilder.prototype.decreaseNestingLevel):
(FormattedContentBuilder.prototype._addIndent):
* inspector/front-end/ScriptFormatter.js:
* inspector/front-end/ScriptFormatterWorker.js:
(onmessage):
(formatScript):
(HTMLScriptFormatter):
(HTMLScriptFormatter.prototype.scriptEnded):
2011-11-11 Andreas Kling <kling@webkit.org>
Unreviewed Chromium build fix after r99958.
* bindings/scripts/CodeGeneratorV8.pm:
(GenerateImplementationCustomCall):o
Remove hack that forced HTMLOptionsCollection to have a custom
callAsFunctionCallback().
2011-11-11 Mike Lewis <mikelikespie@gmail.com>
Web Inspector: DevTools InspectorStubs.js incorrectly converting responses to arguments.
https://bugs.webkit.org/show_bug.cgi?id=72096
JSON.parse doesn't garantee the order of keys.
We have to explicitly order the results according to Inspector.json spec.
Reviewed by Pavel Feldman.
* inspector/CodeGeneratorInspector.py:
2011-11-10 Andreas Kling <kling@webkit.org>
Remove ability to call HTMLCollections in V8 bindings as well.
<http://webkit.org/b/72045>
Reviewed by Anders Carlsson.
Follow the JSC bindings and remove the ability to call HTMLCollections
in the V8 bindings (excluding HTMLAllCollection.)
* bindings/scripts/CodeGeneratorV8.pm:
(GenerateHeaderCustomCall):
(GenerateImplementationCustomCall):
* dom/NodeList.idl:
* html/HTMLCollection.idl:
Remove the V8CustomCall attribute as it's no longer needed.
* bindings/v8/custom/V8HTMLCollectionCustom.cpp:
* bindings/v8/custom/V8NodeListCustom.cpp:
2011-11-11 Alexander Pavlov <apavlov@chromium.org>
Web Inspector: Interactive color box for gradients in CSS property values
https://bugs.webkit.org/show_bug.cgi?id=72112
Reviewed by Yury Semikhatsky.
Add "background-image" to the list of color-aware properties (may contain gradient definition).
* inspector/front-end/CSSKeywordCompletions.js:
2011-11-11 Yury Semikhatsky <yurys@chromium.org>
Web Inspector: [chromium] list dedicated workers in case inspector opened post-worker creation.
https://bugs.webkit.org/show_bug.cgi?id=72020
Collect information about dedicated workers even when inspector is closed. This
way we can list all dedicated workers if the front-end opens later.
Reviewed by Pavel Feldman.
Test: http/tests/inspector-enabled/dedicated-workers-list.html
* inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::didStartWorkerContext):
* inspector/InspectorWorkerAgent.cpp:
(WebCore::InspectorWorkerAgent::InspectorWorkerAgent):
(WebCore::InspectorWorkerAgent::~InspectorWorkerAgent):
(WebCore::InspectorWorkerAgent::setFrontend):
(WebCore::InspectorWorkerAgent::restore):
(WebCore::InspectorWorkerAgent::clearFrontend):
(WebCore::InspectorWorkerAgent::setWorkerInspectionEnabled):
(WebCore::InspectorWorkerAgent::didStartWorkerContext):
(WebCore::InspectorWorkerAgent::workerContextTerminated):
(WebCore::InspectorWorkerAgent::createWorkerFrontendChannelsForExistingWorkers):
(WebCore::InspectorWorkerAgent::destroyWorkerFrontendChannels):
(WebCore::InspectorWorkerAgent::createWorkerFrontendChannel):
* inspector/InspectorWorkerAgent.h:
2011-11-11 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r99950.
http://trac.webkit.org/changeset/99950
https://bugs.webkit.org/show_bug.cgi?id=72117
"Landed wrong patch by mistake" (Requested by yurys on
#webkit).
* bindings/js/JSInjectedScriptHostCustom.cpp:
* bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
* inspector/InjectedScript.cpp:
* inspector/InjectedScript.h:
* inspector/InjectedScriptHost.idl:
* inspector/InjectedScriptSource.js:
* inspector/Inspector.json:
* inspector/InspectorDebuggerAgent.cpp:
* inspector/InspectorDebuggerAgent.h:
2011-11-10 Yury Semikhatsky <yurys@chromium.org>
Web Inspector: function remote objetct should provide access to function position in the script
https://bugs.webkit.org/show_bug.cgi?id=71808
Added Debugger.getFunctionLocation command for resolving function location including
start line, column and script id.
Reviewed by Pavel Feldman.
Test: inspector/debugger/function-location.html
* bindings/js/JSInjectedScriptHostCustom.cpp:
(WebCore::JSInjectedScriptHost::functionLocation):
* bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
(WebCore::V8InjectedScriptHost::functionLocationCallback):
* inspector/InjectedScript.cpp:
(WebCore::InjectedScript::getFunctionLocation):
* inspector/InjectedScript.h:
* inspector/InjectedScriptHost.idl:
* inspector/InjectedScriptSource.js:
(.):
* inspector/Inspector.json:
* inspector/InspectorDebuggerAgent.cpp:
(WebCore::InspectorDebuggerAgent::getFunctionLocation):
* inspector/InspectorDebuggerAgent.h:
2011-11-11 Pavel Feldman <pfeldman@google.com>
Not reviewed: roll out changes to InspectorDOMAgent that squeezed into 99933.
* inspector/InspectorDOMAgent.cpp:
(WebCore::MatchJob::MatchJob):
(WebCore::InspectorDOMAgent::onMatchJobsTimer):
2011-11-11 Alexander Pavlov <apavlov@chromium.org>
Web Inspector: [Metrics] Editor is committed when scrolling a content box dimension up/down for the first time
https://bugs.webkit.org/show_bug.cgi?id=72108
Reviewed by Pavel Feldman.
* inspector/front-end/MetricsSidebarPane.js:
(WebInspector.MetricsSidebarPane.prototype._attributesUpdated):
2011-11-11 Alpha Lam <hclam@chromium.org>
[chromium] scrolling is broken with compositor thread
https://bugs.webkit.org/show_bug.cgi?id=72059
Reviewed by James Robinson.
No new test. Existing test CCLayerTreeHostImplTest.scrollDeltaRepeatedScrolls checks scroll deltas are applied
on the right layer.
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
(WebCore::CCLayerTreeHostImpl::scrollLayer):
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::beginFrameCompleteOnImplThread):
Instead of calling on the root layer which doesn't have scroll delta applied. Change this to scrollLayer()
which actually has scroll delta.
2011-11-11 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r99826.
http://trac.webkit.org/changeset/99826
https://bugs.webkit.org/show_bug.cgi?id=72109
"Likely causing test flakiness" (Requested by tonyg-cr on
#webkit).
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::scheduleArchiveLoad):
2011-11-11 Nikolas Zimmermann <nzimmermann@rim.com>
Zooming in SVGs in <object> is flakey
https://bugs.webkit.org/show_bug.cgi?id=71673
Reviewed by Zoltan Herczeg.
It turns out zooming in SVGs in <object> wasn't flakey in Safari at all, only in DRT/Mac. In Safari it failed 100% reproducable.
Scrollbars would always appear when zooming in a HTML document, containing an embedded SVG by <object>/<embed>/<iframe>, even
though the content would visually fit perfectly, also it zoomed properly. Reloading would make the scrollbars disappear again.
If scrollbars should be created for a FrameView or not, is determined by ScrollView::updateScrollbars(), by comparing the
visible size of the scroll view against the contents size. The contents size is propagated to the ScrollView, by
FrameView::adjustViewSize(), which is called during FrameView::layout(). The size thats propagated is RenderView::documentRect().
RenderView::documentRect() returns a writing-mode aware layoutOverflowRect(), computed by RenderBox::layoutOverflowRectForPropagation.
If overflow is "visible", layoutOverflowRect() will return a union of the borderBoxRect() and the layoutOverflowRect(), which
may exceed the visible size of the RenderView. For standalone SVG documents, the default value for the outermost <svg> renderer is
"visible". When embedding SVGs through <object>s into a host document, the same code path is taken, and RenderView::documentRect()
of the embedded SVG document will always return a union of the borderBoxREct() and the layoutOverflowRect().
If that happens while zooming in a HTML document containing a SVG by <object>, scrollbars are created.
By ensuring that overflow is treated as hidden, which is what Opera does (and makes sense!) this can't happen.
The fix is to treat embedded SVGs as they would carry overflow="hidden" on the outermost <svg> renderer. That also makes
sense as the embedded SVG cant paint outside an external "frame rect" thats given by the FrameView, effectively rendering
as overflow "hidden" already.
The fix is realized, by altering the overflow x/y values that are used in FrameView::applyOverflowToViewport(). Previously
we never called that method for SVG, which was fine. Now we always call applyOverflowToViewport(), but only do something
if the FrameView of the SVG is embedded in another document. If so, we force overflow to hidden.
That fixes all zooming+<object> related flakiness seen on the chromium bots, most noticeable, without other side effects.
All svg/overflow tests, still work as expected.
Test: svg/zoom/page/zoom-svg-as-object.html
* page/Frame.cpp:
(WebCore::Frame::setPageAndTextZoomFactors): Remove unnecessary setNeedsLayout() call in SVG builds.
* page/FrameView.cpp:
(WebCore::FrameView::applyOverflowToViewport): Always enforce overflow=hidden, when embedding SVGs through object/embed/iframe.
Otherwise scrollbars will appear, even though the contents would fit without them.
(WebCore::FrameView::calculateScrollbarModesForLayout): Always call applyOverflowToViewport, even for RenderSVGRoot. It only has
an effect though, when the FrameView of the SVG is embedded through <object>/etc.
(WebCore::FrameView::layout): Remove unnecessary setChildNeedsLayout() call.
* rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::isEmbeddedThroughFrameContainingSVGDocument): Fix this function, its meaning was reversed before!
(WebCore::RenderSVGRoot::computeReplacedLogicalWidth): Fix logical error, by negating the result of isEmbeddedThroughFrameContainingSVGDocument.
(WebCore::RenderSVGRoot::computeReplacedLogicalHeight): Ditto.
* rendering/svg/RenderSVGRoot.h: Expose isEmbeddedThroughFrameContainingSVGDocument.
2011-11-11 Nikolas Zimmermann <nzimmermann@rim.com>
Not reviewed. Unbreak my 32bit SL build.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateOrRemoveFilterEffect): Use narrowPrecisionToFloat() to convert float -> double.
2011-10-28 Philippe Normand <pnormand@igalia.com>
HRTF Database consolidation
https://bugs.webkit.org/show_bug.cgi?id=69703
Reviewed by Kenneth Russell.
Access to the consolidated parts of the HRTF database by segmented
chunks. A concatenated Composite HRTF database is provided in
Composite.wav. Additionnally a new build step that concatenates
the platform/audio/resources/ files into one (sox can be used for
this) can be configured for specific ports.
* platform/audio/HRTFDatabase.h:
* platform/audio/HRTFElevation.cpp:
(WebCore::getConcatenatedImpulseResponsesForSubject):
(WebCore::HRTFElevation::calculateKernelsForAzimuthElevation):
* platform/audio/resources/Composite.wav: Added.
2011-11-10 Pavel Feldman <pfeldman@google.com>
Web Inspector: provide an id to the root inspector element for third party UA styling.
https://bugs.webkit.org/show_bug.cgi?id=72094
Reviewed by Yury Semikhatsky.
* inspector/front-end/inspector.html:
2011-11-10 Andy Estes <aestes@apple.com>
WebKitCSSShaderValue.h is not a member of the WebCore target
https://bugs.webkit.org/show_bug.cgi?id=72093
Reviewed by Dan Bernstein.
* WebCore.xcodeproj/project.pbxproj: Make WebKitCSSShaderValue.h a
member of the WebCore target, and make it a project header.
2011-11-10 Dan Bernstein <mitz@apple.com>
Disabling assertions breaks the debug build
https://bugs.webkit.org/show_bug.cgi?id=72091
Reviewed by Geoff Garen.
* platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::didDecodeProperties): Guarded the definition of local variables that are
only used in an assertion correctly.
* platform/graphics/gpu/TilingData.h: Changed ASSERT to ASSERT_UNUSED.
(WebCore::TilingData::assertTile):
* rendering/RenderInline.cpp:
(WebCore::RenderInline::willBeDestroyed): Guarded the definition of a local variable that is
only used in an assertion correctly.
* rendering/svg/RenderSVGResourceClipper.cpp:
(WebCore::RenderSVGResourceClipper::applyResource): Changed ASSERT to ASSERT_UNUSED.
* rendering/svg/RenderSVGResourceFilter.cpp:
(WebCore::RenderSVGResourceFilter::applyResource): Changed ASSERT to ASSERT_UNUSED.
(WebCore::RenderSVGResourceFilter::postApplyResource): Changed ASSERT to ASSERT_UNUSED.
* rendering/svg/RenderSVGResourceMasker.cpp:
(WebCore::RenderSVGResourceMasker::applyResource): Changed ASSERT to ASSERT_UNUSED.
2011-11-10 Daniel Cheng <dcheng@chromium.org>
[chromium] Add plumbing for JS to write to clipboard in copy/cut events.
https://bugs.webkit.org/show_bug.cgi?id=71414
Reviewed by Darin Fisher.
No new tests since no new functionality enabled yet.
* platform/chromium/PasteboardChromium.cpp:
(WebCore::Pasteboard::writeClipboard):
* platform/chromium/PlatformSupport.h:
2011-11-10 Daniel Cheng <dcheng@chromium.org>
Atomically update the system clipboard for copy/cut events
https://bugs.webkit.org/show_bug.cgi?id=40515
Reviewed by David Levin.
This change consolidates the system pasteboard mutation logic into dispatchCPPEvent() rather
than having it scattered throughout tryDHTMLCopy/tryDHTMLCut and the various Clipboard*
classes. This allows us to ensure that the system pasteboard remains in a consistent state
even if there's an exception thrown during event handling, and it also lays the ground work
for allowing pages to prevent copy/cut without causing the system pasteboard to be cleared.
No new tests, since any layout test would be flaky since it would depend on and affect
global system state.
* editing/Editor.cpp:
(WebCore::Editor::tryDHTMLCopy): Move Pasteboard::clear() call to dispatchCPPEvent().
(WebCore::Editor::tryDHTMLCut): Ditto.
(WebCore::Editor::dispatchCPPEvent):
Only persist Clipboard mutations to the system pasteboard if the event was dispatched
successfully and default processing was prevented.
* editing/mac/EditorMac.mm:
(WebCore::Editor::newGeneralClipboard):
When creating a Clipboard for copy/cut, back it with a unique instance of NSPasteboard to
buffer pasteboard mutations.
* platform/Pasteboard.h:
* platform/chromium/PasteboardChromium.cpp:
(WebCore::Pasteboard::writeClipboard):
* platform/efl/PasteboardEfl.cpp:
(WebCore::Pasteboard::writeClipboard):
* platform/gtk/ClipboardGtk.cpp: Moved pasteboard writeback to PasteboardGtk.
(WebCore::ClipboardGtk::setData):
* platform/gtk/ClipboardGtk.h:
(WebCore::ClipboardGtk::clipboard):
* platform/gtk/PasteboardGtk.cpp:
(WebCore::Pasteboard::writeClipboard):
* platform/mac/PasteboardMac.mm:
(WebCore::Pasteboard::writeClipboard):
Implement logic to flush data from temporary NSPasteboard to system pasteboard.
* platform/gtk/ClipboardGtk.cpp: Moved pasteboard writeback to PasteboardQt.
(WebCore::ClipboardGtk::setData):
* platform/qt/PasteboardQt.cpp:
(WebCore::Pasteboard::writeClipboard):
* platform/win/PasteboardWin.cpp:
(WebCore::Pasteboard::writeClipboard):
* platform/wince/PasteboardWinCE.cpp:
(WebCore::Pasteboard::writeClipboard):
* platform/wx/PasteboardWx.cpp:
(WebCore::Pasteboard::writeClipboard):
2011-11-10 Julien Chaffraix <jchaffraix@webkit.org>
RenderTableSection's recalcCell logic is doing too much work
https://bugs.webkit.org/show_bug.cgi?id=71986
Reviewed by Darin Adler.
No change in behavior expected so no test.
r98738 and r98980 missed the point that Vector::clear() does not touch
the internal buffer. Thus calling clear() would keep the memory and properly
reset the size().
Due to how the code worked, after r98980 the code would end up resetting some
of RowStruct field twice: once when growing and the other one when calling
fillRowsWithDefaultStartingAtPosition.
This change make the code use Vector::clear and simplified the recalcCells
logic knowing that growing the Vector will properly initialize most of the
RowStruct fields (with RowStruct constructor).
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::addChild):
(WebCore::RenderTableSection::addCell):
Updated after ensureRows signature change.
(WebCore::RenderTableSection::ensureRows):
Removed the overflow check as it was making some assumption as to how the
Vector worked. If we want to implement a limit, we may do it differently.
Also inlined the part of fillRowsWithDefaultStartingAtPosition that grows
the columns to match our current representation. The rest of the function's
initialization is handled by the constructor already.
(WebCore::RenderTableSection::recalcCells):
Use clear() as it keeps the buffer and just resets the size. Also shrinkToFit
at the end as we may have lost some rows.
* rendering/RenderTableSection.h:
(WebCore::RenderTableSection::CellStruct::CellStruct):
Fixed the style of the constructor.
(WebCore::RenderTableSection::RowStruct::RowStruct):
Added an explicit constructor (which is equivalent to the default one)
but underlines what we expect.
2011-11-10 Enrica Casucci <enrica@apple.com>
ASSERT when outdenting styled line break.
https://bugs.webkit.org/show_bug.cgi?id=72069
<rdar://problem/10429739>
Reviewed by Ryosuke Niwa.
When outdenting a line break that has some inline style, we don't consider
the enclosing elements that provide the style.
This causes the splitting to occur in the wrong position,
triggering the assert.
Test: editing/execCommand/outdent-break-with-style.html
* editing/IndentOutdentCommand.cpp:
(WebCore::IndentOutdentCommand::outdentParagraph): The fix consists
in choosing the highest inline ancestor as splitting point.
* editing/htmlediting.cpp:
(WebCore::isInline): Added.
* editing/htmlediting.h: Added isInline.
2011-11-10 Dean Jackson <dino@apple.com>
Remove effectBoundingBoxMode from CSS Filters
https://bugs.webkit.org/show_bug.cgi?id=72058
Reviewed by Simon Fraser.
As suggested by Nikolas, we don't need this virtual method any more.
* rendering/FilterEffectRenderer.h:
2011-11-10 David Hyatt <hyatt@apple.com>
https://bugs.webkit.org/show_bug.cgi?id=72060
[CSS Line Grid] Add support for the line-grid-snap property to control snapping to the nearest
enclosing grid.
Reviewed by Dan Bernstein.
Added fast/line-grid/line-grid-snap-parsing.html.
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator LineGridSnap):
* css/CSSProperty.cpp:
(WebCore::CSSProperty::isInheritedProperty):
* css/CSSPropertyNames.in:
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
* css/CSSValueKeywords.in:
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::diff):
* rendering/style/RenderStyle.h:
(WebCore::InheritedFlags::lineGridSnap):
(WebCore::InheritedFlags::setLineGridSnap):
(WebCore::InheritedFlags::initialLineGridSnap):
* rendering/style/RenderStyleConstants.h:
* rendering/style/StyleRareInheritedData.cpp:
(WebCore::StyleRareInheritedData::StyleRareInheritedData):
(WebCore::StyleRareInheritedData::operator==):
* rendering/style/StyleRareInheritedData.h:
2011-11-10 Kentaro Hara <haraken@chromium.org>
CodeGeneratorV8.pm can generate Event constructors
https://bugs.webkit.org/show_bug.cgi?id=72055
Reviewed by Adam Barth.
This patch makes CodeGeneratorV8.pm generate Event constructors
and replaces a custom constructor of Event with the generated one.
After this patch is landed without regression,
I will replace custom constructors of all other Events.
This patch introduces two new IDLs:
- [ConstructorTemplate=Event] IDL indicates that CodeGenerator should
generate an Event constructor.
- [InitializedByConstructor] IDL on an attribute indicates that
the attribute can be initialized by the constructor.
Tests: fast/events/constructors/event-constructors.html
fast/events/constructors/custom-event-constructor.html
fast/events/constructors/progress-event-constructor.html
* bindings/scripts/CodeGeneratorV8.pm:
(GenerateHeader): Added a header for fillXXXXEventInit(...).
(IsConstructable): Judges if a given interface is constructable.
(IsConstructorTemplate): Judges if a given interface has a given template, e.g. judges if an interface has [ConstructorTemplate=Event].
(GenerateEventConstructorCallback): Generates an Event constructor. The generated code is the same as the code that had been written in V8EventConstructors.cpp.
(GenerateImplementation): Generates an Event constructor if [ConstructorTemplate=Event] is specified.
* dom/Event.idl: Added [ConstructorTemplate=Event] IDL. Added [InitializedByConstructor] IDL to attributes that can be initialized by a constructor.
* bindings/scripts/test/TestEventConstructor.idl: Added a new run-bindings-test.
* bindings/scripts/test/CPP/WebDOMTestEventConstructor.cpp: Updated a run-bindings-tests result.
(WebDOMTestEventConstructor::WebDOMTestEventConstructorPrivate::WebDOMTestEventConstructorPrivate):
(WebDOMTestEventConstructor::WebDOMTestEventConstructor):
(WebDOMTestEventConstructor::operator=):
(WebDOMTestEventConstructor::impl):
(WebDOMTestEventConstructor::~WebDOMTestEventConstructor):
(WebDOMTestEventConstructor::attr1):
(WebDOMTestEventConstructor::attr2):
(toWebCore):
(toWebKit):
* bindings/scripts/test/CPP/WebDOMTestEventConstructor.h: Ditto.
* bindings/scripts/test/GObject/WebKitDOMTestEventConstructor.cpp: Ditto.
(WebKit::kit):
(webkit_dom_test_event_constructor_get_attr1):
(webkit_dom_test_event_constructor_get_attr2):
(WebKit::core):
(webkit_dom_test_event_constructor_finalize):
(webkit_dom_test_event_constructor_set_property):
(webkit_dom_test_event_constructor_get_property):
(webkit_dom_test_event_constructor_constructed):
(webkit_dom_test_event_constructor_class_init):
(webkit_dom_test_event_constructor_init):
(WebKit::wrapTestEventConstructor):
* bindings/scripts/test/GObject/WebKitDOMTestEventConstructor.h: Ditto.
* bindings/scripts/test/GObject/WebKitDOMTestEventConstructorPrivate.h: Ditto.
* bindings/scripts/test/JS/JSTestEventConstructor.cpp: Ditto.
(WebCore::JSTestEventConstructorConstructor::JSTestEventConstructorConstructor):
(WebCore::JSTestEventConstructorConstructor::finishCreation):
(WebCore::JSTestEventConstructorConstructor::getOwnPropertySlot):
(WebCore::JSTestEventConstructorConstructor::getOwnPropertyDescriptor):
(WebCore::JSTestEventConstructorConstructor::getConstructData):
(WebCore::JSTestEventConstructorPrototype::self):
(WebCore::JSTestEventConstructor::JSTestEventConstructor):
(WebCore::JSTestEventConstructor::finishCreation):
(WebCore::JSTestEventConstructor::createPrototype):
(WebCore::JSTestEventConstructor::getOwnPropertySlot):
(WebCore::JSTestEventConstructor::getOwnPropertyDescriptor):
(WebCore::jsTestEventConstructorAttr1):
(WebCore::jsTestEventConstructorAttr2):
(WebCore::jsTestEventConstructorConstructor):
(WebCore::JSTestEventConstructor::getConstructor):
(WebCore::toJS):
(WebCore::toTestEventConstructor):
* bindings/scripts/test/JS/JSTestEventConstructor.h: Ditto.
(WebCore::JSTestEventConstructor::create):
(WebCore::JSTestEventConstructor::createStructure):
(WebCore::JSTestEventConstructor::impl):
(WebCore::JSTestEventConstructorPrototype::create):
(WebCore::JSTestEventConstructorPrototype::createStructure):
(WebCore::JSTestEventConstructorPrototype::JSTestEventConstructorPrototype):
(WebCore::JSTestEventConstructorConstructor::create):
(WebCore::JSTestEventConstructorConstructor::createStructure):
* bindings/scripts/test/ObjC/DOMTestEventConstructor.h: Ditto.
* bindings/scripts/test/ObjC/DOMTestEventConstructor.mm: Ditto.
(-[DOMTestEventConstructor dealloc]):
(-[DOMTestEventConstructor finalize]):
(-[DOMTestEventConstructor attr1]):
(-[DOMTestEventConstructor attr2]):
(core):
(kit):
* bindings/scripts/test/ObjC/DOMTestEventConstructorInternal.h: Ditto.
* bindings/scripts/test/V8/V8TestEventConstructor.cpp: Ditto.
(WebCore::TestEventConstructorInternal::V8_USE):
(WebCore::TestEventConstructorInternal::attr1AttrGetter):
(WebCore::TestEventConstructorInternal::attr2AttrGetter):
(WebCore::ConfigureV8TestEventConstructorTemplate):
(WebCore::V8TestEventConstructor::GetRawTemplate):
(WebCore::V8TestEventConstructor::GetTemplate):
(WebCore::V8TestEventConstructor::HasInstance):
(WebCore::V8TestEventConstructor::wrapSlow):
(WebCore::V8TestEventConstructor::derefObject):
* bindings/scripts/test/V8/V8TestEventConstructor.h: Ditto.
(WebCore::V8TestEventConstructor::toNative):
(WebCore::V8TestEventConstructor::existingWrapper):
(WebCore::V8TestEventConstructor::wrap):
(WebCore::toV8):
* bindings/scripts/test/V8/V8TestInterface.h: Ditto.
* bindings/scripts/test/V8/V8TestMediaQueryListListener.h: Ditto.
* bindings/scripts/test/V8/V8TestNamedConstructor.h: Ditto.
* bindings/scripts/test/V8/V8TestObj.h: Ditto.
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h: Ditto.
* bindings/v8/custom/V8EventConstructors.cpp: Removed a custom constructor of Event.
2011-11-10 Benjamin Poulain <benjamin@webkit.org>
Do not share CSS style for MediaElement backed by a plugin
https://bugs.webkit.org/show_bug.cgi?id=72005
Reviewed by Simon Fraser.
With PLUGIN_PROXY_FOR_VIDEO, the RenderMedia elements are rendered through RenderBoxModelObject.
Like the embedded element, the proxied media element can gain a layer outside a change of style.
This patch prevents style sharing for the Audio and Video elements when PLUGIN_PROXY_FOR_VIDEO
is enabled.
This path is covered by exising tests. In particular, http/tests/misc/empty-urls.html
ASSERT() because of this.
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::canShareStyleWithElement):
2011-11-10 Dean Jackson <dino@apple.com>
Move/copy/merge SVG filter rendering code to generic rendering
https://bugs.webkit.org/show_bug.cgi?id=68472
Reviewed by Simon Fraser.
Implement an extremely simple version of the filter
chain. Only a single hue-rotate filter is supported
at the moment. The change in this commit was to insert a new
step in RenderLayer's painting to capture the content to an
offscreen ImageBuffer, apply a filter operation on that buffer,
and then draw the result in place of the original element. The full
implementation will need something like the SVGFilterBuilder
but this is a good prototype of effects on HTML content.
It's an open question at the moment as to when the filter
effect should apply: after masking, after overflow, after outline,
etc. Currently the filter applies at the end of the paintLayer code.
This will likely change.
Added a FilterEffectRenderer class that is the root of the filter
tree. At the moment it holds the offscreen context and
the existing paint context.
Other than rendering, the rest of this patch adds tests
to make sure any element with a filter style will become
a RenderLayer. In order to avoid a lot of duplicated code
around the more complex logic tests, RenderStyle::hasFilter
is available outside ENABLE(CSS_FILTERS), but returns false
in those situations.
Tests: css3/filters/add-filter-rendering.html
css3/filters/remove-filter-rendering.html
css3/filters/simple-filter-rendering.html
* CMakeLists.txt:
* GNUmakefile.list.am:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::adjustRenderStyle):
* rendering/FilterEffectRenderer.cpp: Added.
(WebCore::FilterEffectRenderer::FilterEffectRenderer):
(WebCore::FilterEffectRenderer::~FilterEffectRenderer):
* rendering/FilterEffectRenderer.h: Added.
(WebCore::FilterEffectRenderer::create):
(WebCore::FilterEffectRenderer::setSourceImageRect):
(WebCore::FilterEffectRenderer::sourceImageRect):
(WebCore::FilterEffectRenderer::setFilterRegion):
(WebCore::FilterEffectRenderer::filterRegion):
(WebCore::FilterEffectRenderer::effectBoundingBoxMode):
(WebCore::FilterEffectRenderer::setEffect):
(WebCore::FilterEffectRenderer::effect):
(WebCore::FilterEffectRenderer::setSourceGraphic):
(WebCore::FilterEffectRenderer::sourceGraphic):
* rendering/RenderBoxModelObject.h:
(WebCore::RenderBoxModelObject::requiresLayer):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintLayer):
(WebCore::RenderLayer::shouldBeNormalFlowOnly):
(WebCore::RenderLayer::styleChanged):
(WebCore::RenderLayer::updateOrRemoveFilterEffect):
(WebCore::RenderLayer::updateFilterBackingStore):
* rendering/RenderLayer.h:
(WebCore::RenderLayer::hasFilter):
* rendering/RenderObject.h:
(WebCore::RenderObject::hasFilter):
* rendering/RenderTableRow.h:
(WebCore::RenderTableRow::requiresLayer):
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::diff):
* rendering/style/RenderStyle.h:
(WebCore::InheritedFlags::hasFilter):
2011-11-10 Xiaomei Ji <xji@chromium.org>
--webkit-visual-word crash when create legacy position for shadowRoot
https://bugs.webkit.org/show_bug.cgi?id=71600
Reviewed by Ryosuke Niwa.
Inside textarea, the shadowed text node's previous leaf node could be the
shadowRoot node, which cause assert exception in creating legacy position based
on such node. Exit previousRootInlineBox() when reach shadowRoot node.
It does not cause problem when looking for text node's next leaf node. Adding
the same checking in nextRootInlineBox just to be safe.
Test: editing/selection/move-by-word-visually-crash-test-textarea.html
* editing/visible_units.cpp:
(WebCore::previousRootInlineBox):
(WebCore::nextRootInlineBox):
2011-11-10 Dean Jackson <dino@apple.com>
Parse drop-shadow() filter syntax
https://bugs.webkit.org/show_bug.cgi?id=69108
Reviewed by Simon Fraser.
Support parsing of the shadow syntax inside drop-shadow
and returning the correct computed style for a filter that
has such a function.
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::valueForFilter):
Move this from a static function (computedFilter) to a method on
CSSComputedStyleDeclaration, which allows us to call the
existing method for shadow styles.
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSComputedStyleDeclaration.h:
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseShadow):
Previously parseShadow expected to be called with the entire
value of a property, not just to look at a restricted subset.
Change parseShadow to take a CSSParserValueList as parameter,
allowing it to be used to parse the arguments to the drop-shadow
function. Also, return the CSSValueList rather than injecting
it directly into the property value.
(WebCore::filterInfoForName):
(WebCore::CSSParser::parseFilter):
Support for the drop-shadow() function.
* css/CSSParser.h:
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::createFilterOperations):
* css/SVGCSSParser.cpp:
(WebCore::CSSParser::parseSVGValue):
Updated to use the new arguments for parseShadow.
2011-11-10 Vsevolod Vlasov <vsevik@chromium.org>
Web Inspector: ApplicationCache UI is confusing and incorrect.
https://bugs.webkit.org/show_bug.cgi?id=64581
Reviewed by Pavel Feldman.
Fixed resources panel application cache UI.
Manifest urls are now shown under application cache tree element.
Under each manifest url tree element frames using relevant application
cache are listed. Application cache detailed views could be opened for each
frame.
Test: http/tests/inspector/resource-tree/appcache-iframe-manifests.html
* English.lproj/localizedStrings.js:
* inspector/Inspector.json:
* inspector/InspectorApplicationCacheAgent.cpp:
(WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
(WebCore::InspectorApplicationCacheAgent::setFrontend):
(WebCore::InspectorApplicationCacheAgent::updateApplicationCacheStatus):
(WebCore::InspectorApplicationCacheAgent::networkStateChanged):
(WebCore::InspectorApplicationCacheAgent::enable):
(WebCore::InspectorApplicationCacheAgent::getFramesWithManifests):
(WebCore::InspectorApplicationCacheAgent::assertFrameWithDocumentLoader):
(WebCore::InspectorApplicationCacheAgent::getManifestForFrame):
(WebCore::InspectorApplicationCacheAgent::getApplicationCacheForFrame):
(WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCache):
(WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCacheResource):
* inspector/InspectorApplicationCacheAgent.h:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::resourceContent):
(WebCore::InspectorPageAgent::getResourceContent):
(WebCore::InspectorPageAgent::assertFrame):
(WebCore::InspectorPageAgent::assertDocumentLoader):
* inspector/InspectorPageAgent.h:
* inspector/InspectorStyleSheet.cpp:
(WebCore::InspectorStyleSheet::resourceStyleSheetText):
* inspector/front-end/ApplicationCacheItemsView.js:
(WebInspector.ApplicationCacheItemsView):
(WebInspector.ApplicationCacheItemsView.prototype._update):
(WebInspector.ApplicationCacheItemsView.prototype._updateCallback):
(WebInspector.ApplicationCacheItemsView.prototype._populateDataGrid):
* inspector/front-end/ApplicationCacheModel.js:
(WebInspector.ApplicationCacheModel):
(WebInspector.ApplicationCacheModel.prototype._frameNavigated):
(WebInspector.ApplicationCacheModel.prototype._frameDetached):
(WebInspector.ApplicationCacheModel.prototype._mainFrameNavigated):
(WebInspector.ApplicationCacheModel.prototype._manifestForFrameLoaded):
(WebInspector.ApplicationCacheModel.prototype._framesWithManifestsLoaded):
(WebInspector.ApplicationCacheModel.prototype._frameManifestUpdated):
(WebInspector.ApplicationCacheModel.prototype._frameManifestRemoved):
(WebInspector.ApplicationCacheModel.prototype.frameManifestURL):
(WebInspector.ApplicationCacheModel.prototype.frameManifestStatus):
(WebInspector.ApplicationCacheModel.prototype._statusUpdated):
(WebInspector.ApplicationCacheModel.prototype.requestApplicationCache):
(WebInspector.ApplicationCacheModel.prototype._networkStateUpdated):
(WebInspector.ApplicationCacheDispatcher.prototype.applicationCacheStatusUpdated):
(WebInspector.ApplicationCacheDispatcher.prototype.networkStateUpdated):
* inspector/front-end/ResourceTreeModel.js:
(WebInspector.ResourceTreeModel.prototype.frameForId):
* inspector/front-end/ResourcesPanel.js:
(WebInspector.ResourcesPanel.prototype.wasShown):
(WebInspector.ResourcesPanel.prototype.reset):
(WebInspector.ResourcesPanel.prototype._frameNavigated):
(WebInspector.ResourcesPanel.prototype.addDocumentURL):
(WebInspector.ResourcesPanel.prototype.showApplicationCache):
(WebInspector.ResourcesPanel.prototype._populateApplicationCacheTree):
(WebInspector.ResourcesPanel.prototype._applicationCacheFrameManifestAdded):
(WebInspector.ResourcesPanel.prototype._applicationCacheFrameManifestRemoved):
(WebInspector.ResourcesPanel.prototype._applicationCacheFrameManifestStatusChanged):
(WebInspector.ResourcesPanel.prototype._applicationCacheNetworkStateChanged):
(WebInspector.ApplicationCacheManifestTreeElement):
(WebInspector.ApplicationCacheManifestTreeElement.prototype.get itemURL):
(WebInspector.ApplicationCacheManifestTreeElement.prototype.get manifestURL):
(WebInspector.ApplicationCacheManifestTreeElement.prototype.onselect):
(WebInspector.ApplicationCacheFrameTreeElement):
(WebInspector.ApplicationCacheFrameTreeElement.prototype.get itemURL):
(WebInspector.ApplicationCacheFrameTreeElement.prototype.get frameId):
(WebInspector.ApplicationCacheFrameTreeElement.prototype.get manifestURL):
(WebInspector.ApplicationCacheFrameTreeElement.prototype._refreshTitles):
(WebInspector.ApplicationCacheFrameTreeElement.prototype.frameNavigated):
(WebInspector.ApplicationCacheFrameTreeElement.prototype.onselect):
2011-11-10 Andreas Kling <kling@webkit.org>
Shrink CSSMutableStyleDeclaration.
<http://webkit.org/b/72032>
Reviewed by Antti Koivisto.
Move m_strictParsing and m_iteratorCount (debug only) up into
CSSStyleDeclaration, effectively shaving one CPU word (4/8 bytes)
off of every CSSMutableStyleDeclaration.
* css/CSSMutableStyleDeclaration.cpp:
(WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
* css/CSSMutableStyleDeclaration.h:
* css/CSSStyleDeclaration.cpp:
(WebCore::CSSStyleDeclaration::CSSStyleDeclaration):
* css/CSSStyleDeclaration.h:
2011-11-10 Balazs Kelemen <kbalazs@webkit.org>
[Qt] X11 plugins need to be reworked for Qt5
https://bugs.webkit.org/show_bug.cgi?id=70023
Reviewed by Simon Hausmann.
Rework our basic plugin support in a way that does
not need a bridge between Qt and X. The solution is
based on getting the content drawed by the plugin
from the server as an image and creating a QImage
from it.
No new tests. Existing plugin test are sufficient.
* Target.pri:
* bridge/npruntime_internal.h: Added yet another undef
to fix build with Qt5 + X11 headers.
* plugins/qt/QtX11ImageConversion.cpp: Added.
(WebCore::qimageFromXImage):
* plugins/qt/QtX11ImageConversion.h: Added.
Added a helper function to create a QImage from an XImage.
Put it in a new file into WebCore to avoid copyright issues - as
the code has been taken directly from Qt - and to be able to resuse
it for the WK1 plugin support in the future.
2011-11-10 Andreas Kling <kling@webkit.org>
Cache and reuse HTMLCollections exposed by Document.
<http://webkit.org/b/71956>
Reviewed by Antti Koivisto.
Let Document cache the various HTMLCollection objects it exposes.
They're created on-demand and stored in a tight Vector.
This is a behavior change, since the lifetime of returned collections
is now tied to the lifetime of the Document. However, this matches the
current behavior of Firefox and Opera.
This reduces memory consumption by ~800 kB (on 64-bit) when loading
the full HTML5 spec. document.links was called 34001 times, yielding
34001 separate HTMLCollections, and now we only need 1.
The document.all collection retains the old behavior, as caching it
would be a bit more complicated.
* dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::collection):
(WebCore::Document::images):
(WebCore::Document::applets):
(WebCore::Document::embeds):
(WebCore::Document::plugins):
(WebCore::Document::objects):
(WebCore::Document::scripts):
(WebCore::Document::links):
(WebCore::Document::forms):
(WebCore::Document::anchors):
* dom/Document.h:
* html/CollectionType.h:
2011-11-10 Alexander Pavlov <apavlov@chromium.org>
Web Inspector: [SuggestBox] Correctly position the box under the first character of the suggestion prefix.
https://bugs.webkit.org/show_bug.cgi?id=72022
Reviewed by Pavel Feldman.
On any suggest box position update (updateSuggestions invocation) an anchor is created at the beginning
of the user-entered word, and its box is ultimately passed into _updateBoxPosition to be used as the
actual anchor box (instead of the input element box).
* inspector/front-end/TextPrompt.js:
(WebInspector.TextPrompt.prototype._boxForAnchorAtStart):
(WebInspector.TextPrompt.prototype._completionsReady):
(WebInspector.TextPrompt.SuggestBox):
(WebInspector.TextPrompt.SuggestBox.prototype._onscrollresize):
(WebInspector.TextPrompt.SuggestBox.prototype._updateBoxPositionWithExistingAnchor):
(WebInspector.TextPrompt.SuggestBox.prototype._updateBoxPosition):
(WebInspector.TextPrompt.SuggestBox.prototype.updateSuggestions):
(WebInspector.TextPrompt.SuggestBox.prototype._completionsReady):
* inspector/front-end/utilities.js:
(AnchorBox):
(Element.prototype.offsetRelativeToWindow):
2011-11-10 Ryuan Choi <ryuan.choi@samsung.com>
[CMAKE] Refactoring CMakeLists${PORT}.txt to Platform${PORT}.cmake
https://bugs.webkit.org/show_bug.cgi?id=56705
Reviewed by Adam Roben.
No new tests, just renaming CMakeLists*.txt to Platform*.cmake.
* CMakeLists.txt:
* PlatformEfl.cmake: Renamed from Source/WebCore/CMakeListsEfl.txt.
* PlatformWinCE.cmake: Renamed from Source/WebCore/CMakeListsWinCE.txt.
2011-11-10 Andrey Kosyakov <caseq@chromium.org>
Web Inspector: wrong JSON.stringify used in webInspector.inspectedWindow.eval() backend
https://bugs.webkit.org/show_bug.cgi?id=63083
Reviewed by Pavel Feldman.
* inspector/front-end/ExtensionAPI.js:
(injectedExtensionAPI.InspectedWindow.prototype.eval):
* inspector/front-end/ExtensionServer.js:
(WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
2011-11-10 Florin Malita <fmalita@google.com>
SVG object covers CSS background in HTML foreignObject
https://bugs.webkit.org/show_bug.cgi?id=58417
Reviewed by Simon Fraser.
Test: svg/foreignObject/background-render-phase.html
* rendering/svg/RenderSVGForeignObject.cpp:
(WebCore::RenderSVGForeignObject::paint):
Paint SVG foreign objects atomically, following the same pattern as
http://trac.webkit.org/browser/trunk/Source/WebCore/rendering/InlineBox.cpp#L209.
2011-11-10 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r99851.
http://trac.webkit.org/changeset/99851
https://bugs.webkit.org/show_bug.cgi?id=72029
Patch breaks Qt tests (Requested by schenney on #webkit).
* svg/SVGElementInstance.cpp:
(WebCore::SVGElementInstance::~SVGElementInstance):
(WebCore::SVGElementInstance::clearChildren):
* svg/SVGElementInstance.h:
(WebCore::SVGElementInstance::clearUseElements):
* svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::detachInstance):
2011-11-10 Nikolas Zimmermann <nzimmermann@rim.com>
[GTK] svg/as-image/svg-image-change-content-size.xhtml crashes
https://bugs.webkit.org/show_bug.cgi?id=71932
Reviewed by Philippe Normand.
Null check m_page in drawSVGToImageBuffer(), just like all others methods do.
As drawSVGToImageBuffer() is fired from a timer, it may get into this state under certain conditions, as seen on the 64bit gtk bot.
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::drawSVGToImageBuffer):
2011-11-10 Nikolas Zimmermann <nzimmermann@rim.com>
Not reviewed. Rolling out part of r99854, which didn't belong there.
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::drawSVGToImageBuffer):
2011-11-10 Nikolas Zimmermann <nzimmermann@rim.com>
Move unit resolving for all resources to rendering/
https://bugs.webkit.org/show_bug.cgi?id=72011
Reviewed by Andreas Kling.
Remove maskBoundingBox()/filterBoundingBox(), to avoid doing length resolution in svg/.
RenderSVGResource* now uses SVGLengthContext::resolveRectangle, to do this while laying out.
Move linear gradient start/end point, radial gradient focal/center point, radius calculations into
their RenderSVGResource classes, cleanup code a bit.
Convert filters to use SVGLengthContext. Fix DRT dumps for filters, while I'm at it, to give
meaningful values, when objectBoundingBox is used as primitive units, when applying to <text>/<tspan>s.
Several tests results need rebaselines on all platforms.
* platform/graphics/filters/Filter.h:
* rendering/svg/RenderSVGInlineText.h:
(WebCore::RenderSVGInlineText::objectBoundingBox):
* rendering/svg/RenderSVGResourceFilter.cpp:
(WebCore::RenderSVGResourceFilter::buildPrimitives):
(WebCore::RenderSVGResourceFilter::applyResource):
(WebCore::RenderSVGResourceFilter::resourceBoundingBox):
* rendering/svg/RenderSVGResourceFilter.h:
* rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
(WebCore::RenderSVGResourceFilterPrimitive::determineFilterPrimitiveSubregion):
* rendering/svg/RenderSVGResourceGradient.cpp:
(WebCore::RenderSVGResourceGradient::applyResource):
* rendering/svg/RenderSVGResourceGradient.h:
* rendering/svg/RenderSVGResourceLinearGradient.cpp:
(WebCore::RenderSVGResourceLinearGradient::startPoint):
(WebCore::RenderSVGResourceLinearGradient::endPoint):
(WebCore::RenderSVGResourceLinearGradient::buildGradient):
* rendering/svg/RenderSVGResourceLinearGradient.h:
* rendering/svg/RenderSVGResourceMasker.cpp:
(WebCore::RenderSVGResourceMasker::resourceBoundingBox):
* rendering/svg/RenderSVGResourceRadialGradient.cpp:
(WebCore::RenderSVGResourceRadialGradient::centerPoint):
(WebCore::RenderSVGResourceRadialGradient::focalPoint):
(WebCore::RenderSVGResourceRadialGradient::radius):
(WebCore::RenderSVGResourceRadialGradient::adjustFocalPointIfNeeded):
(WebCore::RenderSVGResourceRadialGradient::buildGradient):
* rendering/svg/RenderSVGResourceRadialGradient.h:
* rendering/svg/SVGRenderTreeAsText.cpp:
(WebCore::writeSVGResourceContainer):
* svg/SVGFilterElement.cpp:
* svg/SVGFilterElement.h:
* svg/SVGFilterPrimitiveStandardAttributes.cpp:
(WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
* svg/SVGFilterPrimitiveStandardAttributes.h:
* svg/SVGLinearGradientElement.cpp:
* svg/SVGLinearGradientElement.h:
* svg/SVGMaskElement.cpp:
* svg/SVGMaskElement.h:
* svg/SVGRadialGradientElement.cpp:
* svg/SVGRadialGradientElement.h:
* svg/graphics/filters/SVGFilter.h:
(WebCore::SVGFilter::filterRegionInUserSpace):
2011-11-10 Stephen Chenney <schenney@chromium.org>
Null deref when no use element exists for SVG element instance
https://bugs.webkit.org/show_bug.cgi?id=59136
Cleans up the object when it is detached from the shadow DOM tree,
rather than leaving it in a half-clean state with some nulled
references but not others.
Reviewed by Nikolas Zimmermann.
Test: svg/custom/element-instance-held-by-js-crash.svg
* svg/SVGElementInstance.cpp:
(WebCore::SVGElementInstance::~SVGElementInstance): Added a call to
detach to clean up if deletion happens without a prior detach call (as
when an entire tree is removed).
(WebCore::SVGElementInstance::detach): New method that replaces other
clean-up methods when the instance is removed from the shadow DOM.
* svg/SVGElementInstance.h: Added new detach method and removed
unnecessary clear methods.
* svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::detachInstance): Changed calls to clear to
instead detach.
2011-11-10 Alexander Pavlov <apavlov@chromium.org>
Web Inspector: Show media queries associated with specific CSS rules
https://bugs.webkit.org/show_bug.cgi?id=65626
Reviewed by Pavel Feldman.
Test: inspector/styles/media-queries.html
* css/CSSGrammar.y:
* css/CSSParser.cpp:
(WebCore::CSSParser::updateLastMediaLine):
* css/CSSParser.h:
* css/MediaList.cpp:
(WebCore::MediaList::MediaList):
* css/MediaList.h:
(WebCore::MediaList::lastLine):
(WebCore::MediaList::setLastLine):
* inspector/Inspector.json:
* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::bindStyleSheet):
(WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::documentURLString):
* inspector/InspectorDOMAgent.h:
* inspector/InspectorStyleSheet.cpp:
(WebCore::buildMediaObject):
(WebCore::fillMediaListChain):
(WebCore::InspectorStyleSheet::buildObjectForRule):
* inspector/front-end/CSSStyleModel.js:
(WebInspector.CSSRule):
(WebInspector.CSSMedia):
(WebInspector.CSSMedia.parsePayload):
(WebInspector.CSSMedia.parseMediaArrayPayload):
* inspector/front-end/ResourceUtils.js:
(WebInspector.linkifyResourceAsNode):
* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylesSidebarPane.prototype._rebuildUpdate):
(WebInspector.StylesSidebarPane.prototype._rebuildStyleRules):
(WebInspector.StylePropertiesSection.prototype._handleEmptySpaceDoubleClick):
(WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted.successCallback):
(WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
* inspector/front-end/elementsPanel.css:
(.styles-section .header .title .media, .styles-section .header .title .media .subtitle):
(.styles-section .header .subtitle):
2011-11-10 Alexander Pavlov <apavlov@chromium.org>
Web Inspector: [SuggestBox] Do not display suggest box if editing in the middle of prompt unless a stop character follows
https://bugs.webkit.org/show_bug.cgi?id=72018
Reviewed by Pavel Feldman.
* inspector/front-end/TextPrompt.js:
(WebInspector.TextPrompt.prototype.complete):
2011-11-10 Pavel Feldman <pfeldman@google.com>
Web Inspector: do not highlight files larger than 10KLOC.
https://bugs.webkit.org/show_bug.cgi?id=72025
This is a temporary measure while I am improving the highlighter
footprint. Otherwise, highlighting pretty printed Gmail takes ~1.3G of RAM.
Reviewed by Yury Semikhatsky.
* inspector/front-end/TextEditorHighlighter.js:
(WebInspector.TextEditorHighlighter.prototype.highlight):
(WebInspector.TextEditorHighlighter.prototype.updateHighlight):
* inspector/front-end/UISourceCode.js:
(WebInspector.UISourceCode.prototype._didRequestContent):
2011-11-10 Alpha Lam <hclam@chromium.org>
[chromium] Scroll deltas are cleared during commit to the main thread
https://bugs.webkit.org/show_bug.cgi?id=71916
Reviewed by James Robinson.
The patch keeps the scroll deltas and scroll position unchanged when
committing to the main thread. After commit has completed on the main
thread the submitted scroll deltas are then subtracted from the current
scroll deltas on the impl thread.
Doing so allow scroll deltas to be available at all time which enables
proper positioning for layers that are fixed-positioned to the
container layer.
This patch is tested by the following unit tests:
- CCLayerTreeHostImplTest.scrollDeltaRepeatedScrolls
This test is modified to verify that scroll deltas and scroll position
are unchanged during commit. And then after commit scroll deltas are
subtracted correctly.
- CCLayerTreeHostTestScrollSimple.runMultiThread and
CCLayerTreeHostTestScrollMultipleRedraw.runMultiThread
These tests verifies that scroll deltas made on impl thread are
committed to the main thread. The scroll deltas is eventually delegated
to CCLayerTreeHostClient. When commit has completed the scroll deltas
are subtracted correctly. There's no change to these two tests but they
verify this patch maintains the overall behavior of scrolling.
* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::applyScrollAndScale):
* platform/graphics/chromium/LayerChromium.h:
* platform/graphics/chromium/cc/CCLayerImpl.cpp:
(WebCore::CCLayerImpl::applyScrollAndScale):
* platform/graphics/chromium/cc/CCLayerImpl.h:
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
* platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
(WebCore::applyScrollAndScaleInternal):
(WebCore::CCLayerTreeHostCommon::applyScrollAndScale):
* platform/graphics/chromium/cc/CCLayerTreeHostCommon.h:
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::processScrollDeltas):
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::beginFrameAndCommit):
(WebCore::CCThreadProxy::beginFrameCompleteOnImplThread):
* platform/graphics/chromium/cc/CCThreadProxy.h:
2011-11-10 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Fix make distcheck build.
* GNUmakefile.am: Add missing files.
* GNUmakefile.list.am: Ditto.
2011-11-10 Nikolas Zimmermann <nzimmermann@rim.com>
Deploy SVGLengthContext in more places
https://bugs.webkit.org/show_bug.cgi?id=72012
Reviewed by Simon Hausmann.
Doesn't affect any tests.
* svg/SVGAnimatedLength.cpp:
(WebCore::SVGAnimatedLengthAnimator::calculateFromAndByValues):
(WebCore::SVGAnimatedLengthAnimator::calculateAnimatedValue):
(WebCore::SVGAnimatedLengthAnimator::calculateDistance):
* svg/SVGAnimatedLengthList.cpp:
(WebCore::SVGAnimatedLengthListAnimator::calculateFromAndByValues):
(WebCore::SVGAnimatedLengthListAnimator::calculateAnimatedValue):
2011-11-10 Nikolas Zimmermann <nzimmermann@rim.com>
Not reviewed. Fix build.
* WebCore.gypi: Need to add rendering/svg/SVGPathData.* in another place as well, cr-bots are not compiling it and thus fail linking.
2011-11-10 Nikolas Zimmermann <nzimmermann@rim.com>
Remove virtual toPathData() method from all graphics elements
https://bugs.webkit.org/show_bug.cgi?id=72009
Reviewed by Zoltan Herczeg.
In bug 71780, SVGLengthContext was introduced, to allow to resolve SVGLengths against arbitary viewports.
SVGLength::value(), which needs a SVGLengthContext, is still used all over svg/ - that should be changed, as rendering/
should resolve these lengths, as HTML does it using Length & RenderStyles for CSS.
As first step, move the #1 client of the SVGLength::value() methods - toPathData() out of svg/ into rendering/svg/SVGPathData
as free-function, replacing the virtual toPathData() function from SVGStyledTransformableElement.
Doesn't affect any tests.
* CMakeLists.txt: Add rendering/svg/SVGPathData.* to build.
* GNUmakefile.list.am: Ditto.
* Target.pri: Ditto.
* WebCore.gypi: Ditto.
* WebCore.vcproj/WebCore.vcproj: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* rendering/svg/RenderSVGAllInOne.cpp: Ditto.
* rendering/svg/RenderSVGPath.cpp:
(WebCore::RenderSVGPath::layout): Use "updatePathFromGraphicsElement(element, m_path)" instead of "element->toPathData(m_path)", avoiding a virtual call.
* rendering/svg/RenderSVGTextPath.cpp:
(WebCore::RenderSVGTextPath::layoutPath): Ditto.
* rendering/svg/SVGPathData.cpp: Added.
(WebCore::updatePathFromCircleElement):
(WebCore::updatePathFromEllipseElement):
(WebCore::updatePathFromLineElement):
(WebCore::updatePathFromPathElement):
(WebCore::updatePathFromPolygonElement):
(WebCore::updatePathFromPolylineElement):
(WebCore::updatePathFromRectElement):
(WebCore::updatePathFromGraphicsElement):
* rendering/svg/SVGPathData.h: Added.
* svg/SVGAnimateMotionElement.cpp:
(WebCore::SVGAnimateMotionElement::animationPath): Use updatePathFromGraphicsElement instead of toPathData.
* svg/SVGCircleElement.cpp: Remove toPathData() virtual method.
* svg/SVGCircleElement.h: Ditto.
* svg/SVGEllipseElement.cpp: Ditto.
* svg/SVGEllipseElement.h: Ditto.
* svg/SVGLineElement.cpp: Ditto.
* svg/SVGLineElement.h: Ditto.
* svg/SVGPathElement.cpp: Ditto.
* svg/SVGPathElement.h: Ditto.
* svg/SVGPolygonElement.cpp: Ditto.
* svg/SVGPolygonElement.h: Ditto.
* svg/SVGPolylineElement.cpp: Ditto.
* svg/SVGPolylineElement.h: Ditto.
* svg/SVGRectElement.cpp: Ditto.
* svg/SVGRectElement.h: Ditto.
* svg/SVGStyledTransformableElement.cpp:
(WebCore::SVGStyledTransformableElement::toClipPath): Use updatePathFromGraphicsElement instead of toPathData.
* svg/SVGStyledTransformableElement.h: Remove toPathData() virtual method.
2011-11-09 Andrey Kosyakov <caseq@chromium.org>
Web Inspector: [refactoring] get rid of JavaScriptSourceFrameDelegate
https://bugs.webkit.org/show_bug.cgi?id=71922
Reviewed by Pavel Feldman.
* inspector/front-end/JavaScriptSourceFrame.js:
(WebInspector.JavaScriptSourceFrame):
(WebInspector.JavaScriptSourceFrame.prototype.suggestedFileName):
(WebInspector.JavaScriptSourceFrame.prototype._onContentChanged):
(WebInspector.JavaScriptSourceFrame.prototype.setReadOnly):
(WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu.addConditionalBreakpoint.didEditBreakpointCondition):
(WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu.):
(WebInspector.JavaScriptSourceFrame.prototype.populateTextAreaContextMenu):
(WebInspector.JavaScriptSourceFrame.prototype.beforeTextChanged):
(WebInspector.JavaScriptSourceFrame.prototype.didEditContent):
(WebInspector.JavaScriptSourceFrame.prototype._setBreakpoint):
(WebInspector.JavaScriptSourceFrame.prototype._onMouseDown):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype.activateBreakpoints):
(WebInspector.ScriptsPanel.prototype.folderAndDisplayNameForScriptURL):
(WebInspector.ScriptsPanel.prototype.setScriptSourceIsBeingEdited):
(WebInspector.ScriptsPanel.prototype._createSourceFrame):
(WebInspector.ScriptsPanel.prototype._toggleFormatSource):
(WebInspector.ScriptsPanel.prototype.addToWatch):
2011-11-10 Jay Civelli <jcivelli@chromium.org>
Fix progress load reporting for MHTML documents.
MHTML documents containing references to resources they don't include
never finish loading.
https://bugs.webkit.org/show_bug.cgi?id=71859
Reviewed by Adam Barth.
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::scheduleArchiveLoad):
2011-11-10 Simon Hausmann <simon.hausmann@nokia.com>
[Qt] Fix linking with --whole-archive
Reviewed by Zoltan Herczeg.
Compile XMLTreeViewer and related files when XSLT is enabled, not
when XSLT _and_ USE_LIBXML2. The files do not depend on libxml2, they
are #ifdeffed with ENABLE(XSLT) only, and they are referenced from for
example NewXMLDocumentParser.cpp from within XSLT blocks.
* DerivedSources.pri:
* Target.pri:
2011-11-01 Pavel Podivilov <podivilov@chromium.org>
Web Inspector: load source maps via front-end host.
https://bugs.webkit.org/show_bug.cgi?id=71301
Reviewed by Yury Semikhatsky.
Currently we use an auxiliary iframe hack to load source map files from inspector page. This approach has several drawbacks:
- in addition to source map url we need to know auxiliary iframe url
- we need a protocol to communicate with iframe
- source map provider needs to provide auxiliary document to make our hack work
Loading source maps from front-end host solves all problems.
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/InspectorFrontendHost.cpp:
(WebCore::InspectorFrontendHost::loadResourceSynchronously):
* inspector/InspectorFrontendHost.h:
* inspector/InspectorFrontendHost.idl:
* inspector/front-end/CompilerSourceMapping.js:
(WebInspector.ClosureCompilerSourceMapping):
(WebInspector.ClosureCompilerSourceMapping.prototype.load):
(WebInspector.ClosureCompilerSourceMapping.prototype.loadSourceCode):
(WebInspector.ClosureCompilerSourceMapping.prototype._parseMappingPayload):
* inspector/front-end/CompilerSourceMappingProvider.js: Removed.
* inspector/front-end/ContentProviders.js:
(WebInspector.CompilerSourceMappingContentProvider):
(WebInspector.CompilerSourceMappingContentProvider.prototype.requestContent):
* inspector/front-end/RawSourceCode.js:
(WebInspector.RawSourceCode.prototype.setCompilerSourceMapping):
(WebInspector.RawSourceCode.prototype._resourceFinished):
(WebInspector.RawSourceCode.prototype._createSourceMapping.didLoadSourceMapping):
* inspector/front-end/WebKit.qrc:
* inspector/front-end/inspector.html:
* inspector/front-end/inspector.js:
(WebInspector.installSourceMappingForTest):
2011-11-10 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r99816.
http://trac.webkit.org/changeset/99816
https://bugs.webkit.org/show_bug.cgi?id=72003
compilation failed on mac (Requested by loislo on #webkit).
* html/HTMLAttributeNames.in:
* html/HTMLInputElement.idl:
* html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::appendFormData):
* html/HTMLTextAreaElement.idl:
* html/HTMLTextFormControlElement.cpp:
* html/HTMLTextFormControlElement.h:
* html/TextFieldInputType.cpp:
* html/TextFieldInputType.h:
2011-11-09 Pavel Feldman <pfeldman@google.com>
Web Inspector: console does not work after switching panel while editing.
https://bugs.webkit.org/show_bug.cgi?id=71918
Reviewed by Yury Semikhatsky.
* inspector/front-end/SourceFrame.js:
(WebInspector.SourceFrame.prototype.wasShown):
(WebInspector.SourceFrame.prototype.willHide):
2011-11-09 Rakesh KN <rakesh.kn@motorola.com>
Need support for dirname attribute
https://bugs.webkit.org/show_bug.cgi?id=65542
Reviewed by Eric Seidel.
Implemented 'dirname' form attribute.
Tests: fast/forms/form-dirname-attribute.html
fast/forms/submit-form-with-dirname-attribute-with-ancestor-dir-attribute.html
fast/forms/submit-form-with-dirname-attribute-with-nonhtml-ancestor.html
fast/forms/submit-form-with-dirname-attribute.html
* html/HTMLAttributeNames.in:
Added "dirname" attribute.
* html/HTMLInputElement.idl:
Add "dirName" property to HTMLInputElement interface.
* html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::appendFormData):
Append dirname form data.
* html/HTMLTextAreaElement.idl:
Add "dirName" property to HTMLTextAreaElement interface.
* html/HTMLTextFormControlElement.cpp:
(WebCore::parentHTMLElement):
Helper function which returns only HTML parent element.
(WebCore::HTMLTextFormControlElement::directionForFormData):
Helper function for finding directionality of the Element.
* html/HTMLTextFormControlElement.h:
Helper function for finding directionality of the Element.
* html/TextFieldInputType.cpp:
(WebCore::TextFieldInputType::appendFormData):
Append dirname form data.
* html/TextFieldInputType.h:
Append dirname form data.
2011-11-09 Shinya Kawanaka <shinyak@google.com>
Internals.markerRangeForNode should be able to take markers by specifying a marker type.
https://bugs.webkit.org/show_bug.cgi?id=71792
Reviewed by Hajime Morita.
Test: editing/spelling/markers.html
* WebCore.exp.in:
* dom/DocumentMarkerController.cpp:
(WebCore::DocumentMarkerController::markersFor):
Takes marker types to get only necessary markers.
* dom/DocumentMarkerController.h:
* testing/Internals.cpp:
(WebCore::markerTypesFrom): Added.
(WebCore::Internals::markerCountForNode):
Takes marker types to get only necessary markers.
(WebCore::Internals::markerRangeForNode): ditto.
* testing/Internals.h:
* testing/Internals.idl:
2011-11-09 David Reveman <reveman@chromium.org>
[Chromium] Add support for painting into an SkPicture and then rasterizing into tile-sized chunks.
https://bugs.webkit.org/show_bug.cgi?id=71388
Reviewed by James Robinson.
Add UpdatableTexture class, which allows texture updater to
allocate tile specific resources and paint tiles separately.
Rename texture uploader classes and move them to separate files.
No new tests. Covered by existing tests.
* WebCore.gypi:
* platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.cpp: Added.
(WebCore::BitmapCanvasLayerTextureUpdater::Texture::Texture):
(WebCore::BitmapCanvasLayerTextureUpdater::Texture::~Texture):
(WebCore::BitmapCanvasLayerTextureUpdater::Texture::updateRect):
(WebCore::BitmapCanvasLayerTextureUpdater::create):
(WebCore::BitmapCanvasLayerTextureUpdater::BitmapCanvasLayerTextureUpdater):
(WebCore::BitmapCanvasLayerTextureUpdater::~BitmapCanvasLayerTextureUpdater):
(WebCore::BitmapCanvasLayerTextureUpdater::createTexture):
(WebCore::BitmapCanvasLayerTextureUpdater::sampledTexelFormat):
(WebCore::BitmapCanvasLayerTextureUpdater::prepareToUpdate):
(WebCore::BitmapCanvasLayerTextureUpdater::updateTextureRect):
* platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.h: Copied from Source/WebCore/platform/graphics/chromium/LayerTextureUpdater.h.
(WebCore::BitmapCanvasLayerTextureUpdater::Texture::textureUpdater):
(WebCore::BitmapCanvasLayerTextureUpdater::orientation):
* platform/graphics/chromium/ContentLayerChromium.cpp:
(WebCore::ContentLayerChromium::createTextureUpdater):
* platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp: Renamed from Source/WebCore/platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp.
(WebCore::FrameBuffer::FrameBuffer::FrameBuffer):
(WebCore::FrameBuffer::FrameBuffer::~FrameBuffer):
(WebCore::FrameBuffer::FrameBuffer::initialize):
(WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::Texture::Texture):
(WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::Texture::~Texture):
(WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::Texture::updateRect):
(WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::create):
(WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::FrameBufferSkPictureCanvasLayerTextureUpdater):
(WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::~FrameBufferSkPictureCanvasLayerTextureUpdater):
(WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::createTexture):
(WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::sampledTexelFormat):
(WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::updateTextureRect):
* platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.h: Copied from Source/WebCore/platform/graphics/chromium/LayerTextureUpdater.h.
(WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::Texture::textureUpdater):
(WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::orientation):
* platform/graphics/chromium/ImageLayerChromium.cpp:
(WebCore::ImageLayerTextureUpdater::Texture::Texture):
(WebCore::ImageLayerTextureUpdater::Texture::updateRect):
(WebCore::ImageLayerTextureUpdater::Texture::textureUpdater):
(WebCore::ImageLayerTextureUpdater::createTexture):
(WebCore::ImageLayerTextureUpdater::prepareToUpdate):
* platform/graphics/chromium/LayerRendererChromium.cpp:
* platform/graphics/chromium/LayerTextureUpdater.h:
(WebCore::LayerTextureUpdater::Texture::~Texture):
(WebCore::LayerTextureUpdater::Texture::texture):
(WebCore::LayerTextureUpdater::Texture::prepareRect):
(WebCore::LayerTextureUpdater::Texture::Texture):
(WebCore::LayerTextureUpdater::prepareToUpdate):
* platform/graphics/chromium/LayerTextureUpdaterCanvas.h: Removed.
* platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.cpp: Copied from Source/WebCore/platform/graphics/chromium/cc/CCTextureUpdater.h.
(WebCore::SkPictureCanvasLayerTextureUpdater::SkPictureCanvasLayerTextureUpdater):
(WebCore::SkPictureCanvasLayerTextureUpdater::~SkPictureCanvasLayerTextureUpdater):
(WebCore::SkPictureCanvasLayerTextureUpdater::prepareToUpdate):
(WebCore::SkPictureCanvasLayerTextureUpdater::drawPicture):
* platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCTextureUpdater.h.
* platform/graphics/chromium/TiledLayerChromium.cpp:
(WebCore::UpdatableTile::UpdatableTile):
(WebCore::UpdatableTile::texture):
(WebCore::UpdatableTile::managedTexture):
(WebCore::TiledLayerChromium::updateCompositorResources):
(WebCore::TiledLayerChromium::pushPropertiesTo):
(WebCore::TiledLayerChromium::createTile):
(WebCore::TiledLayerChromium::protectTileTextures):
(WebCore::TiledLayerChromium::prepareToUpdate):
* platform/graphics/chromium/cc/CCTextureUpdater.cpp:
(WebCore::CCTextureUpdater::append):
(WebCore::CCTextureUpdater::update):
* platform/graphics/chromium/cc/CCTextureUpdater.h:
2011-11-09 Kevin Ollivier <kevino@theolliviers.com>
[wx] Unreviewed build fix. Add stub for new method.
* platform/wx/FileSystemWx.cpp:
(WebCore::openFile):
2011-11-09 Kevin Ollivier <kevino@theolliviers.com>
[wx] Unreviewed build fix. wx should not be excluded
from building ScopedFramePaintingState code.
* page/Frame.cpp:
2011-11-09 Kevin Ollivier <kevino@theolliviers.com>
[wx] Unreviewed build fix. Don't run
fontDataForCombiningCharacterSequence on wx as we don't
support it yet.
* platform/graphics/mac/ComplexTextController.cpp:
(WebCore::ComplexTextController::collectComplexTextRuns):
2011-11-09 Kevin Ollivier <kevino@theolliviers.com>
[wx] Unreviewed build fix. Update how we hash the font after
changes to the StringHasher APIs.
* platform/graphics/wx/FontPlatformDataWx.cpp:
(WebCore::FontPlatformData::computeHash):
2011-11-09 Kevin Ollivier <kevino@theolliviers.com>
[wx] Unreviewed build fix. Remove from WebDOMEventTarget
bindings methods that have been removed from EventTarget.
* bindings/cpp/WebDOMEventTarget.cpp:
(toWebKit):
* bindings/cpp/WebDOMEventTarget.h:
2011-11-09 Martin Robinson <mrobinson@igalia.com>
[Cairo] Avoid clipping when painting more often
https://bugs.webkit.org/show_bug.cgi?id=71179
Reviewed by Xan Lopez.
No new tests. These changes are covered by existing tests.
* platform/graphics/Gradient.h: Add a Cairo-specific method
that gets the platform gradient with a particular alpha value.
* platform/graphics/cairo/GradientCairo.cpp: Now cache the alpha
value of the last created platform gradient.
(WebCore::Gradient::platformGradient): If the cached platform gradient
has a different alpha value than the one requested, destroy it and start
over.
* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::drawPathShadow): Adjust the source to avoid calling
cairo_clip/cairo_paint_with_alpha and just do a fill.
(WebCore::shadowAndFillCurrentCairoPath): No need to clip here. Just
call cairo_fill.
* platform/graphics/cairo/PlatformContextCairo.cpp:
(WebCore::drawPatternToCairoContext): If we have a >= 1 alpha value
we can simply fill and avoid calling cairo_clip here.
(WebCore::prepareCairoContextSource): Remove TODO about recreating the
gradient. No longer need to reduce the gradient source.
2011-11-09 Alexey Proskuryakov <ap@apple.com>
<rdar://problem/10423024> WebProcess doesn't use AuthBrokerAgent for proxy credentials
https://bugs.webkit.org/show_bug.cgi?id=71964
Reviewed by Darin Adler.
* platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
* platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
Don't ask the client for proxy credentials. CFNetwork results are authoritative, and proxy
credentials are system-wide.
2011-11-09 Daniel Sievers <sievers@chromium.org>
[chromium] Fix typo in checkerboarding code
https://bugs.webkit.org/show_bug.cgi?id=71981
Reviewed by James Robinson.
No new tests.
* platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
(WebCore::CCTiledLayerImpl::drawTiles):
2011-11-09 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r99782.
http://trac.webkit.org/changeset/99782
https://bugs.webkit.org/show_bug.cgi?id=71979
broke most of the feImage tests (Requested by thorton on
#webkit).
* svg/SVGFEImageElement.cpp:
(WebCore::SVGFEImageElement::parseMappedAttribute):
(WebCore::SVGFEImageElement::build):
2011-11-09 Kentaro Hara <haraken@chromium.org>
Remove [CanBeConstructed] IDL from CodeGenerator{JS,V8}.pm
https://bugs.webkit.org/show_bug.cgi?id=71938
Reviewed by Darin Adler.
Now no IDL files are using [CanBeConstructed] IDL.
We can safely remove [CanBeConstructed] IDL from CodeGenerator{JS,V8}.pm.
No tests. No change in behavior.
* bindings/scripts/CodeGeneratorJS.pm: Removed [CanBeConstructed]-related code.
(GenerateConstructorDeclaration):
(GenerateConstructorDefinition):
* bindings/scripts/CodeGeneratorV8.pm: Ditto.
(GenerateImplementation):
* bindings/scripts/test/TestInterface.idl: Removed [CanBeConstructed].
* bindings/v8/V8Proxy.h: Removed V8Proxy::constructDOMObject and V8Proxy::constructDOMObjectWithScriptExecutionContext, which had been used only by [CanBeConstructed].
2011-11-09 Tim Horton <timothy_horton@apple.com>
feImage referencing a primitive draws incorrectly
https://bugs.webkit.org/show_bug.cgi?id=71731
<rdar://problem/10408178>
Reviewed by Simon Fraser.
Don't attempt to resolve an <feImage>'s referenced element until it's used, as it
may not exist at the time the attribute is set on the <feImage>.
Don't attempt to render an <feImage> if the referenced element is of size 0x0.
Tests: svg/filters/feImage-reference-svg-primitive.svg
svg/filters/feImage-zero-size-crash.svg
* svg/SVGFEImageElement.cpp:
(WebCore::SVGFEImageElement::parseMappedAttribute):
(WebCore::SVGFEImageElement::build):
2011-11-09 Dominic Cooney <dominicc@chromium.org>
Remove WebGLContextEvent.initEvent method
https://bugs.webkit.org/show_bug.cgi?id=71720
Reviewed by Adam Barth.
The WebGL spec calls this method initWebGLContextEvent, but it may
adopt a constructor instead. Deleting the initEvent method for now
since it is definitely wrong and we don't want people to come to
depend on it.
No new tests--removing untested code.
* html/canvas/WebGLContextEvent.cpp:
* html/canvas/WebGLContextEvent.h:
* html/canvas/WebGLContextEvent.idl:
2011-11-09 Anders Carlsson <andersca@apple.com>
Element::boundsInWindowSpace should be Element::boundsInRootViewSpace
https://bugs.webkit.org/show_bug.cgi?id=71955
Reviewed by Sam Weinig.
Element::boundsInWindowSpace is only used by WebKit2, where the window coordinate space is the
same as the root view coordinate space. This lets us get rid of another use of contentsToWindow.
* WebCore.exp.in:
* dom/Element.cpp:
(WebCore::Element::boundsInRootViewSpace):
* dom/Element.h:
2011-11-09 Kentaro Hara <haraken@chromium.org>
Unreviewed, rebaseline run-bindings-tests results.
* bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
(WebCore::JSTestNamedConstructorConstructor::getOwnPropertyDescriptor):
(WebCore::JSTestNamedConstructor::getOwnPropertyDescriptor):
* bindings/scripts/test/JS/JSTestNamedConstructor.h:
2011-11-09 Alexandre Elias <aelias@google.com>
[chromium] Add draw-time scale delta to compositor thread
https://bugs.webkit.org/show_bug.cgi?id=71595
Reviewed by James Robinson.
There are two magnify values:
1. The WebKit-side pageScale value corresponding to the resolution of
the painted content.
2. The Impl-side-only scaleDelta value representing the additional
degree of current magnification, applied as a draw transform. WebKit
is never explicitly aware of this value and the only way to change it
currently is via pinch events (and in the future, double-tap/etc
events). At the end of a pinch zoom, we multiply pageScale *
scaleDelta and tell WebKit to use it as the new pageScale.
Scroll offsets and max-extents are maintained in pageScale space.
When the scale changes, we need to take care to convert them to the
new scale and avoid getting them clamped to the extents at the wrong
scale.
I removed maxScrollPosition on the non-impl side because it makes no
sense to precompute it in the presence of an impl-side zoom. Replaced
with a simple 'bool m_scrollable'.
zoomAnimatorTransform is not used because it currently isn't in the
branch, and mostly doesn't behave the way we want anyway (it does most
things in WebKit thread). We will need to unify these later.
Also introduce deviceOrPageScaleFactorChanged() call which invalidates
layers.
No new tests (filed 71529 to remember to do it later).
* platform/graphics/chromium/GraphicsLayerChromium.cpp:
(WebCore::GraphicsLayerChromium::deviceOrPageScaleFactorChanged):
* platform/graphics/chromium/GraphicsLayerChromium.h:
* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::LayerChromium):
(WebCore::LayerChromium::setBounds):
(WebCore::LayerChromium::pushPropertiesTo):
* platform/graphics/chromium/LayerChromium.h:
(WebCore::LayerChromium::scrollable):
(WebCore::LayerChromium::setScrollable):
(WebCore::LayerChromium::pageScaleChanged):
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::drawLayersInternal):
* platform/graphics/chromium/LayerRendererChromium.h:
(WebCore::LayerRendererChromium::setPageMagnifyTransform):
* platform/graphics/chromium/NonCompositedContentHost.cpp:
(WebCore::NonCompositedContentHost::setViewport):
* platform/graphics/chromium/NonCompositedContentHost.h:
(WebCore::NonCompositedContentHost::topLevelRootLayer):
* platform/graphics/chromium/cc/CCLayerImpl.cpp:
(WebCore::CCLayerImpl::CCLayerImpl):
* platform/graphics/chromium/cc/CCLayerImpl.h:
(WebCore::CCLayerImpl::scrollable):
(WebCore::CCLayerImpl::setScrollable):
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::CCLayerTreeHost):
(WebCore::CCLayerTreeHost::finishCommitOnImplThread):
(WebCore::CCLayerTreeHost::setPageScale):
(WebCore::CCLayerTreeHost::setPageScaleFactorLimits):
(WebCore::CCLayerTreeHost::applyScrollAndScale):
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
(WebCore::CCLayerTreeHost::pageScale):
* platform/graphics/chromium/cc/CCLayerTreeHostCommon.h:
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
(WebCore::CCLayerTreeHostImpl::commitComplete):
(WebCore::findScrollLayer):
(WebCore::CCLayerTreeHostImpl::setViewport):
(WebCore::CCLayerTreeHostImpl::setPageScale):
(WebCore::CCLayerTreeHostImpl::setScaleDelta):
(WebCore::CCLayerTreeHostImpl::setPageScaleFactorLimits):
(WebCore::CCLayerTreeHostImpl::updateMaxScrollPosition):
(WebCore::CCLayerTreeHostImpl::pinchGestureBegin):
(WebCore::CCLayerTreeHostImpl::pinchGestureUpdate):
(WebCore::CCLayerTreeHostImpl::pinchGestureEnd):
(WebCore::CCLayerTreeHostImpl::processScrollDeltas):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
(WebCore::CCLayerTreeHostImpl::pageScale):
* platform/graphics/chromium/cc/CCScrollController.h:
* platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
(WebCore::CCSingleThreadProxy::doCommit):
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::createBeginFrameAndCommitTaskOnImplThread):
(WebCore::CCThreadProxy::beginFrameAndCommit):
* platform/graphics/chromium/cc/CCThreadProxy.h:
2011-11-09 Jay Civelli <jcivelli@chromium.org>
Fix MHTML generation to use the QuotedPrintable encoding for text resources.
This was regressed when we added binary encoding support.
https://bugs.webkit.org/show_bug.cgi?id=71857
Reviewed by Adam Barth.
* loader/archive/mhtml/MHTMLArchive.cpp:
(WebCore::MHTMLArchive::generateMHTMLData):
2011-11-09 Kentaro Hara <haraken@chromium.org>
Replace [CanBeConstructed] IDL with [Constructor] IDL
https://bugs.webkit.org/show_bug.cgi?id=71927
Reviewed by Adam Barth.
With respect to the IDL files that have [CanBeConstructed]
but do not have [Constructor] nor [CustomConstructor],
[CanBeConstructed] is now equivalent to [Constructor].
Thus, this patch replaces [CanBeConstructed] with [Constructor].
No tests. No change in behavior.
* fileapi/FileReaderSync.idl: As I described above.
* fileapi/WebKitBlobBuilder.idl: Ditto.
* fileapi/WebKitFlags.idl: Ditto.
* xml/DOMParser.idl: Ditto.
* xml/XMLSerializer.idl: Ditto.
* xml/XPathEvaluator.idl: Ditto.
2011-11-09 Noel Gordon <noel.gordon@gmail.com>
[chromium] Separate image encoding from dataURL construction
https://bugs.webkit.org/show_bug.cgi?id=71846
Reviewed by Adam Barth.
Remove the implicit assumption that a dataURL is the only desired output format of the
the image encoding phase.
No new tests, refactoring only, covered by existing canvas tests.
* platform/graphics/skia/ImageBufferSkia.cpp:
(WebCore::encodeImage): Output the encoded image to a Vector.
(WebCore::ImageBuffer::toDataURL): Format the dataURL encoding of the mimeType encoded
image Vector here. Move the mimeType encoding debug check here to better align this
code with the CG (CoreGraphics) ImageBuffer.cpp implementation.
(WebCore::ImageDataToDataURL): ditto.
2011-11-09 Alexei Svitkine <asvitkine@chromium.org>
Chromium: Fix bad rubber-band overhang shadows being drawn in the presence of custom scrollbar css.
https://bugs.webkit.org/show_bug.cgi?id=71719
This was caused by the overhang calculation logic not being consistent when subtracting the scrollbar sizes from the overhang areas. This resulted in for e.g. a horizontal overhang that didn't overlap with the scrollbar while the vertical overhang overlapped with it. This fix makes the logic consistent so that the overhang areas do not overlap with the scrollbars (when scrollbars are opaque).
Reviewed by Beth Dakin.
Tests: platform/chromium/rubberbanding/custom-scrollbars-ne.html
platform/chromium/rubberbanding/custom-scrollbars-nw.html
platform/chromium/rubberbanding/custom-scrollbars-se.html
platform/chromium/rubberbanding/custom-scrollbars-sw.html
* platform/ScrollView.cpp:
(WebCore::ScrollView::wheelEvent):
2011-11-09 Ken Buchanan <kenrb@chromium.org>
Indentation error in RenderObject::container
https://bugs.webkit.org/show_bug.cgi?id=64780
Reviewed by Eric Seidel.
A conditional block was indented too far; correcting.
* rendering/RenderObject.cpp:
(WebCore::RenderObject::container):
2011-11-09 Anders Carlsson <andersca@apple.com>
Use contentsToRootView/rootViewToContents when converting between frame coordinate systems
https://bugs.webkit.org/show_bug.cgi?id=71947
Reviewed by Sam Weinig.
This gets rid of a few calls to contentsToWindow and windowToContents.
* inspector/DOMNodeHighlighter.cpp:
* page/DragController.cpp:
(WebCore::DragController::startDrag):
(WebCore::DragController::doSystemDrag):
* page/EventHandler.cpp:
(WebCore::EventHandler::hitTestResultAtPoint):
2011-11-09 Mark Hahnenberg <mhahnenberg@apple.com>
De-virtualize JSObject::getOwnPropertyDescriptor
https://bugs.webkit.org/show_bug.cgi?id=71523
Reviewed by Sam Weinig.
No new tests.
Added getOwnPropertyDescriptor to the MethodTable, changed all of the
virtual versions of getOwnPropertyDescriptor to static ones, and
changed all of the call sites to the corresponding lookup in the MethodTable.
* WebCore.exp.in:
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::getOwnPropertyDescriptor):
* bindings/js/JSDOMWindowShell.cpp:
(WebCore::JSDOMWindowShell::getOwnPropertyDescriptor):
* bindings/js/JSDOMWindowShell.h:
* bindings/js/JSWorkerContextCustom.cpp:
(WebCore::JSWorkerContext::getOwnPropertyDescriptorDelegate):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateGetOwnPropertyDescriptorBody):
(GenerateHeader):
(GenerateImplementation):
(GenerateConstructorDeclaration):
(GenerateConstructorDefinition):
* bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::JSTestInterfaceConstructor::getOwnPropertyDescriptor):
(WebCore::JSTestInterface::getOwnPropertyDescriptor):
* bindings/scripts/test/JS/JSTestInterface.h:
* bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
(WebCore::JSTestMediaQueryListListenerConstructor::getOwnPropertyDescriptor):
(WebCore::JSTestMediaQueryListListenerPrototype::getOwnPropertyDescriptor):
(WebCore::JSTestMediaQueryListListener::getOwnPropertyDescriptor):
* bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::JSTestObjConstructor::getOwnPropertyDescriptor):
(WebCore::JSTestObjPrototype::getOwnPropertyDescriptor):
(WebCore::JSTestObj::getOwnPropertyDescriptor):
* bindings/scripts/test/JS/JSTestObj.h:
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
(WebCore::JSTestSerializedScriptValueInterfaceConstructor::getOwnPropertyDescriptor):
(WebCore::JSTestSerializedScriptValueInterface::getOwnPropertyDescriptor):
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
* bridge/objc/objc_runtime.h:
* bridge/objc/objc_runtime.mm:
(JSC::Bindings::ObjcFallbackObjectImp::getOwnPropertyDescriptor):
* bridge/qt/qt_runtime.cpp:
(JSC::Bindings::QtRuntimeMetaMethod::getOwnPropertyDescriptor):
(JSC::Bindings::QtRuntimeConnectionMethod::getOwnPropertyDescriptor):
* bridge/qt/qt_runtime.h:
* bridge/runtime_array.cpp:
(JSC::RuntimeArray::getOwnPropertyDescriptor):
* bridge/runtime_array.h:
* bridge/runtime_method.cpp:
(JSC::RuntimeMethod::vtableAnchor): Added to prevent a weak vtable.
(JSC::RuntimeMethod::getOwnPropertyDescriptor):
* bridge/runtime_method.h: Changed getOwnPropertyDescriptor from private to protected to allow
subclasses to use it in their MethodTables.
* bridge/runtime_object.cpp:
(JSC::Bindings::RuntimeObject::getOwnPropertyDescriptor):
* bridge/runtime_object.h:
2011-11-09 Julien Chaffraix <jchaffraix@webkit.org>
REGRESSION (r93614): Content remains despite parent element being scrolled off page using javascript.
https://bugs.webkit.org/show_bug.cgi?id=71550
Reviewed by Simon Fraser.
Tests: fast/repaint/overflow-auto-in-overflow-auto-scrolled.html
fast/repaint/overflow-hidden-in-overflow-hidden-scrolled.html
fast/repaint/overflow-scroll-in-overflow-scroll-scrolled.html
fast/repaint/scroll-inside-table-cell.html
fast/repaint/scroll-relative-table-inside-table-cell.html
fast/repaint/table-overflow-auto-in-overflow-auto-scrolled.html
fast/repaint/table-overflow-hidden-in-overflow-hidden-scrolled.html
fast/repaint/table-overflow-scroll-in-overflow-scroll-scrolled.html
The issue was that updateLayerPositionsAfterScroll would not update some layer's
repaint rectangles. Thus we would not properly repaint (if at all).
The optimization added in 93614 was short-sighted and missed the fact that tables are a
special case when it comes to updating the repaint rectangles. When we scroll a layer
with an overflow clip, most layers *do* need to update their repaint rectangles.
This changes keeps the optimization for cells as this is the hotest case for tables
with overflow: hidden on cells but is much more conservative: if we encounter an
overflow clip, we update the descendant's repaint rectangles.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::RenderLayer):
(WebCore::RenderLayer::updateLayerPositionsAfterScroll):
Refactored the code to use some flags (HasSeenFixedPositionedAncestor and
HasSeenAncestorWithOverflowClip). Also added an exception if
m_canSkipRepaintRectsUpdateOnScroll is set.
* rendering/RenderLayer.h:
Added a new field when it is fine to not update our repaint rects on scroll.
2011-11-09 Kentaro Hara <haraken@chromium.org>
Generate the HTMLAudioElement constructor using [NamedConstructor] IDL
https://bugs.webkit.org/show_bug.cgi?id=71924
Reviewed by Adam Barth.
This patch removes a custom constructor of HTMLAudioElement
and generates it using [NamedConstructor] IDL.
Tests: fast/js/custom-constructors.html
media/audio-constructor.html
media/audio-constructor-src.html
media/audio-constructor-preload.html
media/audio-controls-do-not-fade-out.html
media/audio-controls-rendering.html
* Target.pri: Removed V8HTMLAudioElementConstructor.{h,cpp}
* WebCore.gypi: Ditto.
* bindings/v8/custom/V8HTMLAudioElementConstructor.cpp: Removed.
* bindings/v8/custom/V8HTMLAudioElementConstructor.h: Removed.
* html/HTMLAudioElement.idl: Added [NamedConstructor] IDL.
* page/DOMWindow.idl: Removed [V8CustomConstructor] IDL.
2011-11-09 Antti Koivisto <antti@apple.com>
Eliminate CSSMutableValue
https://bugs.webkit.org/show_bug.cgi?id=71811
Reviewed by Darin Adler, Andreas Kling and Nikolas Zimmerman.
Remove the implementations of setter functions in SVGColor and SVGPaint. These interfaces are
deprecated in SVG 1.1 (2nd edition) and are not really used by anybody. This allows
removal of CSSMutableValue and the associated (rather broken) code.
The setters now throw NO_MODIFICATION_ALLOWED_ERR.
* GNUmakefile.list.am:
* WebCore.gypi:
* WebCore.xcodeproj/project.pbxproj:
* css/CSSMutableStyleDeclaration.cpp:
(WebCore::CSSMutableStyleDeclaration::~CSSMutableStyleDeclaration):
* css/CSSMutableValue.h: Removed.
* css/CSSStyleDeclaration.cpp:
(WebCore::CSSStyleDeclaration::getPropertyCSSValue):
* css/CSSValue.h:
(WebCore::CSSValue::CSSValue):
* svg/SVGColor.cpp:
(WebCore::SVGColor::SVGColor):
(WebCore::SVGColor::setRGBColor):
(WebCore::SVGColor::setRGBColorICCColor):
(WebCore::SVGColor::setColor):
* svg/SVGColor.h:
* svg/SVGPaint.cpp:
(WebCore::SVGPaint::setUri):
(WebCore::SVGPaint::setPaint):
* svg/SVGPaint.h:
2011-11-09 Kentaro Hara <haraken@chromium.org>
Generate the HTMLOptionElement constructor using [NamedConstructor] IDL
https://bugs.webkit.org/show_bug.cgi?id=71925
Reviewed by Adam Barth.
This patch removes a custom constructor of HTMLOptionElement,
and generates it using [NamedConstructor] IDL.
Tests: fast/js/custom-constructors.html
fast/forms/option-index.html
fast/forms/add-and-remove-option.html
fast/dom/dom-add-optionelement.html
* Target.pri: Removed V8HTMLOptionElementConstructor.{h,cpp}
* WebCore.gypi: Ditto.
* bindings/v8/custom/V8HTMLOptionElementConstructor.cpp: Removed.
* bindings/v8/custom/V8HTMLOptionElementConstructor.h: Removed.
* html/HTMLOptionElement.idl: Added [NamedConstructor] IDL.
* page/DOMWindow.idl: Removed [V8CustomConstructor] IDL.
2011-11-09 Julien Chaffraix <jchaffraix@webkit.org>
Crash in RenderTableSection::splitColumn
https://bugs.webkit.org/show_bug.cgi?id=70171
Reviewed by David Hyatt.
Tests: fast/table/crash-splitColumn-2.html
fast/table/crash-splitColumn-3.html
fast/table/crash-splitColumn.html
The old code would not take into account the fact that each RenderTableSection
can set its m_needsCellRecalc flag independently of the rest.
This means that you cannot assume that you can always split or append columns to
all the sections. Our approach is to skip sections needing cell recalc in several
parts of the code as they will be properly reset to the table's representations
during a cell recalc.
* rendering/RenderTable.cpp:
(WebCore::RenderTable::splitColumn):
(WebCore::RenderTable::appendColumn):
Skip sections needing cell recalc as they will be properly updated later.
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::addCell):
Ignore a section needing cell recalc as addCell will be called after sync'ing
the internal column representation in recalcCells.
(WebCore::RenderTableSection::recalcCells):
Clear the flag at the beginning of the function to activate the previous functions.
Added a comment as to why this is fine.
(WebCore::RenderTableSection::appendColumn):
Added an ASSERT. If we need cell recalc, we should NEVER update m_grid outside
of recalcCells().
2011-11-09 Arko Saha <arko@motorola.com>
Microdata: fast/dom/MicroData/itemid-attribute-test.html assertion failure in Element::getURLAttribute().
https://bugs.webkit.org/show_bug.cgi?id=71510
Reviewed by Darin Adler.
Override isURLAttribute() for HTMLElement and return true if attribute is itemidAttr.
All the classes derived from HTMLElement overrides this function should return true if attribute is itemidAttr.
Removed HTMLIFrameElement::isURLAttribute() method as HTMLFrameElementBase already takes care of it.
Test: fast/dom/MicroData/itemid-attribute-test-001.html
* html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::isURLAttribute):
* html/HTMLBaseElement.cpp:
(WebCore::HTMLBaseElement::isURLAttribute):
* html/HTMLBodyElement.cpp:
(WebCore::HTMLBodyElement::isURLAttribute):
* html/HTMLButtonElement.cpp:
(WebCore::HTMLButtonElement::isURLAttribute):
* html/HTMLElement.cpp:
(WebCore::HTMLElement::isURLAttribute):
* html/HTMLElement.h:
* html/HTMLEmbedElement.cpp:
(WebCore::HTMLEmbedElement::isURLAttribute):
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::isURLAttribute):
* html/HTMLFrameElementBase.cpp:
(WebCore::HTMLFrameElementBase::isURLAttribute):
* html/HTMLHtmlElement.cpp:
(WebCore::HTMLHtmlElement::isURLAttribute):
* html/HTMLIFrameElement.cpp:
* html/HTMLIFrameElement.h:
* html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::isURLAttribute):
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::isURLAttribute):
* html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::isURLAttribute):
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::isURLAttribute):
* html/HTMLModElement.cpp:
(WebCore::HTMLModElement::isURLAttribute):
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::isURLAttribute):
* html/HTMLParamElement.cpp:
(WebCore::HTMLParamElement::isURLAttribute):
* html/HTMLQuoteElement.cpp:
(WebCore::HTMLQuoteElement::isURLAttribute):
* html/HTMLScriptElement.cpp:
(WebCore::HTMLScriptElement::isURLAttribute):
* html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::isURLAttribute):
* html/HTMLTableCellElement.cpp:
(WebCore::HTMLTableCellElement::isURLAttribute):
* html/HTMLTableElement.cpp:
(WebCore::HTMLTableElement::isURLAttribute):
* html/HTMLTrackElement.cpp:
(WebCore::HTMLTrackElement::isURLAttribute):
2011-11-09 Chris Fleizach <cfleizach@apple.com>
AX: crash when accessing selectedTab in a tab list
https://bugs.webkit.org/show_bug.cgi?id=70938
Reviewed by Beth Dakin.
There were a few methods accessing m_children directly without first validating that those elements
needed to be updated (because the layout changed). Changing those to call children() ensures
that they will have the correct children.
Test: platform/mac/accessibility/selected-tab-crash.html
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::isChecked):
(WebCore::AccessibilityRenderObject::selectedRadioButton):
(WebCore::AccessibilityRenderObject::selectedTabItem):
(WebCore::AccessibilityRenderObject::ariaListboxVisibleChildren):
(WebCore::AccessibilityRenderObject::tabChildren):
2011-11-09 Andreas Kling <kling@webkit.org>
Shrink HTMLCollection.
<http://webkit.org/b/71928>
Reviewed by Darin Adler.
Rearrange the members of HTMLCollection, effectively shrinking
it by 16 bytes on 64-bit. This reduces memory consumption
by 531 kB when loading the full HTML5 spec.
On 32-bit it shrinks by 8 bytes, saving 265 kB.
* html/HTMLCollection.cpp:
(WebCore::HTMLCollection::HTMLCollection):
* html/HTMLCollection.h:
(WebCore::HTMLCollection::type):
2011-11-09 Kentaro Hara <haraken@chromium.org>
Remove redundant [CanBeConstructed] IDLs
https://bugs.webkit.org/show_bug.cgi?id=71868
Reviewed by Adam Barth.
If a class has [Constructor] or [CustomConstructor],
then [CanBeConstructed] is not necessary.
This patch just removes [CanBeConstructed] from all the classes
that already have [Constructor] or [CustomConstructor].
No tests. No change in behavior.
* bindings/scripts/CodeGeneratorV8.pm: Corrected typo. This correction is required for this patch.
* bindings/scripts/test/V8/V8TestObj.cpp: Updated a run-bindings-tests result.
(WebCore::ConfigureV8TestObjTemplate):
* css/WebKitCSSMatrix.idl:
* dom/BeforeLoadEvent.idl:
* dom/CustomEvent.idl:
* dom/ErrorEvent.idl:
* dom/Event.idl:
* dom/HashChangeEvent.idl:
* dom/MessageChannel.idl:
* dom/MessageEvent.idl:
* dom/OverflowEvent.idl:
* dom/PageTransitionEvent.idl:
* dom/PopStateEvent.idl:
* dom/ProgressEvent.idl:
* dom/WebKitAnimationEvent.idl:
* dom/WebKitMutationObserver.idl:
* dom/WebKitTransitionEvent.idl:
* fileapi/FileReader.idl:
* html/DOMFormData.idl:
* html/TextTrackCue.idl:
* html/canvas/ArrayBuffer.idl:
* html/canvas/DataView.idl:
* html/canvas/Float32Array.idl:
* html/canvas/Float64Array.idl:
* html/canvas/Int16Array.idl:
* html/canvas/Int32Array.idl:
* html/canvas/Int8Array.idl:
* html/canvas/Uint16Array.idl:
* html/canvas/Uint32Array.idl:
* html/canvas/Uint8Array.idl:
* html/track/TrackEvent.idl:
* mediastream/PeerConnection.idl:
* page/EventSource.idl:
* page/WebKitPoint.idl:
* webaudio/AudioContext.idl:
* websockets/CloseEvent.idl:
* websockets/WebSocket.idl:
* workers/SharedWorker.idl:
* workers/Worker.idl:
* xml/XMLHttpRequest.idl:
* xml/XSLTProcessor.idl:
2011-11-09 Ken Buchanan <kenrb@chromium.org>
SVG foreignObject wrong container
https://bugs.webkit.org/show_bug.cgi?id=64780
Reviewed by Simon Fraser.
Resubmitting a patch originally by scottmg@chromium.org.
In determining where to add to m_positionedObjects during a repaint,
containingBlock is used, which adds the absolute positioned object to
the containing foreignObject. But, when the contained object is
dirtied, container() was used to dirty up the tree, which skipped over
the foreignObject causing the wrong parent to needsLayout(). This fix
makes container() and containingBlock() handle svg foreignObject's in
the same way.
This patch will cause svg/overflow/overflow-on-foreignObject.svg to
require rebaselined results on qt and gtk ports.
* rendering/RenderObject.cpp:
(WebCore::RenderObject::container):
2011-11-09 Andreas Kling <kling@webkit.org>
Shrink StyleSheet on 64-bit.
<http://webkit.org/b/71923>
Reviewed by Darin Adler.
Move m_disabled to the top so it folds into the padding at
the end of RefCounted on 64-bit, shrinking StyleSheet by 8 bytes.
* css/StyleSheet.cpp:
(WebCore::StyleSheet::StyleSheet):
* css/StyleSheet.h:
2011-11-09 Andreas Kling <kling@webkit.org>
StyleSheet: Devirtualize styleSheetChanged().
<http://webkit.org/b/71913>
Reviewed by Antti Koivisto.
Since this mechanism is only used by CSSStyleSheet, move it there.
Out-of-lined StyleSheet::setDisabled() so we can do a type check
before invoking it from there.
* css/CSSStyleSheet.h:
* css/StyleSheet.cpp:
(WebCore::StyleSheet::setDisabled):
* css/StyleSheet.h:
2011-11-09 Simon Hausmann <simon.hausmann@nokia.com>
[Qt] Unreviewed, adding missing files to the build.
* Target.pri: Add ContentTypeParser.cpp/h
2011-11-09 Andrey Kosyakov <caseq@chromium.org>
Web Inspector: [refactoring] remove a bunch of methods from JavaScriptSourceFrameDelegate
https://bugs.webkit.org/show_bug.cgi?id=71826
Reviewed by Pavel Feldman.
* inspector/front-end/JavaScriptSourceFrame.js:
(WebInspector.JavaScriptSourceFrame):
(WebInspector.JavaScriptSourceFrame.prototype.requestContent):
(WebInspector.JavaScriptSourceFrame.prototype.canEditSource):
(WebInspector.JavaScriptSourceFrame.prototype.editContent):
(WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu.else.editBreakpointCondition.didEditBreakpointCondition):
(WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu.else):
(WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu):
(WebInspector.JavaScriptSourceFrame.prototype.didEditContent):
(WebInspector.JavaScriptSourceFrame.prototype._onMouseDown):
* inspector/front-end/ScriptsPanel.js:
2011-11-09 Pavel Feldman <pfeldman@google.com>
Not reviewed: annotate inspector front-end javascript so that it compiled again.
* inspector/front-end/ShortcutsScreen.js:
* inspector/front-end/WorkerManager.js:
2011-11-09 Andreas Kling <kling@webkit.org>
Unreviewed build fix after r99711. (Signed/unsigned compare.)
* css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::getDoubleValueInternal):
2011-11-09 Alexander Pavlov <apavlov@chromium.org>
Web Inspector: Provisionally change StylesSidebarPane section DOM layout to allow media queries
https://bugs.webkit.org/show_bug.cgi?id=71902
Reviewed by Pavel Feldman.
* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylePropertiesSection):
(WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted.successCallback):
(WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
(WebInspector.ComputedStylePropertiesSection.prototype.rebuildComputedTrace):
(WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted.successCallback):
(WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted):
2011-11-09 Andreas Kling <kling@webkit.org>
CSSPrimitiveValue: Fix up bitfield member types.
<http://webkit.org/b/71751>
Reviewed by Antti Koivisto.
The primitive unit type doesn't need to be a signed value,
and by making it unsigned, we can shave one bit off of it.
Furthermore, m_hasCachedCSSText and m_isQuirkValue should be
bool, not unsigned.
* css/CSSValue.h:
2011-11-09 Pavel Feldman <pfeldman@google.com>
Web Inspector: discard injected scripts upon front-end disconnect.
https://bugs.webkit.org/show_bug.cgi?id=71823
Reviewed by Yury Semikhatsky.
Test: http/tests/inspector-enabled/injected-script-discard.html
* inspector/InspectorAgent.cpp:
(WebCore::InspectorAgent::clearFrontend):
2011-11-09 Andreas Kling <kling@webkit.org>
CSS: Remove empty value and rule destructors.
<http://webkit.org/b/71901>
Reviewed by Antti Koivisto.
* css/CSSAspectRatioValue.h:
* css/CSSBorderImageSliceValue.h:
(WebCore::CSSBorderImageSliceValue::create):
* css/CSSBorderImageValue.h:
(WebCore::CSSBorderImageValue::create):
* css/CSSCharsetRule.cpp:
* css/CSSCharsetRule.h:
* css/CSSCrossfadeValue.h:
* css/CSSFlexValue.h:
* css/CSSFontFaceSrcValue.h:
* css/CSSFunctionValue.h:
* css/CSSPageRule.cpp:
* css/CSSPageRule.h:
* css/CSSUnicodeRangeValue.h:
* css/CSSValueList.h:
* css/WebKitCSSFilterValue.h:
* css/WebKitCSSTransformValue.h:
2011-11-09 Andreas Kling <kling@webkit.org>
CSS: Remove redudant WTF_MAKE_FAST_ALLOCATED macros.
<http://webkit.org/b/71897>
Reviewed by Antti Koivisto.
Everything that inherits from RefCounted<T> is already fast-allocated,
so we don't need this in subclasses.
* css/CSSImageValue.h:
* css/CSSImportRule.h:
* css/WebKitCSSShaderValue.h:
2011-11-09 Igor Oliveira <igor.oliveira@openbossa.org>
[TextureMapper] Clean up TextureMapperAnimation constructor
https://bugs.webkit.org/show_bug.cgi?id=71892
Remove copyAnimationValue and copyTimingFunction static functions. KeyframeList has
a copy constructor and it does not need anymore these copy functions.
Reviewed by Simon Hausmann.
* platform/graphics/texmap/TextureMapperNode.cpp:
(WebCore::TextureMapperAnimation::TextureMapperAnimation):
2011-11-09 Alexandru Chiculita <achicu@adobe.com>
[Part 1] Parse the custom() function in -webkit-filter
https://bugs.webkit.org/show_bug.cgi?id=71441
Added code that parses the custom() function. There's no code
for the CSSStyleSelector yet, so the only way to test this was to
check the "styleSheets" rules.
Reviewed by Dean Jackson.
Tests: css3/filters/custom-filter-property-parsing-invalid.html
css3/filters/custom-filter-property-parsing.html
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::computedFilter):
* css/CSSParser.cpp:
(WebCore::filterInfoForName):
(WebCore::acceptCommaOperator):
(WebCore::CSSParser::parseCustomFilter):
(WebCore::CSSParser::parseFilter):
* css/CSSParser.h:
* css/CSSStyleSelector.cpp:
(WebCore::filterOperationForType):
(WebCore::CSSStyleSelector::createFilterOperations):
* css/CSSValue.cpp:
(WebCore::CSSValue::cssText):
(WebCore::CSSValue::destroy):
* css/CSSValue.h:
(WebCore::CSSValue::isWebKitCSSShaderValue):
* css/CSSValueKeywords.in:
* css/WebKitCSSFilterValue.cpp:
(WebCore::WebKitCSSFilterValue::WebKitCSSFilterValue):
(WebCore::WebKitCSSFilterValue::typeUsesSpaceSeparator):
(WebCore::WebKitCSSFilterValue::customCssText):
* css/WebKitCSSFilterValue.h:
* css/WebKitCSSFilterValue.idl:
* css/WebKitCSSShaderValue.h: Added.
(WebCore::WebKitCSSShaderValue::create):
(WebCore::WebKitCSSShaderValue::WebKitCSSShaderValue):
* platform/graphics/filters/FilterOperation.h:
2011-11-09 Yury Semikhatsky <yurys@chromium.org>
Web Inspector: exception in remote front-end load handler due to undefined reference to workerManager
https://bugs.webkit.org/show_bug.cgi?id=71889
Move calls to WorkerManager load handlers into doLoadedDone method which is
called in case of remote front-end too.
Reviewed by Pavel Feldman.
* inspector/front-end/inspector.js:
(WebInspector.loaded):
2011-11-09 Vsevolod Vlasov <vsevik@chromium.org>
Web Inspector: Extract ApplicationCacheModel from ApplicationCacheItemsView.
https://bugs.webkit.org/show_bug.cgi?id=71850
Reviewed by Pavel Feldman.
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/compile-front-end.sh:
* inspector/front-end/ApplicationCacheItemsView.js:
(WebInspector.ApplicationCacheItemsView):
(WebInspector.ApplicationCacheItemsView.prototype._update):
* inspector/front-end/ApplicationCacheModel.js: Added.
(WebInspector.ApplicationCacheModel):
(WebInspector.ApplicationCacheModel.prototype.getApplicationCachesAsync):
(WebInspector.ApplicationCacheDispatcher):
(WebInspector.ApplicationCacheDispatcher.prototype.updateApplicationCacheStatus):
(WebInspector.ApplicationCacheDispatcher.prototype.updateNetworkState):
* inspector/front-end/ResourcesPanel.js:
(WebInspector.ResourcesPanel.prototype.wasShown):
(WebInspector.ResourcesPanel.prototype.reset):
(WebInspector.ResourcesPanel.prototype._populateResourceTree):
(WebInspector.ResourcesPanel.prototype.showApplicationCache):
(WebInspector.ResourcesPanel.prototype._initializeApplicationCacheModel):
* inspector/front-end/WebKit.qrc:
* inspector/front-end/inspector.html:
2011-11-09 Vsevolod Vlasov <vsevik@chromium.org>
Web Inspector: ResourcesPanel should support adding subtitle to any BaseStorageTreeElement.
https://bugs.webkit.org/show_bug.cgi?id=71848
Reviewed by Pavel Feldman.
* inspector/front-end/ResourcesPanel.js:
(WebInspector.BaseStorageTreeElement.prototype.onattach):
(WebInspector.BaseStorageTreeElement.prototype.get displayName):
(WebInspector.BaseStorageTreeElement.prototype._updateDisplayName):
(WebInspector.BaseStorageTreeElement.prototype._updateTitle):
(WebInspector.BaseStorageTreeElement.prototype._updateSubtitle):
(WebInspector.BaseStorageTreeElement.prototype.set titleText):
(WebInspector.BaseStorageTreeElement.prototype.get subtitleText):
(WebInspector.BaseStorageTreeElement.prototype.set subtitleText):
(WebInspector.FrameTreeElement.prototype.frameNavigated):
(WebInspector.FrameTreeElement.prototype.get itemURL):
(WebInspector.FrameTreeElement.prototype.onselect):
2011-11-08 Pavel Feldman <pfeldman@google.com>
Web Inspector: crash upon InspectorValue serialization that has 0 value / array entry.
https://bugs.webkit.org/show_bug.cgi?id=71806
Reviewed by Yury Semikhatsky.
Test: inspector/elements/resolve-alien-node.html
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::resolveNode):
* inspector/InspectorValues.h:
(WebCore::InspectorObject::setValue):
(WebCore::InspectorObject::setObject):
(WebCore::InspectorObject::setArray):
(WebCore::InspectorArray::pushValue):
(WebCore::InspectorArray::pushObject):
(WebCore::InspectorArray::pushArray):
2011-11-08 Andreas Kling <kling@webkit.org>
Move CSSPrimitiveValue bitfields up into CSSValue.
<http://webkit.org/b/71835>
Reviewed by Darin Adler.
Move m_type (and rename it to m_primitiveUnitType),
m_hasCachedCSSText and m_isQuirkValue from CSSPrimitiveValue
up into CSSValue to share the space.
This, together with the devirtualization of CSSValue that
happened on <http://webkit.org/b/71666>, reduces the size
of CSSPrimitiveValue by one CPU word.
More specifically, we go from 16 to 12 bytes on 32-bit,
and from 24 to 16 bytes on 64-bit.
* css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::init):
(WebCore::CSSPrimitiveValue::cleanup):
(WebCore::CSSPrimitiveValue::getDoubleValueInternal):
(WebCore::CSSPrimitiveValue::getStringValue):
(WebCore::CSSPrimitiveValue::getCounterValue):
(WebCore::CSSPrimitiveValue::getRectValue):
(WebCore::CSSPrimitiveValue::getQuadValue):
(WebCore::CSSPrimitiveValue::getRGBColorValue):
(WebCore::CSSPrimitiveValue::getPairValue):
(WebCore::CSSPrimitiveValue::getIdent):
(WebCore::CSSPrimitiveValue::customCssText):
(WebCore::CSSPrimitiveValue::addSubresourceStyleURLs):
* css/CSSPrimitiveValue.h:
(WebCore::CSSPrimitiveValue::isLength):
(WebCore::CSSPrimitiveValue::primitiveType):
(WebCore::CSSPrimitiveValue::setPrimitiveType):
(WebCore::CSSPrimitiveValue::getCounterValue):
(WebCore::CSSPrimitiveValue::getRectValue):
(WebCore::CSSPrimitiveValue::getQuadValue):
(WebCore::CSSPrimitiveValue::getRGBA32Value):
(WebCore::CSSPrimitiveValue::getPairValue):
(WebCore::CSSPrimitiveValue::getDashboardRegionValue):
(WebCore::CSSPrimitiveValue::getShapeValue):
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator short):
(WebCore::CSSPrimitiveValue::operator unsigned short):
(WebCore::CSSPrimitiveValue::operator int):
(WebCore::CSSPrimitiveValue::operator unsigned):
(WebCore::CSSPrimitiveValue::operator float):
(WebCore::CSSPrimitiveValue::operator ColumnSpan):
* css/CSSValue.h:
(WebCore::CSSValue::CSSValue):
2011-11-09 Mark Hahnenberg <mhahnenberg@apple.com>
De-virtualize JSObject::defineOwnProperty
https://bugs.webkit.org/show_bug.cgi?id=71429
Reviewed by Geoffrey Garen.
No new tests.
Added defineOwnProperty to the MethodTable, changed all the virtual
implementations of defineOwnProperty to static ones, and replaced
all call sites with corresponding lookups in the MethodTable.
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::defineOwnProperty):
* bindings/js/JSDOMWindowShell.cpp:
(WebCore::JSDOMWindowShell::defineOwnProperty):
* bindings/js/JSDOMWindowShell.h:
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
2011-11-09 Kentaro Hara <haraken@chromium.org>
Make [CanBeConstructed] IDL redundant
https://bugs.webkit.org/show_bug.cgi?id=71871
Reviewed by Adam Barth.
As the first step to remove [CanBeConstructed] IDL completely,
we need to make [CanBeConstructed] IDL redundant.
This patch replaces '[CanBeConstructed]' in CodeGeneratorV8.pm
with '[CanBeConstructed] or [Constructor] or [CustomConstructor] or [V8CustomConstructor]',
and replaces '[CanBeConstructed]' in CodeGeneratorJS.pm
with '[CanBeConstructed] or [Constructor] or [CustomConstructor] or [JSCustomConstructor]'
An example:
before: '[CanBeConstructed] and ![V8CustomConstructor]'
after: '([CanBeConstructed] or [Constructor] or [CustomConstructor] or [V8CustomConstructor]) and ![V8CustomConstructor]' <==> '([CanBeConstructed] or [Constructor] or [CustomConstructor]) and ![V8CustomConstructor]'
Tests: bindings/scripts/test/TestObj.idl
* bindings/scripts/CodeGeneratorJS.pm: Modified as I described above.
(GenerateConstructorDeclaration):
(GenerateConstructorDefinition):
* bindings/scripts/CodeGeneratorV8.pm: Ditto.
* bindings/scripts/test/JS/JSTestObj.cpp: Updated a run-bindings-tests result.
(WebCore::JSTestObjConstructor::constructJSTestObj):
(WebCore::JSTestObjConstructor::getConstructData):
* bindings/scripts/test/JS/JSTestObj.h: Ditto.
* bindings/scripts/test/V8/V8TestObj.cpp: Ditto.
(WebCore::V8TestObj::constructorCallback):
2011-11-09 Nikolas Zimmermann <nzimmermann@rim.com>
svg failures after r99561
https://bugs.webkit.org/show_bug.cgi?id=71830
Reviewed by Antti Koivisto.
Fix regressions in svg/zoom/page/relative-sized-document-scrollbars.svg and svg/zoom/page/zoom-svg-as-relative-image.html.
Fix merging problem in r99561, bug 71780. It moved several methods from SVGLength to SVGLengthContext, and unfortunately
the SVGLength changes part of r98852, bug 47156, got reverted again, making these two tests fail.
* svg/SVGLengthContext.cpp:
(WebCore::SVGLengthContext::determineViewport):
2011-11-09 Rakesh KN <rakesh.kn@motorola.com>
Select multiple options with mouse drag in Select element.
https://bugs.webkit.org/show_bug.cgi?id=71128
Reviewed by Ryosuke Niwa.
Multiple selection of option elements in select element with an mouse drag.
Other browsers(IE, Firefox, Opera) support this feature.
Test: fast/forms/select-multiple-elements-with-mouse-drag.html
* page/EventHandler.cpp:
(WebCore::EventHandler::handleMouseDraggedEvent):
Allow auto scroll to be fired if current node(option) under mouse does not have renderer
but its container node(select) can autoscroll and has renderer for specific case of ListBox
2011-11-09 Simon Hausmann <simon.hausmann@nokia.com>
[Qt] Build system cleanup
https://bugs.webkit.org/show_bug.cgi?id=71815
Reviewed by Kenneth Rohde Christiansen.
* Target.pri: Removed CodeGenHSL.cpp from the angle build. In the angle build the back-end has to
be either GLSL or HSL, it can't be both. Make a choice for GLSL as that's what it seems to be used for
at the moment.
2011-11-09 Mark Rowe <mrowe@apple.com>
Fix the build.
* WebCore.exp.in: Export the right symbol names.
* WebCore.xcodeproj/project.pbxproj: Make the header file available outside of WebCore.
2011-11-08 Simon Hausmann <simon.hausmann@nokia.com>
[Qt] Replace use of QApplication with QGuiApplication
https://bugs.webkit.org/show_bug.cgi?id=71794
Reviewed by Andreas Kling.
* Target.pri: Add compat include dir when compiling with Qt 4.
* platform/graphics/gstreamer/PlatformVideoWindowQt.cpp:
(FullScreenVideoWindow::closeEvent): Replace use of QApplication with QGuiApplication.
(FullScreenVideoWindow::hideCursor): Ditto.
(FullScreenVideoWindow::showCursor): Ditto.
* platform/graphics/qt/TileQt.cpp: Remove unnecessary inclusion of QApplication.
* platform/qt/ClipboardQt.cpp: Replace use of QApplication with QGuiApplication.
(WebCore::ClipboardQt::ClipboardQt):
(WebCore::ClipboardQt::clearData):
(WebCore::ClipboardQt::clearAllData):
(WebCore::ClipboardQt::setData):
(WebCore::ClipboardQt::declareAndWriteDragImage):
(WebCore::ClipboardQt::writeURL):
(WebCore::ClipboardQt::writeRange):
(WebCore::ClipboardQt::writePlainText):
* platform/qt/PasteboardQt.cpp: Ditto.
(WebCore::Pasteboard::writeSelection):
(WebCore::Pasteboard::canSmartReplace):
(WebCore::Pasteboard::plainText):
(WebCore::Pasteboard::documentFragment):
(WebCore::Pasteboard::writePlainText):
(WebCore::Pasteboard::writeURL):
(WebCore::Pasteboard::writeImage):
2011-11-09 Simon Hausmann <simon.hausmann@nokia.com>
Mac Build fix part 2: Oops, use the correct wtf/ prefix for the WTF include.
* page/SecurityPolicy.cpp:
2011-11-09 Simon Hausmann <simon.hausmann@nokia.com>
Prospective build fix for Windows: Include MainThread.h for ASSERT(isMainThread())
to compile.
* page/SecurityPolicy.cpp:
2011-11-07 Adam Barth <abarth@webkit.org>
Move static "policy" state from SecurityOrigin.cpp to SecurityPolicy.cpp
https://bugs.webkit.org/show_bug.cgi?id=71755
Reviewed by Eric Seidel.
The SecurityOrigin class should be focused on representing a web
security origin rather than being a dumping ground for all
security-related state. This patch moves a bunch of static "policy"
state into its own SecurityPolicy class.
* WebCore.exp.in:
* WebCore.gypi:
* dom/Document.cpp:
(WebCore::Document::initSecurityContext):
* html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::handleClick):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadFrameRequest):
(WebCore::FrameLoader::loadResourceSynchronously):
* loader/PingLoader.cpp:
(WebCore::PingLoader::loadImage):
(WebCore::PingLoader::sendPing):
(WebCore::PingLoader::reportContentSecurityPolicyViolation):
* loader/SubframeLoader.cpp:
(WebCore::SubframeLoader::loadSubframe):
* loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::create):
* page/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::canRequest):
(WebCore::SecurityOrigin::canDisplay):
(WebCore::SecurityOrigin::grantLoadLocalResources):
* page/SecurityOrigin.h:
2011-11-08 Antaryami Pandia <antaryami.pandia@motorola.com>
Default <select multiple> expands up to 10 items instead of showing 4.
https://bugs.webkit.org/show_bug.cgi?id=70765
Reviewed by Darin Adler.
Tests: fast/forms/select-clientheight-large-size.html
fast/forms/select-clientheight-with-multiple-attr.html
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::size):
2011-11-08 Chris Evans <cevans@google.com>
Crash accessing font fact rule parent
https://bugs.webkit.org/show_bug.cgi?id=71860
Reviewed by Adam Barth.
Test: fast/css/css-fontface-rule-crash.html
* css/CSSFontFaceRule.cpp:
(WebCore::CSSFontFaceRule::~CSSFontFaceRule): tell our child rule when we are going away.
2011-11-08 Adam Klein <adamk@chromium.org>
Use a typedef for ExceptionCode in all header files instead of including ExceptionCode.h
https://bugs.webkit.org/show_bug.cgi?id=71845
Reviewed by Adam Barth.
Some headers in WebCore include ExceptionCode.h to get the ExceptionCode typedef,
while others provide the typedef themselves. Per Darin, the latter is preferred,
so this patch updates all references, and fixes up .cpp files that
need the include in order to access the enum.
* bindings/js/JSSVGLengthCustom.cpp:
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation): #include ExceptionCode.h when needed for SVG.
* bindings/scripts/CodeGeneratorObjC.pm:
(GenerateImplementation): #include ExceptionCode.h when needed for SVG.
* bindings/v8/custom/V8NotificationCenterCustom.cpp:
* bindings/v8/custom/V8SVGLengthCustom.cpp:
* css/WebKitCSSMatrix.h:
* fileapi/DirectoryReaderSync.h:
* fileapi/EntrySync.h:
* fileapi/FileReader.h:
* fileapi/FileReaderSync.h:
* fileapi/SyncCallbackHelper.h:
* html/ClassList.h:
* html/DOMSettableTokenList.h:
* html/DOMTokenList.cpp:
* html/DOMTokenList.h:
* html/TextTrack.cpp:
* html/TextTrack.h:
* html/TimeRanges.cpp:
* html/TimeRanges.h:
* html/canvas/ArrayBuffer.cpp:
* html/canvas/ArrayBuffer.h:
* html/canvas/ArrayBufferView.cpp:
* html/canvas/ArrayBufferView.h:
* html/canvas/DataView.cpp:
* html/canvas/DataView.h:
* html/canvas/OESVertexArrayObject.h:
* html/canvas/WebGLDebugShaders.h:
* html/canvas/WebGLRenderingContext.cpp:
* html/canvas/WebGLRenderingContext.h:
* mediastream/MediaStreamFrameController.cpp:
* mediastream/MediaStreamFrameController.h:
* notifications/Notification.h:
* notifications/NotificationCenter.h:
* storage/AbstractDatabase.cpp:
* storage/AbstractDatabase.h:
* storage/Database.h:
* storage/DatabaseSync.h:
* storage/DatabaseTask.h:
* storage/IDBCursor.h:
* storage/IDBCursorBackendInterface.h:
* storage/IDBDatabase.h:
* storage/IDBDatabaseBackendInterface.h:
* storage/IDBFactory.h:
* storage/IDBFactoryBackendInterface.h:
* storage/IDBIndexBackendInterface.h:
* storage/IDBKeyRange.h:
* storage/IDBObjectStoreBackendInterface.h:
* storage/IDBRequest.h:
* storage/IDBTransactionBackendInterface.h:
* storage/SQLResultSet.cpp:
* storage/SQLResultSet.h:
* storage/SQLStatementSync.h:
* storage/SQLTransaction.cpp:
* storage/SQLTransaction.h:
* storage/SQLTransactionSync.h:
* svg/ElementTimeControl.h:
* svg/SVGAngle.cpp:
* svg/SVGAngle.h:
* svg/SVGLength.cpp:
* svg/SVGLength.h:
* svg/SVGLengthContext.cpp:
* svg/SVGLengthContext.h:
* svg/SVGLocatable.h:
* svg/SVGMatrix.h:
* svg/SVGPreserveAspectRatio.cpp:
* svg/SVGPreserveAspectRatio.h:
* testing/Internals.h:
* webaudio/AudioContext.cpp:
* workers/DefaultSharedWorkerRepository.cpp:
* workers/DefaultSharedWorkerRepository.h:
* workers/SharedWorkerRepository.h:
2011-11-08 Kentaro Hara <haraken@chromium.org>
CodeGeneratorV8.pm can generate a NamedConstructor
https://bugs.webkit.org/show_bug.cgi?id=71756
Reviewed by Adam Barth.
- IDLParser.pm can parse [NamedConstructor] IDL.
- CodeGeneratorV8.pm can generate a NamedConstructor
and a template getter for the NamedConstructor.
- Added a new binding test named TestNamedConstructor.idl.
Tests: WebCore/bindings/scripts/test/TestNamedConstructor.idl
* bindings/scripts/CodeGeneratorV8.pm:
(GenerateHeader): Generates a header for a NamedConstructor.
(GenerateNamedConstructorCallback): Generates the NamedConstructor and a template getter for the NamedConstructor.
(GenerateSingleBatchedAttribute): If an IDL type is "XXXXConstructorConstructor", then we do not add a header file of XXXXConstructor, because the XXXXConstructor declaration is written in the header file of class XXXX.
* bindings/scripts/IDLParser.pm:
(parseExtendedAttributes): Parses 'NamedConstructor' '=' name '(' parameters ')' ','?
(ParseInterface): Creates the signature of a NamedConstructor.
* bindings/scripts/test/TestNamedConstructor.idl: Added a new test for the [NamedConstructor] IDL.
* bindings/scripts/test/CPP/WebDOMTestNamedConstructor.cpp: Added a run-binding-test result of TestNamedConstructor.idl.
(WebDOMTestNamedConstructor::WebDOMTestNamedConstructorPrivate::WebDOMTestNamedConstructorPrivate):
(WebDOMTestNamedConstructor::WebDOMTestNamedConstructor):
(WebDOMTestNamedConstructor::operator=):
(WebDOMTestNamedConstructor::impl):
(WebDOMTestNamedConstructor::~WebDOMTestNamedConstructor):
(toWebCore):
(toWebKit):
* bindings/scripts/test/CPP/WebDOMTestNamedConstructor.h: Ditto.
* bindings/scripts/test/GObject/WebKitDOMTestNamedConstructor.cpp: Ditto.
(WebKit::kit):
(WebKit::core):
(webkit_dom_test_named_constructor_finalize):
(webkit_dom_test_named_constructor_set_property):
(webkit_dom_test_named_constructor_get_property):
(webkit_dom_test_named_constructor_constructed):
(webkit_dom_test_named_constructor_class_init):
(webkit_dom_test_named_constructor_init):
(WebKit::wrapTestNamedConstructor):
* bindings/scripts/test/GObject/WebKitDOMTestNamedConstructor.h: Ditto.
* bindings/scripts/test/GObject/WebKitDOMTestNamedConstructorPrivate.h: Ditto.
* bindings/scripts/test/JS/JSTestNamedConstructor.cpp: Ditto.
(WebCore::JSTestNamedConstructorConstructor::JSTestNamedConstructorConstructor):
(WebCore::JSTestNamedConstructorConstructor::finishCreation):
(WebCore::JSTestNamedConstructorConstructor::getOwnPropertySlot):
(WebCore::JSTestNamedConstructorConstructor::getOwnPropertyDescriptor):
(WebCore::JSTestNamedConstructorPrototype::self):
(WebCore::JSTestNamedConstructor::JSTestNamedConstructor):
(WebCore::JSTestNamedConstructor::finishCreation):
(WebCore::JSTestNamedConstructor::createPrototype):
(WebCore::JSTestNamedConstructor::getOwnPropertySlot):
(WebCore::JSTestNamedConstructor::getOwnPropertyDescriptor):
(WebCore::jsTestNamedConstructorConstructor):
(WebCore::JSTestNamedConstructor::getConstructor):
(WebCore::isObservable):
(WebCore::JSTestNamedConstructorOwner::isReachableFromOpaqueRoots):
(WebCore::JSTestNamedConstructorOwner::finalize):
(WebCore::toJS):
(WebCore::toTestNamedConstructor):
* bindings/scripts/test/JS/JSTestNamedConstructor.h: Ditto.
(WebCore::JSTestNamedConstructor::create):
(WebCore::JSTestNamedConstructor::createStructure):
(WebCore::JSTestNamedConstructor::impl):
(WebCore::wrapperOwner):
(WebCore::wrapperContext):
(WebCore::JSTestNamedConstructorPrototype::create):
(WebCore::JSTestNamedConstructorPrototype::createStructure):
(WebCore::JSTestNamedConstructorPrototype::JSTestNamedConstructorPrototype):
(WebCore::JSTestNamedConstructorConstructor::create):
(WebCore::JSTestNamedConstructorConstructor::createStructure):
* bindings/scripts/test/ObjC/DOMTestNamedConstructor.h: Ditto.
* bindings/scripts/test/ObjC/DOMTestNamedConstructor.mm: Ditto.
(-[DOMTestNamedConstructor dealloc]):
(-[DOMTestNamedConstructor finalize]):
(core):
(kit):
* bindings/scripts/test/ObjC/DOMTestNamedConstructorInternal.h: Ditto.
* bindings/scripts/test/V8/V8TestNamedConstructor.cpp: Ditto.
(WebCore::TestNamedConstructorInternal::V8_USE):
(WebCore::V8TestNamedConstructorConstructorCallback):
(WebCore::V8TestNamedConstructorConstructor::GetTemplate):
(WebCore::ConfigureV8TestNamedConstructorTemplate):
(WebCore::V8TestNamedConstructor::GetRawTemplate):
(WebCore::V8TestNamedConstructor::GetTemplate):
(WebCore::V8TestNamedConstructor::HasInstance):
(WebCore::V8TestNamedConstructor::toActiveDOMObject):
(WebCore::V8TestNamedConstructor::wrapSlow):
(WebCore::V8TestNamedConstructor::derefObject):
* bindings/scripts/test/V8/V8TestNamedConstructor.h: Ditto.
(WebCore::V8TestNamedConstructor::toNative):
(WebCore::V8TestNamedConstructor::existingWrapper):
(WebCore::V8TestNamedConstructor::wrap):
(WebCore::toV8):
* page/DOMWindow.idl: Added [CustomConstructor] IDL to HTMLAudioElement, HTMLImageElement and HTMLOptionElement.
2011-11-08 Philip Rogers <pdr@google.com>
fix REGRESSION: SVG feColorMatrix causes crash
https://bugs.webkit.org/show_bug.cgi?id=71287
Reviewed by Simon Fraser.
Test: svg/filters/feColorMatrix-invalid-animation.svg
* svg/SVGAnimatedNumberList.cpp:
(WebCore::SVGAnimatedNumberListAnimator::calculateAnimatedValue):
2011-11-08 Scott Graham <scottmg@chromium.org>
Add support for arrays of numbers to IDL bindings code generator
https://bugs.webkit.org/show_bug.cgi?id=71763
Adds support for float[] and double[] to IDL. Support for other types
appears to be more complicated (or at least more copy-paste) so not
doing that for now for lack of need.
Reviewed by Adam Barth.
Tests added to TestObj.idl.
* bindings/scripts/CodeGeneratorV8.pm:
(IsRefPtrType):
(GetNativeType):
(JSValueToNative):
(NativeToJSValue):
* bindings/scripts/test/TestObj.idl:
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::TestObjInternal::floatArrayAttrGetter):
(WebCore::TestObjInternal::floatArrayAttrSetter):
(WebCore::TestObjInternal::doubleArrayAttrGetter):
(WebCore::TestObjInternal::doubleArrayAttrSetter):
* bindings/v8/V8Binding.h:
(WebCore::v8NumberArray):
(WebCore::v8NumberArrayToVector):
2011-11-08 Dan Bernstein <mitz@apple.com>
REGRESSION (r99613): Incomplete painting of the root element background in flipped blocks writing mode
https://bugs.webkit.org/show_bug.cgi?id=71863
Reviewed by Anders Carlsson.
* rendering/RenderBox.cpp:
(WebCore::RenderBox::paintRootBoxFillLayers): Instead of unconditionally flipping the background
rect here...
* rendering/RenderView.cpp:
(WebCore::RenderView::backgroundRect): ...flip it only in column mode here.
* rendering/RenderView.h:
2011-11-08 Michael Saboff <msaboff@apple.com>
Towards 8 Bit Strings: Templatize JSC::Parser class by Lexer type
https://bugs.webkit.org/show_bug.cgi?id=71761
Cleaned up SourceCode data() to return StringImpl* and eliminated
the recently added stringData() virtual method.
No tests added - refactored base class SourceCode and its subclasses.
* bindings/js/CachedScriptSourceProvider.h:
(WebCore::CachedScriptSourceProvider::data):
* bindings/js/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::dispatchDidParseSource):
(WebCore::ScriptDebugServer::dispatchFailedToParseSource):
* bindings/js/StringSourceProvider.h:
(WebCore::StringSourceProvider::data):
2011-11-08 Xiaomei Ji <xji@chromium.org>
REGRESSION: rtl horizontal scrollbar / resize bug - Body shifts on resize when scrolled all the way to the left
https://bugs.webkit.org/show_bug.cgi?id=70395
Reviewed by Tony Chang.
Change the condition to perform immediate scolling inside ScrollView::updateScrollbars()
to be correct for RTL page as well, which is checking either the scroll position change or
the m_scrollOrigin changes (such as in window resize in which scroll position might remain the same).
And remove condition checking inside ScrollableArea::scrollToOffsetWithoutAnimation() since
the pass-in offset is adjusted within the current scroll range, it could be the same as
m_currentPos when m_currentPos is (0, 0) and current scroll range is smaller than old
scroll range, but scolling is still needed when page resize and scroll range changes.
Test: fast/dom/rtl-scroll-to-leftmost-and-resize.html
* platform/ScrollAnimator.cpp:
(WebCore::ScrollAnimator::scrollToOffsetWithoutAnimation): Remove condition checking.
* platform/ScrollView.cpp:
(WebCore::ScrollView::updateScrollbars): Change condition to perform immediate scrolling to be
correct for RTL pages as well.
* platform/ScrollableArea.cpp: Update m_scrollOriginChanged.
(WebCore::ScrollableArea::ScrollableArea):
(WebCore::ScrollableArea::setScrollOrigin):
(WebCore::ScrollableArea::setScrollOriginX):
(WebCore::ScrollableArea::setScrollOriginY):
* platform/ScrollableArea.h: Add m_scrollOriginChanged.
(WebCore::ScrollableArea::scrollOriginChanged):
(WebCore::ScrollableArea::resetScrollOriginChanged):
2011-11-08 Dan Bernstein <mitz@apple.com>
<rdar://problem/10262225> Allow RenderView to have columns
https://bugs.webkit.org/show_bug.cgi?id=71840
Reviewed by Simon Fraser.
Tests: fast/multicol/pagination-h-horizontal-bt.html
fast/multicol/pagination-h-horizontal-tb.html
fast/multicol/pagination-h-vertical-lr.html
fast/multicol/pagination-h-vertical-rl.html
fast/multicol/pagination-v-horizontal-bt.html
fast/multicol/pagination-v-horizontal-tb.html
fast/multicol/pagination-v-vertical-lr.html
fast/multicol/pagination-v-vertical-rl.html
* WebCore.exp.in: Export Page::setPagination() for WebCoreTestSupport.
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::styleForDocument): Set the column axis and the column gap in the
document style if the view is paginated.
* page/Page.cpp:
(WebCore::Page::setPagination): Added this setter.
* page/Page.h:
(WebCore::Page::Pagination::Pagination):
(WebCore::Page::pagination): Added this getter.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::requiresColumns): Added and moved some logic to here from...
(WebCore::RenderBlock::setDesiredColumnCountAndWidth): ...here.
* rendering/RenderBlock.h:
* rendering/RenderBox.cpp:
(WebCore::RenderBox::paintRootBoxFillLayers): Changed to use the new RenderView::backgroundRect()
instead of unscaledDocumentRect().
* rendering/RenderView.cpp:
(WebCore::RenderView::requiresColumns): Added this override that always returns true if the view
is paginated.
(WebCore::RenderView::backgroundRect): Added. In the paginated case, returns a rectangle stretching
across all columns.
* rendering/RenderView.h:
* testing/Internals.cpp:
(WebCore::Internals::reset): Also reset pagination.
(WebCore::Internals::setPagination): Added this setter for testing.
* testing/Internals.h:
* testing/Internals.idl:
2011-11-08 Vineet Chaudhary <vineet.chaudhary@motorola.com>
Document.importNode's 'deep' argument should default to true.
https://bugs.webkit.org/show_bug.cgi?id=71190
Reviewed by Adam Barth.
As new specification says deep argument of importNode should be default to true.
Test: fast/dom/document-importNode-arguments.html
* dom/Document.h: Added supportive method.
(WebCore::Document::importNode):
* dom/Document.idl: Modified deep argument as optional.
2011-11-08 Adam Klein <adamk@chromium.org>
WebKitMutationObserver.observe should raise a DOMException if passed invalid arguments
https://bugs.webkit.org/show_bug.cgi?id=71596
Reviewed by Ryosuke Niwa.
Adds two cases where WebKitMutationObserver.observe throws an exception:
- When passed a null Node*.
- When passed options that don't make sense, e.g.,
'attributeOldValue' but not 'attributes'.
* bindings/js/JSWebKitMutationObserverCustom.cpp:
(WebCore::JSWebKitMutationObserver::observe):
* bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:
(WebCore::V8WebKitMutationObserver::observeCallback):
* dom/WebKitMutationObserver.cpp:
(WebCore::WebKitMutationObserver::validateOptions):
(WebCore::WebKitMutationObserver::observe):
* dom/WebKitMutationObserver.h:
* dom/WebKitMutationObserver.idl:
2011-11-08 Joshua Bell <jsbell@chromium.org>
IndexedDB: implement compound (array) key support
https://bugs.webkit.org/show_bug.cgi?id=62284
Reviewed by Tony Chang.
Add support for Array values as IDBKeys. (Multirow indexes are still
not yet supported.)
Tests: storage/indexeddb/cursor-key-order.html
storage/indexeddb/key-type-array.html
* bindings/js/JSIDBKeyCustom.cpp:
(WebCore::toJS):
* bindings/v8/IDBBindingUtilities.cpp:
(WebCore::createIDBKeyFromValue):
* bindings/v8/custom/V8IDBKeyCustom.cpp:
(WebCore::toV8):
* storage/IDBKey.cpp:
(WebCore::IDBKey::compare):
* storage/IDBKey.h:
(WebCore::IDBKey::createArray):
(WebCore::IDBKey::valid):
(WebCore::IDBKey::array):
(WebCore::IDBKey::compareTypes):
* storage/IDBLevelDBCoding.cpp:
(WebCore::IDBLevelDBCoding::compareEncodedStringsWithLength):
(WebCore::IDBLevelDBCoding::encodeIDBKey):
(WebCore::IDBLevelDBCoding::decodeIDBKey):
(WebCore::IDBLevelDBCoding::extractEncodedIDBKey):
(WebCore::IDBLevelDBCoding::keyTypeByteToKeyType):
(WebCore::IDBLevelDBCoding::compareEncodedIDBKeys):
* storage/IDBLevelDBCoding.h:
2011-11-08 Daniel Bates <dbates@webkit.org>
Remove get() defined in CredentialStorageQt.cpp
https://bugs.webkit.org/show_bug.cgi?id=71829
Reviewed by Andreas Kling.
CredentialStorage::get() is implemented in CredentialStorage.cpp. And CredentialStorage.cpp
provides the base implementation for each platform. We shouldn't re-define
CredentialStorage::get() in CredentialStorageQt.cpp.
* Target.pri: Add files CredentialStorage.{cpp, h}.
* platform/network/qt/CredentialStorageQt.cpp:
2011-11-08 Joshua Bell <jsbell@chromium.org>
IndexedDB: reference cycle between IDBDatabase and IDBTransaction
https://bugs.webkit.org/show_bug.cgi?id=71749
Reviewed by Tony Chang.
Break a cyclic reference leak following a setVersion call.
* storage/IDBDatabase.cpp:
(WebCore::IDBDatabase::setVersionChangeTransaction):
(WebCore::IDBDatabase::clearVersionChangeTransaction):
(WebCore::IDBDatabase::createObjectStore):
(WebCore::IDBDatabase::deleteObjectStore):
* storage/IDBDatabase.h:
* storage/IDBRequest.cpp:
(WebCore::IDBRequest::onSuccess):
* storage/IDBTransaction.cpp:
(WebCore::IDBTransaction::create):
(WebCore::IDBTransaction::onAbort):
(WebCore::IDBTransaction::onComplete):
2011-11-08 Daniel Bates <dbates@webkit.org>
Remove get() defined in CredentialStorageSoup.cpp
https://bugs.webkit.org/show_bug.cgi?id=71825
Reviewed by Martin Robinson.
CredentialStorage::get() is implemented in CredentialStorage.cpp. And CredentialStorage.cpp
provides the base implementation for each platform. We shouldn't re-define
CredentialStorage::get() in CredentialStorageSoup.cpp.
* GNUmakefile.list.am: Add source file CredentialStorage.cpp.
* platform/network/soup/CredentialStorageSoup.cpp: Remove re-definition of CredentialStorage::get().
CredentialStorage::get() is defined in CredentialStorage.cpp.
2011-11-08 Roland Steiner <rolandsteiner@chromium.org>
Rename CSS document() -> findDocument(), to indicate tree climbing
https://bugs.webkit.org/show_bug.cgi?id=71764
Renamed document() to findDocument(), styleSheetOwnerNode() to findStyleSheetOwnerNode().
Reviewed by Darin Adler.
No new tests. (simple refactoring)
* css/CSSGrammar.y:
* css/CSSImportRule.cpp:
(WebCore::CSSImportRule::setCSSStyleSheet):
(WebCore::CSSImportRule::requestStyleSheet):
* css/CSSMutableStyleDeclaration.cpp:
(WebCore::CSSMutableStyleDeclaration::setNeedsStyleRecalc):
* css/CSSParser.cpp:
(WebCore::parseColorValue):
(WebCore::parseSimpleLengthValue):
(WebCore::CSSParser::setStyleSheet):
(WebCore::CSSParser::findDocument):
(WebCore::CSSParser::parseAttr):
* css/CSSParser.h:
* css/CSSStyleRule.cpp:
(WebCore::CSSStyleRule::setSelectorText):
* css/CSSStyleSheet.cpp:
(WebCore::CSSStyleSheet::cssRules):
(WebCore::CSSStyleSheet::findStyleSheetOwnerNode):
(WebCore::CSSStyleSheet::findDocument):
(WebCore::CSSStyleSheet::styleSheetChanged):
* css/CSSStyleSheet.h:
* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::bindStyleSheet):
* inspector/InspectorStyleSheet.cpp:
(WebCore::InspectorStyleSheet::ownerDocument):
* page/PageSerializer.cpp:
(WebCore::PageSerializer::serializeCSSStyleSheet):
(WebCore::PageSerializer::retrieveResourcesForCSSDeclaration):
2011-11-07 Ryosuke Niwa <rniwa@webkit.org>
Indent command can insert block quote in non editable content
https://bugs.webkit.org/show_bug.cgi?id=71754
Reviewed by Enrica Casucci.
The bug was caused by IndentOutdentCommand's incorrectly using deprecatedNode to determine the outer block,
not updating the start after inserting the targetBlockquote, and cloneParagraphUnderNewElement's cloning
outerNode even if it was body. Fixed those bugs.
Test: editing/execCommand/indent-images.html
editing/execCommand/indent-images-2.html
editing/execCommand/indent-images-3.html
* editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::cloneParagraphUnderNewElement):
* editing/IndentOutdentCommand.cpp:
(WebCore::IndentOutdentCommand::indentIntoBlockquote):
2011-11-08 Adam Klein <adamk@chromium.org>
Only walk up the tree in search of MutationObservers if one has been added
https://bugs.webkit.org/show_bug.cgi?id=71499
Reviewed by Ojan Vafai.
Analogous to m_listenerTypes, added an m_subtreeMutationObserverTypes field
to Document that keeps track of which observer types have been added.
This allows us to avoid doing any extra work if MutationObservers are
not attached to a document.
This could be improved upon to keep a count of each type, as removing
an observer currently has no effect on m_subtreeMutationObserverTypes.
But that would require a more complex implementation: one counter per
mutation type. And it would be easier to get wrong: if the counter
gets out of sync with the actual state of the DOM, we could start
dropping mutation notifications.
Test: fast/mutation/cross-document.html
* dom/Document.h:
(WebCore::Document::hasSubtreeMutationObserverOfType):
(WebCore::Document::hasSubtreeMutationObserver):
(WebCore::Document::addSubtreeMutationObserverTypes):
* dom/MutationObserverRegistration.h:
(WebCore::MutationObserverRegistration::isSubtree):
(WebCore::MutationObserverRegistration::deliveryOptions):
(WebCore::MutationObserverRegistration::mutationTypes):
* dom/Node.cpp:
(WebCore::Node::didMoveToNewOwnerDocument): Update mutationObserverTypes when a Node is moved to a new document.
(WebCore::Node::getRegisteredMutationObserversOfType): Exit early if it's known that no observers of |type| are registered.
(WebCore::Node::notifyMutationObserversNodeWillDetach): Exit early if it's known no subtree observers of any type are registered.
* dom/WebKitMutationObserver.cpp:
(WebCore::WebKitMutationObserver::observe): Update mutationObserverTypes when an observation occurs.
* dom/WebKitMutationObserver.h: Add WebKitMutationObserver::AllMutationTypes to enum
2011-11-08 Andreas Kling <kling@webkit.org>
Devirtualize CSSValue.
<http://webkit.org/b/71666>
Reviewed by Antti Koivisto.
Make the CSSValue destructor non-virtual (along with all the subclasses.)
This removes the vtables, and the pointers thereto in each value instance,
shrinking each object by one CPU word (4 or 8 bytes.)
We use the same trick as CSSRule to implement destruction; providing our
own deref() instead of RefCounted's, and performing a statically typed
delete in a destroy() method called when the ref count reaches 0.
Also made all the empty subclass destructors inline.
* css/CSSAspectRatioValue.cpp:
* css/CSSAspectRatioValue.h:
(WebCore::CSSAspectRatioValue::~CSSAspectRatioValue):
* css/CSSBorderImageSliceValue.cpp:
* css/CSSBorderImageSliceValue.h:
(WebCore::CSSBorderImageSliceValue::~CSSBorderImageSliceValue):
* css/CSSBorderImageValue.cpp:
* css/CSSBorderImageValue.h:
(WebCore::CSSBorderImageValue::~CSSBorderImageValue):
* css/CSSCanvasValue.h:
* css/CSSCrossfadeValue.cpp:
* css/CSSCrossfadeValue.h:
(WebCore::CSSCrossfadeValue::~CSSCrossfadeValue):
* css/CSSCursorImageValue.h:
* css/CSSFlexValue.cpp:
* css/CSSFlexValue.h:
(WebCore::CSSFlexValue::~CSSFlexValue):
* css/CSSFontFaceSrcValue.cpp:
* css/CSSFontFaceSrcValue.h:
(WebCore::CSSFontFaceSrcValue::~CSSFontFaceSrcValue):
* css/CSSFunctionValue.cpp:
* css/CSSFunctionValue.h:
(WebCore::CSSFunctionValue::~CSSFunctionValue):
* css/CSSImageGeneratorValue.h:
* css/CSSImageValue.h:
* css/CSSMutableValue.h:
(WebCore::CSSMutableValue::~CSSMutableValue):
* css/CSSParserValues.h:
* css/CSSPrimitiveValue.h:
* css/CSSUnicodeRangeValue.cpp:
* css/CSSUnicodeRangeValue.h:
(WebCore::CSSUnicodeRangeValue::~CSSUnicodeRangeValue):
* css/CSSValue.cpp:
(WebCore::CSSValue::destroy):
* css/CSSValue.h:
(WebCore::CSSValue::deref):
(WebCore::CSSValue::~CSSValue):
* css/CSSValueList.cpp:
* css/CSSValueList.h:
(WebCore::CSSValueList::~CSSValueList):
* css/WebKitCSSFilterValue.cpp:
* css/WebKitCSSFilterValue.h:
(WebCore::WebKitCSSFilterValue::~WebKitCSSFilterValue):
* css/WebKitCSSTransformValue.cpp:
* css/WebKitCSSTransformValue.h:
(WebCore::WebKitCSSTransformValue::~WebKitCSSTransformValue):
2011-11-08 Darin Adler <darin@apple.com>
Speculative fix for crashes seen in DocumentWriter::deprecatedFrameEncoding
https://bugs.webkit.org/show_bug.cgi?id=71828
Reviewed by Nate Chapin.
No new tests; not sure how to reproduce this, but crash traces indicate it
is an otherwise-harmless null dereference.
* loader/DocumentWriter.cpp:
(WebCore::DocumentWriter::deprecatedFrameEncoding):
Handle null document the same as a document without a URL.
2011-11-08 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r95720.
http://trac.webkit.org/changeset/95720
https://bugs.webkit.org/show_bug.cgi?id=71831
This has made the menulists on WebKit patch reviews much less
usable (Requested by mrobinson on #webkit).
* platform/gtk/GtkPopupMenu.cpp:
(WebCore::GtkPopupMenu::menuPositionFunction):
2011-11-08 Nico Weber <thakis@chromium.org>
[chromium] Remove 6 exit time destructors and 6 static initializers
https://bugs.webkit.org/show_bug.cgi?id=71760
Reviewed by Nate Chapin.
Do this by moving global statics into function-local statics, and using
DEFINE_LOCAL_STATIC to leak them. Since this code is accessed on a single
thread, this is a safe change to make.
No behavior change, so no new tests.
* bindings/v8/ScriptGCEvent.cpp:
(WebCore::sEventListeners):
(WebCore::ScriptGCEvent::addEventListener):
(WebCore::ScriptGCEvent::removeEventListener):
(WebCore::ScriptGCEvent::gcEpilogueCallback):
* bindings/v8/ScriptGCEvent.h:
* bindings/v8/V8NPObject.cpp:
(WebCore::staticTemplateMap):
(WebCore::weakTemplateCallback):
(WebCore::npObjectGetProperty):
(WebCore::staticNPObjectMap):
(WebCore::weakNPObjectCallback):
(WebCore::createV8ObjectForNPObject):
(WebCore::forgetV8ObjectForNPObject):
* bindings/v8/V8Proxy.cpp:
(WebCore::staticExtensionsList):
(WebCore::V8Proxy::registeredExtensionWithV8):
(WebCore::V8Proxy::registerExtension):
(WebCore::V8Proxy::extensions):
* bindings/v8/V8Proxy.h:
* bindings/v8/npruntime.cpp:
* plugins/chromium/PluginDataChromium.cpp:
(WebCore::pluginCache):
(WebCore::PluginData::initPlugins):
(WebCore::PluginData::refresh):
(WebCore::getPluginMimeTypeFromExtension):
2011-11-08 Hans Wennborg <hans@chromium.org>
IndexedDB: Start using the onSuccessWithContinuation() callback
https://bugs.webkit.org/show_bug.cgi?id=71565
Reviewed by Tony Chang.
This is a follow-up to r99169 where we start using this new
callback for cursors.
* storage/IDBCursorBackendImpl.cpp:
(WebCore::IDBCursorBackendImpl::continueFunctionInternal):
* storage/IDBRequest.cpp:
(WebCore::IDBRequest::setCursor):
2011-11-08 Justin Schuh <jschuh@chromium.org>
Document::loader should use documentLoader(), not activeDocumentLoader()
https://bugs.webkit.org/show_bug.cgi?id=65895
Reviewed by Brady Eidson.
Test: fast/loader/stateobjects/replacestate-in-onunload.html
* dom/Document.cpp:
(WebCore::Document::loader):
2011-11-08 Andreas Kling <kling@webkit.org>
CSSImageGeneratorValue: Devirtualize image(), isFixedSize() and fixedSize().
<http://webkit.org/b/71824>
Reviewed by Darin Adler.
Redirect the calls to the appropriate subclass in CSSImageGeneratorValue.cpp.
* css/CSSCanvasValue.h:
(WebCore::CSSCanvasValue::isFixedSize):
* css/CSSCrossfadeValue.h:
(WebCore::CSSCrossfadeValue::isFixedSize):
* css/CSSGradientValue.h:
(WebCore::CSSGradientValue::isFixedSize):
(WebCore::CSSGradientValue::fixedSize):
* css/CSSImageGeneratorValue.cpp:
(WebCore::CSSImageGeneratorValue::image):
(WebCore::CSSImageGeneratorValue::isFixedSize):
(WebCore::CSSImageGeneratorValue::fixedSize):
* css/CSSImageGeneratorValue.h:
2011-11-08 Andrey Kosyakov <caseq@chromium.org>
Web Inspector: [Extension API][Chromium] injected extension API needs to return an object
https://bugs.webkit.org/show_bug.cgi?id=71822
Reviewed by Pavel Feldman.
* inspector/front-end/ExtensionAPI.js:
(buildExtensionAPIInjectedScript):
2011-11-08 Andreas Kling <kling@webkit.org>
CSSImageValue: Devirtualize cachedImage(CachedResourceLoader*).
<http://webkit.org/b/71814>
Reviewed by Antti Koivisto.
Defer to CSSCursorImageValue (the only CSSImageValue subclass)
when appropriate in CSSImageValue::cachedImage(CachedResourceLoader*).
* css/CSSCursorImageValue.h:
* css/CSSImageValue.cpp:
(WebCore::CSSImageValue::cachedImage):
* css/CSSImageValue.h:
2011-11-08 Andrey Kosyakov <caseq@chromium.org>
Web Inspector: add "Evaluate in console" as a shortcut and context menu items to scripts panel
https://bugs.webkit.org/show_bug.cgi?id=71817
Reviewed by Pavel Feldman.
* English.lproj/localizedStrings.js:
* inspector/front-end/ConsoleView.js:
(WebInspector.ConsoleView.prototype.evaluate):
(WebInspector.ConsoleView.prototype._enterKeyPressed):
* inspector/front-end/JavaScriptSourceFrame.js:
(WebInspector.JavaScriptSourceFrame.prototype.populateTextAreaContextMenu):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype._evaluateSelectionInConsole):
* inspector/front-end/ShortcutsScreen.js:
(WebInspector.ShortcutsSection.prototype.addRelatedKeys):
(WebInspector.ShortcutsSection.prototype.addAlternateKeys):
* inspector/front-end/externs.js:
(WebInspector.evaluateInConsole):
* inspector/front-end/inspector.js:
(WebInspector.evaluateInConsole):
2011-11-08 Andreas Kling <kling@webkit.org>
CSSValue: Devirtualize cssText().
<http://webkit.org/b/71813>
Reviewed by Antti Koivisto.
Rename all subclass implementations to customCssText() and add
a CSSValue::cssText() that defers to the appropriate subclass
based on the type info.
The rename is both for clarity, and to ensure that calling
cssText() will always end up in the correct method.
* css/CSSAspectRatioValue.cpp:
(WebCore::CSSAspectRatioValue::customCssText):
* css/CSSAspectRatioValue.h:
* css/CSSBorderImageSliceValue.cpp:
(WebCore::CSSBorderImageSliceValue::customCssText):
* css/CSSBorderImageSliceValue.h:
* css/CSSBorderImageValue.cpp:
(WebCore::CSSBorderImageValue::customCssText):
* css/CSSBorderImageValue.h:
* css/CSSCanvasValue.cpp:
(WebCore::CSSCanvasValue::customCssText):
* css/CSSCanvasValue.h:
* css/CSSCrossfadeValue.cpp:
(WebCore::CSSCrossfadeValue::customCssText):
* css/CSSCrossfadeValue.h:
* css/CSSFlexValue.cpp:
(WebCore::CSSFlexValue::customCssText):
* css/CSSFlexValue.h:
* css/CSSFontFaceSrcValue.cpp:
(WebCore::CSSFontFaceSrcValue::customCssText):
* css/CSSFontFaceSrcValue.h:
* css/CSSFunctionValue.cpp:
(WebCore::CSSFunctionValue::customCssText):
* css/CSSFunctionValue.h:
* css/CSSGradientValue.cpp:
(WebCore::CSSLinearGradientValue::customCssText):
(WebCore::CSSRadialGradientValue::customCssText):
* css/CSSGradientValue.h:
* css/CSSInheritedValue.cpp:
(WebCore::CSSInheritedValue::customCssText):
* css/CSSInheritedValue.h:
* css/CSSInitialValue.cpp:
(WebCore::CSSInitialValue::customCssText):
* css/CSSInitialValue.h:
* css/CSSLineBoxContainValue.cpp:
(WebCore::CSSLineBoxContainValue::customCssText):
* css/CSSLineBoxContainValue.h:
* css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::customCssText):
* css/CSSPrimitiveValue.h:
* css/CSSReflectValue.cpp:
(WebCore::CSSReflectValue::customCssText):
* css/CSSReflectValue.h:
* css/CSSTimingFunctionValue.cpp:
(WebCore::CSSLinearTimingFunctionValue::customCssText):
(WebCore::CSSCubicBezierTimingFunctionValue::customCssText):
(WebCore::CSSStepsTimingFunctionValue::customCssText):
* css/CSSTimingFunctionValue.h:
(WebCore::CSSLinearTimingFunctionValue::CSSLinearTimingFunctionValue):
* css/CSSUnicodeRangeValue.cpp:
(WebCore::CSSUnicodeRangeValue::customCssText):
* css/CSSUnicodeRangeValue.h:
* css/CSSValue.cpp:
(WebCore::CSSValue::cssText):
* css/CSSValue.h:
* css/CSSValueList.cpp:
(WebCore::CSSValueList::customCssText):
* css/CSSValueList.h:
* css/FontFamilyValue.cpp:
(WebCore::FontFamilyValue::customCssText):
* css/FontFamilyValue.h:
* css/FontFeatureValue.cpp:
(WebCore::FontFeatureValue::customCssText):
* css/FontFeatureValue.h:
* css/FontValue.cpp:
(WebCore::FontValue::customCssText):
* css/FontValue.h:
* css/ShadowValue.cpp:
(WebCore::ShadowValue::customCssText):
* css/ShadowValue.h:
* css/WebKitCSSFilterValue.cpp:
(WebCore::WebKitCSSFilterValue::customCssText):
* css/WebKitCSSFilterValue.h:
* css/WebKitCSSTransformValue.cpp:
(WebCore::WebKitCSSTransformValue::customCssText):
* css/WebKitCSSTransformValue.h:
* svg/SVGColor.cpp:
(WebCore::SVGColor::customCssText):
* svg/SVGColor.h:
* svg/SVGPaint.cpp:
(WebCore::SVGPaint::customCssText):
* svg/SVGPaint.h:
2011-11-08 Gavin Peters <gavinp@chromium.org>
Fix width of m_type in CachedResource
https://bugs.webkit.org/show_bug.cgi?id=71727
Reviewed by Nate Chapin.
Test: fast/dom/HTMLLinkElement/cachedresource-types.html
* loader/cache/CachedResource.cpp:
(WebCore::CachedResource::CachedResource):
* loader/cache/CachedResource.h:
2011-11-08 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
[Qt] Don't set OBJECTS_DIR and DEFINES in default_pre
If a pro file needs to access the OBJECTS_DIR it should use the
form ${QMAKE_VAR_OBJECTS_DIR} to ensure the value is evaluated
after defaults_post has been processed.
Setting DEFINES in defaults_pre is also bad, as any DEFINES=foo on
the command line will override whatever we set in defaults_pre.
Reviewed by Simon Hausmann.
* Target.pri:
2011-11-08 Pavel Feldman <pfeldman@google.com>
Web Inspector: add JavaScript keywords to the autocomplete.
https://bugs.webkit.org/show_bug.cgi?id=71782
Reviewed by Yury Semikhatsky.
* inspector/front-end/ConsoleView.js:
(WebInspector.ConsoleView.prototype._completions.receivedPropertyNames):
(WebInspector.ConsoleView.prototype._completions):
(WebInspector.ConsoleView.prototype._reportCompletions):
2011-11-08 Nikolas Zimmermann <nzimmermann@rim.com>
Introduce SVGLengthContext, to allow to resolve relative units to arbitary viewports
https://bugs.webkit.org/show_bug.cgi?id=71780
Reviewed by Zoltan Herczeg.
Introduce SVGLengthContext to cleanup SVGLength, by moving all conversion of relative units that depend on style or viewport
out of SVGLength, into SVGLengthContext. Pass SVGLengthContext& to SVGLength::value/setValue/... functions instead of a pure
"const SVGElement* context", which was previously used to determine the viewport when resolving percentage units.
SVGLengthContext carries an additional FloatRect of the custom viewport, to which percentages are resolved, if specified.
This allows us to kill several duplicates of the same code, which handles objectBoundingBox mode for gradients/patterns/masks/etc..
A follow-up patch will convert filters to use the new SVGLengthContext::resolveRectangle code as well.
This is a preparation for bug 10430, to fix feImage + objectBoundingBox support when rendering referenced elements, instead of files.
Doesn't affect any tests yet.
* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* rendering/svg/RenderSVGResourceGradient.cpp:
(WebCore::RenderSVGResourceGradient::applyResource):
* rendering/svg/RenderSVGResourceGradient.h:
* rendering/svg/RenderSVGResourceLinearGradient.h:
(WebCore::RenderSVGResourceLinearGradient::gradientUnits):
* rendering/svg/RenderSVGResourcePattern.cpp:
(WebCore::RenderSVGResourcePattern::applyResource):
(WebCore::calculatePatternBoundaries):
(WebCore::RenderSVGResourcePattern::buildTileImageTransform):
(WebCore::RenderSVGResourcePattern::createTileImage):
* rendering/svg/RenderSVGResourceRadialGradient.h:
(WebCore::RenderSVGResourceRadialGradient::gradientUnits):
* rendering/svg/SVGRenderTreeAsText.cpp:
(WebCore::writeCommonGradientProperties):
(WebCore::writeSVGResourceContainer):
* svg/GradientAttributes.h:
(WebCore::GradientAttributes::GradientAttributes):
(WebCore::GradientAttributes::gradientUnits):
(WebCore::GradientAttributes::setGradientUnits):
(WebCore::GradientAttributes::hasGradientUnits):
* svg/PatternAttributes.h:
(WebCore::PatternAttributes::PatternAttributes):
(WebCore::PatternAttributes::patternUnits):
(WebCore::PatternAttributes::patternContentUnits):
(WebCore::PatternAttributes::setPatternUnits):
(WebCore::PatternAttributes::setPatternContentUnits):
(WebCore::PatternAttributes::hasPatternUnits):
(WebCore::PatternAttributes::hasPatternContentUnits):
* svg/SVGAllInOne.cpp:
* svg/SVGElement.h:
(WebCore::SVGElement::operator SVGLengthContext):
* svg/SVGFilterElement.cpp:
(WebCore::SVGFilterElement::filterBoundingBox):
* svg/SVGLength.cpp:
(WebCore::SVGLength::SVGLength):
(WebCore::SVGLength::unitMode):
(WebCore::SVGLength::value):
(WebCore::SVGLength::setValue):
(WebCore::SVGLength::convertToSpecifiedUnits):
* svg/SVGLength.h:
(WebCore::SVGLength::blend):
* svg/SVGLengthContext.cpp: Added.
(WebCore::SVGLengthContext::SVGLengthContext):
(WebCore::SVGLengthContext::resolveRectangle):
(WebCore::SVGLengthContext::resolvePoint):
(WebCore::SVGLengthContext::resolveLength):
(WebCore::SVGLengthContext::convertValueToUserUnits):
(WebCore::SVGLengthContext::convertValueFromUserUnits):
(WebCore::SVGLengthContext::convertValueFromUserUnitsToPercentage):
(WebCore::SVGLengthContext::convertValueFromPercentageToUserUnits):
(WebCore::SVGLengthContext::convertValueFromUserUnitsToEMS):
(WebCore::SVGLengthContext::convertValueFromEMSToUserUnits):
(WebCore::SVGLengthContext::convertValueFromUserUnitsToEXS):
(WebCore::SVGLengthContext::convertValueFromEXSToUserUnits):
(WebCore::SVGLengthContext::determineViewport):
* svg/SVGLengthContext.h: Added.
(WebCore::SVGLengthContext::resolveRectangle):
* svg/SVGLinearGradientElement.cpp:
(WebCore::SVGLinearGradientElement::collectGradientAttributes):
(WebCore::SVGLinearGradientElement::calculateStartEndPoints):
* svg/SVGMaskElement.cpp:
(WebCore::SVGMaskElement::maskBoundingBox):
* svg/SVGPatternElement.cpp:
(WebCore::SVGPatternElement::collectPatternAttributes):
* svg/SVGRadialGradientElement.cpp:
(WebCore::SVGRadialGradientElement::collectGradientAttributes):
(WebCore::SVGRadialGradientElement::calculateFocalCenterPointsAndRadius):
2011-11-08 Andreas Kling <kling@webkit.org>
CSSValue: Devirtualize addSubresourceStyleURLs().
<http://webkit.org/b/71805>
Reviewed by Antti Koivisto.
Make addSubresourceStyleURLs() non-virtual and call the appropriate
subclass implementation based on the subclass type info.
* css/CSSBorderImageValue.h:
* css/CSSFontFaceSrcValue.h:
* css/CSSPrimitiveValue.h:
* css/CSSReflectValue.h:
* css/CSSValue.cpp:
(WebCore::CSSValue::addSubresourceStyleURLs):
* css/CSSValue.h:
(WebCore::CSSValue::addSubresourceStyleURLs):
* css/CSSValueList.h:
2011-11-08 Andrey Kosyakov <caseq@chromium.org>
Web Inspector: do not show object popover when selection is active
https://bugs.webkit.org/show_bug.cgi?id=71804
Reviewed by Yury Semikhatsky.
* inspector/front-end/JavaScriptSourceFrame.js:
(WebInspector.JavaScriptSourceFrame.prototype._shouldShowPopover):
2011-11-08 Alexander Pavlov <apavlov@chromium.org>
Web Inspector: Do not hide SuggestBox if typed-in string in the middle of input equals one of suggestions
https://bugs.webkit.org/show_bug.cgi?id=71797
Reviewed by Yury Semikhatsky.
* inspector/front-end/TextPrompt.js:
(WebInspector.TextPrompt.prototype.onKeyDown):
(WebInspector.TextPrompt.prototype.complete):
2011-11-08 Andreas Kling <kling@webkit.org>
CSSGradientValue: Devirtualize createGradient().
<http://webkit.org/b/71800>
Reviewed by Antti Koivisto.
Make createGradient() non-virtual and call the appropriate subclass
implementation in image() based on is{Linear,Radial}Gradient().
* css/CSSGradientValue.cpp:
(WebCore::CSSGradientValue::image):
* css/CSSGradientValue.h:
2011-11-08 Andreas Kling <kling@webkit.org>
CSSCanvasValue: Remove inheritance from CanvasObserver.
<http://webkit.org/b/71796>
Reviewed by Antti Koivisto.
To completely devirtualize all the CSSValues, we need to remove
CSSCanvasValue's inheritance from CanvasObserver, as that is forcing
a vptr into the class.
Use the same approach as CSSImportRule and make a simple proxying
CanvasObserver subclass and put that as a member variable of the value.
* css/CSSCanvasValue.cpp:
(WebCore::CSSCanvasValue::~CSSCanvasValue):
(WebCore::CSSCanvasValue::element):
* css/CSSCanvasValue.h:
(WebCore::CSSCanvasValue::CSSCanvasValue):
(WebCore::CSSCanvasValue::CanvasObserverProxy::CanvasObserverProxy):
(WebCore::CSSCanvasValue::CanvasObserverProxy::~CanvasObserverProxy):
(WebCore::CSSCanvasValue::CanvasObserverProxy::canvasChanged):
(WebCore::CSSCanvasValue::CanvasObserverProxy::canvasResized):
(WebCore::CSSCanvasValue::CanvasObserverProxy::canvasDestroyed):
2011-11-08 Yury Semikhatsky <yurys@chromium.org>
Web Inspector: display notification in the front-end when inspected worker terminates
https://bugs.webkit.org/show_bug.cgi?id=71770
When inspected worker terminates we will show a notification similar to the help
screen. The notification disappears when the worker restarts or the user closes it
manually.
Reviewed by Pavel Feldman.
* English.lproj/localizedStrings.js:
* inspector/front-end/ScriptsPanel.js:
* inspector/front-end/WorkerManager.js:
(WebInspector.WorkerManager.loaded):
(WebInspector.WorkerManager.showWorkerTerminatedScreen):
(WebInspector.WorkerTerminatedScreen):
* inspector/front-end/inspector.js:
(WebInspector.disconnectFromBackend):
(WebInspector.frontendReused):
2011-11-08 Nikolas Zimmermann <nzimmermann@rim.com>
Fold ImageBySizeCache again into CSSImageGeneratorValue
https://bugs.webkit.org/show_bug.cgi?id=71785
Reviewed by Zoltan Herczeg.
Remove ImageBySizeCache, and fold it into CSSImageGeneratorValue, as it used to be.
CachedImage has switched to SVGImageCache and no longer needs it.
* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* css/CSSImageGeneratorValue.cpp:
(WebCore::CSSImageGeneratorValue::addClient):
(WebCore::CSSImageGeneratorValue::removeClient):
(WebCore::CSSImageGeneratorValue::getImage):
(WebCore::CSSImageGeneratorValue::putImage):
* css/CSSImageGeneratorValue.h:
(WebCore::SizeAndCount::SizeAndCount):
(WebCore::CSSImageGeneratorValue::clients):
* rendering/ImageBySizeCache.cpp: Removed.
* rendering/ImageBySizeCache.h: Removed.
2011-11-08 Alexander Pavlov <apavlov@chromium.org>
Web Inspector: Avoid automatic Console suggestions with empty expression
https://bugs.webkit.org/show_bug.cgi?id=71783
Reviewed by Yury Semikhatsky.
* inspector/front-end/ConsoleView.js:
2011-11-08 Nikolas Zimmermann <nzimmermann@rim.com>
Not reviewed. Fix build, by removing an unused variable.
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::isOriginClean):
(WebCore::CanvasRenderingContext2D::createPattern):
2011-11-08 Nikolas Zimmermann <nzimmermann@rim.com>
Switch SVGImage cache to store ImageBuffers instead of whole SVGImages, including a DOM/Render tree
https://bugs.webkit.org/show_bug.cgi?id=71368
Reviewed by Zoltan Herczeg.
When determining whether the canvas would be tainted, we need access to the SVGImage, not its cached BitmapImage.
Otherwhise wrong assumptions are mode, leading to regressions.
Fixes http/tests/security/canvas-remote-read-svg-image.html and related tests on the bots.
* html/canvas/CanvasRenderingContext.cpp:
(WebCore::CanvasRenderingContext::wouldTaintOrigin): Forgot to switch them back to use cachedImage->image().
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::isOriginClean): Ditto.
2011-11-08 Vsevolod Vlasov <vsevik@chromium.org>
Web Inspector: Console should be scrolled to bottom when shown for the first time.
https://bugs.webkit.org/show_bug.cgi?id=71781
Reviewed by Pavel Feldman.
* inspector/front-end/ConsoleView.js:
2011-11-08 Nikolas Zimmermann <nzimmermann@rim.com>
Switch SVGImage cache to store ImageBuffers instead of whole SVGImages, including a DOM/Render tree
https://bugs.webkit.org/show_bug.cgi?id=71368
Reviewed by Antti Koivisto.
Fix regressions/races introduced by r98852. SVGImage repainting didn't work under certain circumstances.
The problem was hard to reproduce on Mac ports, but easily visible on Chromium, when opening two files
that shared the same animated SVG image. The problem of sharing a single ImageObserver across multiple
instances of the same SVGImage, leads to nasty problems, that are timing dependant. changedInRect() calls
that should only by received in one document, are received in the other as well, due the shared nature
of CachedImage. To avoid these problems alltogether, a new approach is needed, that was initially suggested
by Antti.
Avoid creating multiple SVGImages and caching them for different sizes/zoom levels. Introduce SVGImageCache
which holds rendered versions of the SVGImage at certain sizes/zoom levels. It holds (ImageBuffer, Image) pairs
for each renderer, associated with a size and zoom level.
This is a major change to the cache as introduced some weeks ago. Instead of holding multiple SVGImages, each containing
a whole DOM/render tree, we now create bitmap images rendered at the requested sizes/zoom levels and cache them.
Revert ImageBySizeCache changes that were needed to make it usable wih SVGImage. Its now used only in CSSImageGeneratorValue and
thus the extra information that CSSImageGeneratorValue doesn't need can be removed again (desired/actual size differentations, and the zoom level).
Tests: svg/as-image/animated-svg-as-image-no-fixed-intrinsic-size.html
svg/as-image/animated-svg-as-image-same-image.html
* CMakeLists.txt: Add svg/graphics/SVGImageCache.* to build.
* GNUmakefile.list.am: Ditto.
* Target.pri: Ditto.
* WebCore.gypi: Ditto.
* WebCore.vcproj/WebCore.vcproj: Ditto.
* WebCore.vcproj/copyForwardingHeaders.cmd: Copy headers from svg/graphics, as SVGImageCache is needed by CachedImage in SVG enabled builds.
* WebCore.xcodeproj/project.pbxproj: Add svg/graphics/SVGImageCache.* to build.
* css/CSSImageGeneratorValue.cpp: Remove zoom parameter from addClient/getImage, no need to pass 1 default values anymore.
(WebCore::CSSImageGeneratorValue::addClient):
(WebCore::CSSImageGeneratorValue::getImage):
* loader/cache/CachedImage.cpp: Stop using ImageBySizeCache, and switch to the new SVGImageCache.
(WebCore::CachedImage::removeClientForRenderer):
(WebCore::CachedImage::lookupOrCreateImageForRenderer):
(WebCore::CachedImage::setContainerSizeForRenderer):
(WebCore::CachedImage::imageSizeForRenderer):
(WebCore::CachedImage::clear):
(WebCore::CachedImage::createImage):
(WebCore::CachedImage::destroyDecodedData):
(WebCore::CachedImage::decodedSizeChanged):
(WebCore::CachedImage::didDraw):
(WebCore::CachedImage::shouldPauseAnimation):
(WebCore::CachedImage::animationAdvanced):
(WebCore::CachedImage::changedInRect):
* loader/cache/CachedImage.h:
* page/DragController.cpp: Stop using imageForRenderer(), as it may return cached BitmapImages, that don't carry a filename extension anymore, which is required here.
(WebCore::getImage):
* rendering/ImageBySizeCache.cpp: Revert changes to ImageBySizeCache, which were needed to make it usable for SVGImages. CSSImageGenerator doesn't need it.
(WebCore::ImageBySizeCache::addClient):
(WebCore::ImageBySizeCache::removeClient):
(WebCore::ImageBySizeCache::getImage):
* rendering/ImageBySizeCache.h: Ditto.
(WebCore::SizeAndCount::SizeAndCount):
* rendering/RenderImage.cpp: Stop using imageForRenderer(), use cachedImage()->image(), which is guaranteed to be a SVGImage for svg images, and not a cached bitmap copy.
(WebCore::RenderImage::embeddedContentBox):
* rendering/RenderReplaced.cpp: Simplify logic to figure out the intrinsic size - the special logic for the old SVGImage cache can go away now.
(WebCore::RenderReplaced::computeIntrinsicLogicalWidth):
(WebCore::RenderReplaced::computeIntrinsicLogicalHeight):
* rendering/style/StyleCachedImage.cpp: Call removeClientForRenderer(), which takes care of clearing SVGImageCache entries as well.
(WebCore::StyleCachedImage::removeClient): This change is needed, as we don't want to make removeClient() virtual in CachedResource.
* rendering/svg/RenderSVGRoot.cpp: Rename isEmbeddedThroughImageElement to isEmbeddedThroughSVGImage, as this is what it actually checks.
(WebCore::RenderSVGRoot::isEmbeddedThroughSVGImage):
* rendering/svg/RenderSVGRoot.h:
* svg/SVGSVGElement.cpp: Fix bug that's visible now with the SVGImageCache, which was already there before, but hard to trigger.
(WebCore::SVGSVGElement::currentViewBoxRect): The viewBox depends on who's asking for it: the host document or the embedded document? Take that into account.
* svg/SVGSVGElement.h:
* svg/graphics/SVGImage.cpp: Cleanup some code. Add new logic that draws a SVGImage into an ImageBuffer at a desired size & zoom.
(WebCore::SVGImage::setContainerSize):
(WebCore::SVGImage::size):
(WebCore::SVGImage::drawSVGToImageBuffer):
* svg/graphics/SVGImage.h:
* svg/graphics/SVGImageCache.cpp: Added. SVGImageCache caches Image/ImageBuffer pairs for each _renderer_ and size/zoom level. The ImageBySizeCache only cared about size.
(WebCore::SVGImageCache::SVGImageCache):
(WebCore::SVGImageCache::~SVGImageCache):
(WebCore::SVGImageCache::removeRendererFromCache):
(WebCore::SVGImageCache::setRequestedSizeAndZoom):
(WebCore::SVGImageCache::getRequestedSizeAndZoom):
(WebCore::SVGImageCache::imageContentChanged):
(WebCore::SVGImageCache::redrawTimerFired):
(WebCore::SVGImageCache::lookupOrCreateBitmapImageForRenderer):
* svg/graphics/SVGImageCache.h: Added.
(WebCore::SVGImageCache::create):
(WebCore::SVGImageCache::CachedSizeAndZoom::CachedSizeAndZoom):
(WebCore::SVGImageCache::CachedImageData::CachedImageData):
2011-11-07 Yury Semikhatsky <yurys@chromium.org>
Web Inspector: refactor shortcuts and settings screens
https://bugs.webkit.org/show_bug.cgi?id=71773
Keep pointer to the visible screen and hide it automatically when new one is going
to be displayed.
Reviewed by Pavel Feldman.
* inspector/front-end/HelpScreen.js:
(WebInspector.HelpScreen.prototype.show):
(WebInspector.HelpScreen.prototype.hide):
* inspector/front-end/ShortcutsScreen.js:
(WebInspector.ShortcutsScreen): ShortcutsScreen is now a descendant of HelpScreen.
(WebInspector.ShortcutsScreen.prototype.show):
* inspector/front-end/inspector.js:
(WebInspector._hideSettingsScreen):
(WebInspector.documentKeyDown):
2011-11-08 Nikolas Zimmermann <nzimmermann@rim.com>
Not reviewed. Fix Snow Leopard 32bit builds.
* css/CSSParser.cpp:
(WebCore::CSSParser::parseAspectRatio): CSSParserValue::fValue is a double, use narrowPrecisionToFloat() to convert double->float.
* platform/ClockGeneric.cpp: Remove unneeded variable out of 32bit integer value range.
* webaudio/BiquadDSPKernel.cpp:
(WebCore::BiquadDSPKernel::getFrequencyResponse): Use narrowPrecisionTofloat() to convert double->float.
2011-11-07 Daniel Bates <dbates@rim.com>
Add CredentialStorage.cpp to WebCore/CMakeLists.txt
https://bugs.webkit.org/show_bug.cgi?id=71748
Reviewed by Martin Robinson.
Adds CredentialStorage.cpp to WebCore/CMakeLists.txt since its provides a
base implementation of this feature.
Also adds a stub implementation of CredentialStorage to the WinCE port.
* CMakeLists.txt: Added source file CredentialStorage.cpp.
* CMakeListsEfl.txt: Added source file CredentialStorageCurl.cpp when building
with the Curl networking backend.
* CMakeListsWinCE.txt: Added source file CredentialStorageWin.cpp.
* platform/network/win/CredentialStorageWin.cpp: Added.
(WebCore::Credential::getFromPersistentStorage): Stub implementation.
2011-11-07 Kentaro Hara <haraken@chromium.org>
Remove [CustomGetter] IDL for window.Image of V8
https://bugs.webkit.org/show_bug.cgi?id=71739
Reviewed by Adam Barth.
Currently, window.Image uses a custom getter to get the template
of 'HTMLImageElementConstructor'. However, this getter does not need to
be custom and can use a default getter
'DOMWindowInternal::DOMWindowConstructorGetter'.
Tests: fast/js/custom-constructors.html
fast/dom/image-object.html
fast/dom/gc-image-element.html
fast/dom/Window/custom-constructors.html
* bindings/v8/custom/V8DOMWindowCustom.cpp: Removed a custom getter.
* page/DOMWindow.idl: Removed [CustomGetter] IDL from window.Image of V8. Renamed 'HTMLImageElementConstructor' to 'HTMLImageElementConstructorConstructor' in order to make window.Image use the template of (not 'HTMLImageElement' but) 'HTMLImageElementConstructor'. Note that CodeGenerator*.pm strips /Constructor$/ from the IDL type.
2011-11-07 Chris Fleizach <cfleizach@apple.com>
REGRESSION(r99025-r99037): platform/mac/accessibility/select-element-selection-with-optgroups.html is asserting
https://bugs.webkit.org/show_bug.cgi?id=71421
Reviewed by Ryosuke Niwa.
Remove an assert that was added by r99035. It was added based on a comment in the code, but not tested.
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::selectOption):
2011-11-07 Emil A Eklund <eae@chromium.org>
Revert platform and scrolling to ints
https://bugs.webkit.org/show_bug.cgi?id=71585
Reviewed by Eric Seidel.
Replace all uses of LayoutUnit and related types with ints in platform
and scrolling code.
No new tests.
* page/FrameView.cpp:
* page/FrameView.h:
* platform/PopupMenuClient.h:
* platform/ScrollAnimatorNone.cpp:
* platform/ScrollAnimatorNone.h:
* platform/ScrollView.cpp:
* platform/ScrollView.h:
* platform/ScrollableArea.h:
* rendering/RenderLayer.cpp:
* rendering/RenderLayer.h:
* rendering/RenderListBox.cpp:
* rendering/RenderListBox.h:
* rendering/RenderMenuList.cpp:
* rendering/RenderMenuList.h:
* rendering/RenderTextControlSingleLine.cpp:
* rendering/RenderTextControlSingleLine.h:
2011-11-07 Kentaro Hara <haraken@chromium.org>
Fixed wrong test results of fast/js/custom-constructors.html
https://bugs.webkit.org/show_bug.cgi?id=71669
Reviewed by Darin Adler.
According to the HTMLOptionElement spec
(http://dev.w3.org/html5/spec/the-button-element.html#the-option-element),
'text', 'label' and 'value' have neither [TreatUndefinedAs=EmptyString]
nor [TreatNullAs=EmptyString]. Thus, an undefined value should be
converted to a string "undefined" and a null value should be
converted to a string "null", following the step 3 of the IDL
conversion spec (http://dev.w3.org/2006/webapi/WebIDL/#es-DOMString).
* bindings/js/JSOptionConstructor.cpp:
(WebCore::constructHTMLOptionElement): Removed isUndefined() check from 'text' and 'value' since the spec does not have [TreatUndefinedAs=EmptyString].
* bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
(WebCore::v8HTMLOptionElementConstructorCallback): Ditto.
* html/HTMLOptionElement.idl: Removed [ConvertNullToNullString] from 'text', 'label' and 'value' since the spec does not have [TreatNullAs=EmptyString].
2011-11-07 Adam Barth <abarth@webkit.org>
Move DomainRelaxationForbidden scheme registry to SchemeRegistry
https://bugs.webkit.org/show_bug.cgi?id=71750
Reviewed by Eric Seidel.
As stated in the FIXME, scheme registries belong in SchemeRegistry, not
in SecurityOrigin.
* WebCore.exp.in:
* dom/Document.cpp:
(WebCore::Document::setDomain):
* page/SecurityOrigin.cpp:
* page/SecurityOrigin.h:
* platform/SchemeRegistry.cpp:
(WebCore::schemesForbiddenFromDomainRelaxation):
(WebCore::SchemeRegistry::setDomainRelaxationForbiddenForURLScheme):
(WebCore::SchemeRegistry::isDomainRelaxationForbiddenForURLScheme):
* platform/SchemeRegistry.h:
2011-11-07 Dan Bernstein <mitz@apple.com>
<rdar://problem/10405215> REGRESSION (r98178): World of Warcraft Launcher crashes in FrameView::isOnActivePage()
https://bugs.webkit.org/show_bug.cgi?id=71743
Reviewed by Beth Dakin.
* page/FrameView.cpp:
(WebCore::FrameView::isOnActivePage): Added a check for a null m_frame.
2011-11-07 Dmitry Lomov <dslomov@google.com>
https://bugs.webkit.org/show_bug.cgi?id=71534
[V8] On neutering TypedArrayViews, V8 should be notified to drain code generation cache.
Reviewed by David Levin.
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
* bindings/scripts/CodeGeneratorV8.pm:
* html/canvas/DataView.cpp:
* html/canvas/DataView.h:
* html/canvas/Float32Array.h:
* html/canvas/Float64Array.h:
* html/canvas/Int16Array.h:
* html/canvas/Int32Array.h:
* html/canvas/Int8Array.h:
* html/canvas/TypedArrayBase.h:
* html/canvas/Uint16Array.h:
* html/canvas/Uint32Array.h:
* html/canvas/Uint8Array.h:
2011-11-07 Adam Barth <abarth@webkit.org>
addMessage's last few arguments should be optional
https://bugs.webkit.org/show_bug.cgi?id=70946
Reviewed by Darin Adler.
As requested by Darin Adler. I wanted to call this method addMessage,
but the compiler was unhappy locating the overload on
ScriptExecutionContext when Document had an override too. Changing the
name to addConsoleMessage made all the code happier.
* dom/Document.cpp:
(WebCore::Document::processHttpEquiv):
* dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::addMessage):
* dom/ScriptExecutionContext.h:
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::getImageData):
* html/parser/XSSAuditor.cpp:
(WebCore::XSSAuditor::filterToken):
* loader/ImageLoader.cpp:
(WebCore::ImageLoader::notifyFinished):
* page/ContentSecurityPolicy.cpp:
(WebCore::ContentSecurityPolicy::reportViolation):
(WebCore::ContentSecurityPolicy::logUnrecognizedDirective):
* page/EventSource.cpp:
(WebCore::EventSource::didReceiveResponse):
* webaudio/AudioBufferSourceNode.cpp:
(WebCore::AudioBufferSourceNode::looping):
(WebCore::AudioBufferSourceNode::setLooping):
* webaudio/AudioContext.cpp:
(WebCore::AudioContext::createLowPass2Filter):
(WebCore::AudioContext::createHighPass2Filter):
* xml/XMLHttpRequest.cpp:
(WebCore::reportUnsafeUsage):
2011-11-07 Adam Barth <abarth@webkit.org>
WebWorkers fail with document.domain set when accessing from subdomain
https://bugs.webkit.org/show_bug.cgi?id=67978
Reviewed by Sam Weinig.
Workers should ignore document.domain when deciding which URLs a
document can request, just like XMLHttpRequest and every other API.
Test: http/tests/workers/worker-document-domain-security.html
* workers/AbstractWorker.cpp:
(WebCore::AbstractWorker::resolveURL):
2011-11-07 Scott Graham <scottmg@chromium.org>
Allow gamepad API to be enabled at runtime
https://bugs.webkit.org/show_bug.cgi?id=71736
Part of full patch, found at
https://bugs.webkit.org/show_bug.cgi?id=69451
Reviewed by Adam Barth.
No new tests. No new functionality.
* bindings/generic/RuntimeEnabledFeatures.cpp:
* bindings/generic/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::setGamepadsEnabled):
(WebCore::RuntimeEnabledFeatures::gamepadsEnabled):
2011-11-07 Kentaro Hara <haraken@chromium.org>
Remove [CustomGetter] IDL for window.Option of V8
https://bugs.webkit.org/show_bug.cgi?id=71735
Reviewed by Nate Chapin.
Currently, window.Option uses a custom getter to get the template
of 'HTMLOptionElementConstructor'. However, this getter does not need to
be custom and can use a default getter
'DOMWindowInternal::DOMWindowConstructorGetter'.
Tests: fast/js/custom-constructors.html
fast/forms/option-index.html
fast/forms/add-and-remove-option.html
fast/dom/dom-add-optionelement.html
* bindings/v8/custom/V8DOMWindowCustom.cpp: Removed a custom getter.
* page/DOMWindow.idl: Removed [CustomGetter] IDL from window.Option of V8. Renamed 'HTMLOptionElementConstructor' to 'HTMLOptionElementConstructorConstructor' in order to make window.Option use the template of (not 'HTMLOptionElement' but) 'HTMLOptionElementConstructor'. Note that CodeGenerator*.pm strips /Constructor$/ from the IDL type.
2011-11-07 Mark Hahnenberg <mhahnenberg@apple.com>
De-virtualize JSObject::putWithAttributes
https://bugs.webkit.org/show_bug.cgi?id=71716
Reviewed by Darin Adler.
No new tests.
Added putWithAttributes to the MethodTable, changed all the virtual
implementations of putWithAttributes to static ones, and replaced
all call sites with corresponding lookups in the MethodTable.
* bindings/js/JSDOMWindowShell.cpp:
(WebCore::JSDOMWindowShell::putWithAttributes):
* bindings/js/JSDOMWindowShell.h:
2011-11-07 Beth Dakin <bdakin@apple.com>
https://bugs.webkit.org/show_bug.cgi?id=71490
Support uiStateTransitionProgress for scrollbars
-and corresponding-
<rdar://problem/9849612>
Reviewed by Sam Weinig.
Step 1 of supporting uiStateTransitionProgress is knowing when the mouse has
entered or exited a scrollbar. These changes to Scrollbar pass that information
on to the ScrollAnimator. Also, Scrollbar::mouseUp() now takes a
PlatformMouseEvent as a parameter. This is necessary because m_hoveredNode is not
always up to date on a mouseUp, so mouseUp must hitTest the scrollbar to see if
the mouse has exited the scrollbar.
* platform/Scrollbar.cpp:
(WebCore::Scrollbar::mouseMoved):
(WebCore::Scrollbar::mouseExited):
(WebCore::Scrollbar::mouseUp):
* platform/Scrollbar.h:
These changes are required now that Scrollbar::mouseUp() takes a parameter.
* WebCore.exp.in:
* page/EventHandler.cpp:
(WebCore::EventHandler::handleMouseDoubleClickEvent):
(WebCore::EventHandler::handleMouseReleaseEvent):
* platform/chromium/PopupListBox.cpp:
(WebCore::PopupListBox::handleMouseReleaseEvent):
* platform/win/PopupMenuWin.cpp:
(WebCore::PopupMenuWin::wndProc):
ScrollAnimator passes the information on to AppKit.
* platform/ScrollAnimator.h:
(WebCore::ScrollAnimator::mouseEnteredScrollbar):
(WebCore::ScrollAnimator::mouseExitedScrollbar):
* platform/mac/ScrollAnimatorMac.h:
(WebCore::ScrollAnimatorMac::mouseEnteredScrollbar):
(WebCore::ScrollAnimatorMac::mouseExitedScrollbar):
There are several new pieces of AppKit api we must call into.
* platform/mac/NSScrollerImpDetails.h:
This is a temporary function that is needed for the time being since there is new
AppKit api required for this to work.
* platform/mac/ScrollAnimatorMac.mm:
(supportsUIStateTransitionProgress):
I refactored WebScrollbarPartAnimation so that it can handle the
uiStateTransitionProgress animation as well as the alpha animations it already
handled. This mostly involved re-naming things and making use of a new enum called
FeatureToAnimate which keeps track of what the instance of
WebScrollbarPartAnimation is animating.
(-[WebScrollbarPartAnimation initWithScrollbarPainter:animate:scrollAnimator:animateFrom:animateTo:duration:]):
(-[WebScrollbarPartAnimation setScrollbarPainter:]):
(-[WebScrollbarPartAnimation setStartValue:]):
(-[WebScrollbarPartAnimation setEndValue:]):
(-[WebScrollbarPartAnimation setCurrentProgress:]):
WebScrollbarPainterDelegate has two new animations,
_verticalUIStateTransitionAnimation, and _horizontalUIStateTransitionAnimation. It
also responds to a few new delegate calls.
(-[WebScrollbarPainterDelegate cancelAnimations]):
This is a new delegate call needed for uiStateTransitionProgress.
(-[WebScrollbarPainterDelegate mouseLocationInScrollerForScrollerImp:]):
I re-named setUpAnimation to setUpAlphaAnimation since it does a lot of things
that are specific to the alpha animation and I chose not to re-use it for
uiStateTransition.
(-[WebScrollbarPainterDelegate setUpAlphaAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
(-[WebScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
(-[WebScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
New delegate call for the uiStateTransition animation that sets up that animation
and kicks it off.
(-[WebScrollbarPainterDelegate scrollerImp:animateUIStateTransitionWithDuration:]):
(-[WebScrollbarPainterDelegate scrollAnimatorDestroyed]):
2011-11-07 Alice Boxhall <aboxhall@chromium.org>
Remove unnecessary use of function pointer in FrameSelection::modify()
https://bugs.webkit.org/show_bug.cgi?id=71646
Reviewed by Ryosuke Niwa.
* editing/FrameSelection.cpp:
(WebCore::FrameSelection::modify):
2011-11-07 Andreas Kling <kling@webkit.org>
Unreviewed Windows build fix after r99468.
* css/CSSPrimitiveValue.h: Unmark single-argument constructors
as explicit, since this conflicts with the template constructors
in CSSPrimitiveValueMappings.h.
2011-11-07 Jer Noble <jer.noble@apple.com>
Build fix due to a erroneous search-and-replace.
Unreviewed build fix.
Replace all instances of GenericClock with ClockGeneric.
* WebCore.xcodeproj/project.pbxproj:
* platform/ClockGeneric.cpp:
(ClockGeneric::ClockGeneric):
2011-11-07 Adam Barth <abarth@webkit.org>
Move parseSandboxPolicy to SecurityContext
https://bugs.webkit.org/show_bug.cgi?id=71732
Reviewed by Eric Seidel.
As requested by Eric, this patch resolves a layering inversion. Now
that we have SecurityContext to hold the sandbox bits and the origin,
it's a logical place to put the parser for sandbox policies.
* dom/SecurityContext.cpp:
(WebCore::SecurityContext::parseSandboxPolicy):
* dom/SecurityContext.h:
* html/HTMLIFrameElement.cpp:
(WebCore::HTMLIFrameElement::parseMappedAttribute):
* page/ContentSecurityPolicy.cpp:
(WebCore::ContentSecurityPolicy::applySandboxPolicy):
* page/SecurityOrigin.cpp:
* page/SecurityOrigin.h:
2011-11-07 Jer Noble <jer.noble@apple.com>
Rename PlatformClockPOSIX -> ClockGeneric, and use WTF::currentTime() for its timing source.
https://bugs.webkit.org/show_bug.cgi?id=71702
Reviewed by Sam Weinig.
No new tests; covered by existing tests.
* platform/Clock.cpp:
(Clock::create):
* platform/ClockGeneric.cpp: Renamed from Source/WebCore/platform/posix/PlatformClockPOSIX.cpp.
(ClockGeneric::ClockGeneric):
(ClockGeneric::setCurrentTime):
(ClockGeneric::currentTime):
(ClockGeneric::setPlayRate):
(ClockGeneric::start):
(ClockGeneric::stop):
* platform/ClockGeneric.h: Renamed from Source/WebCore/platform/posix/PlatformClockPOSIX.h.
(WebCore::ClockGeneric::playRate):
(WebCore::ClockGeneric::isRunning):
Boilerplate project file changes:
* CMakeLists.txt:
* Target.pri:
* WebCore.gypi:
* WebCore.xcodeproj/project.pbxproj:
2011-11-07 Vangelis Kokkevis <vangelis@chromium.org>
Create a separate setting for compositing of for scrollable [i]frames
that forceCompositingMode can be used without turning frames into composited layers.
https://bugs.webkit.org/show_bug.cgi?id=71714
Reviewed by James Robinson.
* page/Settings.cpp:
(WebCore::Settings::Settings):
* page/Settings.h:
(WebCore::Settings::setAcceleratedCompositingForScrollableFramesEnabled):
(WebCore::Settings::acceleratedCompositingForScrollableFramesEnabled):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::cacheAcceleratedCompositingFlags):
* testing/Internals.cpp:
(WebCore::Internals::setEnableCompositingForScrollableFrames):
* testing/Internals.h:
* testing/Internals.idl:
2011-11-07 Rafael Weinstein <rafaelw@chromium.org>
[MutationObservers] Fix mac build (with mutation_observers enabled)
https://bugs.webkit.org/show_bug.cgi?id=71728
Reviewed by Tony Chang.
Errant forward declaration of MutationObserverRegistration removed from
Node.h this would have broken a port that tried to build with mutation_observers=1.
* dom/Node.h:
2011-11-07 Kentaro Hara <haraken@chromium.org>
Remove [CustomGetter] IDL from 'HTMLAudioElementConstructor' of V8
https://bugs.webkit.org/show_bug.cgi?id=71660
Reviewed by Adam Barth.
Currently, "new Audio()" uses a custom getter to get the template
of 'HTMLAudioElementConstructor'. However, this getter does not need to
be custom and can use a default getter 'DOMWindowInternal::DOMWindowConstructorGetter'.
Tests: fast/js/custom-constructors.html
media/audio-constructor.html
media/audio-constructor-src.html
media/audio-constructor-preload.html
media/audio-controls-do-not-fade-out.html
media/audio-controls-rendering.html
* bindings/v8/custom/V8DOMWindowCustom.cpp: Removed a custom getter.
* page/DOMWindow.idl: Removed [CustomGetter] IDL from 'HTMLAudioElementConstructor' of V8. Renamed 'HTMLAudioElementConstructor' to 'HTMLAudioElementConstructorConstructor' in order to make 'new Audio()' use the template of (not 'HTMLAudioElement' but) 'HTMLAudioElementConstructor'. Note that CodeGenerator*.pm strips /Constructor$/ from an IDL type.
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation): If an IDL type is 'XXXXConstructorConstructor', then we do not add a header file 'XXXXConstructor.h' to JSDOMWindow.cpp, because the NamedConstructor declaration is written in the header file of class XXXX 'XXXX.h'. Incidentally, the reason why CodeGeneratorV8.pm does not need a corresponding change is that V8 is still generating the NamedConstructor declaration in its dedicated header file 'XXXXConstructor.h'. This V8 issue will be fixed in the upcoming patch that implements [NamedConstructor] IDL in V8.
2011-11-07 Robert Sesek <rsesek@chromium.org>
[chromium] Update WebCore.gyp to not use WebKitLibraries in include_dirs
https://bugs.webkit.org/show_bug.cgi?id=71694
Reviewed by Adam Barth.
* WebCore.gyp/WebCore.gyp:
2011-11-07 Dominic Cooney <dominicc@chromium.org>
Remove initPopStateEvent method
https://bugs.webkit.org/show_bug.cgi?id=71691
Reviewed by Ojan Vafai.
* dom/PopStateEvent.cpp:
* dom/PopStateEvent.h:
* dom/PopStateEvent.idl:
2011-11-07 Andreas Kling <kling@webkit.org>
CSSValue: Devirtualize isFooType().
<http://webkit.org/b/71668>
Reviewed by Darin Adler.
Add a member to CSSValue to determine which subclass a given
value object is, along with 5 bits to tell us whether the
value is primitive/mutable/initial/inherited/a list.
All non-private subclass constructors now take CSSValue::ClassType
as their first argument. A few constructors were duplicated as
private members to allow calling them from ::create() methods
without passing an explicit ClassType.
Furthermore, since CSSValue::cssValueType() can be inferred from
the subclass type, we compute it instead of storing it in a member.
* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
Adding CSSValue.cpp.
* css/CSSValue.cpp: Added.
(WebCore::CSSValue::cssValueType):
Out-of-line implementation of this method. Only used by CSSOM.
* css/CSSValue.h:
(WebCore::CSSValue::isMutableValue):
(WebCore::CSSValue::isPrimitiveValue):
(WebCore::CSSValue::isValueList):
(WebCore::CSSValue::isInitialValue):
(WebCore::CSSValue::isInheritedValue):
(WebCore::CSSValue::isBorderImageValue):
(WebCore::CSSValue::isBorderImageSliceValue):
(WebCore::CSSValue::isCursorImageValue):
(WebCore::CSSValue::isFontFamilyValue):
(WebCore::CSSValue::isFontFeatureValue):
(WebCore::CSSValue::isFontValue):
(WebCore::CSSValue::isImageGeneratorValue):
(WebCore::CSSValue::isImageValue):
(WebCore::CSSValue::isImplicitInitialValue):
(WebCore::CSSValue::isReflectValue):
(WebCore::CSSValue::isShadowValue):
(WebCore::CSSValue::isTimingFunctionValue):
(WebCore::CSSValue::isWebKitCSSTransformValue):
(WebCore::CSSValue::isCSSLineBoxContainValue):
(WebCore::CSSValue::isFlexValue):
(WebCore::CSSValue::isWebKitCSSFilterValue):
(WebCore::CSSValue::isSVGColor):
(WebCore::CSSValue::isSVGPaint):
(WebCore::CSSValue::classType):
(WebCore::CSSValue::CSSValue):
(WebCore::CSSValue::isPrimitiveType):
(WebCore::CSSValue::isListType):
(WebCore::CSSValue::isMutableType):
(WebCore::CSSValue::isInheritedType):
(WebCore::CSSValue::isInitialType):
Store subclass type information into a member variable and
made all the isFooValue() functions non-virtual and inline.
Some subclass type lookups (primitive values, notably) are
cached in a bool member on construction.
* css/CSSAspectRatioValue.h:
(WebCore::CSSAspectRatioValue::CSSAspectRatioValue):
* css/CSSBorderImageSliceValue.cpp:
(WebCore::CSSBorderImageSliceValue::CSSBorderImageSliceValue):
* css/CSSBorderImageSliceValue.h:
* css/CSSBorderImageValue.cpp:
(WebCore::CSSBorderImageValue::CSSBorderImageValue):
* css/CSSBorderImageValue.h:
* css/CSSCanvasValue.h:
(WebCore::CSSCanvasValue::CSSCanvasValue):
* css/CSSCrossfadeValue.h:
(WebCore::CSSCrossfadeValue::CSSCrossfadeValue):
* css/CSSCursorImageValue.cpp:
(WebCore::CSSCursorImageValue::CSSCursorImageValue):
* css/CSSCursorImageValue.h:
* css/CSSFlexValue.h:
(WebCore::CSSFlexValue::CSSFlexValue):
* css/CSSFontFaceSrcValue.h:
(WebCore::CSSFontFaceSrcValue::CSSFontFaceSrcValue):
* css/CSSFunctionValue.cpp:
(WebCore::CSSFunctionValue::CSSFunctionValue):
* css/CSSGradientValue.h:
(WebCore::CSSGradientValue::isLinearGradient):
(WebCore::CSSGradientValue::isRadialGradient):
(WebCore::CSSGradientValue::CSSGradientValue):
(WebCore::CSSLinearGradientValue::CSSLinearGradientValue):
(WebCore::CSSRadialGradientValue::CSSRadialGradientValue):
* css/CSSImageGeneratorValue.cpp:
(WebCore::CSSImageGeneratorValue::CSSImageGeneratorValue):
* css/CSSImageGeneratorValue.h:
* css/CSSImageValue.cpp:
(WebCore::CSSImageValue::CSSImageValue):
* css/CSSImageValue.h:
* css/CSSInheritedValue.h:
(WebCore::CSSInheritedValue::CSSInheritedValue):
* css/CSSInitialValue.h:
(WebCore::CSSInitialValue::CSSInitialValue):
(WebCore::CSSInitialValue::create):
* css/CSSLineBoxContainValue.cpp:
(WebCore::CSSLineBoxContainValue::CSSLineBoxContainValue):
* css/CSSLineBoxContainValue.h:
* css/CSSMutableValue.h:
(WebCore::CSSMutableValue::CSSMutableValue):
* css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
* css/CSSPrimitiveValue.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
* css/CSSReflectValue.h:
(WebCore::CSSReflectValue::CSSReflectValue):
* css/CSSTimingFunctionValue.h:
(WebCore::CSSTimingFunctionValue::isLinearTimingFunctionValue):
(WebCore::CSSTimingFunctionValue::isCubicBezierTimingFunctionValue):
(WebCore::CSSTimingFunctionValue::isStepsTimingFunctionValue):
(WebCore::CSSTimingFunctionValue::CSSTimingFunctionValue):
(WebCore::CSSLinearTimingFunctionValue::CSSLinearTimingFunctionValue):
(WebCore::CSSCubicBezierTimingFunctionValue::CSSCubicBezierTimingFunctionValue):
(WebCore::CSSStepsTimingFunctionValue::CSSStepsTimingFunctionValue):
* css/CSSUnicodeRangeValue.h:
(WebCore::CSSUnicodeRangeValue::CSSUnicodeRangeValue):
* css/CSSValueList.cpp:
(WebCore::CSSValueList::CSSValueList):
* css/CSSValueList.h:
* css/FontFamilyValue.cpp:
(WebCore::FontFamilyValue::FontFamilyValue):
* css/FontFamilyValue.h:
* css/FontFeatureValue.cpp:
(WebCore::FontFeatureValue::FontFeatureValue):
* css/FontFeatureValue.h:
* css/FontValue.h:
(WebCore::FontValue::FontValue):
* css/ShadowValue.cpp:
(WebCore::ShadowValue::ShadowValue):
* css/ShadowValue.h:
* css/WebKitCSSFilterValue.cpp:
(WebCore::WebKitCSSFilterValue::WebKitCSSFilterValue):
* css/WebKitCSSFilterValue.h:
* css/WebKitCSSTransformValue.cpp:
(WebCore::WebKitCSSTransformValue::WebKitCSSTransformValue):
* css/WebKitCSSTransformValue.h:
* svg/SVGColor.cpp:
(WebCore::SVGColor::SVGColor):
* svg/SVGColor.h:
* svg/SVGPaint.cpp:
(WebCore::SVGPaint::SVGPaint):
* svg/SVGPaint.h:
Propagate subclass type information and kill isFooType() virtuals.
2011-11-07 Mihnea Ovidenie <mihnea@adobe.com>
Leaks seen in RenderRegion::setRenderBoxRegionInfo on Leaks bot
https://bugs.webkit.org/show_bug.cgi?id=71259
Reviewed by Darin Adler.
Leak fixes covered by existing tests.
* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::logicalWidthChangedInRegions):
The RenderBoxRegionInfo taken out of RenderRegion must be deleted on all code paths.
* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::removeRenderBoxRegionInfo):
The RenderBoxRegionInfo map owns the values, therefore, when values are removed from map
they must also be deleted.
2011-11-07 Adam Barth <abarth@webkit.org>
iframe sandbox treats vertical tab as a valid delimiter
https://bugs.webkit.org/show_bug.cgi?id=71704
Reviewed by Eric Seidel.
This patch adjusts our parser slightly to match the HTML5 spec. The
only difference is in how we handle vertical tabs. Previously, we
treated them as a delimiter, but we're not supposed to do that.
Test: fast/frames/sandboxed-iframe-parsing-space-characters.html
* page/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::parseSandboxPolicy):
2011-11-07 Adam Barth <abarth@webkit.org>
Factor SecurityContext out of ScriptExecutionContext
https://bugs.webkit.org/show_bug.cgi?id=71721
Reviewed by Eric Seidel.
The new SecurityContext object lets us tightly scope control of
the security-critical information in ScriptExecutionContext.
Originally I had hoped to put all this state on SecurityOrigin, but
SecurityOrigin gets shared between documents in some corner cases, so
it's not a good fit for state like the sandbox flags and the CSP policy
that really needs to be per-document.
* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* dom/DOMAllInOne.cpp:
* dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::ScriptExecutionContext):
* dom/ScriptExecutionContext.h:
* loader/FrameLoader.h:
* loader/FrameLoaderTypes.h:
* page/SecurityOrigin.h:
2011-11-07 Kentaro Hara <haraken@chromium.org>
Refactor CodeGeneratorV8.pm before making a core change for bug 71093.
https://bugs.webkit.org/show_bug.cgi?id=71659
Reviewed by Adam Barth.
Just refactor CodeGeneratorV8.pm without any change in behavior,
as the first step for fixing bug 71093.
Tests: WebCore/bindings/scripts/test/TestObj.idl
WebCore/bindings/scripts/test/TestInterface.idl
* bindings/scripts/CodeGeneratorV8.pm:
(GenerateHeader): Sort generated headers in alphabetical order. Removed unnecessary variable names from method signatures. These changes are for silencing style check errors when a new TestXXXX.idl is added.
(GenerateConstructorCallback): Renamed variables to clarify their roles.
(WriteData): Removed an unused array @implHeaderContent.
* bindings/scripts/test/V8/V8TestInterface.h: Updated a run-binding-tests result.
* bindings/scripts/test/V8/V8TestMediaQueryListListener.h: Ditto.
* bindings/scripts/test/V8/V8TestObj.h: Ditto.
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h: Ditto.
2011-11-07 Ken Buchanan <kenrb@chromium.org>
Crash due to mixed direction text runs
https://bugs.webkit.org/show_bug.cgi?id=66015
Reviewed by David Hyatt.
Test for bug fix.
* fast/text/international/bidi-neutral-in-mixed-direction-run-crash.html: Added
* fast/text/international/bidi-neutral-in-mixed-direction-run-cras-expected.txt: Added
2011-11-07 Tim Horton <timothy_horton@apple.com>
getBBox() on a SVGPathElement with curves incorrectly includes control points
https://bugs.webkit.org/show_bug.cgi?id=53512
<rdar://problem/9861154>
Reviewed by Oliver Hunt.
Split Path::boundingRect() into two, adding Path::fastBoundingRect()
for a rough estimate of the bounding rect (always equal to or larger
than boundingRect()). fastBoundingRect() currently falls back to
boundingRect() for all ports besides CG, though in most cases
(on a port-by-port basis) the current implementation of boundingRect()
will need to become fastBoundingRect(), and a new, more accurate method will
be implemented for boundingRect().
All previous callers of boundingRect() are transitioned to using fastBoundingRect()
except SVGPathElement::getBBox, which wants an accurate bounding box.
The CoreGraphics implementation of Path::boundingRect() called
CGPathGetBoundingBox, which includes the path's control points in its
calculations. Snow Leopard added CGPathGetPathBoundingBox, which
finds the bounding box of only points within the path, and does not
include control points. On Snow Leopard and above, we now use the latter.
Test: svg/custom/getBBox-path.svg
* html/HTMLAreaElement.cpp:
* html/canvas/CanvasRenderingContext2D.cpp:
* platform/graphics/Path.cpp:
* platform/graphics/Path.h:
* platform/graphics/cg/GraphicsContextCG.cpp:
* platform/graphics/cg/PathCG.cpp:
(WebCore::Path::boundingRect):
* rendering/RenderObject.h:
* rendering/svg/RenderSVGPath.cpp:
* svg/SVGPathElement.cpp:
* svg/SVGPathElement.h:
2011-11-07 Vsevolod Vlasov <vsevik@chromium.org>
Web Inspector: Suggest box should be open immediately if forced by Ctrl+Space.
https://bugs.webkit.org/show_bug.cgi?id=71710
Reviewed by Pavel Feldman.
* inspector/front-end/TextPrompt.js:
(WebInspector.TextPrompt.prototype.clearAutoComplete):
(WebInspector.TextPrompt.prototype.autoCompleteSoon):
2011-11-07 vsevik@chromium.org <vsevik@chromium.org>
Web Inspector: Suggest box should consume enter key pressed event.
https://bugs.webkit.org/show_bug.cgi?id=71700
Reviewed by Pavel Feldman.
* inspector/front-end/ConsoleView.js:
(WebInspector.ConsoleView):
* inspector/front-end/TextPrompt.js:
(WebInspector.TextPrompt.prototype._attachInternal):
(WebInspector.TextPrompt.SuggestBox.prototype.enterKeyPressed):
2011-11-07 David Barr <davidbarr@chromium.org>
Optimize outline rendering to avoid transparency layers
https://bugs.webkit.org/show_bug.cgi?id=60750
Add fast path for solid block outlines with alpha.
Improve readability of piecewise path while at it.
Reviewed by Simon Fraser.
No intended change in behaviour, no new tests.
* rendering/RenderObject.cpp:
(WebCore::RenderObject::paintOutline):
2011-11-07 Vsevolod Vlasov <vsevik@chromium.org>
Web Inspector: Suggest box should not accept suggestion on space key pressed.
https://bugs.webkit.org/show_bug.cgi?id=71706
Reviewed by Pavel Feldman.
* inspector/front-end/TextPrompt.js:
(WebInspector.TextPrompt.prototype.onKeyDown):
(WebInspector.TextPrompt.SuggestBox.prototype.tabKeyPressed):
2011-11-07 Andreas Kling <kling@webkit.org>
Don't use CSSOM's CSSValue.cssValueType internally in WebCore.
<http://webkit.org/b/71679>
Reviewed by Darin Adler.
Swap out cssValueType() usage for isPrimitiveValue(), isInitialValue()
and isInheritedValue() to increase code clarity.
The plan is to turn cssValueType() into a computed value based on the
CSSValue subclass (coming soon to <http://webkit.org/b/71668>.)
This is a clean-up in preparation for that.
* bindings/js/JSCSSStyleDeclarationCustom.cpp:
(WebCore::JSCSSStyleDeclaration::nameGetter):
* bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
(WebCore::V8CSSStyleDeclaration::namedPropertyGetter):
* css/CSSInheritedValue.h:
(WebCore::CSSInheritedValue::isInheritedValue):
* css/CSSInitialValue.h:
(WebCore::CSSInitialValue::isInitialValue):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseColor):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyDeclaration):
(WebCore::CSSStyleSelector::applyProperty):
(WebCore::CSSStyleSelector::mapFillAttachment):
(WebCore::CSSStyleSelector::mapFillClip):
(WebCore::CSSStyleSelector::mapFillComposite):
(WebCore::CSSStyleSelector::mapFillOrigin):
(WebCore::CSSStyleSelector::mapFillImage):
(WebCore::CSSStyleSelector::mapFillRepeatX):
(WebCore::CSSStyleSelector::mapFillRepeatY):
(WebCore::CSSStyleSelector::mapFillSize):
(WebCore::CSSStyleSelector::mapFillXPosition):
(WebCore::CSSStyleSelector::mapFillYPosition):
(WebCore::CSSStyleSelector::mapAnimationDelay):
(WebCore::CSSStyleSelector::mapAnimationDirection):
(WebCore::CSSStyleSelector::mapAnimationDuration):
(WebCore::CSSStyleSelector::mapAnimationFillMode):
(WebCore::CSSStyleSelector::mapAnimationIterationCount):
(WebCore::CSSStyleSelector::mapAnimationName):
(WebCore::CSSStyleSelector::mapAnimationPlayState):
(WebCore::CSSStyleSelector::mapAnimationProperty):
(WebCore::CSSStyleSelector::mapAnimationTimingFunction):
* css/CSSValue.h:
(WebCore::CSSValue::isInheritedValue):
(WebCore::CSSValue::isInitialValue):
* css/SVGCSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applySVGProperty):
* editing/EditingStyle.cpp:
(WebCore::EditingStyle::extractFontSizeDelta):
(WebCore::EditingStyle::mergeStyleFromRulesForSerialization):
2011-11-07 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r99432.
http://trac.webkit.org/changeset/99432
https://bugs.webkit.org/show_bug.cgi?id=71709
It made layout tests extra slow on all bots (Requested by
Ossy_night on #webkit).
* inspector/front-end/ConsoleView.js:
(WebInspector.ConsoleView):
* inspector/front-end/TextPrompt.js:
(WebInspector.TextPrompt.prototype._attachInternal):
(WebInspector.TextPrompt.SuggestBox.prototype.enterKeyPressed):
2011-11-07 Andreas Kling <kling@webkit.org>
REGRESSION(r99409): Broke transitions/clip-transition.html
<http://webkit.org/b/71692>
Reviewed by Darin Adler.
Add missing base class initializers to CSSPrimitiveValue constructors.
This was causing some CSSPrimitiveValues to masquerade as CSS_CUSTOM values.
* css/CSSPrimitiveValue.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2011-11-07 ChangSeok Oh <shivamidow@gmail.com>
[EFL] Support requestAnimationFrame API
https://bugs.webkit.org/show_bug.cgi?id=67112
Reviewed by Andreas Kling.
Add some files to build-target when enabling requestAnimationFrame option.
fast/animation/request-animation-frame-cancel.html
fast/animation/request-animation-frame-cancel2.html
fast/animation/request-animation-frame-display.html
fast/animation/request-animation-frame-during-modal.html
fast/animation/request-animation-frame-timestamps.html
fast/animation/request-animation-frame-within-callback.html
fast/animation/request-animation-frame.html
* CMakeLists.txt:
* UseJSC.cmake:
2011-11-07 Sam Weinig <sam@webkit.org>
Add missing .in and .pl files to the Xcode project for easy access.
Reviewed by Eric Carlson.
* WebCore.xcodeproj/project.pbxproj:
Add some missing files to the Xcode project.
2011-11-07 Jessie Berlin <jberlin@apple.com>
Need a way to allow a scheme access to Local Storage and Databases while Private Browsing is
enabled.
https://bugs.webkit.org/show_bug.cgi?id=71631
Reviewed by Jon Honeycutt.
Check the SchemeRegistry before preventing read/write access to Local Storage and Databases
in Private Browsing.
* WebCore.exp.in:
Export the symbols for registering the schemes as allowing Local Storage and Database access
in Private Browsing.
* dom/Document.cpp:
(WebCore::Document::allowDatabaseAccess):
Check if the scheme allows Database access in Private Browsing.
* platform/SchemeRegistry.cpp:
(WebCore::schemesAllowingLocalStorageAccessInPrivateBrowsing):
(WebCore::schemesAllowingDatabaseAccessInPrivateBrowsing):
(WebCore::SchemeRegistry::registerURLSchemeAsAllowingLocalStorageAccessInPrivateBrowsing):
(WebCore::SchemeRegistry::allowsLocalStorageAccessInPrivateBrowsing):
(WebCore::SchemeRegistry::registerURLSchemeAsAllowingDatabaseAccessInPrivateBrowsing):
(WebCore::SchemeRegistry::allowsDatabaseAccessInPrivateBrowsing):
* platform/SchemeRegistry.h:
* storage/Storage.cpp:
(WebCore::Storage::length):
Ask the storage area if it is disabled by Private Browsing in the frame instead of just
checking if Private Browsing is enabled for that frame because the answer might depend on
what type of storage that storage area is.
(WebCore::Storage::key):
Ditto.
(WebCore::Storage::getItem):
Ditto.
(WebCore::Storage::contains):
Ditto.
* storage/StorageArea.h:
Make it possible to query a StorageArea for whether it is disabled by Private Browsing in a
Frame.
* storage/StorageAreaImpl.cpp:
(WebCore::StorageAreaImpl::disabledByPrivateBrowsingInFrame):
Renamed from privateBrowsingEnabled.
Check not only if Private Browsing is enabled for the Frame, but also if the storage type is
Local Storage and if there is an exception for the scheme of the resource currently loaded
into the Frame.
(WebCore::StorageAreaImpl::setItem):
Renamed privateBrowsingEnabled -> disabledByPrivateBrowsingInFrame.
(WebCore::StorageAreaImpl::removeItem):
Ditto.
(WebCore::StorageAreaImpl::clear):
Ditto.
* storage/StorageAreaImpl.h:
2011-11-07 Dominic Cooney <dominicc@chromium.org>
Remove initCloseEvent method
https://bugs.webkit.org/show_bug.cgi?id=71374
Reviewed by Ojan Vafai.
Test: fast/dom/Window/window-properties.html
* websockets/CloseEvent.h:
(WebCore::CloseEvent::initCloseEvent):
* websockets/CloseEvent.idl:
2011-11-07 Anders Carlsson <andersca@apple.com>
Simplify NetscapePlugin::convertPoint and make it work (in theory) with transformed plug-ins
https://bugs.webkit.org/show_bug.cgi?id=71699
Reviewed by Sam Weinig.
Export AffineTransform symbols used by WebKit2.
* WebCore.exp.in:
2011-11-07 Michael Saboff <msaboff@apple.com>
Towards 8 Bit Strings: Templatize JSC::Lexer class by character type
https://bugs.webkit.org/show_bug.cgi?id=71331
Changed the SourceProvider::data() virtual method to return a
StringImpl* instead of a UChar*.
Changed Identifier() constructor to use JSGlobalData*.
Reviewed by Darin Adler.
No new tests - refactored SourceProvider class and sub-classes.
* bindings/js/CachedScriptSourceProvider.h:
(WebCore::CachedScriptSourceProvider::stringData):
* bindings/js/StringSourceProvider.h:
(WebCore::StringSourceProvider::stringData):
* bridge/qt/qt_runtime.cpp:
(JSC::Bindings::convertQVariantToValue):
2011-11-07 Dominic Cooney <dominicc@chromium.org>
Remove initOverflowEvent from JavaScript bindings
https://bugs.webkit.org/show_bug.cgi?id=71687
Reviewed by Ojan Vafai.
Now that OverflowEvent has a constructor, we don't need the
initOverflowEvent method. It has to remain in the Objective C
binding because it is part of the Objective C public API.
* dom/OverflowEvent.idl:
2011-11-07 Noel Gordon <noel.gordon@gmail.com>
Refactor canvas encoding mimeType validation
https://bugs.webkit.org/show_bug.cgi?id=71651
Reviewed by Andreas Kling.
No new tests, refactoring only, covered by existing canvas tests.
* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::toEncodingMimeType): move encoder mimeType
validation logic into a helper routine.
(WebCore::HTMLCanvasElement::toDataURL):
* html/HTMLCanvasElement.h:
2011-11-07 Vsevolod Vlasov <vsevik@chromium.org>
Web Inspector: Suggest box should consume enter key pressed event.
https://bugs.webkit.org/show_bug.cgi?id=71700
Reviewed by Pavel Feldman.
* inspector/front-end/ConsoleView.js:
(WebInspector.ConsoleView):
* inspector/front-end/TextPrompt.js:
(WebInspector.TextPrompt.prototype._attachInternal):
(WebInspector.TextPrompt.SuggestBox.prototype.enterKeyPressed):
2011-11-07 Dominic Cooney <dominicc@chromium.org>
Remove initPageTransitionEvent method
https://bugs.webkit.org/show_bug.cgi?id=71689
Reviewed by Ojan Vafai.
initPageTransitionEvent was removed from the HTML spec; it has
been replaced by new PageTransitionEvent(...).
Removing a method, so no new tests.
* dom/PageTransitionEvent.cpp:
* dom/PageTransitionEvent.h:
* dom/PageTransitionEvent.idl:
2011-11-07 Alexander Pavlov <apavlov@chromium.org>
Web Inspector: TextPrompt+SuggestBox should autocomplete on "Right" keydown and with a single suggestion in place
https://bugs.webkit.org/show_bug.cgi?id=71676
Reviewed by Pavel Feldman.
* inspector/front-end/TextPrompt.js:
(WebInspector.TextPrompt.prototype.onKeyDown):
(WebInspector.TextPrompt.SuggestBox.prototype._updateItems):
* inspector/front-end/inspectorCommon.css:
(body): Revert inadvertent style change from a preceding commit.
2011-11-07 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
Fix the Qt build on Mac OS X when using the QuickTime media backend
When QtWebKit is built on Mac OS X using the QuickTime media backend
we build both KURLCFNet.cpp and KURLMac, just like the Mac port, so
we have to guard the potentially duplicate symbol createCFURL with
more than just !PLATFORM(MAC).
Reviewed by Andreas Kling.
* platform/cf/KURLCFNet.cpp:
2011-11-07 Pavel Feldman <pfeldman@google.com>
Not reviewed: follow up to r99407. Style the suggest box.
https://bugs.webkit.org/show_bug.cgi?id=65511
* inspector/front-end/TextPrompt.js:
* inspector/front-end/inspector.css:
* inspector/front-end/textPrompt.css:
2011-11-07 Roland Steiner <rolandsteiner@chromium.org>
https://bugs.webkit.org/show_bug.cgi?id=70223
CSSStyleSheet: finding the owner node should be in its own method
Add styleSheetOwnerNode() function that returns the owner Node of the style sheet, or 0.
Reviewed by Dimitri Glazkov.
No new tests. (refactoring)
* css/CSSStyleSheet.cpp:
(WebCore::CSSStyleSheet::styleSheetOwnerNode):
(WebCore::CSSStyleSheet::document):
* css/CSSStyleSheet.h:
2011-11-07 Yury Semikhatsky <yurys@chromium.org>
[Chromium] Web Inspector: use native worker inspector instead of fake workers
https://bugs.webkit.org/show_bug.cgi?id=71670
Removed context menu option for switching between native and "fake" workers
debugger. Native debugger is used by default on platforms that support it.
Reviewed by Pavel Feldman.
* English.lproj/localizedStrings.js:
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype._toggleFormatSource):
* inspector/front-end/Settings.js:
(WebInspector.Settings):
* inspector/front-end/WorkersSidebarPane.js:
(WebInspector.WorkerListSidebarPane):
(WebInspector.WorkerListSidebarPane.prototype._autoattachToWorkersClicked):
* inspector/front-end/scriptsPanel.css:
(#shared-workers-list):
2011-11-07 Vsevolod Vlasov <vsevik@chromium.org>
Web Inspector: Add advanced search shortcut to ShortcutsScreen.
https://bugs.webkit.org/show_bug.cgi?id=71302
Reviewed by Pavel Feldman.
* English.lproj/localizedStrings.js:
* inspector/front-end/AdvancedSearchController.js:
(WebInspector.AdvancedSearchController.createShortcut):
* inspector/front-end/inspector.js:
(WebInspector._registerShortcuts):
2011-11-07 Andreas Kling <kling@webkit.org>
CSSImageValue: Remove inheritance from CachedImageClient.
<http://webkit.org/b/71675>
Reviewed by Antti Koivisto.
CSSImageValue doesn't actually use any of the CachedImageClient
functionality, and holds a reference to the resource via the
CachedResourceHandle in StyleCachedImage.
So we can safely remove the multiple inheritance and simplify
the class.
* css/CSSImageValue.cpp:
(WebCore::CSSImageValue::~CSSImageValue):
(WebCore::CSSImageValue::cachedImage):
(WebCore::CSSImageValue::clearCachedImage):
* css/CSSImageValue.h:
2011-11-07 Andreas Kling <kling@webkit.org>
CSSPrimitiveValue: Remove unused virtual function parseString().
<http://webkit.org/b/71671>
Reviewed by Antti Koivisto.
* css/CSSPrimitiveValue.cpp:
* css/CSSPrimitiveValue.h:
2011-11-07 Andrey Kosyakov <caseq@chromium.org>
Web Inspector: use toString as the Date object description.
https://bugs.webkit.org/show_bug.cgi?id=71605
Reviewed by Yury Semikhatsky.
Test: inspector/remote-object.html
* inspector/InjectedScriptSource.js:
(.):
2011-10-26 Andrey Kosyakov <caseq@chromium.org>
Web Inspector: [refactoring] get JS-specific methods out of SourceFrame
https://bugs.webkit.org/show_bug.cgi?id=70885
Reviewed by Pavel Feldman.
No new tests, as there's no new functionality.
* inspector/front-end/JavaScriptSourceFrame.js:
(WebInspector.JavaScriptSourceFrame):
(WebInspector.JavaScriptSourceFrame.prototype.willHide):
(WebInspector.JavaScriptSourceFrame.prototype.requestContent):
(WebInspector.JavaScriptSourceFrame.prototype.canEditSource):
(WebInspector.JavaScriptSourceFrame.prototype.suggestedFileName):
(WebInspector.JavaScriptSourceFrame.prototype.editContent):
(WebInspector.JavaScriptSourceFrame.prototype.contentChanged):
(WebInspector.JavaScriptSourceFrame.prototype.setReadonly):
(WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu.addConditionalBreakpoint.didEditBreakpointCondition):
(WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu.):
(WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu.else.editBreakpointCondition.didEditBreakpointCondition):
(WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu.else):
(WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu):
(WebInspector.JavaScriptSourceFrame.prototype.populateTextAreaContextMenu):
(WebInspector.JavaScriptSourceFrame.prototype.afterTextChanged):
(WebInspector.JavaScriptSourceFrame.prototype.beforeTextChanged):
(WebInspector.JavaScriptSourceFrame.prototype.cancelEditing):
(WebInspector.JavaScriptSourceFrame.prototype.didEditContent):
(WebInspector.JavaScriptSourceFrame.prototype._getPopoverAnchor):
(WebInspector.JavaScriptSourceFrame.prototype._onShowPopover.showObjectPopover):
(WebInspector.JavaScriptSourceFrame.prototype._onShowPopover):
(WebInspector.JavaScriptSourceFrame.prototype._onHidePopover):
(WebInspector.JavaScriptSourceFrame.prototype.addBreakpoint):
(WebInspector.JavaScriptSourceFrame.prototype.removeBreakpoint):
(WebInspector.JavaScriptSourceFrame.prototype._mouseDown):
(WebInspector.JavaScriptSourceFrame.prototype._editBreakpointCondition.finishEditing):
(WebInspector.JavaScriptSourceFrame.prototype._editBreakpointCondition):
(WebInspector.JavaScriptSourceFrame.prototype._createConditionElement):
(WebInspector.JavaScriptSourceFrame.prototype.setExecutionLine):
(WebInspector.JavaScriptSourceFrame.prototype.clearExecutionLine):
(WebInspector.JavaScriptSourceFrame.prototype._lineNumberAfterEditing):
(WebInspector.JavaScriptSourceFrame.prototype._onTextViewerContentLoaded):
(WebInspector.JavaScriptSourceFrameDelegate):
(WebInspector.JavaScriptSourceFrameDelegate.prototype.requestContent):
(WebInspector.JavaScriptSourceFrameDelegate.prototype.setBreakpoint):
(WebInspector.JavaScriptSourceFrameDelegate.prototype.removeBreakpoint):
(WebInspector.JavaScriptSourceFrameDelegate.prototype.updateBreakpoint):
(WebInspector.JavaScriptSourceFrameDelegate.prototype.findBreakpoint):
(WebInspector.JavaScriptSourceFrameDelegate.prototype.continueToLine):
(WebInspector.JavaScriptSourceFrameDelegate.prototype.canEditScriptSource):
(WebInspector.JavaScriptSourceFrameDelegate.prototype.setScriptSource):
(WebInspector.JavaScriptSourceFrameDelegate.prototype.setScriptSourceIsBeingEdited):
(WebInspector.JavaScriptSourceFrameDelegate.prototype.suggestedFileName):
(WebInspector.JavaScriptSourceFrameDelegate.prototype.addToWatch):
* inspector/front-end/ResourceView.js:
(WebInspector.ResourceSourceFrame):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.SourceFrameDelegateForScriptsPanel):
* inspector/front-end/SourceFrame.js:
(WebInspector.SourceFrame):
(WebInspector.SourceFrame.prototype.willHide):
(WebInspector.SourceFrame.prototype.get textViewer):
(WebInspector.SourceFrame.prototype.requestContent):
(WebInspector.SourceFrame.prototype._saveViewerState):
(WebInspector.SourceFrame.prototype._restoreViewerState):
(WebInspector.SourceFrame.prototype.beforeTextChanged):
(WebInspector.SourceFrame.prototype.afterTextChanged):
(WebInspector.SourceFrame.prototype._initializeTextViewer):
(WebInspector.SourceFrame.prototype.populateLineGutterContextMenu):
(WebInspector.SourceFrame.prototype.suggestedFileName):
(WebInspector.SourceFrame.prototype.canEditSource):
(WebInspector.SourceFrame.prototype.startEditing):
(WebInspector.SourceFrame.prototype.commitEditing):
(WebInspector.SourceFrame.prototype.didEditContent):
(WebInspector.SourceFrame.prototype.editContent):
(WebInspector.SourceFrame.prototype.cancelEditing):
(WebInspector.SourceFrame.prototype.setReadOnly):
* inspector/front-end/inspector.html:
2011-11-06 Andreas Kling <kling@webkit.org>
CSSValue: Devirtualize cssValueType().
<http://webkit.org/b/71667>
Reviewed by Antti Koivisto.
Keep the cssValueType in a CSSValue member instead of using
virtual functions.
This is part of a project to completely devirtualize CSSValue
<http://webkit.org/b/71666> and will incur a temporary object
size regression for CSSValue while the work is ongoing.
* css/CSSInheritedValue.cpp:
* css/CSSInheritedValue.h:
(WebCore::CSSInheritedValue::CSSInheritedValue):
* css/CSSInitialValue.cpp:
* css/CSSInitialValue.h:
(WebCore::CSSInitialValue::CSSInitialValue):
* css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
* css/CSSPrimitiveValue.h:
* css/CSSValue.h:
(WebCore::CSSValue::cssValueType):
(WebCore::CSSValue::CSSValue):
* css/CSSValueList.cpp:
(WebCore::CSSValueList::CSSValueList):
* css/CSSValueList.h:
2011-11-07 Pavel Feldman <pfeldman@chromium.org>
Web Inspector: introduce UserAgent override setting.
https://bugs.webkit.org/show_bug.cgi?id=71627
Reviewed by Yury Semikhatsky.
* English.lproj/localizedStrings.js:
* inspector/InspectorResourceAgent.cpp:
(WebCore::InspectorResourceAgent::clearFrontend):
(WebCore::InspectorResourceAgent::applyUserAgentOverride):
(WebCore::InspectorResourceAgent::setUserAgentOverride):
* inspector/front-end/HelpScreen.js:
(WebInspector.HelpScreen):
(WebInspector.HelpScreen.prototype.show):
(WebInspector.HelpScreen.prototype._onBlur):
* inspector/front-end/NetworkManager.js:
(WebInspector.NetworkManager.prototype._cacheDisabledSettingChanged):
(WebInspector.NetworkManager.prototype._userAgentSettingChanged):
* inspector/front-end/Settings.js:
(WebInspector.Settings):
* inspector/front-end/SettingsScreen.js:
(WebInspector.SettingsScreen):
(WebInspector.SettingsScreen.prototype._createSelectSetting.get for):
(WebInspector.SettingsScreen.prototype._createCustomSetting):
(WebInspector.SettingsScreen.prototype._createUserActionControl.checkboxClicked):
(WebInspector.SettingsScreen.prototype._createUserAgentSelectRowElement.get const):
(WebInspector.SettingsScreen.prototype._createUserAgentSelectRowElement.textDoubleClicked):
(WebInspector.SettingsScreen.prototype._createUserAgentSelectRowElement.textChanged):
* inspector/front-end/helpScreen.css:
(.help-table td):
(.help-content fieldset label):
2011-11-07 Alexander Pavlov <apavlov@chromium.org>
Web Inspector: autocomplete combobox for Styles sidebar and Console.
https://bugs.webkit.org/show_bug.cgi?id=65511
Reviewed by Pavel Feldman.
* inspector/front-end/ConsoleView.js:
(WebInspector.ConsoleView):
* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylePropertyTreeElement.prototype):
():
* inspector/front-end/TextPrompt.js:
(WebInspector.TextPrompt):
(WebInspector.TextPrompt.prototype.setSuggestBoxEnabled):
(WebInspector.TextPrompt.prototype._attachInternal):
(WebInspector.TextPrompt.prototype.applySuggestion):
(WebInspector.TextPrompt.prototype.acceptSuggestion):
(WebInspector.TextPromptWithHistory):
* inspector/front-end/inspector.css:
(.suggest-box.generic-suggest):
(.suggest-box.generic-suggest.above-anchor):
(.suggest-box.generic-suggest .content):
2011-11-07 Pavel Feldman <pfeldman@chromium.org>
Web Inspector: split script-formatter test into multiple tests.
https://bugs.webkit.org/show_bug.cgi?id=71607
Reviewed by Yury Semikhatsky.
Tests: inspector/debugger/script-formatter-breakpoints.html
inspector/debugger/script-formatter-console.html
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype._removeSourceFrame):
2011-11-07 Keishi Hattori <keishi@webkit.org>
Change ColorChooser from singleton to ordinary object
https://bugs.webkit.org/show_bug.cgi?id=71644
Reviewed by Kent Tamura.
Changing WebCore::ColorChooser from a singleton to an ordinary object can broaden how browsers implement the color chooser interface.
* WebCore.exp.in:
* html/ColorInputType.cpp:
(WebCore::ColorInputType::~ColorInputType):
(WebCore::ColorInputType::setValue): If a chooser exists, calls Chrome::setSelectedColorInColorChooser
(WebCore::ColorInputType::handleDOMActivateEvent):
(WebCore::ColorInputType::detach):
(WebCore::ColorInputType::didCleanup): Called after cleanup is complete.
(WebCore::ColorInputType::cleanupColorChooser): Renamed from cleanupColorChooserIfCurrentClient.
* html/ColorInputType.h:
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::selectColorInColorChooser):
* html/HTMLInputElement.h:
* loader/EmptyClients.h:
(WebCore::EmptyChromeClient::cleanupColorChooser): Added colorChooser argument because there are many WebCore::ColorChoosers now.
(WebCore::EmptyChromeClient::setSelectedColorInColorChooser): Ditto.
* page/Chrome.cpp:
(WebCore::Chrome::cleanupColorChooser): Added colorChooser argument because there are many WebCore::ColorChoosers now.
(WebCore::Chrome::setSelectedColorInColorChooser): Ditto.
* page/Chrome.h:
* page/ChromeClient.h:
* platform/ColorChooser.cpp:
(WebCore::ColorChooserClient::~ColorChooserClient):
(WebCore::ColorChooserClient::newColorChooser): Creates a new color chooser that is connected to itself.
(WebCore::ColorChooserClient::discardChooser): Discards the connected color chooser.
(WebCore::ColorChooser::ColorChooser): ColorChooser is RefCounted.
(WebCore::ColorChooser::create): Creates a ColorChooser that is connected to the given ColorChooserClient.
(WebCore::ColorChooser::~ColorChooser):
(WebCore::ColorChooser::didChooseColor): Called from WebKit side when user chose a color. Calls ColorChooserClient::didChooseColor
(WebCore::ColorChooser::didCleanup): Called from WebKit side when user color chooser was cleaned up. Calls ColorChooserClient::didCleanup
* platform/ColorChooser.h:
(WebCore::ColorChooserClient::chooser): Returns the current ColorChooser.
(WebCore::ColorChooser::disconnectClient): Disconnects the ColorChooserClient.
* testing/Internals.cpp:
(WebCore::Internals::selectColorInColorChooser): Added element argument. This calls didChooseColor on the ColorChooser of that element.
* testing/Internals.h:
* testing/Internals.idl: Removed connectColorChooserClient and updated selectColorInColorChooser.
2011-11-07 Alexander Pavlov <apavlov@chromium.org>
Web Inspector: Cannot edit elements commented with <!--
https://bugs.webkit.org/show_bug.cgi?id=71357
Reviewed by Pavel Feldman.
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::getOuterHTML):
(WebCore::InspectorDOMAgent::setOuterHTML):
* inspector/front-end/ElementsTreeOutline.js:
(WebInspector.ElementsTreeOutline.prototype.populateContextMenu):
(WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
(WebInspector.ElementsTreeElement.prototype._populateTextContextMenu):
(WebInspector.ElementsTreeElement.prototype._populateNodeContextMenu):
2011-11-06 Noel Gordon <noel.gordon@gmail.com>
Fix some style issues in ImageBuffer.h
https://bugs.webkit.org/show_bug.cgi?id=71649
Reviewed by Kent Tamura.
No new tests. Style change only.
* platform/graphics/ImageBuffer.h:
2011-11-06 Keishi Hattori <keishi@webkit.org>
InputType::fallbackValue and defaultValue should be const
https://bugs.webkit.org/show_bug.cgi?id=71641
Reviewed by Kent Tamura.
Changing InputType::fallbackValue and defaultValue to const. Also adding OVERRIDE.
* html/BaseCheckableInputType.cpp:
(WebCore::BaseCheckableInputType::fallbackValue):
* html/BaseCheckableInputType.h:
* html/ColorInputType.cpp:
(WebCore::ColorInputType::fallbackValue):
* html/ColorInputType.h:
* html/InputType.cpp:
(WebCore::InputType::fallbackValue):
(WebCore::InputType::defaultValue):
* html/InputType.h:
* html/RangeInputType.cpp:
(WebCore::RangeInputType::fallbackValue):
* html/RangeInputType.h:
* html/ResetInputType.cpp:
(WebCore::ResetInputType::defaultValue):
* html/ResetInputType.h:
* html/SubmitInputType.cpp:
(WebCore::SubmitInputType::defaultValue):
* html/SubmitInputType.h:
2011-11-06 Keishi Hattori <keishi@webkit.org>
Remove ColorInputType::handleClickEvent
https://bugs.webkit.org/show_bug.cgi?id=71640
Reviewed by Kent Tamura.
When you click the input color element, both ColorInputType::handleClickEvent and
ColorInputType::handleDOMActivateEvent are called, causing Chrome::openColorChooser
to be called too many times.
* html/ColorInputType.cpp: Removed ColorInputType::handleClickEvent
* html/ColorInputType.h: Removed ColorInputType::handleClickEvent
2011-11-06 Keishi Hattori <keishi@webkit.org>
Remove extra semicolon in ColorInputType
https://bugs.webkit.org/show_bug.cgi?id=71639
Reviewed by Kent Tamura.
* html/ColorInputType.cpp:
(WebCore::ColorInputType::setValue):
2011-11-06 Dominic Cooney <dominicc@chromium.org>
Remove initBeforeLoadEvent method
https://bugs.webkit.org/show_bug.cgi?id=71636
Reviewed by Adam Barth.
Test: fast/dom/Window/window-properties.html
* dom/BeforeLoadEvent.h:
* dom/BeforeLoadEvent.idl:
2011-11-06 Adam Barth <abarth@webkit.org>
Don't crash when a context hasn't been created. This fixed a
testing-only crash on the bots in the Chromium port.
* testing/v8/WebCoreTestSupport.cpp:
(WebCoreTestSupport::resetInternalsObject):
2011-11-06 Darin Adler <darin@apple.com>
Leaks seen in RenderFlowThread::setRegionRangeForBox on Leaks bot
https://bugs.webkit.org/show_bug.cgi?id=71260
Reviewed by Mark Rowe.
Memory leak fix covered by existing tests.
* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::removeRenderBoxRegionInfo):
Instead of calling remove, call take and then delete, since the
values of the map are owned and need to be deleted when removed.
2011-11-06 Adam Barth <abarth@webkit.org>
Implement the sandbox directive for CSP
https://bugs.webkit.org/show_bug.cgi?id=71604
Reviewed by Sam Weinig.
At TPAC, Microsoft was pushing pretty hard to add the sandbox directive
to CSP. There's a question about whether it's going to be in CSP 1.0
or CSP 1.1, but it seems to be clearly headed into the spec.
This patch implements the sandbox directive for CSP. It's built on the
same machinery we use for the sandbox attribute for iframe. Now that
I've done the implementation, I'm going to write up some concrete text
for the spec.
Tests: http/tests/security/contentSecurityPolicy/sandbox-allow-scripts-subframe.html
http/tests/security/contentSecurityPolicy/sandbox-allow-scripts.html
http/tests/security/contentSecurityPolicy/sandbox-empty-subframe.html
http/tests/security/contentSecurityPolicy/sandbox-empty.html
* page/ContentSecurityPolicy.cpp:
(WebCore::ContentSecurityPolicy::ContentSecurityPolicy):
(WebCore::ContentSecurityPolicy::applySandboxPolicy):
(WebCore::ContentSecurityPolicy::addDirective):
* page/ContentSecurityPolicy.h:
2011-11-03 Filip Pizlo <fpizlo@apple.com>
JSC should be able to sample itself in a more flexible way than just sampling flags
https://bugs.webkit.org/show_bug.cgi?id=71522
Reviewed by Gavin Barraclough.
No new tests, since no functionality changed.
* ForwardingHeaders/wtf/Spectrum.h: Added.
2011-11-06 Nikita Vasilyev <me@elv1s.ru>
Web Inspector: Unindent edited text by pressing Shift + Tab
https://bugs.webkit.org/show_bug.cgi?id=70181
Indent and unindent text in all selected lines.
Reviewed by Pavel Feldman.
* inspector/front-end/TextViewer.js:
(WebInspector.TextEditorMainPanel.prototype.unindentLines.get var):
(WebInspector.TextEditorMainPanel.prototype.unindentLines):
2011-11-05 Martin Robinson <mrobinson@igalia.com>
Remove ContextShadow
https://bugs.webkit.org/show_bug.cgi?id=71617
Reviewed by Ariya Hidayat.
No new tests. This patch does not change behavior.
Completely remove ContextShadow. It's unused, unmaintained, and
replaced by ShadowBlur.
* WebCore.gypi: Remove references to deleted files.
* WebCore.vcproj/WebCore.vcproj: Remove references to deleted files.
* platform/graphics/ContextShadow.cpp: Removed.
* platform/graphics/ContextShadow.h: Removed.
* platform/gtk/WidgetRenderingContext.cpp: Remove now-inaccurate TODO.
2011-11-04 Jon Lee <jonlee@apple.com>
Dragging a file onto <input type="file"> should give distinct visual feedback
https://bugs.webkit.org/show_bug.cgi?id=13897
<rdar://problem/5232483>
Reviewed by Dan Bernstein.
When hovering over a file input element, we set the button's state to active
to differentiate dragging one file over the input element (which populates that
element) versus over the document (which would load the file into the view).
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::HTMLInputElement):
(WebCore::HTMLInputElement::canReceiveDroppedFiles):
(WebCore::HTMLInputElement::setCanReceiveDroppedFiles): If set, the element
is updated, which sets the active state on the button control.
* html/HTMLInputElement.h: Add a boolean member representing whether the file
input can receive dropped files.
* page/DragController.cpp:
(WebCore::DragController::DragController): Update/set the file input that
can receive dropped files.
(WebCore::DragController::dragExited):
(WebCore::DragController::tryDocumentDrag):
(WebCore::DragController::concludeEditDrag):
* page/DragController.h:
* rendering/RenderFileUploadControl.cpp:
(WebCore::RenderFileUploadControl::updateFromElement): Sets the button active
state if the input can receive dropped files.
2011-11-05 Darin Adler <darin@apple.com>
Improve pending resource hash table code, including fixing a memory leak
https://bugs.webkit.org/show_bug.cgi?id=71616
Reviewed by Adam Roben.
Memory leak fix and refactoring covered by existing tests.
* svg/SVGDocumentExtensions.cpp:
(WebCore::SVGDocumentExtensions::addPendingResource): Replace the combination
of contains, get, and add with just add, removing an extra unneeded hash table
lookup each time this function is called.
(WebCore::SVGDocumentExtensions::isElementInPendingResources): Added a comment
about the performance of this function. Removed unnecessary check for an empty
map; the code already efficiently exits doing nothing without the check.
(WebCore::SVGDocumentExtensions::removeElementFromPendingResources): Removed
unnecessary check for an empty map; the code already efficiently does nothing
without the check. Use removePendingResource rather than calling remove to
avoid leaking the SVGPendingElements set.
(WebCore::SVGDocumentExtensions::removePendingResource): Replace the
combination of get and remove with a call to take, removing an extra
unneeded hash table lookup each time this function is called
2011-11-05 Dan Winship <danw@gnome.org>
[GTK] Actually use the user_data arguments to gio async functions
instead of using g_object_set_data() to basically reinvent them.
https://bugs.webkit.org/show_bug.cgi?id=71614
Reviewed by Martin Robinson.
No new tests; behavior is unchanged
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::ResourceHandleInternal::~ResourceHandleInternal):
(WebCore::cleanupSoupRequestOperation):
(WebCore::sendRequestCallback):
(WebCore::startHTTPRequest):
(WebCore::ResourceHandle::platformSetDefersLoading):
(WebCore::closeCallback):
(WebCore::readCallback):
(WebCore::startNonHTTPRequest):
2011-11-05 Dan Winship <danw@gnome.org>
[GTK] Don't unnecessarily 0-initialize read buffers.
https://bugs.webkit.org/show_bug.cgi?id=71612
Reviewed by Martin Robinson.
No new tests; behavior is unchanged
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::sendRequestCallback):
2011-11-05 Dan Winship <danw@gnome.org>
[GTK] Remove a bit of dead code
https://bugs.webkit.org/show_bug.cgi?id=71613
Reviewed by Martin Robinson.
No new tests; behavior is unchanged
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::readCallback): the caller that needed the convertToUTF16
code was removed in r77408, but the code was accidentally left
behind.
2011-11-05 Adam Barth <abarth@webkit.org>
Refactor sandbox flag calculation to make implementing CSP sandbox directive easier
https://bugs.webkit.org/show_bug.cgi?id=71603
Reviewed by Sam Weinig.
This patch changes the way we compute sandbox bits. Instead of caching
the result on Frame, we always compute the sandbox bits for a new
document fresh from the inputs to the process (the sandbox attribute
and the forced sandbox flags).
This patch is just refactoring. It shouldn't have an observable
effects. This patch makes it easier to implement CSP's sandbox
directive in a subsequent patch.
* dom/Document.cpp:
(WebCore::Document::initSecurityContext):
* html/HTMLFrameOwnerElement.cpp:
(WebCore::HTMLFrameOwnerElement::setSandboxFlags):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::FrameLoader):
(WebCore::FrameLoader::init):
(WebCore::FrameLoader::effectiveSandboxFlags):
(WebCore::createWindow):
* loader/FrameLoader.h:
(WebCore::FrameLoader::forceSandboxFlags):
2011-11-05 Andreas Kling <kling@webkit.org>
CSSStyleDeclaration: Devirtualize isMutableStyleDeclaration().
https://bugs.webkit.org/show_bug.cgi?id=71609
Reviewed by Anders Carlsson.
Add a bool member to CSSStyleDeclaration that determines whether
it's a CSSMutableDeclaration.
* css/CSSMutableStyleDeclaration.cpp:
(WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
* css/CSSMutableStyleDeclaration.h:
* css/CSSStyleDeclaration.cpp:
(WebCore::CSSStyleDeclaration::CSSStyleDeclaration):
* css/CSSStyleDeclaration.h:
(WebCore::CSSStyleDeclaration::isMutableStyleDeclaration):
2011-11-05 Andreas Kling <kling@webkit.org>
Web Inspector: Simplify InspectorCSSAgent::inlineStyleElement().
https://bugs.webkit.org/show_bug.cgi?id=71608
Reviewed by Pavel Feldman.
Use CSSMutableStyleDeclaration::isInlineStyleDeclaration() instead
of doing the same checks manually.
* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::inlineStyleElement):
2011-11-05 Simon Hausmann <simon.hausmann@nokia.com>
Reviewed by Andreas Kling.
Removed duplicated npruntime_internal.h from bindings/v8
in favour of the one from bridge/, which has a few more
#undefs.
https://bugs.webkit.org/show_bug.cgi?id=45617
* bindings/v8/npruntime_internal.h: Removed.
* Target.pri: Removed strange occurence here.
2011-11-05 Simon Hausmann <simon.hausmann@nokia.com>
Remove empty and unused dom/PositionCreationFunctions.h header file
https://bugs.webkit.org/show_bug.cgi?id=71552
Reviewed by Kenneth Rohde Christiansen.
The file is empty (0 bytes) and not used anywhere. It was added in
2009 in r48234 but hasn't been touched since then.
* WebCore.gypi:
* dom/PositionCreationFunctions.h: Removed.
2011-11-04 Adam Barth <abarth@webkit.org>
Fix assert after running tests in dumpAsText folders. See
https://bugs.webkit.org/show_bug.cgi?id=71599 for discussion. This
patch reverts part of a slightly over-agressive refactoring in
http://trac.webkit.org/changeset/99347.
* dom/Document.cpp:
(WebCore::Document::setIsViewSource):
2011-11-04 Ben Wells <benwells@chromium.org>
Canvas drawImage(canvas) with SourceIn, DestinationIn, SourceOut, DestinationAtop and Copy have errors
https://bugs.webkit.org/show_bug.cgi?id=71537
Reviewed by Stephen White.
drawImage(canvas) now uses the same approach as drawImage(image) to fix these errors.
Test: fast/canvas/canvas-composite-canvas.html
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::drawImage):
(WebCore::drawImageToContext):
(WebCore::CanvasRenderingContext2D::fullCanvasCompositedDrawImage):
* html/canvas/CanvasRenderingContext2D.h:
2011-11-04 Adam Barth <abarth@webkit.org>
JavaScript URLs execute in sandboxed iframes
https://bugs.webkit.org/show_bug.cgi?id=71599
Reviewed by Eric Seidel.
This patch fixes the intentional regression I introduced earlier today
by moving the sandbox bits from SecurityOrigin to Document. In the
process, I renamed SecurityOrigin::createEmpty to
SecurityOrigin::createUnique to better align with HTML5 terminology.
* WebCore.exp.in:
* bindings/ScriptControllerBase.cpp:
(WebCore::ScriptController::canExecuteScripts):
* dom/Document.cpp:
(WebCore::Document::setIsViewSource):
(WebCore::Document::initSecurityContext):
* dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::ScriptExecutionContext):
* dom/ScriptExecutionContext.h:
(WebCore::ScriptExecutionContext::sandboxFlags):
(WebCore::ScriptExecutionContext::enforceSandboxFlags):
(WebCore::ScriptExecutionContext::isSandboxed):
* html/HTMLAppletElement.cpp:
(WebCore::HTMLAppletElement::canEmbedJava):
* loader/DocumentWriter.cpp:
(WebCore::DocumentWriter::begin):
* loader/FrameLoader.cpp:
(WebCore::isDocumentSandboxed):
(WebCore::FrameLoader::addHTTPOriginIfNeeded):
* loader/PolicyChecker.cpp:
(WebCore::PolicyChecker::checkNewWindowPolicy):
* loader/SubframeLoader.cpp:
(WebCore::SubframeLoader::requestPlugin):
* page/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::SecurityOrigin):
(WebCore::SecurityOrigin::create):
(WebCore::SecurityOrigin::createUnique):
* page/SecurityOrigin.h:
2011-11-04 Joseph Pecoraro <pecoraro@apple.com>
Potential Unused Param Build Issue
https://bugs.webkit.org/show_bug.cgi?id=71598
Reviewed by Kent Tamura.
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::platformHandleKeydownEvent):
2011-11-04 Stephen Chenney <schenney@chromium.org>
Crash in ScrollAnimator.cpp
https://bugs.webkit.org/show_bug.cgi?id=69865
The code in ScrollAnimator assumes that horizontal per-page mouse
wheel events cannot happen, which is not true. This patch adds layout
tests for all paging wheel event situations and fixes the broken
horizontal case.
Reviewed by Anders Carlsson
Tests: fast/events/platform-wheelevent-paging-x-in-non-scrolling-div.html
fast/events/platform-wheelevent-paging-x-in-non-scrolling-page.html
fast/events/platform-wheelevent-paging-x-in-scrolling-div.html
fast/events/platform-wheelevent-paging-x-in-scrolling-page.html
fast/events/platform-wheelevent-paging-xy-in-scrolling-div.html
fast/events/platform-wheelevent-paging-xy-in-scrolling-page.html
fast/events/platform-wheelevent-paging-y-in-non-scrolling-div.html
fast/events/platform-wheelevent-paging-y-in-non-scrolling-page.html
fast/events/platform-wheelevent-paging-y-in-scrolling-div.html
fast/events/platform-wheelevent-paging-y-in-scrolling-page.html
* platform/PlatformWheelEvent.h: Modify the comment to reflect the new
reality.
* platform/ScrollAnimator.cpp:
(WebCore::ScrollAnimator::handleWheelEvent): Modified the code to handle the
horizontal per-page wheel event case.
2011-11-04 Rafael Weinstein <rafaelw@chromium.org>
[MutationObservers] Refactor MutationObserverRegistration into its own class that is
referenced by registration points
https://bugs.webkit.org/show_bug.cgi?id=71577
Reviewed by Ojan Vafai.
MutationObserverRegistration is now owned by the node which is observed. If transient
registrations are created, they hold a reference to this object.
The ownership relationship between Node, MutationObserverRegistration &
WebKitMutationObserver now goes like this: WebKitMutationObserver is RefCounted -
and only script and MutationObserverRegistration take references to it. Exactly
one MutationObserverRegistration can exist for any given tuple of
<Node, WebKitMutationObserver>. This represents an observer observing at a given
Node. Further observation by the same observer has the effect of *resetting*
the existing observation. The Node owns the MutationObserverRegistration.
Transient registrations are only pointers to the registration. The registration
keeps a RefPtr to its registration node and all of its transient registration nodes
as long as *any* transient registrations exist. This ensures the registration
and all registration nodes stay alive at least until the end of the microtask.
No tests required - refactor only.
* GNUmakefile.list.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* dom/CharacterData.cpp:
(WebCore::enqueueCharacterDataMutationRecord):
* dom/ChildListMutationScope.cpp:
(WebCore::MutationAccumulationRouter::MutationAccumulationRouter::incrementScopingLevel):
* dom/Element.cpp:
(WebCore::enqueueAttributesMutationRecord):
* dom/MutationObserverRegistration.cpp: Added.
(WebCore::MutationObserverRegistration::create):
(WebCore::MutationObserverRegistration::MutationObserverRegistration):
(WebCore::MutationObserverRegistration::~MutationObserverRegistration):
(WebCore::MutationObserverRegistration::resetObservation):
(WebCore::MutationObserverRegistration::observedSubtreeNodeWillDetach):
(WebCore::MutationObserverRegistration::clearTransientRegistrations):
(WebCore::MutationObserverRegistration::unregister):
(WebCore::MutationObserverRegistration::shouldReceiveMutationFrom):
* dom/MutationObserverRegistration.h: Copied from Source/WebCore/dom/WebKitMutationObserver.h.
(WebCore::MutationObserverRegistration::observer):
(WebCore::MutationObserverRegistration::deliveryOptions):
* dom/Node.cpp:
(WebCore::Node::clearRareData):
(WebCore::Node::mutationObserverRegistry):
(WebCore::Node::transientMutationObserverRegistry):
(WebCore::addObserverToDeliverySet):
(WebCore::Node::collectMatchingObserversForMutation):
(WebCore::Node::getRegisteredMutationObserversOfType):
(WebCore::Node::registerMutationObserver):
(WebCore::Node::unregisterMutationObserver):
(WebCore::Node::registerTransientMutationObserver):
(WebCore::Node::unregisterTransientMutationObserver):
(WebCore::Node::notifyMutationObserversNodeWillDetach):
* dom/Node.h:
* dom/NodeRareData.h:
(WebCore::NodeRareData::mutationObserverRegistry):
(WebCore::NodeRareData::ensureMutationObserverRegistry):
(WebCore::NodeRareData::transientMutationObserverRegistry):
(WebCore::NodeRareData::ensureTransientMutationObserverRegistry):
* dom/WebKitMutationObserver.cpp:
(WebCore::WebKitMutationObserver::~WebKitMutationObserver):
(WebCore::WebKitMutationObserver::observe):
(WebCore::WebKitMutationObserver::disconnect):
(WebCore::WebKitMutationObserver::observationStarted):
(WebCore::WebKitMutationObserver::observationEnded):
(WebCore::WebKitMutationObserver::deliver):
* dom/WebKitMutationObserver.h:
2011-11-04 Raymond Toy <rtoy@google.com>
Add methods to compute magnitude and phase response for biquads
https://bugs.webkit.org/show_bug.cgi?id=71055
Reviewed by Kenneth Russell.
* platform/audio/Biquad.cpp:
(WebCore::Biquad::getFrequencyResponse):
Computes the magnitude and phase (radians) response for the given
biquad at the specified set of (normalized) frequencies.
* platform/audio/Biquad.h:
Declare getFrequencyResponse.
* webaudio/BiquadDSPKernel.cpp:
(WebCore::BiquadDSPKernel::updateCoefficientsIfNecessary):
Factor out the code that updates filter coefficients. Allow the
caller to specify whether the smoothed values are used or not and
whether we do the update even if the coefficients are not dirty.
(WebCore::BiquadDSPKernel::process):
Use updateCoefficientsIfNecessary to update.
(WebCore::BiquadDSPKernel::getFrequencyResponse):
Implmentation of getFrequencyResponse.
* webaudio/BiquadDSPKernel.h:
Declare getFrequencyResponse.
* webaudio/BiquadFilterNode.cpp:
(WebCore::BiquadFilterNode::getFrequencyResponse):
Implementation of getFrequencyResponse
* webaudio/BiquadFilterNode.h:
Declare getFrequencyResponse.
* webaudio/BiquadFilterNode.idl:
Define interface to getFrequencyResponse.
* webaudio/BiquadProcessor.cpp:
(WebCore::BiquadProcessor::checkForDirtyCoefficients):
Factor out code for checking for dirty coefficients.
(WebCore::BiquadProcessor::process):
Use checkForDirtyCoefficients.
(WebCore::BiquadProcessor::getFrequencyResponse):
Implementation of getFrequencyResponse
* webaudio/BiquadProcessor.h:
Declare getFrequencyResponse.
2011-11-04 Benjamin Poulain <bpoulain@apple.com>
[Mac] ResourceRequest's nsURLRequest() does not differentiate null and empty URLs with CFNetwork
https://bugs.webkit.org/show_bug.cgi?id=71539
Reviewed by David Kilzer.
In order to have CFURL and NSURL to be consistent when both are used on Mac,
KURL::createCFURL() is changed to support empty URL values.
* platform/cf/KURLCFNet.cpp:
(WebCore::createCFURLFromBuffer):
(WebCore::KURL::createCFURL):
* platform/mac/KURLMac.mm:
(WebCore::KURL::operator NSURL *):
(WebCore::KURL::createCFURL):
2011-11-04 Fady Samuel <fsamuel@chromium.org>
CSS Aspect Ratio Property Parsing Stage
https://bugs.webkit.org/show_bug.cgi?id=70707
Reviewed by Ojan Vafai.
Added parsing support for -webkit-aspect-ratio CSS property.
The spec can be found here: http://www.xanthir.com/blog/b4810
Test: fast/css/aspect-ratio-parsing-tests.html
* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* css/CSSAspectRatioValue.cpp: Added.
(WebCore::CSSAspectRatioValue::~CSSAspectRatioValue):
(WebCore::CSSAspectRatioValue::cssText):
* css/CSSAspectRatioValue.h: Added.
(WebCore::CSSAspectRatioValue::create):
(WebCore::CSSAspectRatioValue::numeratorValue):
(WebCore::CSSAspectRatioValue::denominatorValue):
(WebCore::CSSAspectRatioValue::CSSAspectRatioValue):
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSMutableStyleDeclaration.cpp:
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseAspectRatio):
* css/CSSParser.h:
* css/CSSProperty.cpp:
(WebCore::CSSProperty::isInheritedProperty):
* css/CSSPropertyNames.in:
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
2011-11-04 Adam Barth <abarth@webkit.org>
Delete FrameLoader::isSandboxed
https://bugs.webkit.org/show_bug.cgi?id=71591
Reviewed by Eric Seidel.
We should always use document->securityOrigin()->isSandboxed because
that picks up the sandbox bits that are frozen on the document rather
than the ones that could change on the Frame.
This patch starts preparing us to implement the CSP sandbox directive,
which will cause use to have document sandbox bits without any attribute.
* bindings/ScriptControllerBase.cpp:
(WebCore::ScriptController::canExecuteScripts):
- This call site was the only functional site left where these two
could be different. This patch causes one progression and one
regression. The progression is that we now correctly freeze the
allow-scripts bit when a document is created, but the regression
is we now allow the execution of JavaScript URLs, as noted in
fast/frames/sandboxed-iframe-scripting.html. That's even more of
an edge case, so I think it's a win overall.
* loader/DocumentWriter.cpp:
(WebCore::DocumentWriter::begin):
- I don't think this part of the change is testable. There's no
time to execute script between when the bits get copied off the
Frame and when they're checked, so there's no time to change them.
* loader/FrameLoader.cpp:
- Update FIXME comment that is now fixed.
* loader/FrameLoader.h:
- Remove wrong API.
2011-11-04 Adam Barth <abarth@webkit.org>
When CSP blocks mixed content, we shouldn't also warn about mixed content
https://bugs.webkit.org/show_bug.cgi?id=71588
Reviewed by Eric Seidel.
Getting both warnings confused some early adopters. They thought the
insecure loads were happening even though they blocked them with CSP.
This patch restricts the mixed content warnings to show only when the
load isn't already blocked by CSP or by the embedder.
Test: http/tests/security/contentSecurityPolicy/block-mixed-content-hides-warning.html
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::canRequest):
2011-11-04 Michael Nordman <michaeln@google.coom>
Allow ScriptExecutionContext::addMessage to be called from background threads.
https://bugs.webkit.org/show_bug.cgi?id=71575
Reviewed by Nate Chapin.
No new tests.
* dom/Document.cpp:
(WebCore::Document::addMessage):
* dom/ScriptExecutionContext.cpp:
* dom/ScriptExecutionContext.h:
(WebCore::ScriptExecutionContext::AddConsoleMessageTask::create):
(WebCore::ScriptExecutionContext::AddConsoleMessageTask::performTask):
(WebCore::ScriptExecutionContext::AddConsoleMessageTask::AddConsoleMessageTask):
* workers/WorkerContext.cpp:
(WebCore::WorkerContext::addMessage):
2011-11-04 Shawn Singh <shawnsingh@chromium.org>
[chromium] Re-named the original scissorRect to clipRect
https://bugs.webkit.org/show_bug.cgi?id=71580
Reviewed by James Robinson.
Existing tests are updated appropriately; and no new behavior is
introduced by this patch.
* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::LayerChromium):
* platform/graphics/chromium/LayerChromium.h:
(WebCore::LayerChromium::setUsesLayerClipping):
(WebCore::LayerChromium::usesLayerClipping):
(WebCore::LayerChromium::clipRect):
(WebCore::LayerChromium::setClipRect):
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::drawLayersInternal):
(WebCore::LayerRendererChromium::drawLayer):
* platform/graphics/chromium/RenderSurfaceChromium.h:
(WebCore::RenderSurfaceChromium::clipRect):
(WebCore::RenderSurfaceChromium::setClipRect):
* platform/graphics/chromium/cc/CCLayerImpl.cpp:
(WebCore::CCLayerImpl::CCLayerImpl):
* platform/graphics/chromium/cc/CCLayerImpl.h:
(WebCore::CCLayerImpl::setUsesLayerClipping):
(WebCore::CCLayerImpl::usesLayerClipping):
(WebCore::CCLayerImpl::clipRect):
(WebCore::CCLayerImpl::setClipRect):
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::updateLayers):
* platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
(WebCore::layerShouldBeSkipped):
(WebCore::calculateDrawTransformsAndVisibilityInternal):
* platform/graphics/chromium/cc/CCLayerTreeHostCommon.h:
(WebCore::CCLayerTreeHostCommon::calculateVisibleLayerRect):
* platform/graphics/chromium/cc/CCRenderSurface.cpp:
(WebCore::CCRenderSurface::draw):
* platform/graphics/chromium/cc/CCRenderSurface.h:
(WebCore::CCRenderSurface::setClipRect):
(WebCore::CCRenderSurface::clipRect):
2011-11-04 Dmitry Lomov <dslomov@google.com>
Add the ability to transfer ArrayBuffer and "neuter" it.
https://bugs.webkit.org/show_bug.cgi?id=71535
Reviewed by David Levin.
* html/canvas/ArrayBuffer.cpp:
(WebCore::ArrayBuffer::create):
(WebCore::ArrayBuffer::ArrayBuffer):
(WebCore::ArrayBuffer::data):
(WebCore::ArrayBuffer::byteLength):
(WebCore::ArrayBuffer::transfer):
(WebCore::ArrayBufferContents::~ArrayBufferContents):
(WebCore::ArrayBufferContents::tryAllocate):
(WebCore::ArrayBuffer::addView):
(WebCore::ArrayBuffer::removeView):
* html/canvas/ArrayBuffer.h:
(WebCore::ArrayBufferContents::ArrayBufferContents):
(WebCore::ArrayBufferContents::data):
(WebCore::ArrayBufferContents::sizeInBytes):
(WebCore::ArrayBufferContents::release):
(WebCore::ArrayBuffer::~ArrayBuffer):
* html/canvas/ArrayBufferView.cpp:
(WebCore::ArrayBufferView::ArrayBufferView):
(WebCore::ArrayBufferView::~ArrayBufferView):
(WebCore::ArrayBufferView::neuter):
* html/canvas/ArrayBufferView.h:
* html/canvas/DataView.cpp:
(WebCore::DataView::neuter):
(WebCore::DataView::neuterBinding):
* html/canvas/DataView.h:
* html/canvas/TypedArrayBase.h:
(WebCore::TypedArrayBase::neuter):
(WebCore::TypedArrayBase::neuterBinding):
2011-11-04 Noel Gordon <noel.gordon@gmail.com>
[Chromium] Implement canvas.toDataURL("image/webp")
https://bugs.webkit.org/show_bug.cgi?id=70172
Reviewed by Adam Barth.
Add a webp image encoder for the chromium skia ports, add it to the canvas
element toDataURL() flow with support for an optional quality [0.0-1.0].
Use a webp compression method (3) that provides good speed and compression
performance for this image format, and works well for various input image
types: line-art, screen-shots, and photographic images.
Test: fast/canvas/canvas-toDataURL-webp.html
* WebCore.gypi:
* platform/chromium/MIMETypeRegistryChromium.cpp:
(WebCore::MIMETypeRegistry::isSupportedImageMIMETypeForEncoding):
* platform/graphics/skia/ImageBufferSkia.cpp:
(WebCore::ImageToDataURL):
* platform/image-encoders/skia/WEBPImageEncoder.cpp: Added.
(WebCore::writeOutput):
(WebCore::importPicture):
(WebCore::importPictureBGRA):
(WebCore::importPictureRGBA):
(WebCore::encodePixels):
(WebCore::WEBPImageEncoder::encode):
* platform/image-encoders/skia/WEBPImageEncoder.h: Added.
2011-11-04 Patrick Gansterer <paroga@webkit.org>
[Qt] Remove ENABLE_SQLITE from qmake files
https://bugs.webkit.org/show_bug.cgi?id=71546
Reviewed by Simon Hausmann.
ENABLE_SQLITE is required to build WebCore, so remove conditions.
* Target.pri:
2011-11-04 Nate Chapin <japhet@chromium.org>
[V8] Null out V8NPObject::rootObject when the owning
Frame goes away.
https://bugs.webkit.org/show_bug.cgi?id=71569
Reviewed by Adam Barth.
No new tests, this has only been successfully triggered
using ppapi flash.
* bindings/v8/V8Helpers.cpp:
(WebCore::toV8Context):
* bindings/v8/npruntime.cpp:
2011-11-04 Vineet Chaudhary <vineet.chaudhary@motorola.com>
Send the submissions character encoding in hidden _charset_ field.
https://bugs.webkit.org/show_bug.cgi?id=19079
Reviewed by Darin Adler.
Spec reference http://dev.w3.org/html5/spec/Overview.html#attr-fe-name-charset
If _charset_ used as the name of a hidden control it should send character encoding
as value while submissions.
Tests: http/tests/misc/char-encoding-in-hidden-charset-field-default.html
http/tests/misc/char-encoding-in-hidden-charset-field-with-Big5.html
http/tests/misc/char-encoding-in-hidden-charset-field-with-EUC-JP.html
http/tests/misc/char-encoding-in-hidden-charset-field-with-ISO-2022-JP.html
http/tests/misc/char-encoding-in-hidden-charset-field-with-Shift_JIS.html
http/tests/misc/char-encoding-in-hidden-charset-field-with-accept-charset.html
http/tests/misc/char-encoding-in-hidden-charset-field-with-get-method.html
http/tests/misc/char-encoding-in-hidden-charset-field-with-one-field.html
http/tests/misc/char-encoding-in-text-charset-field-with-value.html
http/tests/misc/char-encoding-without-charset-field.html
* html/HiddenInputType.cpp:
(WebCore::HiddenInputType::isHiddenType):
(WebCore::HiddenInputType::appendFormData): For _charset_ send value as respective encodingType.
* html/HiddenInputType.h: Override appendFormData for hidden control types.
2011-11-04 Robert Sesek <rsesek@chromium.org>
[chromium] Use Chromium's copy of libWebKitSystemInterfaceLeopard.a
https://bugs.webkit.org/show_bug.cgi?id=71563
Reviewed by Adam Barth.
Use libWebKitSystemInterfaceLeopard.a that's in the Chromium port,
rather in WebKitLibraries/.
* WebCore.gyp/WebCore.gyp:
2011-11-04 Julien Chaffraix <jchaffraix@webkit.org>
RenderLayer::styleChanged invalidates the GraphicsLayer needlessly
https://bugs.webkit.org/show_bug.cgi?id=71517
Reviewed by Simon Fraser.
Unused code removal covered by existing tests.
The current code is invalidating the whole RenderLayerBacking as part of
a style change. However this is redundant with the repainting logic which
would invalidate only the necessary bits.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::styleChanged):
Remove the invalidation code as it duplicates and defeats the repaint logic.
2011-11-04 Mihnea Ovidenie <mihnea@adobe.com>
Correct parsing of incomplete @-webkit-region rules.
https://bugs.webkit.org/show_bug.cgi?id=71514
Reviewed by Adam Barth.
Test: fast/regions/parse-incomplete-region-rule.html
Make sure to set the region rule to 0 on the fail branch.
* css/CSSGrammar.y:
2011-11-04 Adam Klein <adamk@chromium.org>
Reduce refcount churn in ChildListMutationScope
https://bugs.webkit.org/show_bug.cgi?id=71527
Reviewed by Ryosuke Niwa.
Only the ChildListMutationAccumulator needs to hold a reference to the
target node, and the added/removed children only need be ref'd if a
ChildListMutationAccumulator exists (i.e., if there are interested
observers).
* dom/ChildListMutationScope.cpp:
(WebCore::MutationAccumulationRouter::ChildListMutationAccumulator::enqueueMutationRecord):
(WebCore::MutationAccumulationRouter::MutationAccumulationRouter::childAdded):
(WebCore::MutationAccumulationRouter::MutationAccumulationRouter::willRemoveChild):
(WebCore::ChildListMutationScope::ChildListMutationScope):
(WebCore::ChildListMutationScope::~ChildListMutationScope):
(WebCore::ChildListMutationScope::childAdded):
(WebCore::ChildListMutationScope::willRemoveChild):
* dom/ChildListMutationScope.h:
* dom/ContainerNode.cpp:
(WebCore::dispatchChildInsertionEvents):
(WebCore::dispatchChildRemovalEvents):
2011-11-04 Levi Weintraub <leviw@chromium.org>
Correct usage of LayoutUnits in RenderImage and SVGImage
https://bugs.webkit.org/show_bug.cgi?id=71525
Reviewed by Darin Adler.
Correcting incorrect usage of LayoutUnits for image sizes that should be integers and fixing overloaded functions that
should be using LayoutUnits.
No new tests -- no change in behavior.
* rendering/RenderImage.cpp:
(WebCore::RenderImage::imageDimensionsChanged):
(WebCore::RenderImage::paintIntoRect):
(WebCore::RenderImage::nodeAtPoint):
(WebCore::RenderImage::computeReplacedLogicalWidth):
* rendering/RenderImage.h:
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImageChromeClient::invalidateContentsAndWindow):
2011-11-04 Adam Barth <abarth@webkit.org>
Implement allow-popups for iframe@sandbox
https://bugs.webkit.org/show_bug.cgi?id=66505
Reviewed by Darin Adler.
Enable allow-popups sandbox bit. My previous patch attempted to
forward the sandbox bits during setOpener, but that interacted poorly
with out (internal) sandboxing of the initial document. This patch
forwards the bits during createWindow, which is more targeted to the
case when a sandbox frame actually creates a new window.
* loader/FrameLoader.cpp:
(WebCore::createWindow):
* loader/PolicyChecker.cpp:
(WebCore::PolicyChecker::checkNewWindowPolicy):
2011-11-04 Kaustubh Atrawalkar <kaustubh@motorola.com>
Remove initMediaStreamEvent method
https://bugs.webkit.org/show_bug.cgi?id=71344
This method has been removed from the spec draft.
http://www.whatwg.org/specs/web-apps/current-work/multipage/video-conferencing-and-peer-to-peer-communication.html#mediastreamevent
Reviewed by Adam Barth.
No new tests. Removed method.
* mediastream/MediaStreamEvent.cpp:
* mediastream/MediaStreamEvent.h:
* mediastream/MediaStreamEvent.idl:
2011-11-04 Adam Barth <abarth@webkit.org>
Anonymous CORS fetch for WebGL texture fails when there is no appropriate server response even for the same origin requests
https://bugs.webkit.org/show_bug.cgi?id=71053
Reviewed by Darin Adler.
The crossorigin attribute should behave like XMLHttpRequest:
same-origin images pass without and CORS headers, but CORS checks are
performed for cross-origin loads. This patch better aligns our
behavior with Firefox, as discussed in the bug.
Test: http/tests/security/img-crossorigin-loads-same-origin.html
* loader/ImageLoader.cpp:
(WebCore::ImageLoader::notifyFinished):
2011-11-04 Gaurav Shah <gauravsh@chromium.org>
HTMLKeygenElement: Fix "keytype" handling in appendFormData.
https://bugs.webkit.org/show_bug.cgi?id=70617
This fixes a bug introduced by http://trac.webkit.org/changeset/97658
which causes all HTML Keygen elements with a keytype optional attribute
to be considered as unsupported.
A regression test is included.
Reviewed by Darin Adler.
Test: http/tests/misc/submit-post-keygen.html
* html/HTMLKeygenElement.cpp:
2011-11-03 Adrienne Walker <enne@google.com>
[chromium] Implement checkerboarding for missing layer tiles
https://bugs.webkit.org/show_bug.cgi?id=69585
Reviewed by James Robinson.
For tiles that have no texture or haven't even been created yet,
draw using the background color of the layer.
The only background color set is currently the non-composited content,
and all other layers use transparent black by default.
* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::pushPropertiesTo):
* platform/graphics/chromium/NonCompositedContentHost.cpp:
(WebCore::NonCompositedContentHost::setBackgroundColor):
* platform/graphics/chromium/NonCompositedContentHost.h:
* platform/graphics/chromium/cc/CCLayerImpl.cpp:
(WebCore::CCLayerImpl::setBackgroundColor):
* platform/graphics/chromium/cc/CCLayerImpl.h:
(WebCore::CCLayerImpl::backgroundColor):
* platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
(WebCore::CCTiledLayerImpl::drawTiles):
2011-11-04 Nico Weber <thakis@chromium.org>
[chromium] Remove most exit time destructors
https://bugs.webkit.org/show_bug.cgi?id=71524
Do this by using the DEFINE_STATIC_LOCAL macro, which allocates things on the heaps and then leaks them.
Reviewed by Dimitri Glazkov.
No behavior change, so no new tests.
* platform/chromium/CursorChromium.cpp:
(WebCore::pointerCursor):
(WebCore::crossCursor):
(WebCore::handCursor):
(WebCore::iBeamCursor):
(WebCore::waitCursor):
(WebCore::helpCursor):
(WebCore::eastResizeCursor):
(WebCore::northResizeCursor):
(WebCore::northEastResizeCursor):
(WebCore::northWestResizeCursor):
(WebCore::southResizeCursor):
(WebCore::southEastResizeCursor):
(WebCore::southWestResizeCursor):
(WebCore::westResizeCursor):
(WebCore::northSouthResizeCursor):
(WebCore::eastWestResizeCursor):
(WebCore::northEastSouthWestResizeCursor):
(WebCore::northWestSouthEastResizeCursor):
(WebCore::columnResizeCursor):
(WebCore::rowResizeCursor):
(WebCore::middlePanningCursor):
(WebCore::eastPanningCursor):
(WebCore::northPanningCursor):
(WebCore::northEastPanningCursor):
(WebCore::northWestPanningCursor):
(WebCore::southPanningCursor):
(WebCore::southEastPanningCursor):
(WebCore::southWestPanningCursor):
(WebCore::westPanningCursor):
(WebCore::moveCursor):
(WebCore::verticalTextCursor):
(WebCore::cellCursor):
(WebCore::contextMenuCursor):
(WebCore::aliasCursor):
(WebCore::progressCursor):
(WebCore::noDropCursor):
(WebCore::copyCursor):
(WebCore::noneCursor):
(WebCore::notAllowedCursor):
(WebCore::zoomInCursor):
(WebCore::zoomOutCursor):
(WebCore::grabCursor):
(WebCore::grabbingCursor):
* platform/chromium/LanguageChromium.cpp:
(WebCore::platformDefaultLanguage):
* platform/chromium/MIMETypeRegistryChromium.cpp:
(WebCore::dummyHashSet):
2011-11-03 Anders Carlsson <andersca@apple.com>
Add NetscapePlugin::convertFromRootView
https://bugs.webkit.org/show_bug.cgi?id=71526
Reviewed by Sam Weinig.
Export some symbols that WebKit2 needs.
* WebCore.exp.in:
2011-11-03 Adrienne Walker <enne@google.com>
[chromium] Fix incorrect visibility/scissor rect for threaded compositing
https://bugs.webkit.org/show_bug.cgi?id=70962
Reviewed by James Robinson.
In order to properly scroll independent of layout on the compositor
thread, we have to apply the scroll to the right layer. Previously,
the NonCompositedContentHost was the root of the graphics layer tree
with all other layers underneath it. However, applying a scroll to
that layer would also scroll the clip layer for the main frame
underneath it, causing visibility issues.
This patch moves the NonCompositedHost to be a child of the
RenderLayerCompositor's scroll layer. This was exposed on
RenderLayerCompositor, because there's no other way to get to this
layer in a way that doesn't make assumptions about the structure of
the layers on a frame.
This also removes the hacks in calculateVisibleLayerRect and
tilingTransform for scroll position.
Partially tested by existing compositor tests. Manually tested
threaded compositing scrolling.
* platform/graphics/chromium/NonCompositedContentHost.cpp:
(WebCore::NonCompositedContentHost::setScrollLayer):
(WebCore::NonCompositedContentHost::setViewport):
(WebCore::NonCompositedContentHost::scrollLayer):
* platform/graphics/chromium/NonCompositedContentHost.h:
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::create):
(WebCore::CCLayerTreeHost::CCLayerTreeHost):
(WebCore::CCLayerTreeHost::applyScrollDeltas):
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
(WebCore::CCLayerTreeHost::setRootLayer):
* platform/graphics/chromium/cc/CCLayerTreeHostCommon.h:
(WebCore::CCLayerTreeHostCommon::calculateVisibleLayerRect):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::findScrollLayer):
(WebCore::CCLayerTreeHostImpl::setRootLayer):
(WebCore::CCLayerTreeHostImpl::scrollRootLayer):
(WebCore::CCLayerTreeHostImpl::processScrollDeltas):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
* platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
(WebCore::CCTiledLayerImpl::tilingTransform):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::scrollLayer):
* rendering/RenderLayerCompositor.h:
2011-11-04 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
[Qt] Refactor and clean up the qmake build system
The qmake build system has accumulated a bit of cruft and redundancy
over time. There's also a fairly tight coupling between how to build
the various targets, and _what_ to build, making it harder to add new
rules or sources. This patch aims to elevate these issues somewhat.
This is a short-list of the changes:
* The rules for how to build targets are now mostly contained as
prf-files in Tools/qmake/mkspecs/features. Using mkspecs also
allows us to do pre- and post-processing of each project file,
which helps to clean up the actual project files.
* Derived sources are no longer generated as a separate make-step
but is part of each target's project file as a subdir. Makefile
rules are used to ensure that we run make on the derived sources
before running qmake on the actual target makefile. This makes
it easier to keep a proper dependency between derived sources
and the target.
* We use GNU make and the compiler to generate dependencies on
UNIX-based systems running Qt 5. This allows us to lessen the
need to run qmake, which should reduce compile time.
* WebKit2 is now build by default if building with Qt 5. It can
be disabled by passing --no-webkit2 to build-webkit.
The result of these changes are hopefully a cleaner and easier
build system to modify, and faster build times due to no longer
running qmake on every single build. It's also a first step
towards possibly generating the list of sources using another
build system.
https://bugs.webkit.org/show_bug.cgi?id=71222
Reviewed by Simon Hausmann.
* DerivedSources.pri: Renamed from Source/WebCore/CodeGenerators.pri.
* DerivedSources.pro: Removed.
* Target.pri: Copied from Source/WebCore/WebCore.pro.
* WebCore.pro:
2011-11-04 Tommy Widenflycht <tommyw@google.com>
[chromium] MediaStream API: Fixing wrong path for PeerConnectionHandler.h in WebCore.gyp
https://bugs.webkit.org/show_bug.cgi?id=71548
Reviewed by Tony Gentilcore.
* WebCore.gypi:
2011-11-04 Patrick Gansterer <paroga@webkit.org>
Unreviewed CMake build fix for !ENABLE(SQL_DATABASE).
* CMakeLists.txt: Always compile the SQLite source files, since they are required for build.
2011-11-03 Ryosuke Niwa <rniwa@webkit.org>
REGRESSION (r99076): Pasting into password fields is broken
https://bugs.webkit.org/show_bug.cgi?id=71483
Reviewed by Darin Adler.
The bug was caused by plainText serializing secured (instead of original) text.
Fixed the bug by adding new TextIterator behavior that serializes the original text
and using it in ReplacementFragment::ReplacementFragment.
* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplacementFragment::ReplacementFragment):
* editing/TextIterator.cpp:
(WebCore::TextIterator::TextIterator):
(WebCore::TextIterator::emitText):
* editing/TextIterator.h:
2011-11-03 Eric Carlson <eric.carlson@apple.com>
Add TrackEvent
https://bugs.webkit.org/show_bug.cgi?id=71178
Reviewed by Sam Weinig.
Test: fast/events/constructors/track-event-constructor.html
* CMakeLists.txt: Add new files for TrackEvent.
* CodeGenerators.pri: Ditto.
* DerivedSources.cpp: Ditto.
* DerivedSources.make: Ditto.
* GNUmakefile.am: Ditto.
* GNUmakefile.list.am: Ditto.
* WebCore.gypi: Ditto.
* WebCore.pro: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* bindings/generic/EventConstructors.h: Ditto.
* bindings/gobject/GNUmakefile.am: Ditto.
* bindings/gobject/WebKitHTMLElementWrapperFactory.cpp: Ditto.
* bindings/js/JSBindingsAllInOne.cpp: Ditto.
* bindings/js/JSDictionary.cpp:
(WebCore::JSDictionary::convertValue): Add method to convert to a Track.
* bindings/js/JSDictionary.h:
* bindings/js/JSEventConstructors.cpp: Add new files for TrackEvent.
* bindings/js/JSTrackCustom.cpp: Added.
(WebCore::toTrack): New, convert from a JSValue to a Track.
(WebCore::toJS): New, return a JS wrapper for a Track.
* bindings/js/JSTrackCustom.h: Added.
* bindings/js/JSTrackEventCustom.cpp: Added.
(WebCore::JSTrackEvent::track): New, returns a TextEvent's 'track' attribute.
* bindings/v8/OptionsObject.cpp:
(WebCore::OptionsObject::get): Returns RefPtr<TrackBase>.
* bindings/v8/custom/V8EventConstructors.cpp: Add Track initializing constructor.
* bindings/v8/custom/V8TrackEventCustom.cpp: Added.
(WebCore::V8TrackEvent::trackAccessorGetter): New, returns a TextEvent's 'track' attribute.
* dom/EventFactory.in: Add TrackEvent.
* dom/EventNames.h: Add 'addtrack' event.
* html/TextTrack.cpp:
(WebCore::TextTrack::TextTrack): Call new base class constructor.
* html/TextTrack.h: Now derive from BaseTrack for the day we implement VideoTrack and AudioTrack.
* html/track/TrackBase.cpp: Added.
(WebCore::TrackBase::TrackBase):
(WebCore::TrackBase::~TrackBase):
* html/track/TrackBase.h: Added.
(WebCore::TrackBase::type): Return the track type.
* html/track/TrackEvent.cpp: Added.
(WebCore::TrackEventInit::TrackEventInit):
(WebCore::TrackEvent::TrackEvent):
(WebCore::TrackEvent::~TrackEvent):
(WebCore::TrackEvent::interfaceName):
* html/track/TrackEvent.h: Added.
(WebCore::TrackEvent::create):
(WebCore::TrackEvent::isTrackEvent):
(WebCore::TrackEvent::track):
* html/track/TrackEvent.idl: Added.
* page/DOMWindow.idl: Add TrackEvent.
2011-11-03 Ben Wells <benwells@chromium.org>
Optimize canvas fills / drawImage when covering entire canvas
https://bugs.webkit.org/show_bug.cgi?id=70789
Reviewed by Stephen White.
If we're filling a rect or drawing an image, and it covers the entire canvas, we don't
need to worry about clearing outside the area updated by the operation if we're in
a composite mode that requires this (such as source-in, copy, etc.). In this case we
can take the simple path through the code and save a clear (for copy) or a temporary
image buffer (for the other modes).
No new tests - optimization, behaviour is unchanged and covered by existing tests.
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::fillRect):
(WebCore::CanvasRenderingContext2D::drawImage):
(WebCore::CanvasRenderingContext2D::rectContainsCanvas):
* html/canvas/CanvasRenderingContext2D.h:
2011-11-03 Mark Hahnenberg <mhahnenberg@apple.com>
De-virtualize JSObject::getPropertyNames
https://bugs.webkit.org/show_bug.cgi?id=71306
Reviewed by Darin Adler.
No new tests.
Added getPropertyNames to the MethodTable, changed all the virtual
implementations of getPropertyNames to static ones, and replaced
all call sites with corresponding lookups in the MethodTable.
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::getPropertyNames):
* bindings/js/JSDOMWindowShell.cpp:
(WebCore::JSDOMWindowShell::getPropertyNames):
* bindings/js/JSDOMWindowShell.h:
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
* bridge/NP_jsobject.cpp:
(_NPN_Enumerate):
* bridge/qt/qt_runtime.cpp:
(JSC::Bindings::convertValueToQVariantMap):
2011-11-02 Xiaomei Ji <xji@chromium.org>
Enable ctrl-arrow move cursor by word in visual order in cr-win by command line flag.
https://bugs.webkit.org/show_bug.cgi?id=71163
Reviewed by Ryosuke Niwa.
Add m_visualWordMovementEnabled page setting, trigger visual word movement
function (instead of logical one) when it is set as true.
right|leftWordPosition() are tested in editing/selection/move-by-word-visually*
by using --webkit-visual-word flag.
* editing/FrameSelection.cpp:
(WebCore::FrameSelection::modifyMovingRight):
(WebCore::FrameSelection::modifyMovingLeft):
(WebCore::FrameSelection::visualWordMovementEnabled):
* editing/FrameSelection.h:
* page/Settings.cpp:
(WebCore::Settings::Settings):
* page/Settings.h:
(WebCore::Settings::setVisualWordMovementEnabled):
(WebCore::Settings::visualWordMovementEnabled):
2011-11-03 Levi Weintraub <leviw@chromium.org>
Correct usage of LayoutUnits and integers in Table rendering classes
https://bugs.webkit.org/show_bug.cgi?id=71500
Reviewed by Darin Adler.
Fixing the Table layout classes to operate on integers -- sub-pixel table layout breaks
the spec. Meanwhile correcting the Table rendering classes themselves to still use
LayoutUnits.
No new tests -- no change in behavior.
* rendering/AutoTableLayout.cpp: Reverting to operating on integers.
(WebCore::AutoTableLayout::recalcColumn):
(WebCore::AutoTableLayout::computePreferredLogicalWidths):
(WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
(WebCore::AutoTableLayout::layout):
* rendering/AutoTableLayout.h: Reverting to operating on integers.
* rendering/FixedTableLayout.cpp: Ditto.
(WebCore::FixedTableLayout::computePreferredLogicalWidths):
(WebCore::FixedTableLayout::layout):
* rendering/RenderTable.h: Switching to LayoutUnits.
(WebCore::RenderTable::getColumnPos):
(WebCore::RenderTable::bordersPaddingAndSpacingInRowDirection):
* rendering/RenderTableCell.cpp: Switching to LayoutUnits.
(WebCore::RenderTableCell::updateLogicalWidth):
(WebCore::RenderTableCell::setOverrideHeightFromRowHeight):
(WebCore::RenderTableCell::computeRectForRepaint):
(WebCore::RenderTableCell::cellBaselinePosition):
(WebCore::RenderTableCell::scrollbarsChanged):
* rendering/RenderTableCell.h: Switching to LayoutUnits
* rendering/RenderTableSection.cpp: Ditto.
(WebCore::RenderTableSection::setCellLogicalWidths):
(WebCore::RenderTableSection::layoutRows):
2011-11-03 James Robinson <jamesr@chromium.org>
[chromium] Notify scheduler on SwapBuffers in threaded compositor mode
https://bugs.webkit.org/show_bug.cgi?id=71381
Reviewed by Kenneth Russell.
* platform/graphics/chromium/cc/CCScheduler.cpp:
(WebCore::CCScheduler::didSwapBuffers):
* platform/graphics/chromium/cc/CCScheduler.h:
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::drawLayersAndSwapOnImplThread):
2011-11-03 Daniel Bates <dbates@rim.com>
CMake: Add missing WebGL IDL file html/canvas/WebGLContextEvent.idl
Rubber-stamped by Martin Robinson
* CMakeLists.txt:
2011-11-03 Daniel Bates <dbates@rim.com>
CMake: Only generate from WebGL IDLs when building with WebGL
https://bugs.webkit.org/show_bug.cgi?id=71516
Reviewed by Martin Robinson.
* CMakeLists.txt:
2011-11-03 Erik Arvidsson <arv@chromium.org>
Remove support for LegacyDefaultOptionalArguments
https://bugs.webkit.org/show_bug.cgi?id=71489
Reviewed by Darin Adler.
This removes support for LegacyDefaultOptionalArguments and [RequiresAllArguments=Raise].
[RequiresAllArguments=Raise] is now the standard behavior so it would be a no op.
No new tests. Covered by existing tests.
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateArgumentsCountCheck): Check the "RequiresAllArguments" extended attribute and generate code
that returns undefined if there are missing arguments.
* bindings/scripts/CodeGeneratorV8.pm:
(GenerateArgumentsCountCheck): Ditto.
* bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
(WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod): Add generated argument count checks.
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs): Ditto.
(WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs): Ditto.
(WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs): Ditto.
(WebCore::jsTestObjPrototypeFunctionSerializedValue): Ditto.
(WebCore::jsTestObjPrototypeFunctionIdbKey): Ditto.
(WebCore::jsTestObjPrototypeFunctionOptionsObject): Ditto.
(WebCore::jsTestObjPrototypeFunctionCustomArgsAndException): Ditto.
(WebCore::jsTestObjPrototypeFunctionAddEventListener): Ditto.
(WebCore::jsTestObjPrototypeFunctionRemoveEventListener): Ditto.
(WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndArg): Ditto.
(WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg): Ditto.
(WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture): Ditto.
(WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD): Ditto.
(WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg): Ditto.
(WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs): Ditto.
(WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg): Ditto.
(WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg): Ditto.
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod1): Ditto.
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod2): Ditto.
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod3): Ditto.
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod4): Ditto.
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod5): Ditto.
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod6): Ditto.
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod7): Ditto.
* bindings/scripts/test/TestCallback.idl: Remove LegacyDefaultOptionalArguments.
* bindings/scripts/test/TestMediaQueryListListener.idl: Ditto.
* bindings/scripts/test/TestObj.idl: Remove LegacyDefaultOptionalArguments and [RequiresAllArguments=Raise]
* bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp: Remove LegacyDefaultOptionalArguments.
(WebCore::TestMediaQueryListListenerInternal::methodCallback): Add generated argument count checks.
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::TestObjInternal::voidMethodWithArgsCallback): Ditto.
(WebCore::TestObjInternal::intMethodWithArgsCallback): Ditto.
(WebCore::TestObjInternal::objMethodWithArgsCallback): Ditto.
(WebCore::TestObjInternal::serializedValueCallback): Ditto.
(WebCore::TestObjInternal::idbKeyCallback): Ditto.
(WebCore::TestObjInternal::optionsObjectCallback): Ditto.
(WebCore::TestObjInternal::customArgsAndExceptionCallback): Ditto.
(WebCore::TestObjInternal::withDynamicFrameAndArgCallback): Ditto.
(WebCore::TestObjInternal::withDynamicFrameAndOptionalArgCallback): Ditto.
(WebCore::TestObjInternal::withDynamicFrameAndUserGestureCallback): Ditto.
(WebCore::TestObjInternal::withDynamicFrameAndUserGestureASADCallback): Ditto.
(WebCore::TestObjInternal::methodWithNonOptionalArgAndOptionalArgCallback): Ditto.
(WebCore::TestObjInternal::methodWithNonOptionalArgAndTwoOptionalArgsCallback): Ditto.
(WebCore::TestObjInternal::methodWithCallbackArgCallback): Ditto.
(WebCore::TestObjInternal::methodWithNonCallbackArgAndCallbackArgCallback): Ditto.
(WebCore::TestObjInternal::overloadedMethod1Callback): Ditto.
(WebCore::TestObjInternal::overloadedMethod2Callback): Ditto.
(WebCore::TestObjInternal::overloadedMethod3Callback): Ditto.
(WebCore::TestObjInternal::overloadedMethod4Callback): Ditto.
(WebCore::TestObjInternal::overloadedMethod5Callback): Ditto.
(WebCore::TestObjInternal::overloadedMethod6Callback): Ditto.
(WebCore::TestObjInternal::overloadedMethod7Callback): Ditto.
(WebCore::TestObjInternal::enabledAtRuntimeMethod1Callback): Ditto.
(WebCore::TestObjInternal::enabledAtRuntimeMethod2Callback): Ditto.
2011-11-03 Darin Adler <darin@apple.com>
Change remaining callers of releaseRef to call leakRef
https://bugs.webkit.org/show_bug.cgi?id=71422
Reviewed by Darin Fisher.
* bindings/objc/WebScriptObject.mm:
(-[WebScriptObject _setImp:originRootObject:rootObject:]):
(-[WebScriptObject _setOriginRootObject:andRootObject:]):
* bridge/NP_jsobject.cpp:
(_NPN_CreateScriptObject):
* dom/QualifiedName.cpp:
(WebCore::QNameComponentsTranslator::translate):
* history/PageCache.cpp:
(WebCore::PageCache::add):
* html/HTMLTableElement.cpp:
(WebCore::HTMLTableElement::additionalAttributeStyleDecls):
(WebCore::HTMLTableElement::addSharedCellBordersDecl):
(WebCore::HTMLTableElement::addSharedGroupDecls):
* platform/graphics/cg/ImageSourceCG.cpp:
(WebCore::ImageSource::createFrameAtIndex):
* platform/graphics/mac/FontCustomPlatformData.cpp:
(WebCore::createFontCustomPlatformData):
* platform/mac/ContextMenuMac.mm:
(WebCore::ContextMenu::releasePlatformDescription):
* platform/mac/SharedBufferMac.mm:
(WebCore::SharedBuffer::createCFData):
* rendering/RenderMediaControlsChromium.cpp:
(WebCore::platformResource):
Use leakRef.
2011-11-02 Darin Adler <darin@apple.com>
Change remaining callers of releaseRef to call leakRef
https://bugs.webkit.org/show_bug.cgi?id=71422
Reviewed by Darin Fisher.
* bindings/objc/WebScriptObject.mm:
(-[WebScriptObject _setImp:originRootObject:rootObject:]):
(-[WebScriptObject _setOriginRootObject:andRootObject:]):
* bridge/NP_jsobject.cpp:
(_NPN_CreateScriptObject):
* dom/QualifiedName.cpp:
(WebCore::QNameComponentsTranslator::translate):
* history/PageCache.cpp:
(WebCore::PageCache::add):
* html/HTMLTableElement.cpp:
(WebCore::HTMLTableElement::additionalAttributeStyleDecls):
(WebCore::HTMLTableElement::addSharedCellBordersDecl):
(WebCore::HTMLTableElement::addSharedGroupDecls):
* platform/graphics/cg/ImageSourceCG.cpp:
(WebCore::ImageSource::createFrameAtIndex):
* platform/graphics/mac/FontCustomPlatformData.cpp:
(WebCore::createFontCustomPlatformData):
* platform/mac/ContextMenuMac.mm:
(WebCore::ContextMenu::releasePlatformDescription):
* platform/mac/SharedBufferMac.mm:
(WebCore::SharedBuffer::createCFData):
* rendering/RenderMediaControlsChromium.cpp:
(WebCore::platformResource):
Use leakRef.
2011-11-03 Daniel Cheng <dcheng@chromium.org>
[chromium] Remove unused clipboard methods
https://bugs.webkit.org/show_bug.cgi?id=71512
Reviewed by Tony Chang.
* platform/chromium/PlatformSupport.h:
2011-11-03 Anna Cavender <annacc@chromium.org>
Implement TextTrackCueList.
https://bugs.webkit.org/show_bug.cgi?id=70451
Reviewed by Eric Carlson.
Test: media/track/track-text-track-cue-list.html
* html/LoadableTextTrack.cpp:
(WebCore::LoadableTextTrack::newCuesAvailable):
Update TextTrack's TextTrackCueList (m_cues) when new cues are discovered.
* html/TextTrack.cpp:
(WebCore::TextTrack::TextTrack):
Create an empty TextTrackCueList upon TextTrack creation.
(WebCore::TextTrack::cues):
Return this TextTrack's list of cues.
Implement TextTrackCueList functionality:
* html/TextTrackCueList.cpp:
(WebCore::TextTrackCueList::TextTrackCueList):
(WebCore::TextTrackCueList::length):
(WebCore::TextTrackCueList::item):
(WebCore::TextTrackCueList::getCueById):
(WebCore::TextTrackCueList::add):
(WebCore::TextTrackCueList::remove):
(WebCore::TextTrackCueList::contains):
* html/TextTrackCueList.h:
(WebCore::TextTrackCueList::~TextTrackCueList):
2011-11-03 Joshua Bell <jsbell@chromium.org>
IndexedDB result of deleting a record should be true or false
https://bugs.webkit.org/show_bug.cgi?id=60197
Reviewed by David Levin.
IDBObjectStore.delete() was incorrectly firing an error if there
was no record to remove. Match the spec, and return true/false
as success values instead. Bring JSC binding implementation of
SerializedScriptValue more in line with V8 version for methods
called from IDB code.
Test: storage/indexeddb/mozilla/delete-result.html
* bindings/js/SerializedScriptValue.cpp:
(WebCore::SerializedScriptValue::createFromWire):
(WebCore::SerializedScriptValue::undefinedValue):
(WebCore::SerializedScriptValue::booleanValue):
* bindings/js/SerializedScriptValue.h:
* bindings/v8/SerializedScriptValue.cpp:
(WebCore::SerializedScriptValue::nullValue):
(WebCore::SerializedScriptValue::undefinedValue):
(WebCore::SerializedScriptValue::booleanValue):
* bindings/v8/SerializedScriptValue.h:
* storage/IDBObjectStoreBackendImpl.cpp:
(WebCore::IDBObjectStoreBackendImpl::deleteInternal):
2011-11-03 Adam Barth <abarth@webkit.org>
Implement allow-popups for iframe@sandbox
https://bugs.webkit.org/show_bug.cgi?id=66505
Reviewed by Eric Seidel.
There's been some discussion in the HTML working group about adding an
allow-popups directive to the iframe sandbox. Microsoft has added it
to IE10 platform preview and is fairly adamant about this feature
because it's needed by one or their products that's planning to use
iframe sandbox. Hixie says he'll add it to the spec once we implement
it, so here's our implementation. (See discussion in the W3C linked in
the bug for more details.)
This patch lands most of the infrastructure for this feature, but it
doesn't actually enable the feature. I'll enable it in a follow-up
patch.
Tests: http/tests/security/popup-allowed-by-sandbox-is-sandboxed-control.html
http/tests/security/popup-allowed-by-sandbox-is-sandboxed.html
http/tests/security/popup-allowed-by-sandbox-when-allowed.html
* html/HTMLIFrameElement.cpp:
(WebCore::HTMLIFrameElement::parseMappedAttribute):
* loader/FrameLoader.h:
(WebCore::FrameLoader::forceSandboxFlags):
* loader/FrameLoaderTypes.h:
* page/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::parseSandboxPolicy):
* page/SecurityOrigin.h:
(WebCore::SecurityOrigin::sandboxFlags):
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::dataChanged):
2011-11-03 Mark Hahnenberg <mhahnenberg@apple.com>
De-virtualize JSObject::className
https://bugs.webkit.org/show_bug.cgi?id=71428
Reviewed by Sam Weinig.
No new tests.
Added className to the MethodTable, changed all the virtual
implementations of className to static ones, and replaced
all call sites with corresponding lookups in the MethodTable.
* bindings/js/JSDOMWindowShell.cpp:
(WebCore::JSDOMWindowShell::className):
* bindings/js/JSDOMWindowShell.h:
* bindings/js/JSInjectedScriptHostCustom.cpp:
(WebCore::JSInjectedScriptHost::internalConstructorName):
* bridge/testqtbindings.cpp:
(Global::className):
2011-11-02 Jer Noble <jer.noble@apple.com>
Add Clock class and platform-specific implementations.
https://bugs.webkit.org/show_bug.cgi?id=71341
Reviewed by Sam Weinig.
No new tests; these classes will be used and tested by the MediaController feature.
Adds a abstract Clock class and two concrete, platform-specific subclasses.
Clock provides a basic interface for starting, stopping, and querying a generic timeline.
PlatformClockCA implements this interface using a CoreAudio CAClock object, which uses
the default audio device's hardware clock as a timing source. PlatformClockPOSIX
implements this interface using gettimeofday() as its timing source.
* WebCore.xcodeproj/project.pbxproj:
* platform/Clock.cpp: Added.
(Clock::create): Creates a platform-specific clock.
* platform/Clock.h: Added.
(WebCore::Clock::~Clock):
(WebCore::Clock::Clock):
* platform/mac/PlatformClockCA.cpp: Added.
(PlatformClockCA::PlatformClockCA):
(PlatformClockCA::~PlatformClockCA):
(PlatformClockCA::setCurrentTime):
(PlatformClockCA::currentTime):
(PlatformClockCA::setPlayRate):
(PlatformClockCA::PlatformClockCA::playRate):
(PlatformClockCA::start):
(PlatformClockCA::stop):
* platform/mac/PlatformClockCA.h: Added.
(WebCore::PlatformClockCA::isRunning):
* platform/posix/PlatformClockPOSIX.cpp: Added.
(timevalToFloat):
(timevalDelta):
(PlatformClockPOSIX::PlatformClockPOSIX):
(PlatformClockPOSIX::setCurrentTime):
(PlatformClockPOSIX::currentTime):
(PlatformClockPOSIX::setPlayRate):
(PlatformClockPOSIX::PlatformClockPOSIX::playRate):
(PlatformClockPOSIX::start):
(PlatformClockPOSIX::stop):
(PlatformClockPOSIX::now):
* platform/posix/PlatformClockPOSIX.h: Added.
(WebCore::PlatformClockPOSIX::isRunning):
2011-11-03 Joshua Bell <jsbell@chromium.org>
IndexedDB: Object stores not persisting between sessions
https://bugs.webkit.org/show_bug.cgi?id=71313
Reviewed by Tony Chang.
Logic flaw introduced with r98806 skipped the loading of object stores
during subsequent sessions.
* storage/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
(WebCore::IDBDatabaseBackendImpl::openInternal):
2011-11-03 Pavel Feldman <pfeldman@google.com>
Web Inspector: fix heap profiler rendering and resize.
https://bugs.webkit.org/show_bug.cgi?id=71484
Reviewed by Yury Semikhatsky.
* inspector/front-end/DetailedHeapshotView.js:
(WebInspector.DetailedHeapshotView.prototype.wasShown.profileCallback2):
(WebInspector.DetailedHeapshotView.prototype.wasShown):
(WebInspector.DetailedHeapshotView.prototype._changeView):
(WebInspector.DetailedHeapshotView.prototype._startRetainersHeaderDragging):
2011-11-03 Julien Chaffraix <jchaffraix@webkit.org>
Stop abusing RenderTableSection::needsRecalcCells logic
https://bugs.webkit.org/show_bug.cgi?id=71420
Reviewed by Darin Adler.
Change covered by existing tests like fast/repaint/table-extra-bottom-grow.html
and fast/table/row-height-recalc* (among others).
Cell recalculation is very expensive and should only be called when the section's structure
changed in a way that requires a safe update to its structure (like removing a row as our
column split may not be appropriate anymore).
The current code would abuse cell recalculation to actually reset the logical height on the
RowStruct. This change makes it do the right thing.
* rendering/RenderTableCell.h:
* rendering/RenderTableRow.h:
Removed styleWillChange override as it was unneeded.
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::styleDidChange):
* rendering/RenderTableRow.cpp:
(WebCore::RenderTableRow::styleDidChange):
Move the code from styleWillChange to styleDidChange.
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::rowLogicalHeightChanged):
This function just reset the height on the |RowStruct| which is the
only part of recalcCells that we would need.
(WebCore::RenderTableSection::rowIndexForRenderer):
Added this function to find out which index a column has (strangely
RenderTableRow does not have this information).
* rendering/RenderTableSection.h: Added the 2 previous functions.
2011-11-03 Andreas Kling <kling@webkit.org>
CSSRuleList: Move rule orphaning from deleteRule() out to callers.
https://bugs.webkit.org/show_bug.cgi?id=71470
Reviewed by Antti Koivisto.
Rule parenting is the responsibility of the owner rule (the rule containing
the rule list), so move parent clearing out of CSSRuleList::deleteRule() and
into the (two) call sites.
* css/CSSMediaRule.cpp:
(WebCore::CSSMediaRule::deleteRule):
* css/CSSRuleList.cpp:
(WebCore::CSSRuleList::deleteRule):
* css/WebKitCSSKeyframesRule.cpp:
(WebCore::WebKitCSSKeyframesRule::deleteRule):
2011-11-03 Pavel Feldman <pfeldman@google.com>
Web Inspector: do not map scripts generated with document.write to the document resources.
https://bugs.webkit.org/show_bug.cgi?id=71114
Reviewed by Yury Semikhatsky.
* inspector/front-end/DebuggerPresentationModel.js:
(WebInspector.DebuggerPresentationModel):
(WebInspector.DebuggerPresentationModel.prototype._addScript):
(WebInspector.DebuggerPresentationModel.prototype._bindScriptToRawSourceCode):
(WebInspector.DebuggerPresentationModel.prototype.uiSourceCodes):
(WebInspector.DebuggerPresentationModel.prototype.setFormatSource):
(WebInspector.DebuggerPresentationModel.prototype._consoleCleared):
(WebInspector.DebuggerPresentationModel.prototype._rawSourceCodeForScriptWithURL):
(WebInspector.DebuggerPresentationModel.prototype._rawSourceCodeForScript):
(WebInspector.DebuggerPresentationModel.prototype._scriptForRawSourceCode):
(WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
(WebInspector.DebuggerPresentationModel.Linkifier.prototype.reset):
* inspector/front-end/RawSourceCode.js:
(WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent.didFormatContent):
(WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent):
(WebInspector.RawSourceCode.prototype._createSourceMapping):
* inspector/front-end/Script.js:
(WebInspector.Script.prototype.editSource):
(WebInspector.Script.prototype.isInlineScript):
2011-11-03 Simon Hausmann <simon.hausmann@nokia.com>
[Qt] Remove Maemo specific code paths
https://bugs.webkit.org/show_bug.cgi?id=71476
Reviewed by Kenneth Rohde Christiansen.
* WebCore.pri:
* features.pri:
* plugins/PluginPackage.cpp:
(WebCore::PluginPackage::determineQuirks):
* plugins/PluginView.cpp:
(WebCore::PluginView::setValue):
* plugins/PluginView.h:
* plugins/qt/PluginViewQt.cpp:
(WebCore::PluginView::updatePluginWidget):
(WebCore::PluginView::paint):
(WebCore::PluginView::platformGetValueStatic):
2011-11-03 Fady Samuel <fsamuel@chromium.org>
Removing line in computeViewportAttributes that enforces a minimum scale factor to never allow zooming out more than viewport
https://bugs.webkit.org/show_bug.cgi?id=70609
Reviewed by Kenneth Rohde Christiansen.
Operations in computeViewportAttributes that are not a part of the spec:
http://www.w3.org/TR/2011/WD-css-device-adapt-20110915/#constraining-viewport-property-values
were moved into the functions restrictMinimumScaleFactorToViewportSize and
restrictScaleFactorToInitialScaleIfNotUserScalable.
* WebCore.exp.in:
* dom/ViewportArguments.cpp:
(WebCore::computeViewportAttributes):
(WebCore::restrictMinimumScaleFactorToViewportSize):
(WebCore::restrictScaleFactorToInitialScaleIfNotUserScalable):
* dom/ViewportArguments.h:
2011-11-03 Andreas Kling <kling@webkit.org>
CSSRuleList: Move rule orphaning from deleteRule() out to callers.
https://bugs.webkit.org/show_bug.cgi?id=71470
Reviewed by Antti Koivisto.
Rule parenting is the responsibility of the owner rule (the rule containing
the rule list), so move parent clearing out of CSSRuleList::deleteRule() and
into the (two) call sites.
* css/CSSMediaRule.cpp:
(WebCore::CSSMediaRule::deleteRule):
* css/CSSRuleList.cpp:
(WebCore::CSSRuleList::deleteRule):
* css/WebKitCSSKeyframesRule.cpp:
(WebCore::WebKitCSSKeyframesRule::deleteRule):
2011-11-03 Andreas Kling <kling@webkit.org>
Unreviewed build fix, sigh.
* css/CSSFontFaceRule.h:
* css/CSSMutableStyleDeclaration.h:
2011-11-03 Andreas Kling <kling@webkit.org>
Unreviewed build fix, out-of-line StyleSheet::parentStyleSheet()
again since there's a cycle in the includes between CSSRule/StyleSheet.
* css/StyleSheet.cpp:
(WebCore::StyleSheet::parentStyleSheet):
* css/StyleSheet.h:
2011-11-03 Andreas Kling <kling@webkit.org>
Unreviewed build fix after r99185, removing forward-declaration
of CSSRule since CSSRule.h is already included.
* css/StyleSheet.h:
2011-11-03 Andreas Kling <kling@webkit.org>
CSSOM: Inline some trivial methods.
https://bugs.webkit.org/show_bug.cgi?id=71468
Reviewed by Antti Koivisto.
* css/CSSFontFaceRule.cpp:
* css/CSSFontFaceRule.h:
(WebCore::CSSFontFaceRule::setDeclaration):
* css/CSSStyleRule.cpp:
* css/CSSStyleRule.h:
(WebCore::CSSStyleRule::setDeclaration):
* css/CSSStyleSheet.cpp:
* css/CSSStyleSheet.h:
(WebCore::CSSStyleSheet::ownerRule):
* css/StyleSheet.cpp:
* css/StyleSheet.h:
(WebCore::StyleSheet::parentStyleSheet):
* css/WebKitCSSKeyframesRule.cpp:
* css/WebKitCSSKeyframesRule.h:
(WebCore::WebKitCSSKeyframesRule::name):
(WebCore::WebKitCSSKeyframesRule::length):
2011-11-03 Andreas Kling <kling@webkit.org>
Devirtualize MediaList.
https://bugs.webkit.org/show_bug.cgi?id=71464
Reviewed by Antti Koivisto.
* css/MediaList.h: Make the destructor non-virtual.
2011-11-03 Zoltan Herczeg <zherczeg@webkit.org>
Optimizing arithmetic composite filter to ARM-neon SIMD instruction set
https://bugs.webkit.org/show_bug.cgi?id=65522
Reviewed by Dirk Schulze.
This patch continues the work of Felician Marton.
The arithmetic operation of feComposite SVG filter can be greatly enhanced
by the ARM-NEON instruction set since we are able to calculate the pixel data
for all four RGBA channels at the same time.
It won't affect the general behavior and existing tests will cover the changes.
* CMakeLists.txt:
* GNUmakefile.list.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* platform/graphics/filters/FEComposite.cpp:
(WebCore::computeArithmeticPixels):
(WebCore::arithmeticSoftware):
(WebCore::FEComposite::platformArithmeticSoftware):
(WebCore::FEComposite::platformApplySoftware):
* platform/graphics/filters/FEComposite.h:
* platform/graphics/filters/arm/FECompositeArithmeticNEON.cpp: Added.
* platform/graphics/filters/arm/FECompositeArithmeticNEON.h: Added.
(WebCore::FEComposite::platformArithmeticNeon):
2011-11-03 Simon Hausmann <simon.hausmann@nokia.com>
[Qt] Add pageScaleFactor to the serialized history item
https://bugs.webkit.org/show_bug.cgi?id=71463
Reviewed by Tor Arne Vestbø.
r75758 added the pageScaleFactor member, which we need to
serialize.
* history/qt/HistoryItemQt.cpp:
(WebCore::HistoryItem::restoreState):
(WebCore::HistoryItem::saveState):
2011-11-03 Mike Lawther <mikelawther@chromium.org>
Use createPrimitiveNumericValue function
https://bugs.webkit.org/show_bug.cgi?id=71432
Reviewed by Andreas Kling.
No new tests - no change in functionality.
* css/CSSParser.cpp:
(WebCore::CSSParser::parseWrapShapeRect):
(WebCore::CSSParser::parseWrapShapeCircle):
(WebCore::CSSParser::parseWrapShapeEllipse):
(WebCore::CSSParser::parseWrapShapePolygon):
2011-11-03 Pavel Feldman <pfeldman@google.com>
Not reviewed: win build fix. Assign autoDPI at all cases (breakage introduced in r99173).
* dom/ViewportArguments.cpp:
(WebCore::computeViewportAttributes):
2011-11-03 Kenneth Rohde Christiansen <kenneth@webkit.org>
Differentiate implicit viewport from that of the meta tag
https://bugs.webkit.org/show_bug.cgi?id=71453
Reviewed by Simon Hausmann.
This is needed because of DPI adjustment taking place with the meta
tag. This is to be avoided when no viewport meta tag is present.
* dom/Document.cpp:
(WebCore::Document::processViewport):
* dom/ViewportArguments.cpp:
(WebCore::computeViewportAttributes):
* dom/ViewportArguments.h:
(WebCore::ViewportArguments::ViewportArguments):
(WebCore::ViewportArguments::operator==):
2011-11-03 Andreas Kling <kling@webkit.org>
Devirtualize CSSRule.
https://bugs.webkit.org/show_bug.cgi?id=71382
Reviewed by Antti Koivisto.
Remove the virtual destructor from CSSRule, and reimplement RefCounted's deref()
to invoke operator delete on the appropriate subclass type.
This removes the CSSRule vtable and shrinks each instance by one CPU word.
* css/CSSCharsetRule.h:
* css/CSSFontFaceRule.h:
* css/CSSMediaRule.h:
* css/CSSPageRule.h:
* css/CSSRegionStyleRule.h:
* css/CSSRule.cpp:
* css/CSSRule.h:
(WebCore::CSSRule::deref):
(WebCore::CSSRule::~CSSRule):
* css/CSSStyleRule.h:
* css/WebKitCSSKeyframeRule.h:
Devirtualize!
* css/CSSRule.cpp:
(WebCore::CSSRule::destroy):
Added, invokes operator delete on the right subclass type.
* css/CSSImportRule.cpp:
(WebCore::CSSImportRule::CSSImportRule):
(WebCore::CSSImportRule::~CSSImportRule):
(WebCore::CSSImportRule::requestStyleSheet):
* css/CSSImportRule.h:
(WebCore::CSSImportRule::ImportedStyleSheetClient::ImportedStyleSheetClient):
(WebCore::CSSImportRule::ImportedStyleSheetClient::~ImportedStyleSheetClient):
(WebCore::CSSImportRule::ImportedStyleSheetClient::setCSSStyleSheet):
Break out the inheritance from CachedStyleSheetClient into a member variable
that simply redirects the setCSSStyleSheet() callback to the CSSImportRule.
2011-10-31 Hans Wennborg <hans@chromium.org>
IndexedDB: Recycle cursor objects when calling continue()
https://bugs.webkit.org/show_bug.cgi?id=71115
Reviewed by Darin Fisher.
The IndexedDB spec says that cursors should be recycled when calling
continue(). Let the IDBRequest keep track of which cursor to return
upon success, and have the cursor use a new callback:
onSuccessWithContinuation() to signal that the continue was successful.
When we start using the new callback, the
storage/indexeddb/cursor-inconsistency.html layout test will start
passing.
* storage/IDBCallbacks.h:
* storage/IDBCursorBackendImpl.cpp:
(WebCore::IDBCursorBackendImpl::continueFunctionInternal):
* storage/IDBRequest.cpp:
(WebCore::IDBRequest::IDBRequest):
(WebCore::IDBRequest::setCursor):
(WebCore::IDBRequest::onSuccess):
(WebCore::IDBRequest::onSuccessWithContinuation):
* storage/IDBRequest.h:
2011-11-03 Pavel Feldman <pfeldman@google.com>
Web Inspector: preserve script location for inline handlers.
https://bugs.webkit.org/show_bug.cgi?id=71367
Makes eventHandler report position, not line number;
Reviewed by Yury Semikhatsky.
* bindings/js/CachedScriptSourceProvider.h:
(WebCore::CachedScriptSourceProvider::CachedScriptSourceProvider):
* bindings/js/JSLazyEventListener.cpp:
(WebCore::JSLazyEventListener::JSLazyEventListener):
(WebCore::JSLazyEventListener::initializeJSFunction):
* bindings/js/JSLazyEventListener.h:
(WebCore::JSLazyEventListener::create):
* bindings/js/ScriptController.cpp:
(WebCore::ScriptController::eventHandlerPosition):
* bindings/js/ScriptController.h:
* bindings/js/ScriptEventListener.cpp:
(WebCore::createAttributeEventListener):
* bindings/js/ScriptSourceProvider.h:
(WebCore::ScriptSourceProvider::ScriptSourceProvider):
* bindings/js/StringSourceProvider.h:
(WebCore::StringSourceProvider::create):
(WebCore::StringSourceProvider::StringSourceProvider):
(WebCore::makeSource):
2011-11-03 Alexander Pavlov <apavlov@chromium.org>
Web Inspector: [Styles] Do not check isEditingAnyField in StylesSidebarPane._createNewRule
https://bugs.webkit.org/show_bug.cgi?id=71217
Reviewed by Yury Semikhatsky.
* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylesSidebarPane.prototype.set _createNewRule):
2011-11-03 Balazs Kelemen <kbalazs@webkit.org>
[Qt] X11 plugins need to be reworked for Qt5
https://bugs.webkit.org/show_bug.cgi?id=70023
Reviewed by Simon Hausmann.
Disable X11 plugins with Qt5.
* features.pri:
2011-11-03 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r99138.
http://trac.webkit.org/changeset/99138
https://bugs.webkit.org/show_bug.cgi?id=71455
It made 200+ tests flakey on SL and on Qt (Requested by Ossy
on #webkit).
* html/HTMLIFrameElement.cpp:
(WebCore::parseSandboxAttribute):
(WebCore::HTMLIFrameElement::parseMappedAttribute):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::setOpener):
(WebCore::createWindow):
* loader/FrameLoader.h:
(WebCore::FrameLoader::setForcedSandboxFlags):
* loader/FrameLoaderTypes.h:
* loader/PolicyChecker.cpp:
(WebCore::PolicyChecker::checkNewWindowPolicy):
* page/SecurityOrigin.cpp:
* page/SecurityOrigin.h:
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::dataChanged):
2011-11-03 Kentaro Hara <haraken@chromium.org>
Fixed wrong implementation of doubleValue % 2^{64}.
https://bugs.webkit.org/show_bug.cgi?id=67980
Reviewed by Hajime Morita.
fast/events/constructors/progress-event-constructor.html was failing
because of the wrong implementation of conversion from an ECMAScript value
to an IDL unsigned long long value (Spec: http://www.w3.org/TR/WebIDL/#es-unsigned-long-long).
In particular, the calculation of doubleValue % 2^{64} was wrong.
This patch implemented it correctly in doubleToInteger() in wtf/MathExtras.h.
* bindings/js/JSDictionary.cpp:
(WebCore::JSDictionary::convertValue): Uses doubleToInteger().
* bindings/v8/OptionsObject.cpp:
(WebCore::OptionsObject::getKeyValue): Ditto.
2011-11-03 Alexander Pavlov <apavlov@chromium.org>
Web Inspector: Introduce SuggestBox for TextPrompt
https://bugs.webkit.org/show_bug.cgi?id=71288
Reviewed by Pavel Feldman.
Drive-by fix for a regression where clicking in the Database query view did not focus the prompt.
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/front-end/ConsoleView.js:
(WebInspector.ConsoleView):
(WebInspector.ConsoleView.prototype.completions):
(WebInspector.ConsoleView.prototype._completions.receivedPropertyNames):
(WebInspector.ConsoleView.prototype._completions):
(WebInspector.ConsoleView.prototype._reportCompletions):
* inspector/front-end/DatabaseQueryView.js:
(WebInspector.DatabaseQueryView):
(WebInspector.DatabaseQueryView.prototype.afterShow):
(WebInspector.DatabaseQueryView.prototype.completions):
(WebInspector.DatabaseQueryView.prototype._selectStart.moveBackIfOutside):
(WebInspector.DatabaseQueryView.prototype._selectStart):
(WebInspector.DatabaseQueryView.prototype._appendViewQueryResult):
(WebInspector.DatabaseQueryView.prototype._appendErrorQueryResult):
(WebInspector.DatabaseQueryView.prototype._appendQueryResult):
* inspector/front-end/ElementsPanel.js:
* inspector/front-end/Popover.js:
(WebInspector.Popover):
(WebInspector.Popover.prototype._positionElement):
* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylePropertyTreeElement.prototype):
():
* inspector/front-end/TextPrompt.js:
(WebInspector.TextPrompt):
(WebInspector.TextPrompt.prototype.setSuggestForceable):
(WebInspector.TextPrompt.prototype._attachInternal):
(WebInspector.TextPrompt.prototype._removeFromElement):
(WebInspector.TextPrompt.prototype.defaultKeyHandler):
(WebInspector.TextPrompt.prototype.onKeyDown):
(WebInspector.TextPrompt.prototype.acceptAutoComplete):
(WebInspector.TextPrompt.prototype.autoCompleteSoon):
(WebInspector.TextPrompt.prototype.complete):
(WebInspector.TextPrompt.prototype._completionsReady):
(WebInspector.TextPrompt.prototype.applySuggestion):
(WebInspector.TextPrompt.prototype.acceptSuggestion):
(WebInspector.TextPrompt.prototype.isSuggestBoxVisible):
(WebInspector.TextPrompt.prototype.moveCaretToEndOfPrompt):
(WebInspector.TextPrompt.prototype.tabKeyPressed):
(WebInspector.TextPrompt.prototype.enterKeyPressed):
(WebInspector.TextPrompt.prototype.upKeyPressed):
(WebInspector.TextPrompt.prototype.downKeyPressed):
(WebInspector.TextPrompt.SuggestBoxConfig):
(WebInspector.TextPromptWithHistory):
(WebInspector.TextPromptWithHistory.prototype.pushHistoryItem):
(WebInspector.TextPromptWithHistory.prototype.defaultKeyHandler):
(WebInspector.TextPrompt.SuggestBox):
(WebInspector.TextPrompt.SuggestBox.prototype.get visible):
(WebInspector.TextPrompt.SuggestBox.prototype.get hasSelection):
(WebInspector.TextPrompt.SuggestBox.prototype._onscrollresize):
(WebInspector.TextPrompt.SuggestBox.prototype._updateBoxPosition):
(WebInspector.TextPrompt.SuggestBox.prototype._onboxmousedown):
(WebInspector.TextPrompt.SuggestBox.prototype.hide):
(WebInspector.TextPrompt.SuggestBox.prototype.removeFromElement):
(WebInspector.TextPrompt.SuggestBox.prototype._applySuggestion):
(WebInspector.TextPrompt.SuggestBox.prototype.acceptSuggestion):
(WebInspector.TextPrompt.SuggestBox.prototype._onNextItem):
(WebInspector.TextPrompt.SuggestBox.prototype._onPreviousItem):
(WebInspector.TextPrompt.SuggestBox.prototype.updateSuggestionsSoon):
(WebInspector.TextPrompt.SuggestBox.prototype.updateSuggestions):
(WebInspector.TextPrompt.SuggestBox.prototype._onItemMouseDown):
(WebInspector.TextPrompt.SuggestBox.prototype._createItemElement):
(WebInspector.TextPrompt.SuggestBox.prototype._updateItems):
(WebInspector.TextPrompt.SuggestBox.prototype._updateSelection):
(WebInspector.TextPrompt.SuggestBox.prototype._completionsReady):
(WebInspector.TextPrompt.SuggestBox.prototype.upKeyPressed):
(WebInspector.TextPrompt.SuggestBox.prototype.downKeyPressed):
(WebInspector.TextPrompt.SuggestBox.prototype.enterKeyPressed):
(WebInspector.TextPrompt.SuggestBox.prototype.tabKeyPressed):
(WebInspector.TextPrompt.SuggestBox.prototype.spaceKeyPressed):
* inspector/front-end/WebKit.qrc:
* inspector/front-end/inspector.css:
(.search-view .search-panel):
(#search-results-pane-file-based .search-match .search-match-content):
(.custom-popup-horizontal-scroll ::-webkit-scrollbar, .custom-popup-vertical-scroll ::-webkit-scrollbar):
(.custom-popup-horizontal-scroll ::-webkit-scrollbar-corner, .custom-popup-vertical-scroll ::-webkit-scrollbar-corner):
(.custom-popup-horizontal-scroll ::-webkit-resizer, .custom-popup-vertical-scroll ::-webkit-resizer):
(.custom-popup-horizontal-scroll ::-webkit-scrollbar-button, .custom-popup-vertical-scroll ::-webkit-scrollbar-button):
(.custom-popup-horizontal-scroll ::-webkit-scrollbar:horizontal:corner-present):
(.custom-popup-horizontal-scroll ::-webkit-scrollbar-thumb:horizontal):
(.custom-popup-horizontal-scroll ::-webkit-scrollbar-thumb:horizontal:hover):
(.custom-popup-horizontal-scroll ::-webkit-scrollbar-thumb:horizontal:active):
(.custom-popup-horizontal-scroll ::-webkit-scrollbar-track-piece:horizontal:start):
(.custom-popup-horizontal-scroll ::-webkit-scrollbar-track-piece:horizontal:end):
(.custom-popup-horizontal-scroll ::-webkit-scrollbar-track-piece:horizontal:end:corner-present):
(.custom-popup-horizontal-scroll ::-webkit-scrollbar-track-piece:horizontal:decrement):
(.custom-popup-horizontal-scroll ::-webkit-scrollbar-track-piece:horizontal:increment):
(.custom-popup-vertical-scroll ::-webkit-scrollbar:vertical:corner-present):
(.custom-popup-vertical-scroll ::-webkit-scrollbar-thumb:vertical):
(.custom-popup-vertical-scroll ::-webkit-scrollbar-thumb:vertical:hover):
(.custom-popup-vertical-scroll ::-webkit-scrollbar-thumb:vertical:active):
(.custom-popup-vertical-scroll ::-webkit-scrollbar-track-piece:vertical:start):
(.custom-popup-vertical-scroll ::-webkit-scrollbar-track-piece:vertical:end):
(.custom-popup-vertical-scroll ::-webkit-scrollbar-track-piece:vertical:end:corner-present):
(.custom-popup-vertical-scroll ::-webkit-scrollbar-track-piece:vertical:decrement):
(.custom-popup-vertical-scroll ::-webkit-scrollbar-track-piece:vertical:increment):
* inspector/front-end/popover.css:
(.popover.right-bottom-arrow .arrow):
* inspector/front-end/textPrompt.css: Added.
(.suggest-box):
(.suggest-box.visible):
(.suggest-box .container):
(.suggest-box-content-item):
(.suggest-box-content-item .prefix):
(.suggest-box-content-item.selected):
(.suggest-box-content-item:hover:not(.selected)):
* inspector/front-end/utilities.js:
(setupPrototypeUtilities.Element.prototype.boxInWindow):
2011-11-03 Devdatta Deshpande <webkit.devdatta@gmail.com>
REGRESSION (r94132): broke fast/loader/location-port.html on GTK
https://bugs.webkit.org/show_bug.cgi?id=67277
Reviewed by Adam Barth.
If port is 0, SoupURI does not have an explicitly specified port. Due
to this port value is ignored in SoupURI. Hence, an extra check is
required to restore the port.
Test: LayoutTests/fast/loader/location-port.html
* platform/network/soup/ResourceRequestSoup.cpp:
(WebCore::ResourceRequest::updateFromSoupMessage):
2011-11-03 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: Allow the toolbar background to be transparent on mac platforms when remote
https://bugs.webkit.org/show_bug.cgi?id=71437
Reviewed by Yury Semikhatsky.
* inspector/front-end/inspector.css:
(body.detached.platform-mac-snowleopard #toolbar):
2011-11-02 Adam Barth <abarth@webkit.org>
CSP should handle empty URLs as agreed at TPAC
https://bugs.webkit.org/show_bug.cgi?id=71426
Reviewed by Eric Seidel.
It was somewhat unclear how CSP should treat plugins that lacked a URL
because most of the CSP rules are URL-based. At TPAC, we decided to
treat "empty" URLs as if there were the URL of the document. That
means you can use plugins with no URL if you've included 'self' in
object-src, but you can also block them by using 'none' as your
object-src.
Tests: http/tests/security/contentSecurityPolicy/object-src-no-url-allowed.html
http/tests/security/contentSecurityPolicy/object-src-no-url-blocked.html
http/tests/security/contentSecurityPolicy/object-src-none-allowed.html
http/tests/security/contentSecurityPolicy/object-src-none-blocked.html
* page/ContentSecurityPolicy.cpp:
(WebCore::CSPDirective::CSPDirective):
(WebCore::CSPDirective::allows):
(WebCore::ContentSecurityPolicy::createCSPDirective):
2011-11-02 Adam Barth <abarth@webkit.org>
Implement allow-popups for iframe@sandbox
https://bugs.webkit.org/show_bug.cgi?id=66505
Reviewed by Eric Seidel.
There's been some discussion in the HTML working group about adding an
allow-popups directive to the iframe sandbox. Microsoft has added it
to IE10 platform preview and is fairly adamant about this feature
because it's needed by one or their products that's planning to use
iframe sandbox. Hixie says he'll add it to the spec once we implement
it, so here's our implementation. (See discussion in the W3C linked in
the bug for more details.)
Tests: http/tests/security/popup-allowed-by-sandbox-is-sandboxed-control.html
http/tests/security/popup-allowed-by-sandbox-is-sandboxed.html
http/tests/security/popup-allowed-by-sandbox-when-allowed.html
* html/HTMLIFrameElement.cpp:
(WebCore::HTMLIFrameElement::parseMappedAttribute):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::setOpener):
(WebCore::createWindow):
* loader/FrameLoader.h:
(WebCore::FrameLoader::forceSandboxFlags):
* loader/FrameLoaderTypes.h:
* loader/PolicyChecker.cpp:
(WebCore::PolicyChecker::checkNewWindowPolicy):
* page/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::parseSandboxPolicy):
* page/SecurityOrigin.h:
(WebCore::SecurityOrigin::sandboxFlags):
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::dataChanged):
2011-11-02 Sam Weinig <sam@webkit.org>
Remove the ability to generate custom lookupGetter/lookupSetter functions,
now that they can not be overridden
Reviewed by Adam Roben.
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
2011-11-02 Sam Weinig <sam@webkit.org>
Fix crashing tests after r99126 (commit for https://bugs.webkit.org/show_bug.cgi?id=71307)
Reviewed by Adam Roben.
* bindings/js/JSDOMWindowShell.cpp:
(WebCore::JSDOMWindowShell::getOwnPropertyNames):
Since we are proxying to the window, we need to pass it as the this object,
not the shell.
2011-11-02 Erik Arvidsson <arv@chromium.org>
Remove LegacyDefaultOptionalArguments flag from storage IDL files
https://bugs.webkit.org/show_bug.cgi?id=65744
Reviewed by Adam Barth.
Test: storage/domstorage/localstorage/missing-arguments.html
* storage/DatabaseCallback.idl:
* storage/IDBRequest.idl:
* storage/IDBTransaction.idl:
* storage/SQLResultSetRowList.idl:
* storage/SQLStatementCallback.idl:
* storage/SQLStatementErrorCallback.idl:
* storage/SQLTransaction.idl:
* storage/SQLTransactionCallback.idl:
* storage/SQLTransactionErrorCallback.idl:
* storage/SQLTransactionSync.idl:
* storage/SQLTransactionSyncCallback.idl:
* storage/Storage.idl:
* storage/StorageInfo.idl:
* storage/StorageInfoErrorCallback.idl:
* storage/StorageInfoQuotaCallback.idl:
* storage/StorageInfoUsageCallback.idl:
2011-11-02 Adam Klein <adamk@chromium.org>
Replace usage of StringImpl with String where possible in CharacterData and Text
https://bugs.webkit.org/show_bug.cgi?id=71383
Reviewed by Darin Adler.
Ryosuke Niwa, in http://webkit.org/b/70862, asked me to replace usages
of String with StringImpl. I've done more than what he asked in this
patch, the biggest change being that CharacterData now holds a String
instead of a RefPtr<StringImpl>.
No new tests, as this should have no effect on behavior.
* dom/CharacterData.cpp:
(WebCore::CharacterData::setData):
(WebCore::CharacterData::substringData):
(WebCore::CharacterData::parserAppendData):
(WebCore::CharacterData::appendData):
(WebCore::CharacterData::insertData):
(WebCore::CharacterData::deleteData):
(WebCore::CharacterData::replaceData):
(WebCore::CharacterData::containsOnlyWhitespace):
(WebCore::CharacterData::setDataAndUpdate):
(WebCore::CharacterData::updateRenderer):
(WebCore::CharacterData::dispatchModifiedEvent):
* dom/CharacterData.h:
(WebCore::CharacterData::length):
(WebCore::CharacterData::dataImpl):
(WebCore::CharacterData::CharacterData):
(WebCore::CharacterData::setDataWithoutUpdate):
* dom/Text.cpp:
(WebCore::Text::splitText):
2011-11-02 Mark Hahnenberg <mhahnenberg@apple.com>
De-virtualize JSObject::getOwnPropertyNames
https://bugs.webkit.org/show_bug.cgi?id=71307
Reviewed by Darin Adler.
No new tests.
Added getOwnPropertyNames to the MethodTable, changed all the virtual
implementations of getOwnPropertyNames to static ones, and replaced
all call sites with corresponding lookups in the MethodTable.
* WebCore.exp.in:
* bindings/js/JSDOMStringMapCustom.cpp:
(WebCore::JSDOMStringMap::getOwnPropertyNames):
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::getOwnPropertyNames):
* bindings/js/JSDOMWindowShell.cpp:
(WebCore::JSDOMWindowShell::getOwnPropertyNames):
* bindings/js/JSDOMWindowShell.h:
* bindings/js/JSHistoryCustom.cpp:
(WebCore::JSHistory::getOwnPropertyNames):
* bindings/js/JSLocationCustom.cpp:
(WebCore::JSLocation::getOwnPropertyNames):
* bindings/js/JSStorageCustom.cpp:
(WebCore::JSStorage::getOwnPropertyNames):
* bindings/js/ScriptValue.cpp:
(WebCore::jsToInspectorValue):
* bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneSerializer::serialize):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
(GenerateImplementation):
* bridge/qt/qt_runtime.cpp:
(JSC::Bindings::QtRuntimeMetaMethod::getOwnPropertyNames):
(JSC::Bindings::QtRuntimeConnectionMethod::getOwnPropertyNames):
* bridge/qt/qt_runtime.h:
* bridge/runtime_array.cpp:
(JSC::RuntimeArray::getOwnPropertyNames):
* bridge/runtime_array.h:
* bridge/runtime_object.cpp:
(JSC::Bindings::RuntimeObject::getOwnPropertyNames):
* bridge/runtime_object.h:
2011-11-02 Tony Chang <tony@chromium.org>
force inline flexitems to be wrapped in anonymous blocks
https://bugs.webkit.org/show_bug.cgi?id=71314
Reviewed by Ojan Vafai.
If there is a mix of inline and block items, all the inline items were already getting wrapped
(see RenderBlock::addChildIgnoringAnonymousColumnBlocks). However, if there are only inline items,
we need to force them into an anonymous block.
There are still lots of bugs because we're trying to read style values from the anonymous block,
but this at least causes layout to be called on all the render objects.
Tests: css3/flexbox/anonymous-block.html
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::TreeOrderIterator::next):
(WebCore::RenderFlexibleBox::FlexOrderIterator::next):
(WebCore::RenderFlexibleBox::RenderFlexibleBox): force children into blocks
2011-11-02 Dean Jackson <dino@apple.com>
Add ENABLE_CSS_SHADERS flag
https://bugs.webkit.org/show_bug.cgi?id=71394
Reviewed by Sam Weinig.
* Configurations/FeatureDefines.xcconfig:
2011-11-02 Emil A Eklund <eae@chromium.org>
Switch RenderText to new layout types
https://bugs.webkit.org/show_bug.cgi?id=71389
Reviewed by Eric Seidel.
Switch RenderText methods (and overriden methods in related classes) to
LayoutRect/LayoutUnit.
No new tests.
* rendering/RenderText.cpp:
(WebCore::RenderText::absoluteRectsForRange):
(WebCore::RenderText::linesBoundingBox):
(WebCore::RenderText::linesVisualOverflowBoundingBox):
* rendering/RenderText.h:
Change RenderText to expose its bounding box, selection and caret rects
as LayoutRects.
* rendering/svg/RenderSVGInlineText.cpp:
(WebCore::RenderSVGInlineText::localCaretRect):
* rendering/svg/RenderSVGInlineText.h:
Change localCaretRect to return a LayoutRect.
2011-11-02 Levi Weintraub <leviw@chromium.org>
Infinite recursion in RenderSVGResourceContainer::markAllClientsForInvalidation
https://bugs.webkit.org/show_bug.cgi?id=71384
Reviewed by Darin Adler.
Adding a reentrancy guard to RenderSVGResourceContainer to prevent infinite recursion when
resources reference one another and share ids.
Test: svg/custom/resource-invalidation-crash.svg
* rendering/svg/RenderSVGResourceContainer.cpp:
(WebCore::RenderSVGResourceContainer::RenderSVGResourceContainer):
(WebCore::RenderSVGResourceContainer::markAllClientsForInvalidation):
* rendering/svg/RenderSVGResourceContainer.h:
2011-11-02 Jon Lee <jonlee@apple.com>
Expand DragController to provide more information about the dragging session
https://bugs.webkit.org/show_bug.cgi?id=71324
<rdar://problem/10379175>
Reviewed by Darin Adler.
* WebCore.xcodeproj/project.pbxproj:
* page/DragController.cpp:
(WebCore::DragController::dragEntered):
(WebCore::DragController::dragUpdated):
(WebCore::DragController::dragEnteredOrUpdated):
(WebCore::DragController::tryDocumentDrag): In addition to determining the
drag operation, DragSession is updated with data regarding whether the mouse
is over a file input, and the number of items that would be accepted based on
the mouse's location.
* page/DragController.h:
* page/DragSession.h: Added.
(WebCore::DragSession::DragSession): Keep track of current operation, whether
the mouse is over a file input element, and how many files would be accepted if
dropped.
* platform/DragData.h: Added numberOfFiles()
* platform/chromium/DragDataChromium.cpp:
(WebCore::DragData::numberOfFiles):
* platform/efl/DragDataEfl.cpp:
(WebCore::DragData::numberOfFiles):
* platform/gtk/DragDataGtk.cpp:
(WebCore::DragData::numberOfFiles):
* platform/mac/DragDataMac.mm:
(WebCore::DragData::numberOfFiles):
* platform/qt/DragDataQt.cpp:
(WebCore::DragData::numberOfFiles):
* platform/win/DragDataWin.cpp:
(WebCore::DragData::numberOfFiles):
* platform/wince/DragDataWinCE.cpp:
(WebCore::DragData::numberOfFiles):
* platform/wx/DragDataWx.cpp:
(WebCore::DragData::numberOfFiles):
2011-11-02 Alexey Proskuryakov <ap@apple.com>
Emedded PDFs cannot be opened from Web archives
https://bugs.webkit.org/show_bug.cgi?id=70954
Reviewed by Oliver Hunt.
BuiltInPDFPlugin doesn't have access to original ResourceResponse and has to re-create it
It doesn't seem to be possible to create an NSURLResponse with a non-null HTTP status code,
and NetscapePlugInStreamLoader becomes unhappy.
* loader/NetscapePlugInStreamLoader.cpp: (WebCore::NetscapePlugInStreamLoader::didReceiveResponse):
Allow 0 status code, it's not a real error to have one in response.
2011-10-31 Nat Duca <nduca@chromium.org>
[chromium] Slow down commit and draw rate based on visibility and draw completion
https://bugs.webkit.org/show_bug.cgi?id=71267
Reviewed by James Robinson.
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
(WebCore::CCLayerTreeHost::visible):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
(WebCore::CCLayerTreeHostImpl::visible):
* platform/graphics/chromium/cc/CCScheduler.cpp:
(WebCore::CCScheduler::beginFrame):
(WebCore::CCScheduler::processScheduledActions):
* platform/graphics/chromium/cc/CCScheduler.h:
* platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
(WebCore::CCSchedulerStateMachine::nextAction):
(WebCore::CCSchedulerStateMachine::updateState):
* platform/graphics/chromium/cc/CCSchedulerStateMachine.h:
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::visible):
* platform/graphics/chromium/cc/CCThreadProxy.h:
2011-11-02 Dan Bernstein <mitz@apple.com>
<rdar://problem/10336700> Add API to get rendered text image without having to select it
https://bugs.webkit.org/show_bug.cgi?id=71407
Reviewed by Simon Fraser.
Test: TestWebKitAPI/Tests/mac/RenderedImageFromDOMRange.mm
* bindings/objc/DOM.mm:
(-[DOMRange renderedImageForcingBlackText:]): Added.
* bindings/objc/DOMPrivate.h:
* page/Frame.h:
* page/mac/FrameMac.mm:
(WebCore::Frame::rangeImage): Added. Sets the selection in the RenderView (only) based on the
given range and gets a selection-only rendering of the view, then restores the selection.
* rendering/RenderView.cpp:
(WebCore::RenderView::setSelection): Skip all invalidation if the repaint behavior is RepaintNothing.
(WebCore::RenderView::getSelection): Added this getter.
* rendering/RenderView.h:
2011-11-02 Tom Sepez <tsepez@chromium.org>
XSSAuditor is silent
https://bugs.webkit.org/show_bug.cgi?id=70973
Reviewed by Adam Barth.
Test: http/tests/security/xssAuditor/script-tag-with-callbacks.html
* html/parser/XSSAuditor.cpp:
(WebCore::XSSAuditor::XSSAuditor):
(WebCore::XSSAuditor::filterToken):
* html/parser/XSSAuditor.h:
* loader/EmptyClients.h:
(WebCore::EmptyFrameLoaderClient::didDetectXSS):
* loader/FrameLoaderClient.h:
2011-11-02 Simon Fraser <simon.fraser@apple.com>
Assertion in FontCache::getCachedFontData() when painting into composited layer
https://bugs.webkit.org/show_bug.cgi?id=71377
Reviewed by Anders Carlsson.
Add one of the mysterious FontCachePurgePreventers on the stack when painting
compositing layers, just as FrameView::paintContents does, to fix an assertion
seen on the bots with some layout tests.
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::paintIntoLayer):
2011-11-02 Tommy Widenflycht <tommyw@google.com>
MediaStreamRegistry should hold references to MediaStreamDescriptor rather than MediaStream
https://bugs.webkit.org/show_bug.cgi?id=70896
Reviewed by Adam Barth.
Tests for the Media Stream API will be provided by the bug 56587, pending enough landed code.
* mediastream/MediaStreamRegistry.cpp:
(WebCore::MediaStreamRegistry::registerMediaStreamURL):
(WebCore::MediaStreamRegistry::unregisterMediaStreamURL):
(WebCore::MediaStreamRegistry::lookupMediaStreamDescriptor):
* mediastream/MediaStreamRegistry.h:
2011-11-02 Zoltan Herczeg <zherczeg@webkit.org>
Match allowed CSS string characters to Firefox and Opera browsers
https://bugs.webkit.org/show_bug.cgi?id=71000
Reviewed by Darin Adler.
Firefox and Opera accepts any character inside a string except
newline and starting quote character. This behaviour matches to
the CSS 2.1 grammar: http://www.w3.org/TR/CSS2/grammar.html
WebKit should follow them.
Test: fast/css/parsing-css-allowed-string-characters.html
* css/tokenizer.flex:
2011-11-02 Devdatta Deshpande <pwjd73@motorola.com>
Assert in MoveSelectionCommand::doApply
https://bugs.webkit.org/show_bug.cgi?id=70277
Reviewed by Ryosuke Niwa.
A MoveSelectionCommand should be fired only if the selection type is
RangeSelection, since nothing is selected in other cases.
Test: fast/events/drag-link.html
* page/DragController.cpp:
(WebCore::DragController::dragIsMove):
2011-11-02 Jon Lee <jonlee@apple.com>
<input=file multiple> default text uses singular instead of plural
https://bugs.webkit.org/show_bug.cgi?id=71319
<rdar://problem/10379021>
Reviewed by Darin Adler.
Added a new method to return the label text for a file upload control that
allows multiple files. Needed to extend the RenderTheme function to pass down
a boolean representing whether multiple files are allowed in the file list.
* English.lproj/Localizable.strings:
* html/FileInputType.cpp:
(WebCore::FileInputType::defaultToolTip):
* platform/DefaultLocalizationStrategy.cpp:
(WebCore::DefaultLocalizationStrategy::fileButtonNoFilesSelectedLabel):
* platform/DefaultLocalizationStrategy.h:
* platform/LocalizationStrategy.h:
* platform/LocalizedStrings.cpp:
(WebCore::fileButtonNoFilesSelectedLabel):
* platform/LocalizedStrings.h:
* platform/efl/LocalizedStringsEfl.cpp:
(WebCore::fileButtonNoFilesSelectedLabel):
* platform/gtk/LocalizedStringsGtk.cpp:
(WebCore::fileButtonNoFilesSelectedLabel):
* platform/gtk/RenderThemeGtk.cpp:
(WebCore::RenderThemeGtk::fileListNameForWidth):
* platform/gtk/RenderThemeGtk.h:
* platform/qt/RenderThemeQt.cpp:
(WebCore::RenderThemeQt::fileListNameForWidth):
* platform/qt/RenderThemeQt.h:
* platform/wx/LocalizedStringsWx.cpp:
(WebCore::fileButtonNoFilesSelectedLabel):
* rendering/RenderFileUploadControl.cpp:
(WebCore::RenderFileUploadControl::fileTextValue):
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::fileListNameForWidth):
* rendering/RenderTheme.h:
* rendering/RenderThemeMac.h:
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::fileListNameForWidth):
2011-11-02 Andras Becsi <andras.becsi@nokia.com>
[Qt] Fix the build with NO_LISTBOX_RENDERING
Unreviewed build fix after r99035.
Patch by Michael Bruning <michael.bruning@nokia.com>
No new tests needed.
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::listBoxSelectItem):
2011-10-28 Ryosuke Niwa <rniwa@webkit.org>
div { display: none; } makes pasting into text fields impossible
https://bugs.webkit.org/show_bug.cgi?id=27683
Reviewed by Enrica Casucci.
The bug was caused by insertFragmentForTestRendering's always inserting a node for test rendering
into document's body.
Fixed the bug by inserting the node for test rendering into the root editable element. In addition,
remove the node before dispatching beforeTextInserted event to avoid event listeners, in particular
TextFieldInputType::handleBeforeTextInsertedEvent, from seeing the test node.
Test: editing/pasteboard/input-with-display-none-div.html
* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplacementFragment::ReplacementFragment):
(WebCore::ReplacementFragment::insertFragmentForTestRendering):
(WebCore::ReplacementFragment::restoreAndRemoveTestRenderingNodesToFragment):
2011-11-02 Ryosuke Niwa <rniwa@webkit.org>
REGRESSION(r96870): WebKit generates background: transparent on blogger.com
https://bugs.webkit.org/show_bug.cgi?id=71203
Reviewed by Ojan Vafai.
Remove the transparent background color from inline style declarations in the pasted content.
Also fixed a bug in removeStyleFromRulesAndContext that it removes properties in inline style
declarations even if those properties were overridden.
Tests: editing/deleting/merge-paragraphs-with-transparent-background.html
editing/deleting/paste-with-transparent-background-color.html
* editing/EditingStyle.cpp:
(WebCore::removePropertiesInStyle):
(WebCore::EditingStyle::removeStyleFromRulesAndContext):
(WebCore::EditingStyle::removePropertiesInElementDefaultStyle):
2011-11-02 Andreas Kling <kling@webkit.org>
CSSStyleRule: Devirtualize selectorText()
https://bugs.webkit.org/show_bug.cgi?id=71364
Reviewed by Antti Koivisto.
Have CSSStyleRule::selectorText() redirect to CSSPageRule::pageSelectorText()
if type() is PAGE_RULE.
* css/CSSPageRule.cpp:
(WebCore::CSSPageRule::pageSelectorText):
* css/CSSPageRule.h:
* css/CSSStyleRule.cpp:
(WebCore::CSSStyleRule::selectorText):
* css/CSSStyleRule.h:
2011-11-02 Andreas Kling <kling@webkit.org>
CSSRule: Devirtualize cssText()
https://bugs.webkit.org/show_bug.cgi?id=71292
Reviewed by Antti Koivisto.
Have CSSRule::cssText() redirect to the appropriate subclass based on type().
This is one of the last steps of devirtualizing CSSRule completely, which will
allow us to get rid of its vtable, and each instance's pointer thereto.
* css/CSSCharsetRule.h:
* css/CSSFontFaceRule.h:
* css/CSSImportRule.h:
* css/CSSMediaRule.h:
* css/CSSRegionStyleRule.h:
* css/CSSRule.cpp:
(WebCore::CSSRule::cssText):
* css/CSSRule.h:
* css/CSSStyleRule.h:
* css/WebKitCSSKeyframeRule.h:
* css/WebKitCSSKeyframesRule.h:
2011-11-02 Patrick Gansterer <paroga@webkit.org>
Unreviewed build fix for !ENABLE(FILTERS) after r98989.
* rendering/svg/SVGResourcesCache.cpp:
(WebCore::SVGResourcesCache::clientLayoutChanged):
2011-11-02 Alexander Pavlov <apavlov@chromium.org>
Web Inspector: [REGRESSION] Clicking in a CSS property/value being edited commits the editor
https://bugs.webkit.org/show_bug.cgi?id=71360
Reviewed by Pavel Feldman.
Selecting a selected TreeElement should be an idempotent operation.
* inspector/front-end/treeoutline.js:
(TreeElement.prototype.select):
2011-11-02 Ben Wells <benwells@chromium.org>
Canvas filling paths or rects need to be invalidate larger rects for some compositing modes.
https://bugs.webkit.org/show_bug.cgi?id=70379
Reviewed by James Robinson.
Test: fast/canvas/canvas-composite-fill-repaint.html
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::fill):
(WebCore::CanvasRenderingContext2D::fillRect):
(WebCore::CanvasRenderingContext2D::drawImage):
(WebCore::CanvasRenderingContext2D::didDrawEntireCanvas):
* html/canvas/CanvasRenderingContext2D.h:
2011-11-01 Levi Weintraub <leviw@chromium.org>
Fix uses of LayoutUnit in Frame-, Scroll-, and RenderView
https://bugs.webkit.org/show_bug.cgi?id=71321
Reviewed by Darin Adler.
Updating the usage of LayoutUnits in the *View classes to mirror the proper use
as derived in the subpixellayout branch.
This entails scrolling only with integers (and rounding once we've made the switch)
and using integers for window coordinates, with LayoutUnits for content coordinates.
No new tests -- no change in behavior.
* page/FrameView.cpp:
(WebCore::FrameView::invalidateRect):
(WebCore::FrameView::setFrameRect):
(WebCore::FrameView::zoomAnimatorTransformChanged):
(WebCore::FrameView::scrollContentsFastPath):
(WebCore::FrameView::scrollContentsSlowPath):
(WebCore::FrameView::scrollElementToRect):
(WebCore::FrameView::setScrollPosition):
(WebCore::FrameView::repaintContentRectangle):
(WebCore::FrameView::scrollTo):
(WebCore::FrameView::updateScrollCorner):
* page/FrameView.h:
(WebCore::FrameView::trackedRepaintRects):
* platform/ScrollView.cpp:
(WebCore::ScrollView::visibleContentRect):
(WebCore::ScrollView::layoutWidth):
(WebCore::ScrollView::layoutHeight):
(WebCore::ScrollView::fixedLayoutSize):
(WebCore::ScrollView::setFixedLayoutSize):
(WebCore::ScrollView::contentsSize):
(WebCore::ScrollView::setContentsSize):
(WebCore::ScrollView::overhangAmount):
(WebCore::ScrollView::updateScrollbars):
(WebCore::ScrollView::rectToCopyOnScroll):
(WebCore::ScrollView::scrollContents):
(WebCore::ScrollView::windowToContents):
(WebCore::ScrollView::screenToContents):
(WebCore::ScrollView::scrollbarAtPoint):
(WebCore::ScrollView::wheelEvent):
* platform/ScrollView.h:
(WebCore::ScrollView::visibleWidth):
(WebCore::ScrollView::visibleHeight):
(WebCore::ScrollView::contentsWidth):
(WebCore::ScrollView::contentsHeight):
(WebCore::ScrollView::adjustScrollPositionWithinRange):
* rendering/RenderView.cpp:
(WebCore::RenderView::paint):
(WebCore::RenderView::shouldRepaint):
(WebCore::RenderView::repaintViewRectangle):
(WebCore::RenderView::repaintRectangleInViewAndCompositedLayers):
(WebCore::RenderView::computeRectForRepaint):
(WebCore::RenderView::selectionBounds):
(WebCore::RenderView::viewRect):
(WebCore::RenderView::unscaledDocumentRect):
(WebCore::RenderView::documentRect):
* rendering/RenderView.h:
(WebCore::RenderView::printRect):
(WebCore::RenderView::setPrintRect):
2011-11-01 Anna Cavender <annacc@chromium.org>
Small fixes for WebVTTParser.
https://bugs.webkit.org/show_bug.cgi?id=71334
Reviewed by Darin Adler.
No new tests. This is needed to enable other tests, coming soon.
* html/track/WebVTTParser.cpp:
(WebCore::hasLongWebVTTIdentifier): changed to return true when header is
exactly "WEBVTT"
(WebCore::WebVTTParser::collectTimingsAndSettings): fix typos, position should
only progress once when checking the character after a timestamp.
2011-11-01 Darin Adler <darin@apple.com>
Change HTMLSelectElement::setSelectedIndex to use enums instead of bools
https://bugs.webkit.org/show_bug.cgi?id=70184
Reviewed by Kent Tamura.
Refactoring that does not require new tests.
* bindings/objc/DOMHTML.mm:
(-[DOMHTMLSelectElement _activateItemAtIndex:]): Replaced setSelectedIndexByUser
call with a call to the renamed optionSelectedByUser, also removed one argument.
(-[DOMHTMLSelectElement _activateItemAtIndex:allowMultipleSelection:]): Ditto.
* html/HTMLOptionElement.cpp:
(WebCore::HTMLOptionElement::setSelected): Replaced setSelectedIndex call with a
call to the new optionSelectionStateChanged function.
(WebCore::HTMLOptionElement::insertedIntoTree): Ditto.
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::HTMLSelectElement): Updated since m_userDrivenChange
was renamed to m_isProcessingUserDrivenChange.
(WebCore::HTMLSelectElement::optionSelectedByUser): Removed deselect argument,
which was always true for all callers. Updated comment.
(WebCore::HTMLSelectElement::hasPlaceholderLabelOption): Updated comment.
(WebCore::HTMLSelectElement::setOption): Call the new optionSelectionStateChanged
function. The code used to explicitly ask the function it calls to deselect base
on the value of m_multiple, but that is no longer needed because the selectOption
function itself takes care of that check.
(WebCore::HTMLSelectElement::dispatchChangeEventForMenuList): Renamed this function.
Also updated for name change to m_isProcessingUserDrivenChange.
(WebCore::HTMLSelectElement::setSelectedIndex): Moved the formerly-inlined function
here from the header and changed it to call the renamed selectOption function.
(WebCore::HTMLSelectElement::optionSelectionStateChanged): Added this function.
It is used by callers that were previously using setSelectedIndex and passing
"false" for the deselect argument. It's better now that setSelectedIndex is now a
pure DOM setter function without the multiple purposes it had before. This function
now has the logic that handles the special handling when deselecting an option,
which used to be at the top of the next function.
(WebCore::HTMLSelectElement::selectOption): Renamed this from setSelectedIndex.
Replaced boolean arguments with flags. Removed code to handle the special case
when we deselect an option; that's now handled in the optionSelectionStateChanged
function. Added an assertion to replace a comment and updated for other renaming.
(WebCore::HTMLSelectElement::dispatchBlurEvent): Updated for name change.
(WebCore::HTMLSelectElement::platformHandleKeydownEvent): Ditto.
(WebCore::HTMLSelectElement::menuListDefaultEventHandler): Changed to call the
new selectOption function and also updated for other name changes.
(WebCore::HTMLSelectElement::typeAheadFind): Ditto.
(WebCore::HTMLSelectElement::accessKeySetSelectedIndex): Ditto.
* html/HTMLSelectElement.h: Changed the setSelectedIndex to be a pure setter
function for the selectedIndex DOM property. Added a optionSelectedByUser function
for the other use of setSelectedIndex, but removed the always true "deselect"
argument from it. Added a optionSelectionStateChanged function for use in the
HTMLOptionElement implementation. Renamed menuListOnChange to
dispatchChangeEventForMenuList for clarity. Added a SelectOptionFlag and
SelectOptionFlags type for the arguments to the selectOption function, formerly
implemented as an overload of setSelectedIndex (and called setSelectedIndexInternal
before that). Renamed m_userDrivenChange to m_isProcessingUserDrivenChange.
* rendering/RenderMenuList.cpp:
(WebCore::RenderMenuList::valueChanged): Replaced setSelectedIndexByUser
call with a call to the renamed optionSelectedByUser, also removed one argument.
2011-11-01 Sam Weinig <sam@webkit.org>
Implement __lookupGetter__/__lookupSetter__ in terms of getPropertyDescriptor
https://bugs.webkit.org/show_bug.cgi?id=71336
Reviewed by Darin Adler.
* bindings/js/JSDOMWindowCustom.cpp:
* bindings/js/JSDOMWindowShell.cpp:
* bindings/js/JSDOMWindowShell.h:
* page/DOMWindow.idl:
Remove overrides of lookupGetter/lookupSetter, which are no longer needed
due to implementing getPropertyDescriptor.
2011-11-01 Nat Duca <nduca@chromium.org>
[chromium] Move resource-releasing logic into CCProxy and cleanup setNeedsCommit
https://bugs.webkit.org/show_bug.cgi?id=71269
Reviewed by James Robinson.
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::finishCommitOnImplThread):
(WebCore::CCLayerTreeHost::setZoomAnimatorTransform):
(WebCore::CCLayerTreeHost::setNeedsCommit):
(WebCore::CCLayerTreeHost::setViewport):
(WebCore::CCLayerTreeHost::setVisible):
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
* platform/graphics/chromium/cc/CCProxy.h:
* platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
(WebCore::CCSingleThreadProxy::doCommit):
(WebCore::CCSingleThreadProxy::setNeedsRedraw):
(WebCore::CCSingleThreadProxy::setVisible):
(WebCore::CCSingleThreadProxy::recreateContextIfNeeded):
(WebCore::CCSingleThreadProxy::doComposite):
* platform/graphics/chromium/cc/CCSingleThreadProxy.h:
(WebCore::CCSingleThreadProxy::setNeedsRedrawOnImplThread):
(WebCore::CCSingleThreadProxy::setNeedsCommitOnImplThread):
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::setNeedsCommit):
(WebCore::CCThreadProxy::setNeedsAnimateOnImplThread):
(WebCore::CCThreadProxy::setVisible):
* platform/graphics/chromium/cc/CCThreadProxy.h:
2011-11-01 Anna Cavender <annacc@chromium.org>
Makes [Reflect] work for constants.
This is needed to avoid platform-specific define conflicts, specifically
TextTrack::ERROR conflicts with a windows define.
https://bugs.webkit.org/show_bug.cgi?id=70951
Reviewed by Darin Adler.
Test: media/track/track-constants.html
* bindings/scripts/CodeGenerator.pm:
(GenerateCompileTimeCheckForEnumsIfNeeded):
Check for [Reflect] and assign name accordingly.
* bindings/scripts/test/CPP/WebDOMTestObj.h: Update test file.
* bindings/scripts/test/JS/JSTestObj.cpp: Update test file.
(WebCore::jsTestObjCONST_JAVASCRIPT):
* bindings/scripts/test/JS/JSTestObj.h: Update test file.
* bindings/scripts/test/ObjC/DOMTestObj.h: Update test file.
* bindings/scripts/test/TestObj.idl: Update test file.
* bindings/scripts/test/V8/V8TestObj.cpp: Update test file.
* html/LoadableTextTrack.cpp: Use new DOM const name.
(WebCore::LoadableTextTrack::cueLoadingStarted):
(WebCore::LoadableTextTrack::cueLoadingCompleted):
* html/TextTrack.cpp: Use new DOM const name.
(WebCore::TextTrack::TextTrack):
(WebCore::TextTrack::setMode):
* html/TextTrack.h: Use new DOM const name.
* html/TextTrack.idl: Use Reflect for ERROR, but leave other DOM const names.
2011-11-01 Levi Weintraub <leviw@chromium.org>
Amend missing uses of LayoutUnit in RenderBlock
https://bugs.webkit.org/show_bug.cgi?id=71254
Reviewed by Darin Adler.
Switching relevant uses of integers in RenderBlock to LayoutUnits.
No new tests -- no changes in behavior.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::MarginInfo::MarginInfo):
(WebCore::RenderBlock::layoutBlock):
(WebCore::RenderBlock::adjustFloatingBlock):
(WebCore::RenderBlock::clearFloatsIfNeeded):
(WebCore::RenderBlock::layoutBlockChild):
(WebCore::RenderBlock::paintColumnRules):
(WebCore::RenderBlock::paintContents):
(WebCore::clipOutPositionedObjects):
(WebCore::RenderBlock::removeFloatingObject):
(WebCore::RenderBlock::nextFloatLogicalBottomBelow):
(WebCore::RenderBlock::getClearDelta):
(WebCore::positionForPointRespectingEditingBoundaries):
(WebCore::RenderBlock::calcColumnWidth):
(WebCore::RenderBlock::layoutColumns):
(WebCore::RenderBlock::adjustRectForColumns):
(WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
(WebCore::RenderBlock::baselinePosition):
(WebCore::getHeightForLineCount):
(WebCore::RenderBlock::setPaginationStrut):
(WebCore::RenderBlock::applyBeforeBreak):
(WebCore::RenderBlock::applyAfterBreak):
(WebCore::RenderBlock::adjustForUnsplittableChild):
* rendering/RenderBlock.h:
(WebCore::RenderBlock::availableLogicalWidthForLine):
(WebCore::RenderBlock::paginationStrut):
(WebCore::RenderBlock::availableLogicalWidthForContent):
(WebCore::RenderBlock::FloatWithRect::FloatWithRect):
(WebCore::RenderBlock::MarginInfo::setPositiveMargin):
(WebCore::RenderBlock::MarginInfo::setNegativeMargin):
(WebCore::RenderBlock::MarginInfo::setPositiveMarginIfLarger):
(WebCore::RenderBlock::MarginInfo::setNegativeMarginIfLarger):
(WebCore::RenderBlock::MarginInfo::setMargin):
(WebCore::RenderBlock::FloatIntervalSearchAdapter::FloatIntervalSearchAdapter):
(WebCore::RenderBlock::FloatIntervalSearchAdapter::lowValue):
(WebCore::RenderBlock::FloatIntervalSearchAdapter::highValue):
(WebCore::RenderBlock::RenderBlockRareData::positiveMarginBeforeDefault):
(WebCore::RenderBlock::RenderBlockRareData::negativeMarginBeforeDefault):
(WebCore::RenderBlock::RenderBlockRareData::positiveMarginAfterDefault):
(WebCore::RenderBlock::RenderBlockRareData::negativeMarginAfterDefault):
2011-11-01 Luke Macpherson <macpherson@chromium.org>
WIP: Add CSS property to control printing of backgrounds for individual elements.
https://bugs.webkit.org/show_bug.cgi?id=64583
Reviewed by Eric Seidel.
Added test LayoutTests/fast/css/webkit-color-adjust.html,
Updated tests under LayoutTests/fast/css/getComputedStyle
Updated test under LayoutTests/svg/css
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
* css/CSSPropertyNames.in:
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::styleForDocument):
(WebCore::CSSStyleSelector::applyProperty):
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintFillLayerExtended):
* rendering/style/RenderStyle.h:
(WebCore::InheritedFlags::initialForceBackgroundsToWhite):
2011-11-01 Dominic Cooney <dominicc@chromium.org>
Remove initErrorEvent method
https://bugs.webkit.org/show_bug.cgi?id=71338
Reviewed by Ojan Vafai.
* dom/ErrorEvent.cpp: Crush.
* dom/ErrorEvent.h: Kill.
* dom/ErrorEvent.idl: Destroy.
2011-11-01 Julien Chaffraix <jchaffraix@webkit.org>
Pack RenderTableCell bits
https://bugs.webkit.org/show_bug.cgi?id=71135
Reviewed by Darin Adler.
Tested by RenderTableCellTest unit test.
(unfortunately Chromium specific...)
This saves another 8 bytes on RenderTableCell on x86-64.
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::RenderTableCell):
* rendering/RenderTableCell.h:
Changed the field order to use more strict packing.
(WebCore::RenderTableCell::setCol):
(WebCore::RenderTableCell::setRow):
Added overflow checks to the 2 previous methods. We
CRASH even in release to avoid potential badness
(the limit is currently above 2 billions rows or columns
which is high enough to prevent it being hit by accident)
2011-11-01 Emil A Eklund <eae@chromium.org>
Switch background/border image back to Int
https://bugs.webkit.org/show_bug.cgi?id=71240
Reviewed by Darin Adler.
Switch background- and border-image rendering back to int to align with
device pixels.
No new tests.
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::calculateImageIntrinsicDimensions):
(WebCore::RenderBoxModelObject::calculateFillTileSize):
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::useFixedAttachment):
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::clip):
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::relativePhase):
(WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
(WebCore::RenderBoxModelObject::paintNinePieceImage):
(WebCore::calculateAdjustedInnerBorder):
* rendering/RenderBoxModelObject.h:
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::destOrigin):
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::setDestOrigin):
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::destRect):
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::setDestRect):
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::phase):
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::setPhase):
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::tileSize):
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::setTileSize):
2011-11-01 Mark Hahnenberg <mhahnenberg@apple.com>
De-virtualize JSObject::defineSetter
https://bugs.webkit.org/show_bug.cgi?id=71303
Reviewed by Darin Adler.
No new tests.
Added defineSetter to the MethodTable, changed all the virtual
implementations of defineSetter to static ones, and replaced
all call sites with corresponding lookups in the MethodTable.
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::defineSetter):
* bindings/js/JSDOMWindowShell.cpp:
(WebCore::JSDOMWindowShell::defineSetter):
* bindings/js/JSDOMWindowShell.h:
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
2011-11-01 Emil A Eklund <eae@chromium.org>
Switch PopupMenuClient to layout abstraction
https://bugs.webkit.org/show_bug.cgi?id=71308
Reviewed by Darin Adler.
Switch PopupMenuClient and rendering classes implementing it to layout
type abstraction.
No new tests.
* platform/PopupMenuClient.h:
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::listIndexAtOffset):
(WebCore::RenderListBox::panScroll):
(WebCore::RenderListBox::scrollToward):
(WebCore::RenderListBox::scrollSize):
(WebCore::RenderListBox::scrollPosition):
(WebCore::RenderListBox::setScrollOffset):
(WebCore::RenderListBox::verticalScrollbarWidth):
Revert scroll positions and scroll offsets to ints to align with device
pixels.
* rendering/RenderListBox.h:
* rendering/RenderMenuList.cpp:
(WebCore::RenderMenuList::showPopup):
(WebCore::RenderMenuList::clientPaddingLeft):
(WebCore::RenderMenuList::clientPaddingRight):
* rendering/RenderMenuList.h:
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::hitInnerTextElement):
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::clientPaddingLeft):
(WebCore::RenderTextControlSingleLine::clientPaddingRight):
* rendering/RenderTextControlSingleLine.h:
2011-11-01 Nate Chapin <japhet@chromium.org>
[chromium] As of r98380, ThreadableLoaderClients are having their
ResourceRequest::TargetType clobbered. They set their own
type, but CachedResourceRequest (through which they now flow)
sets a TargetType without bothering to see if one has already been set.
https://bugs.webkit.org/show_bug.cgi?id=70972
Reviewed by Darin Fisher.
No new tests, this is chromium-specific and only affects
behavior seen in full builds of chromium.
* loader/cache/CachedResourceRequest.cpp:
(WebCore::CachedResourceRequest::load):Don't setTargetType()
if the value is something other than the default already.
* platform/network/chromium/ResourceRequest.h: Change default
TargetType to TargetIsUnspecified.
2011-11-01 Emil A Eklund <eae@chromium.org>
Use IntPoint for screen coordinates in MouseEvent
https://bugs.webkit.org/show_bug.cgi?id=71327
Reviewed by Darin Adler.
Change mouse events to use int/IntPoint for screen/window coordinates and
LayoutUnit/LayoutPoint for coordinates adjusted for zooming.
No new tests.
* dom/MouseRelatedEvent.cpp:
(WebCore::MouseRelatedEvent::MouseRelatedEvent):
(WebCore::MouseRelatedEvent::computeRelativePosition):
* dom/MouseRelatedEvent.h:
(WebCore::MouseRelatedEvent::screenLocation):
Revert screenLocation and windowLocation back to int.
* page/DragController.cpp:
(WebCore::elementUnderMouse):
Change elementUnderMouse to use a LayoutPoint for hit testing.
* page/EventHandler.cpp:
(WebCore::EventHandler::clear):
(WebCore::EventHandler::currentMousePosition):
(WebCore::documentPointForWindowPoint):
(WebCore::EventHandler::fakeMouseMoveEventTimerFired):
* page/EventHandler.h:
Revert m_currentMousePosition to IntPoint as it represents a
screen coordinate.
* platform/PlatformMouseEvent.h:
(WebCore::PlatformMouseEvent::PlatformMouseEvent):
(WebCore::PlatformMouseEvent::pos):
(WebCore::PlatformMouseEvent::x):
(WebCore::PlatformMouseEvent::y):
(WebCore::PlatformMouseEvent::globalX):
(WebCore::PlatformMouseEvent::globalY):
* platform/mac/PlatformMouseEventMac.mm:
(WebCore::globalPoint):
(WebCore::pointForEvent):
(WebCore::globalPointForEvent):
Revert PlatformMouseEvent to int/IntPoint as it represents a screen
coordinate.
2011-11-01 Tony Chang <tony@chromium.org>
REGRESSION: -webkit-flex() should be an invalid value
https://bugs.webkit.org/show_bug.cgi?id=71320
Reviewed by Ojan Vafai.
This regressed in http://trac.webkit.org/changeset/98773 .
No new tests, covered by css3/flexbox/flex-parsing.html.
* css/CSSParser.cpp:
(WebCore::CSSParser::parseFlex):
2011-11-01 David Grogan <dgrogan@chromium.org>
IndexedDB: get EventQueue from ScriptExecutionContext instead of Document
https://bugs.webkit.org/show_bug.cgi?id=71147
When IDB is used from a worker thread ScriptExecutionContext will
be a WorkerContext, not a Document. This was the impetus behind
moving EventQueue into ScriptExecutionContext in r98656.
Reviewed by Nate Chapin.
No new tests. No new functionality yet.
* storage/IDBDatabase.cpp:
(WebCore::IDBDatabase::close):
(WebCore::IDBDatabase::enqueueEvent):
* storage/IDBRequest.cpp:
(WebCore::IDBRequest::abort):
(WebCore::IDBRequest::enqueueEvent):
* storage/IDBTransaction.cpp:
(WebCore::IDBTransaction::enqueueEvent):
2011-11-01 Andreas Kling <kling@webkit.org>
CSS: Remove unused virtual parseString() in style and keyframe rules.
https://bugs.webkit.org/show_bug.cgi?id=71300
Reviewed by Darin Adler.
* css/CSSStyleRule.cpp:
* css/CSSStyleRule.h:
* css/WebKitCSSKeyframeRule.cpp:
* css/WebKitCSSKeyframeRule.h:
2011-11-01 Emil A Eklund <eae@chromium.org>
Switch RenderObject to layout abstraction
https://bugs.webkit.org/show_bug.cgi?id=71249
Switch RenderObject to LayoutRect/Size/Point abstraction.
Reviewed by Darin Adler.
No new tests.
* rendering/RenderObject.cpp:
(WebCore::RenderObject::drawLineForBoxSide):
(WebCore::RenderObject::addPDFURLRect):
(WebCore::RenderObject::absoluteBoundingBoxRect):
(WebCore::RenderObject::absoluteFocusRingQuads):
(WebCore::RenderObject::addAbsoluteRectForLayer):
(WebCore::RenderObject::repaintAfterLayoutIfNeeded):
(WebCore::RenderObject::computeRectForRepaint):
(WebCore::RenderObject::viewRect):
(WebCore::RenderObject::mapLocalToContainer):
(WebCore::RenderObject::localCaretRect):
(WebCore::RenderObject::addDashboardRegions):
(WebCore::RenderObject::maximalOutlineSize):
(WebCore::RenderObject::adjustRectForOutlineAndShadow):
* rendering/RenderObject.h:
(WebCore::RenderObject::absoluteBoundingBoxRectIgnoringTransforms):
(WebCore::RenderObject::absoluteClippedOverflowRect):
(WebCore::RenderObject::computeAbsoluteRepaintRect):
(WebCore::RenderObject::absoluteOutlineBounds):
(WebCore::RenderObject::outlineBoundsForRepaint):
(WebCore::adjustForAbsoluteZoom):
2011-11-01 Xiaomei Ji <xji@chromium.org>
Refactor: change Scrollable::m_scrollOrigin from protected to private.
https://bugs.webkit.org/show_bug.cgi?id=71236
Reviewed by Darin Adler.
Only refactor, no new tests needed.
* page/FrameView.cpp:
(WebCore::FrameView::scrollXForFixedPosition):
(WebCore::FrameView::scrollYForFixedPosition):
* platform/ScrollView.cpp:
(WebCore::ScrollView::maximumScrollPosition):
(WebCore::ScrollView::minimumScrollPosition):
(WebCore::ScrollView::setScrollOffset):
(WebCore::ScrollView::scrollPosition):
(WebCore::ScrollView::overhangAmount):
(WebCore::ScrollView::updateScrollbars):
(WebCore::ScrollView::wheelEvent):
* platform/ScrollView.h:
* platform/ScrollableArea.h:
(WebCore::ScrollableArea::setScrollOrigin):
(WebCore::ScrollableArea::setScrollOriginX):
(WebCore::ScrollableArea::setScrollOriginY):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::scrollTo):
(WebCore::RenderLayer::scrollPosition):
(WebCore::RenderLayer::minimumScrollPosition):
(WebCore::RenderLayer::maximumScrollPosition):
(WebCore::RenderLayer::computeScrollDimensions):
* rendering/RenderLayer.h:
(WebCore::RenderLayer::scrollXOffset):
(WebCore::RenderLayer::scrollYOffset):
2011-11-01 Dominic Cooney <dominicc@chromium.org>
display: table-cell and box-sizing: border-box calculates content-box height
https://bugs.webkit.org/show_bug.cgi?id=69425
Reviewed by Dan Bernstein.
Test: fast/box-sizing/table-cell.html
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::calcRowLogicalHeight):
2011-11-01 Alok Priyadarshi <alokp@chromium.org>
[chromium] Add testing for --enable-accelerated-drawing
https://bugs.webkit.org/show_bug.cgi?id=70822
Reviewed by James Robinson.
Test: platform/chromium/compositing/accelerated-drawing/alpha.html
* WebCore.exp.in:
* page/Settings.cpp:
* page/Settings.h:
(WebCore::Settings::setAcceleratedDrawingEnabled):
* testing/Internals.cpp:
(WebCore::Internals::setAcceleratedDrawingEnabled):
* testing/Internals.h:
* testing/Internals.idl:
2011-11-01 Tim Horton <timothy_horton@apple.com>
SVG Filter on a group doesn't invalidate when children are moved
https://bugs.webkit.org/show_bug.cgi?id=70044
<rdar://problem/10281530>
Reviewed by Nikolas Zimmermann.
Call SVGResourcesCache::clientLayoutChanged whenever the element or its children need layout. Previously,
invalidation was only performed if the element itself needed layout; now we also invalidate if any child
needs layout and there is a filter applied, as the cached filter result can depend on the layout of children.
Test: svg/filters/invalidate-on-child-layout.svg
* rendering/svg/RenderSVGContainer.cpp:
(WebCore::RenderSVGContainer::layout):
* rendering/svg/SVGResourcesCache.cpp:
(WebCore::SVGResourcesCache::clientLayoutChanged):
2011-11-01 Jer Noble <jer.noble@apple.com>
Four media tests failing on Lion due to incorrect cached times.
https://bugs.webkit.org/show_bug.cgi?id=69574
Reviewed by Eric Carlson.
Do not invalidate the cached time when receiving a mediaPlayerRateChanged notification
while paused. AVFoundation in particular can return different results for currentTime()
when asked after being paused, breaking layout tests.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::mediaPlayerRateChanged):
2011-11-01 Gavin Peters <gavinp@chromium.org>
properly end requests when a bad status code return happens
https://bugs.webkit.org/show_bug.cgi?id=71122
Calling error without ending the request set up the CachedResourceRequest so that it could
actually send out two notifyFinished() events. This probably was the root cause of
lots of crashing instability; I know from crbug.com/75604 that this bug was causing lots
of crashes in ScriptRunner/ScriptElement for instance.
The fix is easy: just properly end the request instead of just calling error, and we won't
re-notify.
Reviewed by Nate Chapin.
No new tests, as the problem wasn't very amenable to layout tests.
There is a chromium test going through code review at http://codereview.chromium.org/8404001/
* loader/cache/CachedResourceRequest.cpp:
(WebCore::CachedResourceRequest::didReceiveData):
2011-11-01 Erik Arvidsson <arv@chromium.org>
Remove LegacyDefaultOptionalArguments flag from CanvasRenderingContext2d
https://bugs.webkit.org/show_bug.cgi?id=64628
Reviewed by Adam Barth.
Covered by existing tests.
* html/canvas/CanvasRenderingContext2D.idl:
2011-11-01 Julien Chaffraix <jchaffraix@webkit.org>
REGRESSION(98738): RenderTableSection::recalcCells does not properly shrink the RowStruct grid
https://bugs.webkit.org/show_bug.cgi?id=71246
Reviewed by Darin Adler.
Tests: fast/table/crash-empty-section-calcBorder.html
fast/table/crash-empty-section-fixed-layout-calcArray.html
The refactoring in r98738 changed the way we handle the size to avoid throwing off
the memory. The new logic would end up never shrinking the grid's size (prior to that
we would grow to the appropriate size and throw the excess capacity with shrinkToFit).
Not shrinking would mean that we would potentially read RowStruct with the default values
(for instance no |rowRenderer|).
addCell will properly grow the grid as needed to accomodate the rows and the protruding
cells with a rowspan so we introduce a variable to keep track of the size needed. At the
end, we just shrink it to this size.
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::recalcCells):
Introduce a variable to keep the grid size and shrink to that size to match the old code.
2011-11-01 Andrey Kosyakov <caseq@chromium.org>
[Chromium] Some media/video-*.html layout tests occasionally crash on WIN GPU
https://bugs.webkit.org/show_bug.cgi?id=71277
Reviewed by Simon Fraser.
Disabled assert() in hasVisibleDescendant() until callers are fixed.
* rendering/RenderLayer.h:
(WebCore::RenderLayer::hasVisibleDescendant):
2011-11-01 Mike Reed <reed@google.com>
[skia] call readPixels on canvas instead of device (will be private on device soon) and check for error
https://bugs.webkit.org/show_bug.cgi?id=71284
Reviewed by Stephen White.
No new tests. This is preparing for an API change to Skia.
* platform/graphics/skia/ImageBufferSkia.cpp:
(WebCore::getImageData):
(WebCore::ImageBuffer::getUnmultipliedImageData):
(WebCore::ImageBuffer::getPremultipliedImageData):
2011-11-01 Andreas Kling <kling@webkit.org>
CSSStyleSheet: Operate directly on the rule vector internally.
Rubber-stamped by Antti Koivisto.
There's no need to go through the public, range-checking item() method
working on m_children. Also changed length() -> m_children.size().
* css/CSSStyleSheet.cpp:
(WebCore::CSSStyleSheet::~CSSStyleSheet):
(WebCore::CSSStyleSheet::insertRule):
(WebCore::CSSStyleSheet::addRule):
(WebCore::CSSStyleSheet::deleteRule):
(WebCore::CSSStyleSheet::isLoading):
(WebCore::CSSStyleSheet::addSubresourceStyleURLs):
2011-11-01 Andreas Kling <kling@webkit.org>
CSSRule: Devirtualize addSubresourceStyleURLs()
https://bugs.webkit.org/show_bug.cgi?id=71285
Reviewed by Antti Koivisto.
Move addSubresourceStyleURLs() into the rules that actually implement it.
Add type checks and casts at the (only) call site.
* css/CSSFontFaceRule.h:
* css/CSSImportRule.h:
* css/CSSRule.h:
* css/CSSStyleRule.h:
* css/CSSStyleSheet.cpp:
(WebCore::CSSStyleSheet::addSubresourceStyleURLs):
2011-11-01 Chris Fleizach <cfleizach@apple.com>
AX: some popup buttons not announced by VoiceOver
https://bugs.webkit.org/show_bug.cgi?id=67743
Reviewed by Darin Adler.
Test: platform/mac/accessibility/aria-popup-buttons-on-native-elements.html
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::stringValue):
(WebCore::AccessibilityRenderObject::title):
(WebCore::AccessibilityRenderObject::determineAccessibilityRole):
2011-11-01 Alexander Pavlov <apavlov@chromium.org>
Web Inspector: [Styles] Style-based CSS properties are editable and toggleable
https://bugs.webkit.org/show_bug.cgi?id=71275
Reviewed by Pavel Feldman.
* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylePropertiesSection.prototype.onpopulate):
2011-11-01 Pavel Feldman <pfeldman@google.com>
Web Inspector: do not switch panels on Cmd + -> while in console.
https://bugs.webkit.org/show_bug.cgi?id=71281
Reviewed by Yury Semikhatsky.
* inspector/front-end/InspectorView.js:
(WebInspector.InspectorView.prototype._keyDown):
2011-11-01 Zeno Albisser <zeno.albisser@nokia.com>
[Qt] bad codegen, pointer diff in JSC::JSCallbackConstructor::JSCallbackConstructor
https://bugs.webkit.org/show_bug.cgi?id=60951
Adjust symbols visibility for WebCore.
Reviewed by Simon Hausmann.
* WebCore.pro:
2011-11-01 Pavel Feldman <pfeldman@google.com>
Not reviewed: add InspectorView.js entry into WebKit.qrc
* inspector/front-end/WebKit.qrc:
2011-11-01 Pavel Feldman <pfeldman@google.com>
Web Inspector: introduce PanelContainer class, start moving panel management from inspector.js to the new class.
https://bugs.webkit.org/show_bug.cgi?id=71272
Reviewed by Yury Semikhatsky.
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/compile-front-end.sh:
* inspector/front-end/Drawer.js:
(WebInspector.Drawer.prototype.show.animationFinished):
(WebInspector.Drawer.prototype.show):
(WebInspector.Drawer.prototype.hide):
(WebInspector.Drawer.prototype._statusBarDragging):
* inspector/front-end/ElementsPanel.js:
(WebInspector.ElementsPanel.prototype.switchToAndFocus):
(WebInspector.ElementsPanel.prototype.revealAndSelectNode):
* inspector/front-end/ElementsTreeOutline.js:
(WebInspector.ElementsTreeOutline.prototype.setVisible):
* inspector/front-end/InspectorView.js: Added.
(WebInspector.InspectorView):
(WebInspector.InspectorView.prototype.addPanel):
(WebInspector.InspectorView.prototype.currentPanel):
(WebInspector.InspectorView.prototype._keyDown):
(WebInspector.InspectorView.prototype._canGoBackInHistory):
(WebInspector.InspectorView.prototype._goBackInHistory):
(WebInspector.InspectorView.prototype._canGoForwardInHistory):
(WebInspector.InspectorView.prototype._goForwardInHistory):
(WebInspector.InspectorView.prototype._pushToHistory):
* inspector/front-end/KeyboardShortcut.js:
(WebInspector.KeyboardShortcut.eventHasCtrlOrMeta):
* inspector/front-end/Panel.js:
(WebInspector.Panel.prototype.show):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype._toggleBreakpointsClicked):
* inspector/front-end/SearchController.js:
(WebInspector.SearchController.prototype.updateSearchMatchesCount):
(WebInspector.SearchController.prototype.updateCurrentMatchIndex):
(WebInspector.SearchController.prototype.updateSearchLabel):
(WebInspector.SearchController.prototype.handleShortcut):
(WebInspector.SearchController.prototype._performSearch):
* inspector/front-end/Toolbar.js:
(WebInspector.Toolbar.createPanelToolbarItem.onToolbarItemClicked):
(WebInspector.Toolbar.createPanelToolbarItem):
* inspector/front-end/WebKit.qrc:
* inspector/front-end/externs.js:
* inspector/front-end/inspector.html:
* inspector/front-end/inspector.js:
(WebInspector._createPanels):
(WebInspector._panelSelected):
(WebInspector.addPanel):
(WebInspector.windowResize):
(WebInspector.documentKeyDown):
(WebInspector.documentCanCopy):
(WebInspector.documentCopy):
(WebInspector.showPanel):
(WebInspector.startUserInitiatedDebugging):
(WebInspector.inspect):
(WebInspector._showAnchorLocationInPanel):
(WebInspector._toolbarItemClicked):
* inspector/front-end/treeoutline.js:
(TreeElement.prototype.select):
2011-11-01 Simon Hausmann <simon.hausmann@nokia.com>
[WK2] Add WebGestureEvents to the Qt build and enable PlatformGestureEvent::TapType
https://bugs.webkit.org/show_bug.cgi?id=71274
Reviewed by Kenneth Christiansen.
* features.pri: Enable GESTURE_EVENTS.
2011-11-01 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r98847.
http://trac.webkit.org/changeset/98847
https://bugs.webkit.org/show_bug.cgi?id=71268
"Debugger test failures on multiple platforms" (Requested by
yurys on #webkit).
* inspector/front-end/DebuggerPresentationModel.js:
(WebInspector.DebuggerPresentationModel):
(WebInspector.DebuggerPresentationModel.prototype._addScript):
(WebInspector.DebuggerPresentationModel.prototype.uiSourceCodes):
(WebInspector.DebuggerPresentationModel.prototype.setFormatSource):
(WebInspector.DebuggerPresentationModel.prototype._consoleCleared):
(WebInspector.DebuggerPresentationModel.prototype._rawSourceCodeForScriptWithURL):
(WebInspector.DebuggerPresentationModel.prototype._rawSourceCodeForScript):
(WebInspector.DebuggerPresentationModel.prototype._scriptForRawSourceCode):
(WebInspector.DebuggerPresentationModel.prototype._createRawSourceCodeId):
(WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
(WebInspector.DebuggerPresentationModel.Linkifier.prototype.reset):
* inspector/front-end/RawSourceCode.js:
(WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent.didFormatContent):
(WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent):
(WebInspector.RawSourceCode.prototype._createSourceMapping):
* inspector/front-end/Script.js:
(WebInspector.Script.prototype.editSource):
2011-10-30 Filip Pizlo <fpizlo@apple.com>
The GC should be parallel
https://bugs.webkit.org/show_bug.cgi?id=70995
Reviewed by Geoff Garen.
Added parallel tracing to the GC. This required loosening some assertions,
since some code may now be called from outside the main thread.
No new tests, since no behavior was changed.
* platform/TreeShared.h:
(WebCore::TreeShared::parent):
2011-10-31 Andy Estes <aestes@apple.com>
Document pointer not null-checked in FrameView::isOnActivePage()
https://bugs.webkit.org/show_bug.cgi?id=71265
<rdar://problem/10374427>
Reviewed by Dan Bernstein.
Return false in FrameView::isOnActivePage() if m_frame->document() is
null. Other calls to m_frame->document() in FrameView also have a null
check. The frame can have a null document if the FrameLoader is loading
the initial empty document.
No test possible without triggering assertions in debug builds. This is
tracked by <http://webkit.org/b/71264>.
* page/FrameView.cpp:
(WebCore::FrameView::isOnActivePage):
2011-10-31 Jeremy Apthorp <jeremya@google.com>
Fix a crash relating to anonymous block merging in
RenderFullScreen::unwrapRenderer.
https://bugs.webkit.org/show_bug.cgi?id=70705
Reviewed by Simon Fraser.
Test: fullscreen/anonymous-block-merge-crash.html
* rendering/RenderFullScreen.cpp:
(RenderFullScreen::unwrapRenderer):
2011-10-31 Dave Michael <dmichael@chromium.org>
V8MessageEvent::dataAccessorGetter does not return a reference to its caller
https://bugs.webkit.org/show_bug.cgi?id=71229
Reviewed by Adam Barth.
Test: fast/events/dispatch-message-string-data.html
* bindings/v8/custom/V8MessageEventCustom.cpp:
(WebCore::V8MessageEvent::dataAccessorGetter):
2011-10-31 Renata Hodovan <reni@webkit.org>
[Qt] Build fix after r98853.
Rubber-stamped by Andreas Kling.
* xml/XSLImportRule.cpp:
* xml/XSLImportRule.h:
(WebCore::XSLImportRule::parentStyleSheet):
2011-10-31 Mark Hahnenberg <mhahnenberg@apple.com>
De-virtualize JSObject::defaultValue
https://bugs.webkit.org/show_bug.cgi?id=71146
Reviewed by Sam Weinig.
No new tests.
Added defaultValue to the MethodTable. Replaced all virtual versions of
defaultValue with static versions. Replaced all call sites with lookups in the
MethodTable.
* WebCore.exp.in:
* bridge/objc/objc_runtime.h:
* bridge/objc/objc_runtime.mm:
(JSC::Bindings::ObjcFallbackObjectImp::defaultValue):
* bridge/runtime_object.cpp:
(JSC::Bindings::RuntimeObject::defaultValue):
* bridge/runtime_object.h:
2011-10-31 Levi Weintraub <leviw@chromium.org>
Switch RoundedRect back to integers
https://bugs.webkit.org/show_bug.cgi?id=71238
Reviewed by Darin Adler.
Changing RoundedRect back to ints from LayoutUnits. As further testing has shown, this graphics-
focused class should maintain values aligned to pixel boundaries, and therefor kept as integers.
No new tests -- no change in behavior.
* platform/graphics/RoundedRect.cpp:
(WebCore::RoundedRect::Radii::scale):
(WebCore::RoundedRect::Radii::expand):
(WebCore::RoundedRect::inflateWithRadii):
(WebCore::RoundedRect::Radii::excludeLogicalEdges):
(WebCore::RoundedRect::RoundedRect):
* platform/graphics/RoundedRect.h:
(WebCore::RoundedRect::Radii::Radii):
(WebCore::RoundedRect::Radii::setTopLeft):
(WebCore::RoundedRect::Radii::setTopRight):
(WebCore::RoundedRect::Radii::setBottomLeft):
(WebCore::RoundedRect::Radii::setBottomRight):
(WebCore::RoundedRect::Radii::topLeft):
(WebCore::RoundedRect::Radii::topRight):
(WebCore::RoundedRect::Radii::bottomLeft):
(WebCore::RoundedRect::Radii::bottomRight):
(WebCore::RoundedRect::Radii::expand):
(WebCore::RoundedRect::Radii::shrink):
(WebCore::RoundedRect::rect):
(WebCore::RoundedRect::setRect):
(WebCore::RoundedRect::move):
(WebCore::RoundedRect::inflate):
(WebCore::RoundedRect::expandRadii):
(WebCore::RoundedRect::shrinkRadii):
* rendering/svg/SVGRenderSupport.h: Adding missing LayoutTypes.h include
2011-10-31 Peter Kasting <pkasting@google.com>
https://bugs.webkit.org/show_bug.cgi?id=70666
BitmapImage::dataChanged() needs to clear all incomplete frames.
Reviewed by James Robinson.
No tests, as I don't know of a way to send an image to the renderer in
small pieces (with script run between pieces no less).
* platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::dataChanged):
2011-10-31 Levi Weintraub <leviw@chromium.org>
Amend missing uses of LayoutUnits in RenderApplet, Button, and DeprecatedFlexibleBox
https://bugs.webkit.org/show_bug.cgi?id=71243
Reviewed by Eric Seidel.
Replacing remaining integer uses with LayoutUnits in the aforementioned classes.
No new tests -- no change in behavior.
* rendering/RenderApplet.cpp:
(WebCore::RenderApplet::intrinsicSize):
(WebCore::RenderApplet::createWidgetIfNecessary):
* rendering/RenderApplet.h:
* rendering/RenderButton.cpp:
(WebCore::RenderButton::controlClipRect):
* rendering/RenderButton.h:
* rendering/RenderDeprecatedFlexibleBox.cpp:
(WebCore::marginWidthForChild):
(WebCore::RenderDeprecatedFlexibleBox::computePreferredLogicalWidths):
(WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
(WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
* rendering/RenderDeprecatedFlexibleBox.h:
2011-10-31 Tommy Widenflycht <tommyw@google.com>
[Chromium] Media Stream API: add the Chromium WebKit interfaces
https://bugs.webkit.org/show_bug.cgi?id=58550
Changes the PeerHandler platform interface so that embedders can more easily use it.
Reviewed by Darin Fisher.
* GNUmakefile.am:
* GNUmakefile.list.am:
* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:
* mediastream/PeerConnection.cpp:
(WebCore::PeerConnection::PeerConnection):
(WebCore::PeerConnection::didCompleteICEProcessing):
(WebCore::PeerConnection::didGenerateSDP):
(WebCore::PeerConnection::didReceiveDataStreamMessage):
(WebCore::PeerConnection::didAddRemoteStream):
(WebCore::PeerConnection::didRemoveRemoteStream):
* mediastream/PeerConnection.h:
* platform/mediastream/PeerConnectionHandlerClient.h: Copied from Source/WebCore/platform/mediastream/PeerHandler.cpp.
(WebCore::PeerConnectionHandlerClient::~PeerConnectionHandlerClient):
* platform/mediastream/chromium/PeerConnectionHandler.h: Copied from Source/WebCore/platform/mediastream/PeerHandler.h.
* platform/mediastream/gstreamer/PeerConnectionHandler.cpp: Copied from Source/WebCore/platform/mediastream/PeerHandler.cpp.
(WebCore::PeerConnectionHandler::create):
(WebCore::PeerConnectionHandler::PeerConnectionHandler):
(WebCore::PeerConnectionHandler::~PeerConnectionHandler):
(WebCore::PeerConnectionHandler::produceInitialOffer):
(WebCore::PeerConnectionHandler::handleInitialOffer):
(WebCore::PeerConnectionHandler::processSDP):
(WebCore::PeerConnectionHandler::processPendingStreams):
(WebCore::PeerConnectionHandler::sendDataStreamMessage):
(WebCore::PeerConnectionHandler::stop):
* platform/mediastream/gstreamer/PeerConnectionHandler.h: Renamed from Source/WebCore/platform/mediastream/PeerHandler.h.
Tests for the Media Stream API will be provided by the bug 56587, pending enough landed code.
2011-10-31 Adam Roben <aroben@apple.com>
Fix linker warnings on Windows
* WebCore.vcproj/WebCore.vcproj: Exclude SpellingCorrectionCommand.cpp and
JSRequestAnimationFrameCallback.cpp from all configurations. They are already getting
compiled via *AllInOne.cpp files.
2011-10-31 Jonathon Jongsma <jonathon.jongsma@collabora.co.uk>
[GStreamer] Don't use GOwnPtr for ref-counted objects
https://bugs.webkit.org/show_bug.cgi?id=71042
Reviewed by Martin Robinson.
* CMakeListsEfl.txt:
* GNUmakefile.list.am:
* WebCore.gypi:
* WebCore.pro:
* platform/graphics/gstreamer/GOwnPtrGStreamer.cpp: Removed.
* platform/graphics/gstreamer/GOwnPtrGStreamer.h: Removed.
* platform/graphics/gstreamer/GStreamerGWorld.cpp:
(WebCore::GStreamerGWorld::enterFullscreen):
(WebCore::GStreamerGWorld::exitFullscreen):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::updateAudioSink):
(WebCore::MediaPlayerPrivateGStreamer::sourceChanged):
2011-10-28 Nat Duca <nduca@chromium.org>
[chromium] Connect CCThreadProxy to FrameRateController and SchedulerStateMachine via CCScheduler
https://bugs.webkit.org/show_bug.cgi?id=71100
Reviewed by James Robinson.
* platform/graphics/chromium/cc/CCDelayBasedTimeSource.h:
(WebCore::CCDelayBasedTimeSource::monotonicallyIncreasingTime):
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
(WebCore::CCLayerTreeHostClient::didCommitAndDrawFrame):
(WebCore::CCLayerTreeHost::didCommitAndDrawFrame):
* platform/graphics/chromium/cc/CCScheduler.cpp:
(WebCore::CCSchedulerFrameRateControllerClientAdapter::create):
(WebCore::CCSchedulerFrameRateControllerClientAdapter::~CCSchedulerFrameRateControllerClientAdapter):
(WebCore::CCSchedulerFrameRateControllerClientAdapter::beginFrame):
(WebCore::CCSchedulerFrameRateControllerClientAdapter::CCSchedulerFrameRateControllerClientAdapter):
(WebCore::CCScheduler::CCScheduler):
(WebCore::CCScheduler::~CCScheduler):
(WebCore::CCScheduler::setNeedsAnimate):
(WebCore::CCScheduler::setNeedsCommit):
(WebCore::CCScheduler::setNeedsRedraw):
(WebCore::CCScheduler::beginFrameComplete):
(WebCore::CCScheduler::didSwapBuffersComplete):
(WebCore::CCScheduler::didSwapBuffersAbort):
(WebCore::CCScheduler::onBeginFrame):
(WebCore::CCScheduler::processScheduledActions):
* platform/graphics/chromium/cc/CCScheduler.h:
(WebCore::CCScheduler::create):
(WebCore::CCScheduler::commitPending):
(WebCore::CCScheduler::redrawPending):
* platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
(WebCore::CCSchedulerStateMachine::CCSchedulerStateMachine):
(WebCore::CCSchedulerStateMachine::nextAction):
(WebCore::CCSchedulerStateMachine::updateState):
(WebCore::CCSchedulerStateMachine::beginUpdateMoreResourcesComplete):
* platform/graphics/chromium/cc/CCSchedulerStateMachine.h:
(WebCore::CCSchedulerStateMachine::redrawPending):
* platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
(WebCore::CCSingleThreadProxy::CCSingleThreadProxy):
(WebCore::CCSingleThreadProxy::doCommit):
(WebCore::CCSingleThreadProxy::doComposite):
* platform/graphics/chromium/cc/CCSingleThreadProxy.h:
* platform/graphics/chromium/cc/CCTextureUpdater.cpp:
(WebCore::CCTextureUpdater::hasMoreUpdates):
* platform/graphics/chromium/cc/CCTextureUpdater.h:
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::CCThreadProxy):
(WebCore::CCThreadProxy::compositeAndReadback):
(WebCore::CCThreadProxy::requestReadbackOnImplThread):
(WebCore::CCThreadProxy::setNeedsAnimateOnImplThread):
(WebCore::CCThreadProxy::setNeedsCommitOnImplThread):
(WebCore::CCThreadProxy::setNeedsRedrawOnImplThread):
(WebCore::CCThreadProxy::finishAllRenderingOnImplThread):
(WebCore::CCThreadProxy::scheduledActionBeginFrame):
(WebCore::CCThreadProxy::beginFrameAndCommit):
(WebCore::CCThreadProxy::beginFrameCompleteOnImplThread):
(WebCore::CCThreadProxy::hasMoreResourceUpdates):
(WebCore::CCThreadProxy::scheduledActionUpdateMoreResources):
(WebCore::CCThreadProxy::scheduledActionCommit):
(WebCore::CCThreadProxy::drawLayersAndSwapOnImplThread):
(WebCore::CCThreadProxy::didCommitAndDrawFrame):
(WebCore::CCThreadProxy::initializeImplOnImplThread):
(WebCore::CCThreadProxy::layerTreeHostClosedOnImplThread):
(WebCore::CCThreadProxy::scheduledActionDrawAndSwap):
* platform/graphics/chromium/cc/CCThreadProxy.h:
2011-10-31 Nate Chapin <japhet@chromium.org>
Rename the remaining uses of Cue in WebCore/loader/
to TextTrack.
https://bugs.webkit.org/show_bug.cgi?id=71231
Reviewed by Eric Carlson.
No new tests, strictly a renaming.
* loader/TextTrackLoader.cpp:
* loader/cache/CachedResource.cpp:
* loader/cache/CachedResource.h:
* loader/cache/CachedResourceLoader.cpp:
* loader/cache/CachedResourceLoader.h:
* loader/cache/CachedResourceRequest.cpp:
* loader/cache/CachedTextTrack.cpp:
* platform/network/chromium/ResourceRequest.h:
2011-10-27 Adam Klein <adamk@chromium.org>
[MutationObservers] Support characterDataOldValue for characterData mutations
https://bugs.webkit.org/show_bug.cgi?id=70862
Reviewed by Ojan Vafai.
* dom/CharacterData.cpp:
(WebCore::hasOldValue):
(WebCore::isOldValueRequested):
(WebCore::CharacterData::dispatchModifiedEvent):
* dom/MutationRecord.cpp:
(WebCore::MutationRecord::createCharacterData):
* dom/MutationRecord.h:
2011-10-31 Sam Weinig <sam@webkit.org>
Remove need for virtual JSObject::unwrappedObject
https://bugs.webkit.org/show_bug.cgi?id=71034
Reviewed by Geoffrey Garen.
Move the member containing the global object from the JSDOMWindowShell
down to the JSGlobalThis class, and update JSDOMWindowShell to go through
an inline helper (which just casts) to get the window.
* bindings/js/JSDOMWindowShell.cpp:
(WebCore::JSDOMWindowShell::setWindow):
(WebCore::JSDOMWindowShell::className):
(WebCore::JSDOMWindowShell::getOwnPropertySlot):
(WebCore::JSDOMWindowShell::getOwnPropertyDescriptor):
(WebCore::JSDOMWindowShell::put):
(WebCore::JSDOMWindowShell::putWithAttributes):
(WebCore::JSDOMWindowShell::defineOwnProperty):
(WebCore::JSDOMWindowShell::deleteProperty):
(WebCore::JSDOMWindowShell::getPropertyNames):
(WebCore::JSDOMWindowShell::getOwnPropertyNames):
(WebCore::JSDOMWindowShell::defineGetter):
(WebCore::JSDOMWindowShell::defineSetter):
(WebCore::JSDOMWindowShell::lookupGetter):
(WebCore::JSDOMWindowShell::lookupSetter):
(WebCore::JSDOMWindowShell::impl):
* bindings/js/JSDOMWindowShell.h:
(WebCore::JSDOMWindowShell::window):
(WebCore::JSDOMWindowShell::setWindow):
(WebCore::JSDOMWindowShell::createStructure):
2011-10-29 Ryosuke Niwa <rniwa@webkit.org>
WebKit nests pre on copy and paste when the pre is the root editable element
https://bugs.webkit.org/show_bug.cgi?id=70800
Reviewed by Darin Adler.
Fixed the bug by removing nested block elements in removeRedundantStylesAndKeepStyleSpanInline.
Tests: editing/pasteboard/contenteditable-pre-2.html
editing/pasteboard/contenteditable-pre.html
* editing/ApplyStyleCommand.cpp:
* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline): Remove block
elements if it's identical to its parent and there are no contents between the two. Also remove
contenteditable attribute from an element if the parent is already richly editable.
(WebCore::ReplaceSelectionCommand::doApply): Remove redundant styles after removing the placeholder
br so that the above check doesn't get affected by the placeholder.
* editing/htmlediting.cpp:
(WebCore::areIdenticalElements): Moved from ApplyStyleCommand.
(WebCore::isNonTableCellHTMLBlockElement): Moved from markup.cpp.
* editing/htmlediting.h:
* editing/markup.cpp:
2011-10-31 Vineet Chaudhary <vineet.chaudhary@motorola.com>
text/plain form encoding ignored and incorrectly specified in request header.
https://bugs.webkit.org/show_bug.cgi?id=20795
Reviewed by Darin Adler.
This patch fixes the behaviour of forms where enctype is set to
text/plain, encoding is also text/plain.
Tests: fast/forms/form-get-textplain.html
http/tests/misc/form-post-textplain.html
* loader/FormSubmission.cpp:
(WebCore::FormSubmission::create):
* platform/network/FormData.cpp:
(WebCore::FormData::create):
(WebCore::FormData::appendKeyValuePairItems):
* platform/network/FormData.h:
(WebCore::FormData::parseEncodingType):
* platform/network/FormDataBuilder.cpp:
(WebCore::FormDataBuilder::addKeyValuePairAsFormData): Modified encoding scheme for text/plain.
* platform/network/FormDataBuilder.h:
2011-10-31 John Gregg <johnnyg@google.com>
RenderImage.cpp calls SVGImage even if it's not defined
https://bugs.webkit.org/show_bug.cgi?id=71247
This fixes a compile error when ENABLE_SVG=0.
* rendering/RenderImage.cpp:
(WebCore::RenderImage::embeddedContentBox):
2011-10-31 Pavel Podivilov <podivilov@chromium.org>
Update XMLHttpRequest.send idl declaration to match implementation.
https://bugs.webkit.org/show_bug.cgi?id=71121
Reviewed by Adam Barth.
* xml/XMLHttpRequest.idl:
2011-10-31 Anders Carlsson <andersca@apple.com>
More work on making plug-ins work better with transforms
https://bugs.webkit.org/show_bug.cgi?id=71241
Reviewed by Darin Adler.
Export symbols used by WebKit2.
* WebCore.exp.in:
2011-10-31 Mark Hahnenberg <mhahnenberg@apple.com>
De-virtualize JSObject::defineGetter
https://bugs.webkit.org/show_bug.cgi?id=71134
Reviewed by Darin Adler.
No new tests.
Added defineGetter to the MethodTable. Replaced all virtual versions of defineGetter
with static versions. Replaced all call sites with lookups in the MethodTable.
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::defineGetter):
* bindings/js/JSDOMWindowShell.cpp:
(WebCore::JSDOMWindowShell::defineGetter):
* bindings/js/JSDOMWindowShell.h:
* bindings/js/JSLocationCustom.cpp:
(WebCore::JSLocation::defineGetter):
(WebCore::JSLocationPrototype::defineGetter):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
2011-10-31 Arko Saha <arko@motorola.com>
Microdata: Support for itemid attribute.
https://bugs.webkit.org/show_bug.cgi?id=71007
Reviewed by Ryosuke Niwa.
itemid attribute: To give a global identifier for the Microdata items.
The itemid attribute, if specified, must have a value that is a valid URL potentially
surrounded by spaces.
Spec: http://www.whatwg.org/specs/web-apps/current-work/multipage/microdata.html#attr-itemid
Tests: fast/dom/MicroData/itemid-attribute-test.html
fast/dom/MicroData/itemid-must-see-resolved-url.html
* html/HTMLElement.idl:
2011-10-31 Yury Semikhatsky <yurys@chromium.org>
window.onerror doesn't work with inline (attribute) scripts
https://bugs.webkit.org/show_bug.cgi?id=70991
Uncaught syntax errors in inline event handlers are now reported to
window.onerror handler.
Reviewed by Geoffrey Garen.
Tests: fast/events/window-onerror-exception-in-attr.html
fast/events/window-onerror-syntax-error-in-attr.html
* bindings/js/JSLazyEventListener.cpp:
(WebCore::JSLazyEventListener::initializeJSFunction): report exception as usual
if it happens during event handler compilation.
2011-10-31 Emil A Eklund <eae@chromium.org>
Overridden LayoutRect method still uses IntRects
https://bugs.webkit.org/show_bug.cgi?id=71166
Reviewed by Eric Seidel.
Change all virtual controlClipRect, windowResizerRect, windowClipRect,
visibleContentRect, scrollCornerRect, outlineBoundsForRepaint and
localCaretRect functions to have the same signature.
* page/FrameView.cpp:
(WebCore::FrameView::windowClipRect):
(WebCore::FrameView::windowClipRectForLayer):
(WebCore::FrameView::windowResizerRect):
* page/FrameView.h:
* platform/ScrollView.cpp:
(WebCore::ScrollView::wheelEvent):
* platform/ScrollView.h:
* platform/ScrollableArea.h:
* rendering/RenderButton.h:
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::visibleContentRect):
* rendering/RenderLayer.h:
* rendering/RenderObject.cpp:
(WebCore::RenderObject::localCaretRect):
* rendering/RenderObject.h:
(WebCore::RenderObject::outlineBoundsForRepaint):
* rendering/RenderText.cpp:
(WebCore::RenderText::localCaretRect):
(WebCore::RenderText::linesBoundingBox):
* rendering/RenderText.h:
* rendering/svg/RenderSVGInlineText.cpp:
(WebCore::RenderSVGInlineText::localCaretRect):
* rendering/svg/RenderSVGInlineText.h:
2011-10-31 Dmitry Lomov <dslomov@google.com>
https://bugs.webkit.org/show_bug.cgi?id=70658
[JSC] Implement MessagePort transfer in JSC bindings implementation of webkitPostMessage.
Transfer of MessagePorts implemented.
Reviewed by David Levin.
* bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneSerializer::serialize):
(WebCore::CloneSerializer::CloneSerializer):
(WebCore::CloneSerializer::dumpIfTerminal):
(WebCore::CloneDeserializer::deserialize):
(WebCore::CloneDeserializer::CloneDeserializer):
(WebCore::CloneDeserializer::readTerminal):
(WebCore::SerializedScriptValue::create):
(WebCore::SerializedScriptValue::deserialize):
2011-10-31 Andreas Kling <kling@webkit.org>
CSSRule: Devirtualize insertedIntoParent()
https://bugs.webkit.org/show_bug.cgi?id=71223
Reviewed by Antti Koivisto.
Moved insertedIntoParent() down into CSSImportRule and renamed it to
requestStyleSheet(). CSSImportRule is the only user of this function.
* css/CSSImportRule.cpp:
(WebCore::CSSImportRule::requestStyleSheet):
* css/CSSImportRule.h:
* css/CSSRule.h:
* css/CSSStyleSheet.cpp:
(WebCore::CSSStyleSheet::append):
(WebCore::CSSStyleSheet::insertRule):
2011-10-31 Anna Cavender <annacc@chromium.org>
Implement load notification and events for <track>.
https://bugs.webkit.org/show_bug.cgi?id=71054
Reviewed by Eric Carlson.
Tests: media/track/track-load-error-readyState.html
media/track/track-load-from-element-readyState.html
media/track/track-load-from-src-readyState.html
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::trackWasAdded):
(WebCore::HTMLMediaElement::trackWillBeRemoved):
(WebCore::HTMLMediaElement::trackSourceChanged):
* html/HTMLMediaElement.h:
* html/HTMLTrackElement.cpp:
(WebCore::HTMLTrackElement::insertedIntoTree):
(WebCore::HTMLTrackElement::willRemove):
(WebCore::HTMLTrackElement::parseMappedAttribute):
(WebCore::HTMLTrackElement::attributeChanged):
* html/HTMLTrackElement.h:
* html/LoadableTextTrack.cpp:
(WebCore::LoadableTextTrack::cueLoadingCompleted):
2011-10-31 Andreas Kling <kling@webkit.org>
CSSRule: Devirtualize type() and isFooRule()
https://bugs.webkit.org/show_bug.cgi?id=71221
Reviewed by Antti Koivisto.
Store the rule type in a CSSRule member (packed with the parent-is-rule flag)
and let the isFooRule() functions return type() == FOO_TYPE.
CSSPageRule will no longer return true for isStyleRule(), tweaked call sites
accordingly.
* css/CSSCharsetRule.cpp:
(WebCore::CSSCharsetRule::CSSCharsetRule):
* css/CSSCharsetRule.h:
* css/CSSFontFaceRule.cpp:
(WebCore::CSSFontFaceRule::CSSFontFaceRule):
* css/CSSFontFaceRule.h:
* css/CSSImportRule.cpp:
(WebCore::CSSImportRule::CSSImportRule):
* css/CSSImportRule.h:
* css/CSSMediaRule.cpp:
(WebCore::CSSMediaRule::CSSMediaRule):
* css/CSSMediaRule.h:
* css/CSSPageRule.cpp:
(WebCore::CSSPageRule::CSSPageRule):
* css/CSSPageRule.h:
* css/CSSRegionStyleRule.cpp:
(WebCore::CSSRegionStyleRule::CSSRegionStyleRule):
* css/CSSRegionStyleRule.h:
* css/CSSRule.h:
(WebCore::CSSRule::type):
(WebCore::CSSRule::isCharsetRule):
(WebCore::CSSRule::isFontFaceRule):
(WebCore::CSSRule::isKeyframeRule):
(WebCore::CSSRule::isKeyframesRule):
(WebCore::CSSRule::isMediaRule):
(WebCore::CSSRule::isPageRule):
(WebCore::CSSRule::isStyleRule):
(WebCore::CSSRule::isRegionStyleRule):
(WebCore::CSSRule::isImportRule):
(WebCore::CSSRule::CSSRule):
* css/CSSStyleRule.cpp:
(WebCore::CSSStyleRule::CSSStyleRule):
* css/CSSStyleRule.h:
* css/CSSStyleSelector.cpp:
(WebCore::RuleSet::addPageRule):
(WebCore::RuleSet::addRulesFromSheet):
(WebCore::RuleSet::addStyleRule):
* css/CSSUnknownRule.h:
(WebCore::CSSUnknownRule::CSSUnknownRule):
* css/WebKitCSSKeyframeRule.cpp:
(WebCore::WebKitCSSKeyframeRule::WebKitCSSKeyframeRule):
* css/WebKitCSSKeyframeRule.h:
* css/WebKitCSSKeyframesRule.cpp:
(WebCore::WebKitCSSKeyframesRule::WebKitCSSKeyframesRule):
* css/WebKitCSSKeyframesRule.h:
* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::asCSSStyleRule):
2011-10-31 Pavel Feldman <pfeldman@google.com>
Not reviewed: reorder inspector js files to fix remote mode.
* inspector/front-end/inspector.html:
2011-10-28 Alexander Pavlov <apavlov@chromium.org>
Web Inspector: [refactoring] TextPrompt: ensure encapsulation, extract history management
https://bugs.webkit.org/show_bug.cgi?id=70936
Reviewed by Pavel Feldman.
* inspector/front-end/ConsoleView.js:
(WebInspector.ConsoleView):
* inspector/front-end/DatabaseQueryView.js:
(WebInspector.DatabaseQueryView):
(WebInspector.DatabaseQueryView.prototype._enterKeyPressed):
* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylesSidebarPane.prototype._attributesModified):
(WebInspector.StylePropertyTreeElement.prototype.selectElement):
(WebInspector.StylePropertyTreeElement.prototype.selectElement.context):
(WebInspector.StylePropertyTreeElement.prototype.selectElement.event):
(WebInspector.StylePropertyTreeElement.prototype):
(WebInspector.StylePropertyTreeElement.prototype.context.event):
():
* inspector/front-end/TextPrompt.js:
(WebInspector.TextPrompt):
(WebInspector.TextPrompt.prototype.get proxyElement):
(WebInspector.TextPrompt.prototype.attach):
(WebInspector.TextPrompt.prototype.attachAndStartEditing):
(WebInspector.TextPrompt.prototype._attachInternal):
(WebInspector.TextPrompt.prototype.detach):
(WebInspector.TextPrompt.prototype.get text):
(WebInspector.TextPrompt.prototype.set text):
(WebInspector.TextPrompt.prototype._removeFromElement):
(WebInspector.TextPrompt.prototype._startEditing):
(WebInspector.TextPrompt.prototype._stopEditing):
(WebInspector.TextPrompt.prototype._selectStart.moveBackIfOutside):
(WebInspector.TextPrompt.prototype._selectStart):
(WebInspector.TextPrompt.prototype.defaultKeyHandler):
(WebInspector.TextPrompt.prototype._onKeyDown):
(WebInspector.TextPrompt.prototype.clearAutoComplete):
(WebInspector.TextPrompt.prototype.complete):
(WebInspector.TextPrompt.prototype._completionsReady):
(WebInspector.TextPrompt.prototype.isCaretInsidePrompt):
(WebInspector.TextPrompt.prototype.isCaretAtEndOfPrompt):
(WebInspector.TextPrompt.prototype.isCaretOnFirstLine):
(WebInspector.TextPrompt.prototype.isCaretOnLastLine):
(WebInspector.TextPrompt.prototype.moveCaretToEndOfPrompt):
(WebInspector.TextPrompt.prototype.upKeyPressed):
(WebInspector.TextPrompt.prototype.downKeyPressed):
(WebInspector.TextPrompt.prototype.tabKeyPressed):
(WebInspector.TextPromptConfig):
(WebInspector.TextPromptWithHistory):
(WebInspector.TextPromptWithHistory.prototype.get historyData):
(WebInspector.TextPromptWithHistory.prototype.setHistoryData):
(WebInspector.TextPromptWithHistory.prototype.pushHistoryItem):
(WebInspector.TextPromptWithHistory.prototype._pushCurrentText):
(WebInspector.TextPromptWithHistory.prototype._previous):
(WebInspector.TextPromptWithHistory.prototype._next):
(WebInspector.TextPromptWithHistory.prototype._currentHistoryItem):
(WebInspector.TextPromptWithHistory.prototype.defaultKeyHandler):
2011-10-31 Pavel Feldman <pfeldman@google.com>
Web Inspector: move localization support into UIUtil.js, reduce externs.
https://bugs.webkit.org/show_bug.cgi?id=71220
Reviewed by Yury Semikhatsky.
* inspector/compile-front-end.sh:
* inspector/front-end/AdvancedSearchController.js:
(WebInspector.SearchView.prototype.focus):
* inspector/front-end/ConsoleView.js:
(WebInspector.ConsoleView.prototype.afterShow):
* inspector/front-end/Drawer.js:
* inspector/front-end/GoToLineDialog.js:
(WebInspector.GoToLineDialog.prototype._hide):
* inspector/front-end/HelpScreen.js:
(WebInspector.HelpScreen.prototype.show):
(WebInspector.HelpScreen.prototype.hide):
(WebInspector.HelpScreen.prototype._onBlur):
* inspector/front-end/InspectorFrontendHostStub.js:
* inspector/front-end/KeyboardShortcut.js:
(WebInspector.KeyboardShortcut._keyName):
* inspector/front-end/Panel.js:
(WebInspector.Panel.prototype.wasShown):
* inspector/front-end/SearchController.js:
(WebInspector.SearchController.prototype._onSearchFieldManualFocus):
(WebInspector.SearchController.prototype._onKeyDown):
* inspector/front-end/Settings.js:
* inspector/front-end/SourceFrame.js:
(WebInspector.SourceFrame):
* inspector/front-end/Toolbar.js:
(WebInspector.Toolbar.prototype._toolbarDragStart):
* inspector/front-end/UIUtils.js:
(WebInspector.startEditing.cleanUpAfterEditing):
(WebInspector.startEditing.var):
(WebInspector.startEditing):
(WebInspector.UIString):
(WebInspector.useLowerCaseMenuTitles):
(WebInspector.platform):
(WebInspector.isMac):
(WebInspector.platformFlavor):
(WebInspector.port):
(WebInspector.installPortStyles):
(WebInspector._windowFocused):
(WebInspector._windowBlurred):
(WebInspector.previousFocusElement):
(WebInspector.currentFocusElement):
(WebInspector._focusChanged):
(WebInspector.setCurrentFocusElement):
* inspector/front-end/externs.js:
(Event.prototype.initWebKitWheelEvent):
(window.getComputedStyle):
(InspectorBackend.runAfterPendingDispatches):
* inspector/front-end/inspector.js:
(WebInspector.documentKeyDown):
(WebInspector.addMainEventListeners):
2011-10-31 Andreas Kling <kling@webkit.org>
Kill StyleBase.
https://bugs.webkit.org/show_bug.cgi?id=71218
Reviewed by Antti Koivisto.
Remove the StyleBase class and make all subclasses stand alone. CSSRule and StyleSheet
now inherit from RefCounted<T> instead, and XSLImportRule doesn't even need that,
so StyleBase is replaced by nothing.
* css/StyleBase.cpp:
* css/StyleBase.h:
Removed.
* css/CSSRule.cpp:
* css/CSSRule.h:
(WebCore::CSSRule::~CSSRule):
(WebCore::CSSRule::useStrictParsing):
(WebCore::CSSRule::setParentStyleSheet):
(WebCore::CSSRule::setParentRule):
(WebCore::CSSRule::parentStyleSheet):
(WebCore::CSSRule::parentRule):
(WebCore::CSSRule::baseURL):
(WebCore::CSSRule::CSSRule):
CSSRule now inherits directly from RefCounted, and has either a CSSRule or a
CSSStyleSheet as its parent. Made these getters/setters inline since they are
trivial now.
* CMakeLists.txt:
* GNUmakefile.list.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
Purge StyleBase.* from the build systems.
* bindings/js/JSDOMBinding.h:
(WebCore::root):
New root() functions for CSSRule and StyleSheet.
* bindings/js/JSNodeCustom.h:
Remove StyleBase.h include.
* css/CSSStyleSheet.h:
(WebCore::CSSStyleSheet::parentStyleSheet):
Added CSS-specific parentStyleSheet() so we don't have to cast it to a
CSSStyleSheet* at the call sites.
* css/StyleSheet.cpp:
(WebCore::StyleSheet::StyleSheet):
(WebCore::StyleSheet::parentStyleSheet):
(WebCore::StyleSheet::baseURL):
* css/StyleSheet.h:
(WebCore::StyleSheet::parentRule):
(WebCore::StyleSheet::setParentRule):
(WebCore::StyleSheet::isCSSStyleSheet):
(WebCore::StyleSheet::isXSLStyleSheet):
StyleSheet now inherits directly from RefCounted and always has a parent CSSRule
though it can be null. parentStyleSheet() returns that rule's parent style sheet.
Moved the relevant guts from StyleBase down here.
* loader/cache/CachedStyleSheetClient.h:
Remove unnecessary WTF_MAKE_FAST_ALLOCATED, we get it from CachedResourceClient.
* xml/XSLImportRule.cpp:
(WebCore::XSLImportRule::XSLImportRule):
(WebCore::XSLImportRule::~XSLImportRule):
(WebCore::XSLImportRule::parentStyleSheet):
(WebCore::XSLImportRule::setXSLStyleSheet):
(WebCore::XSLImportRule::loadSheet):
* xml/XSLImportRule.h:
(WebCore::XSLImportRule::create):
(WebCore::XSLImportRule::setParentStyleSheet):
Remove inheritance from StyleBase, and have create() return a PassOwnPtr instead.
This is fine, since XSLStyleSheet is the only object that ever manages these rules.
* svg/SVGFontFaceElement.cpp:
(WebCore::SVGFontFaceElement::insertedIntoDocument):
* css/CSSStyleSheet.cpp:
(WebCore::CSSStyleSheet::~CSSStyleSheet):
(WebCore::CSSStyleSheet::ownerRule):
(WebCore::CSSStyleSheet::deleteRule):
(WebCore::CSSStyleSheet::checkLoaded):
(WebCore::CSSStyleSheet::document):
(WebCore::CSSStyleSheet::styleSheetChanged):
* css/CSSImportRule.cpp:
(WebCore::CSSImportRule::~CSSImportRule):
(WebCore::CSSImportRule::setCSSStyleSheet):
(WebCore::CSSImportRule::insertedIntoParent):
* css/CSSMediaRule.cpp:
(WebCore::CSSMediaRule::CSSMediaRule):
(WebCore::CSSMediaRule::~CSSMediaRule):
(WebCore::CSSMediaRule::append):
(WebCore::CSSMediaRule::insertRule):
(WebCore::CSSMediaRule::deleteRule):
* css/CSSRegionStyleRule.cpp:
(WebCore::CSSRegionStyleRule::CSSRegionStyleRule):
(WebCore::CSSRegionStyleRule::~CSSRegionStyleRule):
* css/CSSRuleList.cpp:
(WebCore::CSSRuleList::deleteRule):
* css/CSSStyleDeclaration.h:
* css/WebKitCSSKeyframesRule.cpp:
(WebCore::WebKitCSSKeyframesRule::~WebKitCSSKeyframesRule):
(WebCore::WebKitCSSKeyframesRule::setName):
(WebCore::WebKitCSSKeyframesRule::append):
* dom/ProcessingInstruction.cpp:
(WebCore::ProcessingInstruction::parseStyleSheet):
* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::parentStyleSheet):
* xml/XSLStyleSheet.h:
* xml/XSLStyleSheetLibxslt.cpp:
(WebCore::XSLStyleSheet::XSLStyleSheet):
(WebCore::XSLStyleSheet::~XSLStyleSheet):
(WebCore::XSLStyleSheet::checkLoaded):
(WebCore::XSLStyleSheet::loadChildSheet):
* xml/XSLStyleSheetQt.cpp:
(WebCore::XSLStyleSheet::~XSLStyleSheet):
Use the new, more explicit, parenting functions of StyleSheet.
2011-10-31 Nikolas Zimmermann <nzimmermann@rim.com>
CSS 2.1 failure: background-intrinsic-*
https://bugs.webkit.org/show_bug.cgi?id=47156
SVGs do not work as tiled background images
https://bugs.webkit.org/show_bug.cgi?id=16281
Apply preserveAspectRatio and synthesize viewboxes in <img>
https://bugs.webkit.org/show_bug.cgi?id=34521
SVG background doesn't resize properly when dimensions are changed
https://bugs.webkit.org/show_bug.cgi?id=42944
Images with percent height inside a floated div should use intrinsic height.
https://bugs.webkit.org/show_bug.cgi?id=45439
SVG image in HTML changes size as the window is resized
https://bugs.webkit.org/show_bug.cgi?id=52045
Reviewed by Antti Koivisto.
Implement intrinsic sizing support for SVGImage (svg embedded through <html:img>/<svg:image>/background-image/border-image/...).
This is demanded by CSS 2.1, and covered by new layout tests in LayoutTests/css2.1 and several new custom testcases.
Tests: css2.1/20110323/background-intrinsic-001.htm
css2.1/20110323/background-intrinsic-002.htm
css2.1/20110323/background-intrinsic-003.htm
css2.1/20110323/background-intrinsic-004.htm
css2.1/20110323/background-intrinsic-005.htm
css2.1/20110323/background-intrinsic-006.htm
css2.1/20110323/background-intrinsic-007.htm
css2.1/20110323/background-intrinsic-008.htm
css2.1/20110323/background-intrinsic-009.htm
svg/as-background-image/background-image-preserveaspectRatio-support.html (adapted from testcase from bug 34521)
svg/as-background-image/background-image-tiled.html (reduction from bug 16281)
svg/as-background-image/same-image-two-instances-background-image.html
svg/as-image/img-preserveAspectRatio-support-1.html (reduction from bug 34521)
svg/as-image/same-image-two-instances.html
svg/as-image/svg-as-relative-image-with-explicit-size.html
svg/as-image/svg-image-change-content-size.xhtml (reduction from bug 42944)
svg/zoom/page/zoom-img-preserveAspectRatio-support-1.html
svg/zoom/page/zoom-svg-as-image.html
svg/zoom/page/zoom-svg-as-relative-image.html
* css/CSSImageGeneratorValue.cpp:
(WebCore::CSSImageGeneratorValue::addClient): Pass default zoom factor.
(WebCore::CSSImageGeneratorValue::getImage): Ditto.
* loader/cache/CachedImage.cpp: Enable SVGImage <-> IntSize cache.
(WebCore::CachedImage::lookupImageForSize): Use recently introduced ImageBySizeCache, to lookup an image for a certain size.
(WebCore::CachedImage::lookupOrCreateImageForRenderer): Use recently introduced ImageBySizeCache, to dynamically create copies of m_image if needed.
(WebCore::CachedImage::imageForRenderer): Lookup image by renderer, which first looks up a size for a renderer, then uses lookupImageForSize().
(WebCore::CachedImage::setContainerSizeForRenderer): For SVGImages, pass on container size handling to ImageBySizeCache.
(WebCore::CachedImage::imageSizeForRenderer): Figure out the image size, respecting per-renderer overrides, for a certain renderer.
(WebCore::CachedImage::computeIntrinsicDimensions): Remove unnecessary RenderObject parameter.
* loader/cache/CachedImage.h:
* page/ChromeClient.h:
(WebCore::ChromeClient::isSVGImageChromeClient): Used to identify whether a RenderSVGRoot is embedded through a SVGImage. Returns false, by default.
* platform/graphics/Image.h:
(WebCore::Image::setImageObserver): Add helper.
* rendering/ImageBySizeCache.cpp: Cleanup code.
(WebCore::ImageBySizeCache::addClient): Assert the passed renderer is valid.
(WebCore::ImageBySizeCache::removeClient): Ditto. Allow removeClient() to be called w/o prio addClient() usage.
(WebCore::ImageBySizeCache::getImage): Add zoom parameter.
(WebCore::ImageBySizeCache::getRequestedSizeAndZoom): Add way to get requested size from cache, instead of actual cached sizes.
(WebCore::ImageBySizeCache::imageForSize): Respect empty sizes, just return 0, instead of asserting.
(WebCore::ImageBySizeCache::imageForRenderer): Added a helper that retrieves an image for a renderer, by lookup up its size and using imageForSize().
* rendering/ImageBySizeCache.h: Cleaup code, introduce struct that replaces the std::pair<IntSize, int>.
(WebCore::SizeZoomAndCount::SizeZoomAndCount):
* rendering/RenderBoxModelObject.cpp: Implement CSS 2.1 intrinsic size negotiation for images.
(WebCore::resolveWidthForRatio): New inline helper function used by calculateImageIntrinsicDimensions.
(WebCore::resolveHeightForRatio): Ditto.
(WebCore::resolveAgainstIntrinsicWidthOrHeightAndRatio): Ditto.
(WebCore::resolveAgainstIntrinsicRatio): Ditto.
(WebCore::RenderBoxModelObject::calculateImageIntrinsicDimensions): New helper function, containing the main algorithm, which is a pure transcription of the spec.
(WebCore::RenderBoxModelObject::calculateFillTileSize): Use new calculateImageIntrinsicDimensions() helper to figure out the intrinsic size.
(WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry): Propagate calculateFillTileSize() result to the image resource, via setContainerSizeForRenderer().
(WebCore::RenderBoxModelObject::paintNinePieceImage): Use new calculateImageIntrinsicDimensions() helper to figure out the intrinsic size.
* rendering/RenderBoxModelObject.h: Clarify some variable names, added calculateImageIntrinsicDimensions().
* rendering/RenderImage.cpp:
(WebCore::RenderImage::RenderImage): Use IntSize(), instead of IntSize(0, 0).
(WebCore::RenderImage::updateIntrinsicSizeIfNeeded): Refactored from imageDimensionsChanged().
(WebCore::RenderImage::imageDimensionsChanged): Use updateIntrinsicSizeIfNeeded().
(WebCore::RenderImage::computeReplacedLogicalWidth): Use RenderReplaced::computeReplacedLogicalWidth() exclusively. For this to work, the intrinsic size must be correct.
(WebCore::RenderImage::computeIntrinsicRatioInformation): Default implementation for non-SVGImages.
(WebCore::RenderImage::needsPreferredWidthsRecalculation): Return true, just like RenderPart, if embeddedContentBox is not null.
(WebCore::RenderImage::embeddedContentBox): Returns the RenderSVGRoot* renderer of the embedded SVG, if possible.
* rendering/RenderImage.h: Remove isLogicalWidth/HeightSpecified() / computeReplacedLogicalHeight() / calcAspectRatioLogicalWidth/Height().
* rendering/RenderImageResource.cpp:
(WebCore::RenderImageResource::setContainerSizeForRenderer): Pass around new "float containerZoomFactor" parameter.
* rendering/RenderImageResourceStyleImage.cpp:
(WebCore::RenderImageResourceStyleImage::image): embeddedContentBox() is now calling image() earlier than before. We now have to handle the case that the image is pending.
(WebCore::RenderImageResourceStyleImage::setContainerSizeForRenderer): Pass zoom factor.
* rendering/RenderImageResourceStyleImage.h:
* rendering/RenderListMarker.cpp:
(WebCore::RenderListMarker::computePreferredLogicalWidths): Pass effective zoom to setContainerSizeForRenderer().
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::computeIntrinsicLogicalWidth): Generalized this code, as RenderImage is using it as well now. Marginal changes needed.
(WebCore::RenderReplaced::computeIntrinsicLogicalHeight): Ditto.
(WebCore::RenderReplaced::computeReplacedLogicalWidth): Ditto.
* rendering/style/StyleCachedImage.cpp:
(WebCore::StyleCachedImage::computeIntrinsicDimensions): Stop passing m_renderer to CachedImage, it's no longer needed.
(WebCore::StyleCachedImage::setContainerSizeForRenderer): Add "float containerZoomFactor" parameter.
* rendering/style/StyleCachedImage.h: Add "float containerZoomFactor" parameter to setContainerSizeForRenderer.
* rendering/style/StyleGeneratedImage.h:
(WebCore::StyleGeneratedImage::setContainerSizeForRenderer): Ditto.
* rendering/style/StyleImage.h: Ditto.
* rendering/style/StylePendingImage.h:
(WebCore::StylePendingImage::setContainerSizeForRenderer): Ditto.
* rendering/svg/RenderSVGImage.cpp:
(WebCore::RenderSVGImage::layout): Always supply a container size when embedding SVGs in <svg:image>.
* rendering/svg/RenderSVGRoot.cpp: Move "override container size" from SVGSVGElement into RenderSVGRoot, where it belongs.
(WebCore::RenderSVGRoot::isEmbeddedThroughImageElement): Add helper method to determine whether we're loaded through SVGImage.
(WebCore::RenderSVGRoot::computeReplacedLogicalWidth): If we have a valid container size, it has precendence (only supplied via external SVGImages).
(WebCore::RenderSVGRoot::computeReplacedLogicalHeight): Ditto.
(WebCore::RenderSVGRoot::layout): Remove calcViewport() usage, no need to track/override the viewport size anymore, all done in coputeReplacedLogical* now.
(WebCore::RenderSVGRoot::paint): Use borderBoxRect() which now always matches the previously computed m_viewportSize.
(WebCore::RenderSVGRoot::computeRectForRepaint): Ditto.
* rendering/svg/RenderSVGRoot.h: Move "override container size" from SVGSVGElement into RenderSVGRoot, where it belongs.
(WebCore::RenderSVGRoot::containerSize):
(WebCore::RenderSVGRoot::setContainerSize):
* svg/SVGLength.cpp:
(WebCore::SVGLength::determineViewport): Resolve lengths against override container size in documents embedded through SVGImage.
* svg/SVGSVGElement.cpp: Remove "override container size" handling from SVGSVGElement.
(WebCore::SVGSVGElement::SVGSVGElement): Ditto.
(WebCore::SVGSVGElement::currentViewBoxRect): Always synthesize a viewBox, if we're embedded through SVGImage, as demanded by SVG 1.1 2nd Edition.
* svg/SVGSVGElement.h:
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImageChromeClient::isSVGImageChromeClient): Return true, used to identify whether RenderSVGRoot is embedded through SVGImage.
(WebCore::SVGImage::createWithDataAndSize): Add new helper function.
(WebCore::SVGImage::setContainerZoom): Forwarded to Page::setPageZoomFactor.
(WebCore::SVGImage::setContainerSize): Assert that container size is not empty. We should never receive an empty container size.
(WebCore::SVGImage::usesContainerSize): Adapt to override container size changes, it now lives in RenderSVGRoot instead of SVGSVGElement.
(WebCore::SVGImage::size): New algorithm to figure out the size of an embedded SVG, as demanded by the CSS/SVG specs.
(WebCore::SVGImage::embeddedContentBox): Add helper which returns the RenderSVGRoot of the document.
(WebCore::SVGImage::computeIntrinsicDimensions): Implement intrinsic ratio calculation.
(WebCore::SVGImage::dataChanged): Force calling FrameView::setCanHaveScrollbars(false), as SVG images now always synthesize a viewBox, and thus never receive scrollbars.
* svg/graphics/SVGImage.h:
2011-10-31 Yury Semikhatsky <yurys@chromium.org>
Unreviewed. Add ResourcePreviewView.js to the list of inspector front-end
files on Qt.
* inspector/front-end/WebKit.qrc:
2011-10-31 Pavel Feldman <pfeldman@google.com>
Web Inspector: do not map scripts generated with document.write to the document resources.
https://bugs.webkit.org/show_bug.cgi?id=71114
Reviewed by Yury Semikhatsky.
Test: inspector/debugger/bind-script-to-resource.html
* inspector/front-end/DebuggerPresentationModel.js:
(WebInspector.DebuggerPresentationModel):
(WebInspector.DebuggerPresentationModel.prototype._addScript):
(WebInspector.DebuggerPresentationModel.prototype._bindScriptToRawSourceCode):
(WebInspector.DebuggerPresentationModel.prototype._rawSourceCodeForScriptWithURL):
(WebInspector.DebuggerPresentationModel.prototype._rawSourceCodeForScript):
(WebInspector.DebuggerPresentationModel.prototype._scriptForRawSourceCode):
(WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
* inspector/front-end/RawSourceCode.js:
(WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent.didFormatContent):
(WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent):
(WebInspector.RawSourceCode.prototype._createSourceMapping):
* inspector/front-end/Script.js:
2011-10-31 Antti Koivisto <antti@apple.com>
https://bugs.webkit.org/show_bug.cgi?id=71012
Use StringHasher to generate the matched declaration cache hash
Reviewed by Sam Weinig.
Make sure the MatchedStyleDeclarations are fully zero-initialized as we calculate a hash over a raw memory array of these.
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::MatchedStyleDeclaration::MatchedStyleDeclaration):
(WebCore::CSSStyleSelector::addMatchedDeclaration):
* css/CSSStyleSelector.h:
2011-10-31 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Fix make distcheck build.
* GNUmakefile.am: Add InFilesCompiler.pm to SCRIPTS_BINDINGS and
EXTRA_DIST. Also remove duplicated entries in EXTRA_DIST.
2011-10-31 Pavel Feldman <pfeldman@chromium.org>
Web Inspector: factor out ResourceUtils, clean up externs.
https://bugs.webkit.org/show_bug.cgi?id=71192
Reviewed by Yury Semikhatsky.
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/compile-front-end.sh:
* inspector/front-end/ConsoleMessage.js:
(WebInspector.ConsoleMessageImpl.prototype._linkifyLocation):
* inspector/front-end/DebuggerPresentationModel.js:
* inspector/front-end/ProfilesPanel.js:
* inspector/front-end/Resource.js:
(WebInspector.Resource.displayName):
* inspector/front-end/ResourceTreeModel.js:
(WebInspector.ResourceTreeModel.prototype._createResource):
* inspector/front-end/ResourceUtils.js: Added.
(WebInspector.resourceForURL):
(WebInspector.forAllResources):
(WebInspector.displayNameForURL):
(WebInspector.linkifyStringAsFragmentWithCustomLinkifier):
(WebInspector.registerLinkifierPlugin):
(WebInspector.linkifyStringAsFragment):
(WebInspector.linkifyURLAsNode):
(WebInspector.linkifyURL):
(WebInspector.formatLinkText):
(WebInspector.linkifyResourceAsNode):
(WebInspector.resourceURLForRelatedNode.callback):
(WebInspector.resourceURLForRelatedNode):
(WebInspector.populateHrefContextMenu):
(WebInspector.completeURL):
* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylePropertyTreeElement.prototype.selectElement):
* inspector/front-end/WebKit.qrc:
* inspector/front-end/externs.js:
* inspector/front-end/inspector.html:
* inspector/front-end/inspector.js:
(WebInspector.networkResourceById):
* inspector/front-end/utilities.js:
(setupPrototypeUtilities.Element.prototype.selectionLeftOffset):
2011-10-28 Alexander Pavlov <apavlov@chromium.org>
Web Inspector: Using keyboard to increment/decrement units is inconsistent
https://bugs.webkit.org/show_bug.cgi?id=71119
Reviewed by Pavel Feldman.
This change makes the behavior consistent with that described at http://trac.webkit.org/wiki/WebInspector
* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylesSidebarPane.alteredFloatNumber):
(WebInspector.StylesSidebarPane.prototype._attributesModified):
2011-10-29 Martin Robinson <mrobinson@igalia.com>
[GTK] Switch to a backing store approach for painting WebKitWebView
https://bugs.webkit.org/show_bug.cgi?id=70213
Reviewed by Gustavo Noronha Silva.
No new tests. The changes to WebCore should not change
behavior. The changes in WebKit are covered by existing
tests.
* platform/cairo/WidgetBackingStore.h:
(WebCore::WidgetBackingStore::size): Added this getter for the size.
* platform/cairo/WidgetBackingStoreCairo.cpp:
(WebCore::WidgetBackingStore::WidgetBackingStore): Initialize size.
* platform/graphics/cairo/CairoUtilities.cpp:
(WebCore::copyRectFromCairoSurfaceToContext): Added this new helper.
(WebCore::copyRectFromOneSurfaceToAnother): Use the new helper.
* platform/graphics/cairo/CairoUtilities.h:
* platform/gtk/GtkWidgetBackingStoreX11.cpp:
(WebCore::WidgetBackingStore::WidgetBackingStore): Initialize the size.
2011-10-30 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r98803.
http://trac.webkit.org/changeset/98803
https://bugs.webkit.org/show_bug.cgi?id=71186
Causing test and assertion failures on some platforms
(Requested by anttik on #webkit).
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyMatchedDeclarations):
2011-10-29 Mark Rowe <mrowe@apple.com>
Build fix.
* platform/graphics/mac/WebLayer.mm:
(drawLayerContents):
2011-10-29 Mark Rowe <mrowe@apple.com>
Build fix.
* editing/Editor.cpp:
(WebCore::Editor::markMisspellingsAfterTypingToWord):
2011-10-29 Daniel Cheng <dcheng@chromium.org>
Rename DataTransferItems to DataTransferItemList
https://bugs.webkit.org/show_bug.cgi?id=71151
Per feedback that Items and Item are hard to distinguish between, the HTML5 spec renamed
DataTransferItems to DataTransferItemList:
http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#the-datatransferitemlist-interface
Reviewed by Tony Chang.
* CMakeLists.txt:
* CodeGenerators.pri:
* DerivedSources.cpp:
* DerivedSources.make:
* GNUmakefile.list.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* dom/Clipboard.h:
* dom/Clipboard.idl:
* dom/DataTransferItemList.cpp: Renamed from Source/WebCore/dom/DataTransferItems.cpp.
(WebCore::DataTransferItemList::DataTransferItemList):
(WebCore::DataTransferItemList::length):
(WebCore::DataTransferItemList::item):
(WebCore::DataTransferItemList::deleteItem):
(WebCore::DataTransferItemList::clear):
(WebCore::DataTransferItemList::add):
* dom/DataTransferItemList.h: Renamed from Source/WebCore/dom/DataTransferItems.h.
(WebCore::DataTransferItemList::~DataTransferItemList):
* dom/DataTransferItemList.idl: Renamed from Source/WebCore/dom/DataTransferItems.idl.
* platform/chromium/ClipboardChromium.cpp:
(WebCore::ClipboardChromium::items):
* platform/chromium/ClipboardChromium.h:
* platform/chromium/DataTransferItemListChromium.cpp: Renamed from Source/WebCore/platform/chromium/DataTransferItemsChromium.cpp.
(WebCore::DataTransferItemListChromium::create):
(WebCore::DataTransferItemListChromium::DataTransferItemListChromium):
(WebCore::DataTransferItemListChromium::addPasteboardItem):
* platform/chromium/DataTransferItemListChromium.h: Renamed from Source/WebCore/platform/chromium/DataTransferItemsChromium.h.
* platform/qt/ClipboardQt.cpp:
(WebCore::ClipboardQt::items):
* platform/qt/ClipboardQt.h:
* platform/qt/DataTransferItemListQt.cpp: Renamed from Source/WebCore/platform/qt/DataTransferItemsQt.cpp.
(WebCore::DataTransferItemListQt::create):
(WebCore::DataTransferItemListQt::DataTransferItemListQt):
(WebCore::DataTransferItemListQt::addPasteboardItem):
* platform/qt/DataTransferItemListQt.h: Renamed from Source/WebCore/platform/qt/DataTransferItemsQt.h.
2011-10-03 Robert Hogan <robert@webkit.org>
CSS 2.1 failure: block-non-replaced-width-008.htm
https://bugs.webkit.org/show_bug.cgi?id=69278
Reviewed by Simon Fraser.
* rendering/RenderBox.cpp:
(WebCore::RenderBox::computeLogicalWidthUsing):
Include the margins in the calculation of logical width even when the containing block's
width is zero. This is required by section '10.3.3 Block-level, non-replaced elements in
normal flow' in the CSS 2.1 spec. Tested by block-non-replaced-width-008.htm in the CSS
test suite.
2011-10-29 Anna Cavender <annacc@chromium.org>
Make sure TextTracks are destructed if HTMLMediaElement goes away.
https://bugs.webkit.org/show_bug.cgi?id=71148
Reviewed by Eric Carlson.
Test: media/track/track-text-track-destructor-crash.html
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::~HTMLMediaElement):
Destroy the client (this) on TextTracks.
(WebCore::HTMLMediaElement::loadTextTracks):
Move TextTrack creation to loadNextTextTrack.
(WebCore::HTMLMediaElement::loadNextTextTrack):
Keep track of new TextTrack in a list.
(WebCore::HTMLMediaElement::addTrack):
Keep track of new TextTrack in a list.
* html/HTMLMediaElement.h:
Add m_textTracks and loadNextTextTrack().
2011-10-29 Jochen Eisinger <jochen@chromium.org>
Implement IDBFactory.deleteDatabase
https://bugs.webkit.org/show_bug.cgi?id=62622
Reviewed by Tony Chang.
Tests: storage/indexeddb/factory-deletedatabase-interactions.html
storage/indexeddb/factory-deletedatabase.html
* storage/IDBBackingStore.h:
* storage/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::PendingDeleteCall::create):
(WebCore::IDBDatabaseBackendImpl::PendingDeleteCall::callbacks):
(WebCore::IDBDatabaseBackendImpl::PendingDeleteCall::PendingDeleteCall):
(WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
(WebCore::IDBDatabaseBackendImpl::openInternal):
(WebCore::IDBDatabaseBackendImpl::processPendingCalls):
(WebCore::IDBDatabaseBackendImpl::openConnection):
(WebCore::IDBDatabaseBackendImpl::deleteDatabase):
* storage/IDBDatabaseBackendImpl.h:
* storage/IDBFactory.cpp:
(WebCore::IDBFactory::deleteDatabase):
* storage/IDBFactory.h:
* storage/IDBFactory.idl:
* storage/IDBFactoryBackendImpl.cpp:
(WebCore::IDBFactoryBackendImpl::deleteDatabase):
* storage/IDBFactoryBackendImpl.h:
* storage/IDBFactoryBackendInterface.h:
* storage/IDBLevelDBBackingStore.cpp:
(WebCore::deleteRange):
(WebCore::IDBLevelDBBackingStore::deleteDatabase):
* storage/IDBLevelDBBackingStore.h:
* storage/IDBRequest.cpp:
(WebCore::IDBRequest::dispatchEvent):
2011-10-28 Robert Hogan <robert@webkit.org>
CSS 2.1 failure: dynamic-top-change-001 to 004 fail
https://bugs.webkit.org/show_bug.cgi?id=68149
Reviewed by David Hyatt.
In these tests a child inherits its top value from its parent and the parent's top value
is later updated by an onload event. The updated value is expected to cascade to the child.
The tests were failing because updating the value did not cascade immediately to the child inheriting it, though
it could be forced eventually with a full recalculation of the RenderStyle by changing the zoom factor
or opening the inspector.
The fix is to let the parent RenderStyle know that a child inherits a property explicitly and
recalculate children's style if the parent ever changes. This only happens if the property is inherited
explicitly, it does not apply to cases where the property is inherited by default.
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
* dom/Node.cpp:
(WebCore::Node::diff):
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::RenderStyle):
* rendering/style/RenderStyle.h:
(WebCore::InheritedFlags::setHasExplicitlyInheritedProperties):
(WebCore::InheritedFlags::hasExplicitlyInheritedProperties):
2011-10-29 Antti Koivisto <antti@apple.com>
Tighten font change conditions in matched declaration cache
https://bugs.webkit.org/show_bug.cgi?id=71026
Reviewed by Darin Adler.
We currently test if font description has changed to see if all properties need to be applied. However
only a few size related metrics can actually affect other properties. We can just test those, making
the cache somewhat more effective while also making the equality test faster.
* css/CSSStyleSelector.cpp:
(WebCore::fontDifferenceAffectsNonInherited):
(WebCore::CSSStyleSelector::applyMatchedDeclarations):
Test for text computedSize, xHeight and orientation only. Other text properties don't affect computed
values of non-text CSS properties.
2011-10-29 Adam Barth <abarth@webkit.org>
DOMURL should keep its own state rather than storing it on ScriptExecutionContext
https://bugs.webkit.org/show_bug.cgi?id=71169
Reviewed by Eric Seidel.
This patch untwists this code. I think this code was originally
twisted because these APIs moved onto DOMURL after they were first
implemented.
* dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::~ScriptExecutionContext):
* dom/ScriptExecutionContext.h:
* fileapi/FileWriter.h:
* html/DOMURL.cpp:
(WebCore::DOMURL::contextDestroyed):
(WebCore::DOMURL::createObjectURL):
(WebCore::DOMURL::revokeObjectURL):
* html/DOMURL.h:
2011-10-29 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r98795.
http://trac.webkit.org/changeset/98795
https://bugs.webkit.org/show_bug.cgi?id=71171
Causes worker tests to crash (Requested by abarth on #webkit).
* dom/ActiveDOMObject.cpp:
(WebCore::ContextDestructionObserver::contextDestroyed):
* dom/MessagePort.cpp:
(WebCore::MessagePort::MessagePort):
(WebCore::MessagePort::contextDestroyed):
* dom/MessagePort.h:
* dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::~ScriptExecutionContext):
(WebCore::ScriptExecutionContext::closeMessagePorts):
2011-10-28 Ryosuke Niwa <rniwa@webkit.org>
Potential crash in ReplaceNodeWithSpanCommand
https://bugs.webkit.org/show_bug.cgi?id=71145
Reviewed by Ojan Vafai.
Fix a potential crash without tests because we don't have a reduction.
* editing/ReplaceNodeWithSpanCommand.cpp:
(WebCore::swapInNodePreservingAttributesAndChildren):
2011-10-28 Adam Barth <abarth@webkit.org>
MessagePort should be a ContextDestructionObserver
https://bugs.webkit.org/show_bug.cgi?id=71167
Reviewed by Eric Seidel.
I couldn't quite get rid of all the uses of the
ScriptExecutionContext::m_messagePorts in this patch. I hope to get
rid of them in the future as the "extra data" design for
ScriptExecutionContext emerges.
* dom/ActiveDOMObject.cpp:
(WebCore::ContextDestructionObserver::contextDestroyed):
* dom/MessagePort.cpp:
(WebCore::MessagePort::MessagePort):
(WebCore::MessagePort::contextDestroyed):
* dom/MessagePort.h:
* dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::~ScriptExecutionContext):
(WebCore::ScriptExecutionContext::closeMessagePorts):
2011-10-28 Ryosuke Niwa <rniwa@webkit.org>
The copy and paste result in nested scrollbars on http://dojotoolkit.org/widgets
https://bugs.webkit.org/show_bug.cgi?id=70799
Reviewed by Enrica Casucci.
The bug was caused by WebKit's treating a fully selected root with background property as a special common ancestor.
A variant of this bug was caused by treating any element with text-decoration property as a presentational element.
Fixed the above two bugs by not serializing the said nodes. The effective background color was already serialized
by wrappingStyleForSerialization, there was nothing to be done besides stop including it in highestAncestorToWrapMarkup.
For text-decoration property, added the logic to compute the effective value in EditingStyle::init. Also treat it
as a non-inheritable editing property so that the rest of EditingStyle just works.
Test: editing/pasteboard/avoid-copying-body-with-background.html
* editing/EditingStyle.cpp: Added CSSPropertyTextDecoration to the list of editing properties.
(WebCore::copyEditingProperties):
(WebCore::EditingStyle::init): Compute the effective text decoration when propertiesToInclude is
EditingPropertiesInEffect.
(WebCore::EditingStyle::prepareToApplyAt):
(WebCore::EditingStyle::mergeInlineStyleOfElement):
(WebCore::EditingStyle::wrappingStyleForSerialization):
(WebCore::EditingStyle::removeStyleFromRulesAndContext):
* editing/EditingStyle.h: Renamed EditingInheritablePropertiesAndBackgroundColorInEffect to
EditingPropertiesInEffect.
* editing/markup.cpp:
(WebCore::StyledMarkupAccumulator::appendStyleNodeOpenTag): Removed an assertion that's no longer valid.
(WebCore::isElementPresentational): Don't consider an element with text-decoration as a presentational element.
(WebCore::highestAncestorToWrapMarkup): Don't consider fully selected root as a special common ancestor ever.
Background color is computed property when we compute the wrapping style.
(WebCore::createMarkup):
2011-10-28 Adam Barth <abarth@webkit.org>
Rename ExceptionCodeDescription.in to DOMExceptions.in
https://bugs.webkit.org/show_bug.cgi?id=71157
Reviewed by Eric Seidel.
This file is now used for more than just the descriptions of the exceptions.
* CMakeLists.txt:
* CodeGenerators.pri:
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.gyp/WebCore.gyp:
* WebCore.gyp/scripts/action_makenames.py:
* dom/DOMExceptions.in: Copied from Source/WebCore/dom/ExceptionCodeDescription.in.
* dom/ExceptionCodeDescription.in: Removed.
* dom/make_dom_exceptions.pl: Copied from Source/WebCore/dom/make_exception_code_description.pl.
* dom/make_exception_code_description.pl: Removed.
2011-10-28 Chris Rogers <crogers@google.com>
SincResampler must be able to resample progressively
https://bugs.webkit.org/show_bug.cgi?id=71131
Reviewed by Kenneth Russell.
No new tests. There is not yet an implementation using progressive resampling to test.
* platform/audio/SincResampler.cpp:
(WebCore::SincResampler::SincResampler):
(WebCore::SincResampler::consumeSource):
(WebCore::SincResampler::process):
* platform/audio/SincResampler.h:
2011-10-28 Adam Klein <adamk@chromium.org>
[MutationObservers] Support attributeOldValue for attribute mutations
https://bugs.webkit.org/show_bug.cgi?id=70861
Reviewed by Ryosuke Niwa.
Respect 'attributeOldValue' when passed to WebKitMutationObserver.observe().
If multiple observers have different attributeOldValue settings in
their registrations, two different MutationRecords are created (one is
a wrapper around the other).
If a single observer has multiple registrations that apply to a single
mutation, and those registrations have different values for
attributeOldValue, the observer is passed the oldValue.
* dom/Element.cpp:
(WebCore::hasOldValue):
(WebCore::enqueueAttributesMutationRecord):
(WebCore::Element::setAttribute):
* dom/MutationRecord.cpp:
(WebCore::MutationRecord::createAttributes):
(WebCore::MutationRecord::createWithNullOldValue):
* dom/MutationRecord.h:
(WebCore::MutationRecord::oldValue):
2011-10-28 Adam Barth <abarth@webkit.org>
Delete ExceptionCode.cpp, which is empty
https://bugs.webkit.org/show_bug.cgi?id=71159
Reviewed by Eric Seidel.
This file has been stripped down to nothing and can be removed.
* CMakeLists.txt:
* GNUmakefile.list.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* dom/DOMAllInOne.cpp:
* dom/ExceptionCode.cpp: Removed.
2011-10-28 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r98776.
http://trac.webkit.org/changeset/98776
https://bugs.webkit.org/show_bug.cgi?id=71164
caused lots of test crashes (Requested by smfr on #webkit).
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateVisibilityStatus):
(WebCore::RenderLayer::dirtyZOrderLists):
* rendering/RenderLayer.h:
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::enableCompositingMode):
2011-10-28 John Sullivan <sullivan@apple.com>
Improvement to the fix for:
https://bugs.webkit.org/show_bug.cgi?id=71142
Whether backspace goes Back should be configurable
Reviewed by Dan Bernstein.
* page/EventHandler.cpp:
(WebCore::EventHandler::defaultBackspaceEventHandler):
Do the frame->settings() check after the !page check, since
a null page means null settings.
2011-10-28 Adam Barth <abarth@webkit.org>
Make DOMURL a ContextDestructionObserver
https://bugs.webkit.org/show_bug.cgi?id=71162
Reviewed by Eric Seidel.
This removes a bunch of hand-rolled ifdefed code.
* dom/ActiveDOMObject.h:
- One-argument constructors should be explicit.
* dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::~ScriptExecutionContext):
* dom/ScriptExecutionContext.h:
* html/DOMURL.cpp:
(WebCore::DOMURL::DOMURL):
(WebCore::DOMURL::~DOMURL):
* html/DOMURL.h:
2011-10-28 Adam Barth <abarth@webkit.org>
Factor ContextDestructionObserver out of ActiveDOMObject
https://bugs.webkit.org/show_bug.cgi?id=71153
Reviewed by Sam Weinig.
This patch paves the way to make more objects observe the destruction
of ScriptExecutioContext without needing to add ifdefs to
ScriptExecutionContext.h/cpp. (As an example, see DOMURL.)
* dom/ActiveDOMObject.cpp:
(WebCore::ContextDestructionObserver::ContextDestructionObserver):
(WebCore::ContextDestructionObserver::~ContextDestructionObserver):
(WebCore::ContextDestructionObserver::contextDestroyed):
(WebCore::ActiveDOMObject::ActiveDOMObject):
(WebCore::ActiveDOMObject::~ActiveDOMObject):
* dom/ActiveDOMObject.h:
(WebCore::ContextDestructionObserver::scriptExecutionContext):
* dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::~ScriptExecutionContext):
(WebCore::ScriptExecutionContext::didCreateActiveDOMObject):
(WebCore::ScriptExecutionContext::willDestroyActiveDOMObject):
(WebCore::didCreateDestructionObserver):
(WebCore::willDestroyDestructionObserver):
* dom/ScriptExecutionContext.h:
2011-10-28 Tim Horton <timothy_horton@apple.com>
One more unreviewed build fix due to r98775.
No new tests.
* WebCore.vcproj/WebCore.vcproj:
2011-10-28 James Robinson <jamesr@chromium.org>
[chromium] Track wheel event handler registration and pass to input filter
https://bugs.webkit.org/show_bug.cgi?id=71078
Reviewed by Kenneth Russell.
This propagates mouse wheel registration notifications to the compositor input filter. If there are any handlers
registered, which includes JS handlers and scrollable areas other than the main view, the input filter will pass
mouse wheel events to the widget. Otherwise when threaded compositing is enabled the input filter translates
wheel events into root layer scrolling.
Only changes behavior with an off-by-default flag enabled, so no tests.
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::CCLayerTreeHost):
(WebCore::CCLayerTreeHost::finishCommitOnImplThread):
(WebCore::CCLayerTreeHost::setHaveWheelEventHandlers):
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
(WebCore::CCLayerTreeHostImpl::haveWheelEventHandlers):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
(WebCore::CCLayerTreeHostImpl::setHaveWheelEventHandlers):
* platform/graphics/chromium/cc/CCScrollController.h:
2011-10-28 Tim Horton <timothy_horton@apple.com>
Unreviewed build fix due to r98775.
No new tests.
* CMakeLists.txt:
* GNUmakefile.list.am:
* WebCore.gypi:
* WebCore.pro:
2011-10-28 Simon Fraser <simon.fraser@apple.com>
If visibility changes while an accelerated animation is running, element jumps around
https://bugs.webkit.org/show_bug.cgi?id=29984
Reviewed by Chris Marrin.
Compositing now affects whether RenderLayers for visibility:hidden elements
are included in z-order lists. So we have to dirty those lists when we enter
compopsiting mode.
Test: compositing/visibility/animation-visibility.html
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateVisibilityStatus): Removed trailing whitespace.
(WebCore::RenderLayer::dirtyZOrderLists): Call dirtyZOrderListsInternal(), which doesn't have
to ping the compositor.
(WebCore::RenderLayer::dirtyZOrderListsInternal):
(WebCore::RenderLayer::dirtyZOrderListsIncludingDescendants): Recursively dirty z-order
lists.
* rendering/RenderLayer.h:
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::enableCompositingMode): When going into compositing mode,
dirty all z-order lists.
2011-10-28 Tim Horton <timothy_horton@apple.com>
Implement CSS3 Images cross-fade() image function
https://bugs.webkit.org/show_bug.cgi?id=52162
<rdar://problem/10209254>
Reviewed by Simon Fraser.
Parse -webkit-cross-fade according to the CSS3 Images Values specification.
Also, adjust other CSS parsing functions to support nested functions, by using a specific CSS value list
instead of the global one. This allows - for example - cross-fade to pass each of its arguments back into
parseFillImage and to successfully parse image functions in this fashion.
Test: fast/css/getComputedStyle/computed-style-cross-fade.html
* WebCore.xcodeproj/project.pbxproj:
* css/CSSCrossfadeValue.cpp: Added.
(WebCore::CSSCrossfadeValue::~CSSCrossfadeValue):
(WebCore::CSSCrossfadeValue::cssText):
(WebCore::CSSCrossfadeValue::fixedSize):
(WebCore::CSSCrossfadeValue::image):
* css/CSSCrossfadeValue.h: Added.
(WebCore::CSSCrossfadeValue::create):
(WebCore::CSSCrossfadeValue::isFixedSize):
(WebCore::CSSCrossfadeValue::setFromImage):
(WebCore::CSSCrossfadeValue::setToImage):
(WebCore::CSSCrossfadeValue::setPercentage):
(WebCore::CSSCrossfadeValue::CSSCrossfadeValue):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseContent):
(WebCore::CSSParser::parseFillImage):
(WebCore::CSSParser::parseFillProperty):
(WebCore::CSSParser::parseBorderImage):
(WebCore::CSSParser::parseDeprecatedGradient):
(WebCore::CSSParser::parseLinearGradient):
(WebCore::CSSParser::parseRadialGradient):
(WebCore::CSSParser::isGeneratedImageValue):
(WebCore::CSSParser::parseGeneratedImage):
(WebCore::CSSParser::parseCrossfade):
(WebCore::CSSParser::parseCanvas):
* css/CSSParser.h:
2011-10-28 Dan Bernstein <mitz@apple.com>
Attempted build fix after r98765.
* platform/graphics/mac/SimpleFontDataMac.mm:
(WebCore::SimpleFontData::platformWidthForGlyph):
2011-10-28 Chris Marrin <cmarrin@apple.com>
CSS grammar doesn't support functions with no parameters
https://bugs.webkit.org/show_bug.cgi?id=69110
Reviewed by Dean Jackson.
Add rule to grammar to accept functions with 0 args and return
this case with a CSSParserValueList with 0 values. Also fixed
filter creation function to properly handle filters with 0
arguments.
* css/CSSGrammar.y:
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::createFilterOperations):
2011-10-28 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r98757.
http://trac.webkit.org/changeset/98757
https://bugs.webkit.org/show_bug.cgi?id=71150
crashes webkit_unit_tests on chromium windows (Requested by
johnny_g on #webkit).
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::drawLayersOntoRenderSurfaces):
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::paintLayerContents):
(WebCore::CCLayerTreeHost::updateCompositorResources):
* platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
(WebCore::calculateDrawTransformsAndVisibilityInternal):
2011-10-28 Adam Barth <abarth@webkit.org>
Rubber-stamped by Eric Seidel.
Fix namespace indent in ScriptExecutionContext.h.
* dom/ScriptExecutionContext.h:
(WebCore::ScriptExecutionContext::isDocument):
(WebCore::ScriptExecutionContext::isWorkerContext):
(WebCore::ScriptExecutionContext::setHasOpenDatabases):
(WebCore::ScriptExecutionContext::hasOpenDatabases):
(WebCore::ScriptExecutionContext::url):
(WebCore::ScriptExecutionContext::completeURL):
(WebCore::ScriptExecutionContext::securityOrigin):
(WebCore::ScriptExecutionContext::contentSecurityPolicy):
(WebCore::ScriptExecutionContext::activeDOMObjects):
(WebCore::ScriptExecutionContext::suspendScriptedAnimationControllerCallbacks):
(WebCore::ScriptExecutionContext::resumeScriptedAnimationControllerCallbacks):
(WebCore::ScriptExecutionContext::messagePorts):
(WebCore::ScriptExecutionContext::domUrls):
(WebCore::ScriptExecutionContext::ref):
(WebCore::ScriptExecutionContext::deref):
(WebCore::ScriptExecutionContext::Task::Task):
(WebCore::ScriptExecutionContext::Task::isCleanupTask):
2011-10-28 John Sullivan <sullivan@apple.com>
WebCore part of:
https://bugs.webkit.org/show_bug.cgi?id=71142
Whether backspace goes Back should be configurable
Reviewed by Sam Weinig.
* page/EventHandler.cpp:
(WebCore::EventHandler::defaultBackspaceEventHandler):
Bail out if backspace navigation is not enabled.
* page/Settings.cpp:
(WebCore::Settings::Settings):
Initialize m_backspaceKeyNavigationEnabled to true to match current behavior.
* page/Settings.h:
Declared m_backspaceKeyNavigationEnabled.
(WebCore::Settings::setBackspaceKeyNavigationEnabled):
New function, simple setter.
(WebCore::Settings::backspaceKeyNavigationEnabled):
New function, simple getter.
2011-10-28 Emil A Eklund <eae@chromium.org>
Overridden clippedOverflowRectForRepaint() still uses IntRects
https://bugs.webkit.org/show_bug.cgi?id=71046
Reviewed by Simon Fraser.
Change all virtual clippedOverflowRectForRepaint functions to use the
same signature.
No new tests.
* rendering/RenderObject.cpp:
(WebCore::RenderObject::rectWithOutlineForRepaint):
(WebCore::RenderObject::clippedOverflowRectForRepaint):
* rendering/RenderObject.h:
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::clippedOverflowRectForRepaint):
* rendering/RenderReplaced.h:
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::clippedOverflowRectForRepaint):
* rendering/RenderTableCell.h:
* rendering/RenderTableCol.cpp:
(WebCore::RenderTableCol::clippedOverflowRectForRepaint):
* rendering/RenderTableCol.h:
* rendering/RenderTableRow.cpp:
(WebCore::RenderTableRow::clippedOverflowRectForRepaint):
* rendering/RenderTableRow.h:
* rendering/RenderText.cpp:
(WebCore::RenderText::clippedOverflowRectForRepaint):
* rendering/RenderText.h:
2011-10-28 Adam Klein <adamk@chromium.org>
Remove unused parsers for 'exception' and 'alias' IDL keywords
https://bugs.webkit.org/show_bug.cgi?id=71140
Reviewed by Adam Barth.
* bindings/scripts/IDLParser.pm:
(ParseInterface):
(DetermineParseMode):
(ProcessSection):
* bindings/scripts/IDLStructure.pm:
2011-10-28 Dan Bernstein <mitz@apple.com>
<rdar://problem/10288006> Emoji characters are too close to each other in small font size
Reviewed by Sam Weinig.
* platform/graphics/mac/SimpleFontDataMac.mm:
(WebCore::SimpleFontData::platformWidthForGlyph): If the font is a color bitmap font, use
-[NSFont advancementForGlyph:] instead of wkGetGlyphTransformedAdvances().
2011-10-28 Adam Barth <abarth@webkit.org>
Remove unused default constructor
https://bugs.webkit.org/show_bug.cgi?id=71136
Reviewed by Eric Seidel.
No one is calling this constructor anymore now that we've fixed the
callers.
* dom/make_exception_code_description.pl:
(generateHeader):
2011-10-28 Ken Buchanan <kenrb@chromium.org>
Crash when splitting inline flows with generated floats
https://bugs.webkit.org/show_bug.cgi?id=70458
Reviewed by David Hyatt.
When lineBoxes on a RenderBlock are being deleted, we now check the floating object list to
ensure references to them are being cleared.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::deleteLineBoxTree): Remove references to lineBox when deleting them
2011-10-28 Simon Fraser <simon.fraser@apple.com>
Remove Leopard-only code from GraphicsLayerCA
https://bugs.webkit.org/show_bug.cgi?id=71141
Reviewed by Chris Marrin.
Remove !HAVE_MODERN_QUARTZCORE code, which was only
used on Leopard. updateContentsTransform() became a no-op,
so could be removed.
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::getValueFunctionNameForTransformOperation):
(WebCore::GraphicsLayerCA::GraphicsLayerCA):
(WebCore::GraphicsLayerCA::addAnimation):
(WebCore::GraphicsLayerCA::updateGeometry):
(WebCore::GraphicsLayerCA::setTransformAnimationEndpoints):
(WebCore::GraphicsLayerCA::setTransformAnimationKeyframes):
(WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
(WebCore::GraphicsLayerCA::defaultContentsOrientation):
(WebCore::GraphicsLayerCA::updateOpacityOnLayer):
* platform/graphics/ca/GraphicsLayerCA.h:
2011-10-28 Adrienne Walker <enne@google.com>
[chromium] Implicitly skip render surfaces that won't be drawn
https://bugs.webkit.org/show_bug.cgi?id=71038
Rather than having redundant checks in three places for how to walk
through a render surface list, instead don't add render surfaces that
don't need to get rendered to the render surface list.
Reviewed by James Robinson.
Covered by existing layout tests.
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::drawLayersOntoRenderSurfaces):
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::paintLayerContents):
(WebCore::CCLayerTreeHost::updateCompositorResources):
* platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
(WebCore::calculateDrawTransformsAndVisibilityInternal):
2011-10-28 Adam Barth <abarth@webkit.org>
Autogenerate Exception-downcast code in bindings
https://bugs.webkit.org/show_bug.cgi?id=71108
Reviewed by Eric Seidel.
This patch uses the same generated code style as we're using for Events
to generate the downcasts for the Exception types in the bindings.
This cause me to refactor more code from make_event_factory.pl into
InFilesCompiler.pm.
After this patch, some of these files and scripts are misnamed. I'll
rename them in a followup patch.
* DerivedSources.make:
* GNUmakefile.am:
* GNUmakefile.list.am:
* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSDOMBinding.cpp:
(WebCore::setDOMException):
* bindings/objc/ExceptionHandlers.mm:
(WebCore::raiseDOMException):
* bindings/scripts/InFilesCompiler.pm:
(initializeFromCommandLine):
(compile):
(interfaceForItem):
(toMacroStyle):
(generateInterfacesHeader):
(generateHeadersHeader):
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::setDOMException):
* dom/ExceptionCodeDescription.in:
* dom/make_event_factory.pl:
(generateCode):
(generateImplementation):
* dom/make_exception_code_description.pl:
(defaultItemFactory):
(generateCode):
2011-10-28 Simon Fraser <simon.fraser@apple.com>
Fix builds which have ACCELERATED_COMPOSITING disabled.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateZOrderLists):
2011-10-28 Erik Arvidsson <arv@chromium.org>
Remove LegacyDefaultOptionalArguments flag from inspector IDLs
https://bugs.webkit.org/show_bug.cgi?id=65748
Reviewed by Adam Barth.
Covered by existing tests.
* inspector/InjectedScriptHost.idl:
* inspector/InspectorFrontendHost.idl:
* inspector/JavaScriptCallFrame.idl:
2011-10-28 Joshua Bell <jsbell@chromium.org>
IndexedDB: Database metadata changes should be tied to transaction
https://bugs.webkit.org/show_bug.cgi?id=70974
Reviewed by Tony Chang.
Database metadata (that is, the version string) was rolled back
on abort by an abort task. If the abort task didn't run e.g.
due to a crash, the metadata would not be reverted. All of the
other store/index/data changes were written into the transaction
itself, so the metadata now is too. Refactored the metadata
get/create/update methods for clarity as well.
Note that the new tests don't actually verify that the code handles
this case; that will need to be done with persistence tests
that span multiple runs of the browser and induce crashes.
The new tests do verify that these changes don't cause regressions
not caught by other tests.
Tests: storage/indexeddb/open-during-transaction.html
storage/indexeddb/version-change-abort.html
* storage/IDBBackingStore.h:
* storage/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
(WebCore::IDBDatabaseBackendImpl::setVersionInternal):
* storage/IDBLevelDBBackingStore.cpp:
(WebCore::IDBLevelDBBackingStore::getIDBDatabaseMetaData):
(WebCore::IDBLevelDBBackingStore::createIDBDatabaseMetaData):
(WebCore::IDBLevelDBBackingStore::updateIDBDatabaseMetaData):
* storage/IDBLevelDBBackingStore.h:
2011-10-28 Luke Macpherson <macpherson@chromium.org>
Use enum instead of bool to represent -webkit-column-span property.
https://bugs.webkit.org/show_bug.cgi?id=70867
Reviewed by Darin Adler.
Covered by existing tests.
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator ColumnSpan):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::createAnonymousColumnSpanBlock):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::propagateStyleToAnonymousChildren):
* rendering/style/RenderStyle.h:
(WebCore::InheritedFlags::columnSpan):
(WebCore::InheritedFlags::setColumnSpan):
(WebCore::InheritedFlags::initialColumnSpan):
* rendering/style/RenderStyleConstants.h:
* rendering/style/StyleMultiColData.h:
2011-10-28 Mark Hahnenberg <mhahnenberg@apple.com>
De-virtualize isGlobalObject, isVariableObject, isActivationObject, and isErrorInstance in JSObject
https://bugs.webkit.org/show_bug.cgi?id=70968
Reviewed by Geoffrey Garen.
No new tests.
* bindings/js/JSDOMGlobalObject.h: Changed JSType provided to TypeInfo in createStructure since this
class inherits from JSGlobalObject.
(WebCore::JSDOMGlobalObject::createStructure):
* bindings/js/JSDOMWindowBase.h: Ditto
(WebCore::JSDOMWindowBase::createStructure):
* bindings/js/JSWorkerContextBase.h: Ditto
(WebCore::JSWorkerContextBase::createStructure):
* bindings/scripts/CodeGeneratorJS.pm: Added extra check to make sure subclasses of JSGlobalObject,
namely JSDOMWindow and JSWorkerContext, get their special JSType in their createStructure function.
(GenerateHeader):
2011-10-28 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r98736.
http://trac.webkit.org/changeset/98736
https://bugs.webkit.org/show_bug.cgi?id=71125
This patch broke perf/array-binary-search.html test (Requested
by annacc on #webkit).
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::loadTextTracks):
(WebCore::HTMLMediaElement::addTrack):
* html/HTMLMediaElement.h:
* html/HTMLTrackElement.cpp:
(WebCore::HTMLTrackElement::insertedIntoTree):
(WebCore::HTMLTrackElement::willRemove):
* html/HTMLTrackElement.h:
* html/LoadableTextTrack.cpp:
(WebCore::LoadableTextTrack::cueLoadingCompleted):
2011-10-28 Julien Chaffraix <jchaffraix@webkit.org>
RenderTableSection::recalcCells should not free its grid
https://bugs.webkit.org/show_bug.cgi?id=71056
Reviewed by Darin Adler.
Refactoring only, no change in behavior.
r98614 had the bad side effect of clearing the row vector (m_grid) on
the RenderTableSection when doing a recalcCells. This change removes the
unneeded free and inline the |row| field into the RowStruct as it made
no sense to have it as a pointer.
* rendering/RenderTableSection.cpp:
(WebCore::setRowLogicalHeightToRowStyleLogicalHeightIfNotRelative):
(WebCore::RenderTableSection::addChild):
(WebCore::RenderTableSection::setCellLogicalWidths):
(WebCore::RenderTableSection::calcRowLogicalHeight):
(WebCore::RenderTableSection::firstLineBoxBaseline):
(WebCore::RenderTableSection::appendColumn):
(WebCore::RenderTableSection::splitColumn):
Mechanical changes now that |row| is a member of RowStruct.
(WebCore::RenderTableSection::~RenderTableSection): Clear our row vector.
(WebCore::RenderTableSection::ensureRows):
(WebCore::RenderTableSection::recalcCells):
Those 2 functions were refactored to use fillRowsWithDefaultStartingAtPosition.
(WebCore::RenderTableSection::fillRowsWithDefaultStartingAtPosition):
Factored the code to fill the RowStruct structure with default values.
* rendering/RenderTableSection.h:
(WebCore::RenderTableSection::cellAt):
(WebCore::RenderTableSection::primaryCellAt):
More mechanical change after the |row| field change.
2011-10-28 Anna Cavender <annacc@chromium.org>
Implement load notification and events for <track>.
https://bugs.webkit.org/show_bug.cgi?id=71054
Reviewed by Eric Carlson.
Tests: media/track/track-load-error-readyState.html
media/track/track-load-from-element-readyState.html
media/track/track-load-from-src-readyState.html
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::loadTextTracks):
(WebCore::HTMLMediaElement::loadNextTextTrack):
(WebCore::HTMLMediaElement::trackWasAdded):
(WebCore::HTMLMediaElement::trackWillBeRemoved):
(WebCore::HTMLMediaElement::trackSourceChanged):
* html/HTMLMediaElement.h:
* html/HTMLTrackElement.cpp:
(WebCore::HTMLTrackElement::insertedIntoTree):
(WebCore::HTMLTrackElement::willRemove):
(WebCore::HTMLTrackElement::parseMappedAttribute):
(WebCore::HTMLTrackElement::attributeChanged):
* html/HTMLTrackElement.h:
* html/LoadableTextTrack.cpp:
(WebCore::LoadableTextTrack::cueLoadingCompleted):
2011-10-28 Simon Fraser <simon.fraser@apple.com>
The HTML5 video element in Safari does not respect "visibility:hidden" CSS property
https://bugs.webkit.org/show_bug.cgi?id=38829
Reviewed by James Robinson.
Make compositing and CSS visibility play nicely together.
The main issue was that an old optimization (see bug 4377) caused
visibility:hidden layers to not appear in the z-order lists, but those
layers could still become composited, but would remain detached. In addition,
composited layers which were visibility:hidden would become visible sometimes.
With this fix, the z-order lists always contain all layers when the page
is in compositing mode. GraphicsLayer is changed to ensure that visibility:hidden
layers show no content, and visible descendants of hidden layers work correctly.
Tests: compositing/visibility/visibility-composited-transforms.html
compositing/visibility/visibility-composited.html
compositing/visibility/visibility-image-layers-dynamic.html
compositing/visibility/visibility-image-layers.html
* platform/graphics/GraphicsLayer.cpp:
(WebCore::GraphicsLayer::GraphicsLayer): Init m_contentsVisible to true.
(WebCore::GraphicsLayer::dumpProperties): Dump m_contentsVisible if not true.
* platform/graphics/GraphicsLayer.h:
(WebCore::GraphicsLayer::contentsAreVisible): Getter for m_contentsVisible.
(WebCore::GraphicsLayer::setContentsVisible): Setter for m_contentsVisible.
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::setContentsVisible): Override setContentsVisible.
(WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers): Handle ContentsVisibilityChanged
flag
(WebCore::GraphicsLayerCA::updateSublayerList): Only parent the m_contentsLayer if the layer
has visible contents.
(WebCore::GraphicsLayerCA::updateContentsVisibility): For bits painted into the layer itself,
we hide it by clearing the backing store.
* platform/graphics/ca/GraphicsLayerCA.h: Removed obsolete comment on the DrawsContentChanged flag,
added ContentsVisibilityChanged flag.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateZOrderLists): If we're in compositing mode, include all layers
in the z-order lists.
(WebCore::RenderLayer::collectLayers): New param to specify whether we need to collect all layers.
* rendering/RenderLayer.h:
(WebCore::RenderLayer::hasVisibleDescendant): Add comment about the need for an assertion in hasVisibleContent()
, and assertion in hasVisibleDescendant().
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Call setContentsVisible() on the GraphicsLayer.
(WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer): We can use simple container layers in cases
where visibility:hidden causes layer content to not be drawn.
(WebCore::RenderLayerBacking::hasVisibleNonCompositingDescendants): Renamed from hasNonCompositingDescendants()
because it now also looks at visibility to decide when things are visible.
* rendering/RenderLayerBacking.h: hasNonCompositingDescendants() renamed to hasVisibleNonCompositingDescendants().
2011-10-22 Philippe Normand <pnormand@igalia.com>
[GTK] Build fixes for glib 2.31 (current master)
https://bugs.webkit.org/show_bug.cgi?id=70679
Reviewed by Martin Robinson.
g_cond_new and g_mutex_new have been replaced by _init
functions. Same for _free, replaced by _clear.
* platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
(webkit_video_sink_init):
(webkit_video_sink_dispose):
2011-10-28 Jochen Eisinger <jochen@chromium.org>
Rename a number of methods mentioning JavaScript to just Script instead
https://bugs.webkit.org/show_bug.cgi?id=71105
Reviewed by Adam Barth.
* WebCore.exp.in:
* bindings/ScriptControllerBase.cpp:
(WebCore::ScriptController::canExecuteScripts):
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::handleOutOfMemory):
* loader/FrameLoaderClient.h:
(WebCore::FrameLoaderClient::allowScript):
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::canRequest):
* page/Settings.cpp:
(WebCore::Settings::Settings):
(WebCore::Settings::setScriptEnabled):
* page/Settings.h:
(WebCore::Settings::isScriptEnabled):
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::dataChanged):
2011-10-28 Pavel Feldman <pfeldman@google.com>
Reset line numbers for scripts generated with document.write.
https://bugs.webkit.org/show_bug.cgi?id=71099
Reviewed by Yury Semikhatsky.
Test: http/tests/inspector-enabled/document-write.html
* dom/Document.h:
(WebCore::Document::isInDocumentWrite):
* dom/ScriptElement.cpp:
(WebCore::ScriptElement::prepareScript):
2011-10-28 Adam Roben <aroben@apple.com>
Mac build fix after r98711
* WebCore.xcodeproj/project.pbxproj: Mark ExceptionCodeDescription.h private so WebKit can
find it.
2011-10-28 Antti Koivisto <antti@apple.com>
[Chromium] css3/font-feature-settings-rendering.html has incorrect image result after r98542
https://bugs.webkit.org/show_bug.cgi?id=71019
Reviewed by Andreas Kling.
These properties need to be marked inherited too.
Note that the new test case doesn't fail even without the patch. If I understand correctly
the image test in the title is pretty much the only way to see this. However the
new test improves code coverage and protects against future regressions.
Test: fast/css/inherited-properties-rare-text.html
* css/CSSProperty.cpp:
(WebCore::CSSProperty::isInheritedProperty):
2011-10-28 Adam Barth <abarth@webkit.org>
Remove getExceptionCodeDescription()
https://bugs.webkit.org/show_bug.cgi?id=71103
Reviewed by Eric Seidel.
This function serves no purpose.
* bindings/js/JSDOMBinding.cpp:
(WebCore::setDOMException):
* bindings/objc/ExceptionHandlers.mm:
(WebCore::raiseDOMException):
* bindings/scripts/CodeGeneratorGObject.pm:
():
* bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
(webkit_dom_test_obj_method_that_requires_all_args_and_throws):
(webkit_dom_test_obj_method_with_exception):
(webkit_dom_test_obj_with_script_state_void_exception):
(webkit_dom_test_obj_with_script_state_obj_exception):
(webkit_dom_test_obj_get_attr_with_getter_exception):
(webkit_dom_test_obj_set_attr_with_getter_exception):
(webkit_dom_test_obj_set_attr_with_setter_exception):
(webkit_dom_test_obj_set_string_attr_with_getter_exception):
(webkit_dom_test_obj_set_string_attr_with_setter_exception):
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::setDOMException):
* dom/ExceptionCode.cpp:
* dom/ExceptionCode.h:
2011-10-19 Alexander Pavlov <apavlov@chromium.org>
Web Inspector: CSS background-image applied inline shows a warning, but still works.
https://bugs.webkit.org/show_bug.cgi?id=70325
Reviewed by Antti Koivisto.
This change eliminates the "non-parsed property" warning displayed next to any
"background-image" property of an element's inline style.
* css/CSSParser.cpp:
(WebCore::CSSParser::parseDeclaration):
* css/CSSParser.h:
* inspector/InspectorStyleSheet.cpp:
(WebCore::InspectorStyle::setPropertyText):
(WebCore::InspectorStyleSheetForInlineStyle::getStyleAttributeRanges):
2011-10-28 Adam Barth <abarth@webkit.org>
Attempt to fixenate Qt.
* CodeGenerators.pri:
* dom/make_event_factory.pl:
(toMacroStyle):
2011-10-28 Adam Barth <abarth@webkit.org>
ExceptionCode.cpp shouldn't need to know about every feature that throws exceptions
https://bugs.webkit.org/show_bug.cgi?id=70890
Reviewed by Eric Seidel.
Generate the feature-specific parts of ExceptionCode.cpp from a ".in"
file. This is an incremental step towards inlining
getExceptionCodeDescription into its callers and replacing the switch
statements at those locations with autogenerated code.
* CMakeLists.txt:
* CodeGenerators.pri:
* DerivedSources.make:
* GNUmakefile.am:
* GNUmakefile.list.am:
* WebCore.gyp/WebCore.gyp:
* WebCore.gyp/scripts/action_makenames.py:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSDOMBinding.cpp:
(WebCore::setDOMException):
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::setDOMException):
* dom/DOMCoreException.cpp:
(WebCore::DOMCoreException::initializeDescription):
* dom/ExceptionCode.cpp:
(WebCore::getExceptionCodeDescription):
* dom/ExceptionCode.h:
* dom/ExceptionCodeDescription.in: Added.
* dom/make_exception_code_description.pl: Added.
(defaultItemFactory):
(generateCode):
(generateHeader):
(generateImplementation):
2011-10-28 Yury Semikhatsky <yurys@chromium.org>
Web Inspector: CallStackSidebarPane should remove discarded Placards from RawSourceCode listeners list
https://bugs.webkit.org/show_bug.cgi?id=70996
Reviewed by Pavel Feldman.
Test: inspector/debugger/callstack-placards-discarded.html
* inspector/front-end/CallStackSidebarPane.js:
(WebInspector.CallStackSidebarPane.prototype.update):
* inspector/front-end/DebuggerPresentationModel.js:
(WebInspector.DebuggerPresentationModel.prototype.createPlacard):
(WebInspector.DebuggerPresentationModel.CallFramePlacard):
(WebInspector.DebuggerPresentationModel.CallFramePlacard.prototype.discard):
(WebInspector.DebuggerPresentationModel.CallFramePlacard.prototype._update):
* inspector/front-end/Placard.js:
(WebInspector.Placard.prototype.toggleSelected):
(WebInspector.Placard.prototype.discard):
2011-10-28 Jochen Eisinger <jochen@chromium.org>
Add allowScriptFromSource callback to FrameLoaderClient
https://bugs.webkit.org/show_bug.cgi?id=71013
Reviewed by Darin Fisher.
Test: platform/chromium/permissionclient/script-permissions.html
* loader/FrameLoaderClient.h:
(WebCore::FrameLoaderClient::allowScriptFromSource):
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::canRequest):
2011-10-27 Adam Barth <abarth@webkit.org>
Refactor make_event_factory.pl to use InFilesCompiler.pm
https://bugs.webkit.org/show_bug.cgi?id=71094
Reviewed by Eric Seidel.
This refactoring helps share code with
make_exception_code_descriptions.pl, which is coming in a future patch.
I have a dream of refactoring make_names.pl to use this module as well.
* CodeGenerators.pri:
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.gyp/scripts/action_makenames.py:
* bindings/scripts/InFilesCompiler.pm: Added.
(itemHandler):
(parameterHandler):
(new):
(compile):
(license):
* dom/make_event_factory.pl:
(defaultItemFactory):
(interfaceForEvent):
(generateCode):
(printFactoryFile):
(printMacroFile):
(printHeadersFile):
2011-10-26 Nat Duca <nduca@chromium.org>
[chromium] Implement frame rate control portions of CCScheduler
https://bugs.webkit.org/show_bug.cgi?id=70713
Reviewed by James Robinson.
* WebCore.gypi:
* platform/graphics/chromium/cc/CCDelayBasedTimeSource.cpp: Added.
(WebCore::CCDelayBasedTimeSource::setActive):
(WebCore::CCDelayBasedTimeSource::postTickTask):
(WebCore::CCDelayBasedTimeSource::onTick):
* platform/graphics/chromium/cc/CCDelayBasedTimeSource.h: Added.
(WebCore::CCDelayBasedTimeSource::CCDelayBasedTimeSource):
(WebCore::CCDelayBasedTimeSource::~CCDelayBasedTimeSource):
(WebCore::CCDelayBasedTimeSource::setClient):
(WebCore::CCDelayBasedTimeSource::monotonicallyIncreasingTime):
* platform/graphics/chromium/cc/CCFrameRateController.cpp: Added.
(WebCore::CCFrameRateControllerTimeSourceAdapter::create):
(WebCore::CCFrameRateControllerTimeSourceAdapter::~CCFrameRateControllerTimeSourceAdapter):
(WebCore::CCFrameRateControllerTimeSourceAdapter::onTimerTick):
(WebCore::CCFrameRateControllerTimeSourceAdapter::CCFrameRateControllerTimeSourceAdapter):
(WebCore::CCFrameRateController::CCFrameRateController):
(WebCore::CCFrameRateController::~CCFrameRateController):
(WebCore::CCFrameRateController::onTimerTick):
(WebCore::CCFrameRateController::didBeginFrame):
(WebCore::CCFrameRateController::didFinishFrame):
(WebCore::CCFrameRateController::didAbortAllPendingFrames):
* platform/graphics/chromium/cc/CCFrameRateController.h: Added.
(WebCore::CCFrameRateControllerClient::~CCFrameRateControllerClient):
(WebCore::CCFrameRateController::setClient):
(WebCore::CCFrameRateController::setActive):
* platform/graphics/chromium/cc/CCTimeSource.h: Added.
(WebCore::CCTimeSourceClient::~CCTimeSourceClient):
(WebCore::CCTimeSource::~CCTimeSource):
2011-10-27 Kentaro Hara <haraken@chromium.org>
Deprecate [V8ConstructorSetsActiveDOMWrapper] IDL
https://bugs.webkit.org/show_bug.cgi?id=71088
Reviewed by Adam Barth.
I introduced [V8ConstructorSetsActiveDOMWrapper] IDL in bug 66536,
but I found that it has the same meaning as [ActiveDOMObject] IDL.
This patch removes [V8ConstructorSetsActiveDOMWrapper] IDL.
No change in behavior.
Tests: fast/dom/global-constructors.html
fast/eventsource/eventsource-constructor.html
fast/eventsource/eventsource-attribute-listeners.html
fast/files/blob-slice-test.html
fast/files/file-reader-abort.html
ui_tests:WorkerTest.FLAKY_SharedWorkerFastConstructor
ui_tests:WorkerTest.FLAKY_SharedWorkerFastName
ui_tests:WorkerTest.FLAKY_WorkerConstructor
ui_tests:WorkerTest.FLAKY_WorkerEventListener
* bindings/scripts/CodeGeneratorV8.pm: Replaced "V8ConstructorSetsActiveDOMWrapper" with "ActiveDOMObject".
(GenerateConstructorCallback):
* bindings/scripts/test/TestInterface.idl: Ditto.
* bindings/scripts/test/JS/JSTestInterface.cpp: Updated a test result.
(WebCore::isObservable):
(WebCore::JSTestInterfaceOwner::isReachableFromOpaqueRoots):
(WebCore::JSTestInterfaceOwner::finalize):
* bindings/scripts/test/JS/JSTestInterface.h: Ditto.
(WebCore::wrapperOwner):
(WebCore::wrapperContext):
* bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: Ditto.
* bindings/scripts/test/JS/JSTestMediaQueryListListener.h: Ditto.
* bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
* bindings/scripts/test/JS/JSTestObj.h: Ditto.
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: Ditto.
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h: Ditto.
* bindings/scripts/test/V8/V8TestInterface.cpp: Ditto.
(WebCore::V8TestInterface::toActiveDOMObject):
(WebCore::V8TestInterface::wrapSlow):
* bindings/scripts/test/V8/V8TestInterface.h: Ditto.
(WebCore::V8TestInterface::existingWrapper):
* fileapi/FileReader.idl: Removed [V8ConstructorSetsActiveDOMWrapper] IDL.
* mediastream/PeerConnection.idl: Ditto.
* page/EventSource.idl: Ditto.
* workers/SharedWorker.idl: Ditto.
* workers/Worker.idl: Ditto.
2011-10-28 Yuta Kitamura <yutak@chromium.org>
Race condition in SocketStreamHandleCFNet when PAC script is used
https://bugs.webkit.org/show_bug.cgi?id=70894
Reviewed by Alexey Proskuryakov.
Pass callback functions that call ref() or deref() as retain/release member
of CFStreamClientContext.
No new tests, as it is not possible to write a test with PAC script enabled.
* platform/network/cf/SocketStreamHandle.h:
* platform/network/cf/SocketStreamHandleCFNet.cpp:
(WebCore::SocketStreamHandle::scheduleStreams):
(WebCore::SocketStreamHandle::retainSocketStreamHandle):
(WebCore::SocketStreamHandle::releaseSocketStreamHandle):
(WebCore::SocketStreamHandle::pacExecutionCallbackMainThread):
This callback may be called after platformClose() is already called. We should
not create new streams in this case.
(WebCore::SocketStreamHandle::executePACFileURL):
(WebCore::SocketStreamHandle::readStreamCallback):
This manual ref/deref can be safely removed as m_readStream holds the reference.
(WebCore::SocketStreamHandle::writeStreamCallback):
Ditto.
2011-10-27 Arthur Hsu <arthurhsu@chromium.org>
Reland patch ensure font load before calling Skia during printing
https://bugs.webkit.org/show_bug.cgi?id=70390
Reviewed by James Robinson.
* platform/graphics/chromium/FontChromiumWin.cpp:
(WebCore::Font::drawGlyphs):
* platform/graphics/skia/SkiaFontWin.cpp:
(WebCore::paintSkiaText):
2011-10-27 Adam Barth <abarth@webkit.org>
Attempt to fix the Qt build.
* WebCore.pro:
2011-10-27 Ryosuke Niwa <rniwa@webkit.org>
binding test rebaseline after r98679.
* bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::JSTestInterfaceConstructor::constructJSTestInterface):
* bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
(WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::setJSTestObjStringAttr):
(WebCore::setJSTestObjStringAttrWithGetterException):
(WebCore::setJSTestObjStringAttrWithSetterException):
(WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgs):
(WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
(WebCore::jsTestObjPrototypeFunctionSerializedValue):
(WebCore::jsTestObjPrototypeFunctionIdbKey):
(WebCore::jsTestObjPrototypeFunctionOptionsObject):
(WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
(WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndArg):
(WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg):
(WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture):
(WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod6):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod7):
(WebCore::jsTestObjPrototypeFunctionClassMethodWithOptional):
2011-10-27 Adam Barth <abarth@webkit.org>
Move type-specific exception descriptions into the implementation files for each type
https://bugs.webkit.org/show_bug.cgi?id=71081
Reviewed by Eric Seidel.
There's no reason to centralize this information. It belongs with each
exception type. This patch is in preparation for autogenerating the central file.
* WebCore.xcodeproj/project.pbxproj:
* dom/DOMCoreException.cpp: Added.
(WebCore::DOMCoreException::initializeDescription):
* dom/DOMCoreException.h:
* dom/EventException.cpp: Copied from Source/WebCore/xml/XMLHttpRequestException.h.
(WebCore::EventException::initializeDescription):
* dom/EventException.h:
* dom/ExceptionBase.h:
(WebCore::ExceptionBase::code):
(WebCore::ExceptionBase::name):
(WebCore::ExceptionBase::message):
(WebCore::ExceptionBase::description):
* dom/ExceptionCode.cpp:
(WebCore::getExceptionCodeDescription):
* dom/RangeException.cpp: Copied from Source/WebCore/xml/XPathException.h.
(WebCore::RangeException::initializeDescription):
* dom/RangeException.h:
* fileapi/FileException.cpp: Added.
(WebCore::FileException::initializeDescription):
* fileapi/FileException.h:
* fileapi/OperationNotAllowedException.cpp: Copied from Source/WebCore/xml/XMLHttpRequestException.h.
(WebCore::OperationNotAllowedException::initializeDescription):
* fileapi/OperationNotAllowedException.h:
* storage/IDBDatabaseException.cpp: Added.
(WebCore::IDBDatabaseException::initializeDescription):
* storage/IDBDatabaseException.h:
* storage/SQLException.cpp: Added.
(WebCore::SQLException::initializeDescription):
* storage/SQLException.h:
* svg/SVGException.cpp: Copied from Source/WebCore/dom/EventException.h.
(WebCore::SVGException::initializeDescription):
* svg/SVGException.h:
* xml/XMLHttpRequestException.cpp: Copied from Source/WebCore/xml/XMLHttpRequestException.h.
(WebCore::XMLHttpRequestException::initializeDescription):
* xml/XMLHttpRequestException.h:
* xml/XPathException.cpp: Copied from Source/WebCore/xml/XPathException.h.
(WebCore::XPathException::initializeDescription):
* xml/XPathException.h:
2011-10-27 Kentaro Hara <haraken@chromium.org>
Generate WebKitCSSMatrix constructor for JSC by [Constructor] IDL
https://bugs.webkit.org/show_bug.cgi?id=70215
Reviewed by Adam Barth.
This patch implements [Optional=CallWithNullValue] IDL for JSC.
While a parameter specified as [Optional=CallWithDefaultValue] is
handled as a string "undefined", a parameter specified as
[Optional=CallWithNullValue] is handled as a null string.
(Note: not a string "null", but a null string).
c.f. [Optional=CallWithNullValue] is implemented in V8 in bug 67458.
Tests: fast/dom/global-constructors.html
transforms/svg-vs-css.xhtml
transforms/cssmatrix-2d-interface.xhtml
transforms/cssmatrix-3d-interface.xhtml
* GNUmakefile.list.am: Removed JSWebKitCSSMatrixCustom.cpp.
* UseJSC.cmake: Ditto.
* WebCore.gypi: Ditto.
* WebCore.pro: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* bindings/js/JSBindingsAllInOne.cpp: Ditto.
* bindings/js/JSDOMBinding.h: MAYBE_MISSING_PARAMETER(exec, index, policy) returns the index-th parameter, if the parameter exists. It returns an undefined value, if the index-th parameter is missing and the policy is MissingIsUndefined. It returns an empty value, otherwise (i.e. if the index-th parameter is missing and the policy is MissingIsEmpty).
* bindings/js/JSWebKitCSSMatrixCustom.cpp: Removed.
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateParametersCheck): Supported [Optional=CallWithNullValue].
(GenerateConstructorDefinition): Supported [Optional=CallWithNullValue].
* css/WebKitCSSMatrix.idl: Removed [JSCustomConstructor].
2011-10-27 Julien Chaffraix <jchaffraix@webkit.org>
RenderTableCell m_row and m_column should not be signed values
https://bugs.webkit.org/show_bug.cgi?id=70369
Reviewed by Darin Adler.
No new tests, refactoring only.
The gist of the change is to update row / column handling in the table's
rendering code to use unsigned values. Not all the code is switched over
to unsigned but this is a good start.
Using unsigned makes a lot more sense that allowing some negative indexes
to creep in the algorithms. Also it enables us to "free" the unused signed
bit on the 2 RenderTableCell fields that can be used to pack 2 bits in a
follow-up patch.
* accessibility/AccessibilityTable.cpp:
(WebCore::AccessibilityTable::cellForColumnAndRow):
Removed 2 casts to int as the left side now computes to an unsigned too.
Added some ASSERT to make sure we don't get negative values (colSpan / rowSpan
are always >= 1 by definition but better to be safe).
* accessibility/AccessibilityTableColumn.cpp:
(WebCore::AccessibilityTableColumn::headerObjectForSection):
* accessibility/AccessibilityTableColumn.h:
Switched m_columnIndex to unsigned to remove any signed / unsigned comparisons.
* rendering/RenderTable.cpp:
(WebCore::RenderTable::splitColumn):
(WebCore::RenderTable::calcBorderEnd):
(WebCore::RenderTable::cellAbove):
(WebCore::RenderTable::cellBelow):
(WebCore::RenderTable::cellBefore):
(WebCore::RenderTable::cellAfter):
Mostly mechanical changes to avoid signed / unsigned comparisons or casts.
* rendering/RenderTable.h:
(WebCore::RenderTable::numEffCols):
(WebCore::RenderTable::colToEffCol):
Updated a couple of functions to use an unsigned.
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::RenderTableCell):
* rendering/RenderTableCell.h:
(WebCore::RenderTableCell::col):
(WebCore::RenderTableCell::setCol):
(WebCore::RenderTableCell::row):
(WebCore::RenderTableCell::setRow):
Updated after switching the fields to unsigned. Also added 2 constants
to cover the not-initialized-yet value for row and column indexes.
Note: we don't enforce that you can't reach those indexes but neither
did the previous code!
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::RenderTableSection):
(WebCore::RenderTableSection::addChild):
(WebCore::RenderTableSection::ensureRows):
(WebCore::RenderTableSection::setCellLogicalWidths):
(WebCore::RenderTableSection::calcRowLogicalHeight):
(WebCore::RenderTableSection::layoutRows):
(WebCore::RenderTableSection::calcOuterBorderStart):
(WebCore::RenderTableSection::calcOuterBorderEnd):
(WebCore::RenderTableSection::recalcCells):
(WebCore::RenderTableSection::clearGrid):
(WebCore::RenderTableSection::numColumns):
(WebCore::RenderTableSection::appendColumn):
(WebCore::RenderTableSection::splitColumn):
Lots of mechanical: signed -> unsigned changes. However we had
to change the logic a bit as it assumed that m_cRow started at
-1 and increased from there. The new meaning of m_cRow is the
number of rows seen and m_cRow - 1 is where to insert your new
cells.
(WebCore::RenderTableSection::addCell):
Checked the callers and all increase m_cRow before calling the function.
Added an ASSERT to catch up wrong usage in the future.
* rendering/RenderTableSection.h:
(WebCore::RenderTableSection::numRows): Switched to unsigned.
2011-10-27 Dan Bernstein <mitz@apple.com>
Assertion failure (m_text) in RenderText::RenderText() at icanhascheezburger.com
https://bugs.webkit.org/show_bug.cgi?id=71085
Reviewed by Jon Honeycutt.
Test: fast/css-generated-content/attr-missing.html
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty): If the element does not have the attribute specified
in the attr() function in the content property, set the content to the empty string, per
<http://www.w3.org/TR/CSS21/generate.html#content>.
2011-10-27 Helder Correia <helder.correia@palm.com>
[Qt] Failure to build when QT_NO_CURSOR defined
https://bugs.webkit.org/show_bug.cgi?id=71060
Reviewed by Noam Rosenthal.
PlatformVideoWindowQt needs to wrap some code around #ifndef
QT_NO_CURSOR in order to build QtWebKit when QT_NO_CURSOR is defined.
Build fix, no new tests.
* platform/graphics/gstreamer/PlatformVideoWindowQt.cpp:
(FullScreenVideoWindow::FullScreenVideoWindow):
(FullScreenVideoWindow::closeEvent):
(FullScreenVideoWindow::hideCursor):
(FullScreenVideoWindow::showCursor):
2011-10-27 Shawn Singh <shawnsingh@chromium.org>
[chromium] Track when CCLayerImpl properties have changed.
https://bugs.webkit.org/show_bug.cgi?id=70442
Reviewed by James Robinson.
To determine a good scissor rect, we must determine what
will change on the screen on the next redraw. This patch
tracks the necessary information on CCLayerImpl and marks
a flag indicating whether this layer will "damage" the screen.
The other portion of "change", the updateRect, was already
landed in https://bugs.webkit.org/show_bug.cgi?id=69441.
New unit test added to CCLayerImplTest to test this patch.
* platform/graphics/chromium/cc/CCLayerImpl.cpp:
(WebCore::CCLayerImpl::CCLayerImpl):
(WebCore::CCLayerImpl::scrollBy):
(WebCore::CCLayerImpl::noteLayerPropertyChangedForSubtree):
(WebCore::CCLayerImpl::noteLayerPropertyChangedForDescendants):
(WebCore::CCLayerImpl::setBounds):
(WebCore::CCLayerImpl::setMaskLayer):
(WebCore::CCLayerImpl::setReplicaLayer):
(WebCore::CCLayerImpl::setDrawsContent):
(WebCore::CCLayerImpl::setAnchorPoint):
(WebCore::CCLayerImpl::setAnchorPointZ):
(WebCore::CCLayerImpl::setMasksToBounds):
(WebCore::CCLayerImpl::setOpaque):
(WebCore::CCLayerImpl::setOpacity):
(WebCore::CCLayerImpl::setPosition):
(WebCore::CCLayerImpl::setPreserves3D):
(WebCore::CCLayerImpl::setSublayerTransform):
(WebCore::CCLayerImpl::setTransform):
(WebCore::CCLayerImpl::setDebugBorderColor):
(WebCore::CCLayerImpl::setDebugBorderWidth):
(WebCore::CCLayerImpl::setContentBounds):
(WebCore::CCLayerImpl::setScrollPosition):
(WebCore::CCLayerImpl::setScrollDelta):
(WebCore::CCLayerImpl::setDoubleSided):
* platform/graphics/chromium/cc/CCLayerImpl.h:
(WebCore::CCLayerImpl::layerPropertyChanged):
(WebCore::CCLayerImpl::resetLayerPropertyChanged):
2011-10-27 Anders Carlsson <andersca@apple.com>
Add a Plugin::geometryDidChange that will work with transforms
https://bugs.webkit.org/show_bug.cgi?id=71072
Reviewed by Simon Fraser.
Export symbols needed by WebKit2.
* WebCore.exp.in:
2011-10-27 Adam Barth <abarth@webkit.org>
Exception subtypes have incorrect namespace indentation
https://bugs.webkit.org/show_bug.cgi?id=71075
Reviewed by Eric Seidel.
This patch is in preparation for editing these headers. We decided to
not indent namespaces in headers and update the headers as we edited
them.
* dom/DOMCoreException.h:
(WebCore::DOMCoreException::create):
(WebCore::DOMCoreException::DOMCoreException):
* dom/EventException.h:
(WebCore::EventException::create):
(WebCore::EventException::EventException):
* dom/RangeException.h:
(WebCore::RangeException::create):
(WebCore::RangeException::RangeException):
* xml/XMLHttpRequestException.h:
(WebCore::XMLHttpRequestException::create):
(WebCore::XMLHttpRequestException::XMLHttpRequestException):
* xml/XPathException.h:
(WebCore::XPathException::create):
(WebCore::XPathException::XPathException):
2011-10-27 Kenneth Russell <kbr@google.com>
Implement new restrictions on uniform and attribute location lengths
https://bugs.webkit.org/show_bug.cgi?id=70981
Reviewed by Chris Marrin.
Tests: fast/canvas/webgl/attrib-location-length-limits.html
fast/canvas/webgl/uniform-location-length-limits.html
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::bindAttribLocation):
(WebCore::WebGLRenderingContext::getAttribLocation):
(WebCore::WebGLRenderingContext::getUniformLocation):
(WebCore::WebGLRenderingContext::validateLocationLength):
* html/canvas/WebGLRenderingContext.h:
2011-10-27 Rafael Weinstein <rafaelw@chromium.org>
[MutationObservers] Implement subtree observation of transiently disconnected nodes
https://bugs.webkit.org/show_bug.cgi?id=70788
Reviewed by Ryosuke Niwa.
This patch adds support for observing all descendant nodes reachable from a subtree
observation until delivery of mutations -- even if they become detached. We do this by
introducing a "transient registration" which can exist for a short time along side
normal registrations on Node. Transient registrations have a reference to the node
which "owns" the subtree observation registration (the "registrationNode"). Transient
registrations are cleared immediately before mutations are delivered to an observer,
or when the observer re-observes at the registrationNode, in-effect resetting the
observation.
New tests added to fast/mutation/observe-subtree.html.
* dom/CharacterData.cpp:
(WebCore::CharacterData::dispatchModifiedEvent):
* dom/ChildListMutationScope.cpp:
(WebCore::MutationAccumulationRouter::ChildListMutationAccumulator::ChildListMutationAccumulator):
(WebCore::MutationAccumulationRouter::ChildListMutationAccumulator::enqueueMutationRecord):
(WebCore::MutationAccumulationRouter::MutationAccumulationRouter::incrementScopingLevel):
* dom/ContainerNode.cpp:
(WebCore::dispatchChildRemovalEvents):
* dom/Element.cpp:
(WebCore::enqueueAttributesMutationRecord):
* dom/Node.cpp:
(WebCore::addMatchingObservers):
(WebCore::Node::getRegisteredMutationObserversOfType):
(WebCore::Node::registerMutationObserver):
(WebCore::Node::unregisterMutationObserver):
(WebCore::Node::notifySubtreeObserversOfDisconnection):
* dom/Node.h:
* dom/NodeRareData.h:
(WebCore::MutationObserverEntry::MutationObserverEntry):
(WebCore::MutationObserverEntry::operator==):
* dom/WebKitMutationObserver.cpp:
(WebCore::WebKitMutationObserver::observe):
(WebCore::unregisterTransientEntries):
(WebCore::WebKitMutationObserver::disconnect):
(WebCore::WebKitMutationObserver::observedNodeDestructed):
(WebCore::WebKitMutationObserver::observedSubtreeWillDisconnect):
(WebCore::WebKitMutationObserver::clearTransientEntries):
(WebCore::WebKitMutationObserver::deliver):
* dom/WebKitMutationObserver.h:
2011-10-27 Pratik Solanki <psolanki@apple.com>
Ask CG to not parse image metadata
https://bugs.webkit.org/show_bug.cgi?id=71029
Reviewed by Simon Fraser.
We don't need CG to parse the image metadata since WebCore never uses it. Passing this
option shaves off time spent under CGImageSourceCopyPropertiesAtIndex. Under Instruments I
saw the time drop from ~75ms to ~25ms when loading http://boston.com/bigpicture and the
first link on that page.
No new tests because no change in functionality.
* platform/graphics/ImageSource.h:
* platform/graphics/cg/ImageSourceCG.cpp:
(WebCore::imageSourceOptions):
(WebCore::ImageSource::isSizeAvailable):
(WebCore::ImageSource::frameSizeAtIndex):
(WebCore::ImageSource::getHotSpot):
(WebCore::ImageSource::repetitionCount):
(WebCore::ImageSource::createFrameAtIndex):
(WebCore::ImageSource::frameDurationAtIndex):
2011-10-27 David Grogan <dgrogan@chromium.org>
Move eventqueue from Document to ScriptExecutionContext so that it can be accessed from workers
https://bugs.webkit.org/show_bug.cgi?id=57789
Extract interface from EventQueue and create two new subclasses:
DocumentEventQueue and WorkerEventQueue. DocumentEventQueue is the
old EventQueue implementation that uses DOMTimer(0) to post async
events. WorkerEventQueue posts events to its thread's message loop.
Reviewed by David Levin.
No new tests - IndexedDB will use this but isn't ready yet. I don't
know of any other API available in workers that I can test this with.
* GNUmakefile.list.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.xcodeproj/project.pbxproj:
* dom/DOMAllInOne.cpp:
* dom/Document.cpp:
(WebCore::Document::Document):
* dom/Document.h:
(WebCore::Document::eventQueue):
* dom/DocumentEventQueue.cpp: Renamed from Source/WebCore/dom/EventQueue.cpp.
(WebCore::shouldDispatchScrollEventSynchronously):
(WebCore::DocumentEventQueueTimer::DocumentEventQueueTimer):
(WebCore::DocumentEventQueueTimer::fired):
(WebCore::DocumentEventQueue::create):
(WebCore::DocumentEventQueue::DocumentEventQueue):
(WebCore::DocumentEventQueue::~DocumentEventQueue):
(WebCore::DocumentEventQueue::enqueueEvent):
(WebCore::DocumentEventQueue::enqueueOrDispatchScrollEvent):
(WebCore::DocumentEventQueue::cancelEvent):
(WebCore::DocumentEventQueue::close):
(WebCore::DocumentEventQueue::pendingEventTimerFired):
(WebCore::DocumentEventQueue::dispatchEvent):
* dom/DocumentEventQueue.h: Copied from Source/WebCore/dom/EventQueue.h.
* dom/EventQueue.h:
* dom/ScriptExecutionContext.h:
* page/EventHandler.cpp: Change EventQueue to DocumentEventQueue.
(WebCore::EventHandler::sendScrollEvent): Change EventQueue to DocumentEventQueue.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::scrollTo): Change EventQueue to DocumentEventQueue.
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::scrollTo): Change EventQueue to DocumentEventQueue.
* storage/IDBDatabase.cpp:
* storage/IDBRequest.cpp:
* storage/IDBTransaction.cpp:
* workers/WorkerContext.cpp:
(WebCore::WorkerContext::eventQueue):
* workers/WorkerContext.h:
* workers/WorkerEventQueue.cpp: Added.
(WebCore::WorkerEventQueue::create):
(WebCore::WorkerEventQueue::WorkerEventQueue):
(WebCore::WorkerEventQueue::~WorkerEventQueue):
(WebCore::WorkerEventQueue::EventDispatcherTask::create):
(WebCore::WorkerEventQueue::EventDispatcherTask::dispatchEvent):
(WebCore::WorkerEventQueue::EventDispatcherTask::performTask):
(WebCore::WorkerEventQueue::EventDispatcherTask::cancel):
(WebCore::WorkerEventQueue::EventDispatcherTask::EventDispatcherTask):
(WebCore::WorkerEventQueue::removeEvent):
(WebCore::WorkerEventQueue::enqueueEvent):
(WebCore::WorkerEventQueue::cancelEvent):
(WebCore::WorkerEventQueue::close):
* workers/WorkerEventQueue.h: Copied from Source/WebCore/dom/EventQueue.h.
2011-10-27 Jonathon Jongsma <jonathon.jongsma@collabora.co.uk>
[GStreamer] Prevent memory leak when fullscreening a video
https://bugs.webkit.org/show_bug.cgi?id=71043
Reviewed by Gustavo Noronha Silva.
* platform/graphics/gstreamer/GStreamerGWorld.cpp:
(WebCore::GStreamerGWorld::GStreamerGWorld):
(WebCore::GStreamerGWorld::enterFullscreen):
(WebCore::GStreamerGWorld::exitFullscreen):
* platform/graphics/gstreamer/GStreamerGWorld.h:
2011-10-27 Joseph Pecoraro <pecoraro@apple.com>
Reviewed by David Kilzer.
Make FeatureDefines Identical Across OS X Projects
https://bugs.webkit.org/show_bug.cgi?id=71051
* Configurations/FeatureDefines.xcconfig:
2011-10-27 Joseph Pecoraro <pecoraro@apple.com>
Correctly Guard Exported REQUEST_ANIMATION_FRAME Symbols
https://bugs.webkit.org/show_bug.cgi?id=71047
Reviewed by David Kilzer.
* WebCore.exp.in:
2011-10-27 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r98626.
http://trac.webkit.org/changeset/98626
https://bugs.webkit.org/show_bug.cgi?id=71066
Does not compile on cr-win (Requested by jamesr_ on #webkit).
* platform/graphics/chromium/FontChromiumWin.cpp:
(WebCore::Font::drawGlyphs):
* platform/graphics/skia/SkiaFontWin.cpp:
(WebCore::paintSkiaText):
2011-10-27 Tony Chang <tony@chromium.org>
Fix a compiler warning caught by gcc 4.6.1. Need to return something.
* platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
(WebCore::CCSchedulerStateMachine::nextAction):
2011-10-27 Vsevolod Vlasov <vsevik@chromium.org>
Web Inspector: Advanced search style fixes.
https://bugs.webkit.org/show_bug.cgi?id=71036
Reviewed by Pavel Feldman.
* inspector/front-end/AdvancedSearchController.js:
(WebInspector.SearchView):
* inspector/front-end/Images/statusbarButtonGlyphs.png:
* inspector/front-end/inspector.css:
(.search-view .search-panel):
(.search-view .search-panel input[type="search"].search-config-search):
(.search-view .search-panel input[type="checkbox"].search-config-checkbox):
(body:not(.platform-mac) .search-view .search-panel input[type="checkbox"].search-config-checkbox):
(body.platform-mac .search-view .search-panel input[type="checkbox"].search-config-checkbox):
(#drawer-status-bar .search-status-bar-progress):
(body:not(.platform-mac) #drawer-status-bar .search-status-bar-progress):
(body.platform-mac #drawer-status-bar .search-status-bar-progress):
2011-10-27 David Hyatt <hyatt@apple.com>
https://bugs.webkit.org/show_bug.cgi?id=71061
[CSS Line Grid] Add support for parsing the line-grid property.
New tests in fast/line-grid.
Reviewed by Dan Bernstein.
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
* css/CSSProperty.cpp:
(WebCore::CSSProperty::isInheritedProperty):
* css/CSSPropertyNames.in:
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
* rendering/style/RenderStyle.h:
(WebCore::InheritedFlags::lineGrid):
(WebCore::InheritedFlags::setLineGrid):
(WebCore::InheritedFlags::initialLineGrid):
* rendering/style/StyleRareInheritedData.cpp:
(WebCore::StyleRareInheritedData::StyleRareInheritedData):
(WebCore::StyleRareInheritedData::operator==):
* rendering/style/StyleRareInheritedData.h:
2011-10-27 Fady Samuel <fsamuel@chromium.org>
iframes seem to occasionally doubly scale or scale incorrectly when pageScaleFactor != 1.0
https://bugs.webkit.org/show_bug.cgi?id=70552
Reviewed by Simon Fraser.
Test: fast/frames/iframe-double-scale-contents.html
The iframe's document style was using the page's scale factor, rather than the frame's (1.0).
If the page scale factor was set after layout was complete, then this would have no impact because the iframe's document style and layout is not recomputed,
but if the page scale factor is set prior to creating and laying out the iframe, the iframe's content would be doubly scaled.
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::styleForDocument):
2011-10-27 Nat Duca <nduca@chromium.org>
Unreviewed, fix CCSchedulerStateMachine build errors.
* platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
* platform/graphics/chromium/cc/CCSchedulerStateMachine.h:
2011-10-27 Tony Chang <tony@chromium.org>
fix sizing of auto sized flexbox
https://bugs.webkit.org/show_bug.cgi?id=70839
Reviewed by David Hyatt.
Correctly set the height of the flexbox when we have a column flow
and the height is auto.
Tests: css3/flexbox/columns-auto-size.html
css3/flexbox/flex-flow-margins-auto-size.html
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::layoutBlock): Always computeLogicalHeight() after we're done placing children.
(WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection): Set the height as we place children.
2011-10-25 Vangelis Kokkevis <vangelis@chromium.org>
Add support for creating compositing layers for fixed position elements.
https://bugs.webkit.org/show_bug.cgi?id=69796
position:fixed elements will get a compositing layer if:
1. Settings:acceleratedCompositingForFixedPositionEnabled() returns true,
2. The element has its own stacking context (e.g. has a z-index), and
3. The element's container is the RenderView (e.g. not a descendant of a transformed element)
Reviewed by Simon Fraser.
Test: compositing/geometry/fixed-position-composited-switch.html
* page/Settings.cpp:
(WebCore::Settings::Settings):
* page/Settings.h:
(WebCore::Settings::setAcceleratedCompositingForFixedPositionEnabled):
(WebCore::Settings::acceleratedCompositingForFixedPositionEnabled):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::RenderLayerCompositor):
(WebCore::RenderLayerCompositor::updateCompositingLayers):
(WebCore::RenderLayerCompositor::requiresCompositingLayer):
(WebCore::RenderLayerCompositor::requiresCompositingForPosition):
* rendering/RenderLayerCompositor.h:
* testing/Internals.cpp:
(WebCore::Internals::setEnableCompositingForFixedPosition):
* testing/Internals.h:
* testing/Internals.idl:
2011-10-27 Arthur Hsu <arthurhsu@chromium.org>
https://bugs.webkit.org/show_bug.cgi?id=70390
Ensure font load for Skia backend during printing.
Reviewed by James Robinson.
* platform/graphics/chromium/FontChromiumWin.cpp:
(WebCore::Font::drawGlyphs):
* platform/graphics/skia/SkiaFontWin.cpp:
(WebCore::paintSkiaText):
2011-10-27 Michael Saboff <msaboff@apple.com>
Investigate storing strings in 8-bit buffers when possible
https://bugs.webkit.org/show_bug.cgi?id=66161
Changes to support 8 bit StringImpl changes.
Reviewed by Geoffrey Garen.
No new tests, refactored StringImpl for 8 bit strings.
* platform/text/cf/StringImplCF.cpp:
(WTF::StringImpl::createCFString):
2011-10-27 Nat Duca <nduca@chromium.org>
[chromium] Encapsulate state machine parts of scheduling in CCSchedulerStateMachine
https://bugs.webkit.org/show_bug.cgi?id=70714
Reland of ill-fated r98612.
Reviewed by James Robinson.
* WebCore.gypi:
* platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp: Added.
(WebCore::CCSchedulerStateMachine::nextAction):
(WebCore::CCSchedulerStateMachine::updateState):
* platform/graphics/chromium/cc/CCSchedulerStateMachine.h: Added.
(WebCore::CCSchedulerStateMachine::CCSchedulerStateMachine):
(WebCore::CCSchedulerStateMachine::operator=):
(WebCore::CCSchedulerStateMachine::commitPending):
(WebCore::CCSchedulerStateMachine::setNeedsRedraw):
(WebCore::CCSchedulerStateMachine::setNeedsCommit):
(WebCore::CCSchedulerStateMachine::beginFrameComplete):
(WebCore::CCSchedulerStateMachine::updateResourcesComplete):
2011-10-27 Pavel Podivilov <podivilov@chromium.org>
Get rid of optional parameters in the middle in IDLs.
https://bugs.webkit.org/show_bug.cgi?id=70816
Reviewed by Adam Barth.
Optional parameters in the middle are prohibited by WebIDL spec.
* bindings/js/JSCanvasRenderingContext2DCustom.cpp:
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
(GenerateImplementation):
* bindings/scripts/CodeGeneratorV8.pm:
(GenerateHeader):
(GenerateArgumentsCountCheck):
(GenerateImplementation):
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
* bindings/scripts/test/TestObj.idl:
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::TestObjInternal::methodWithNonOptionalArgAndTwoOptionalArgsCallback):
* html/canvas/CanvasRenderingContext2D.idl:
* page/DOMWindow.idl:
2011-10-27 Antti Koivisto <antti@apple.com>
REGRESSION(r98542): tables/mozilla_expected_failures/bugs/bug14007-2.html
https://bugs.webkit.org/show_bug.cgi?id=71032
Reviewed by Dave Hyatt.
If we apply an explicitly inherited property, we need to apply any further
non-inherited properties as the property might get overridden again.
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::styleForKeyframe):
(WebCore::CSSStyleSelector::styleForPage):
(WebCore::CSSStyleSelector::applyDeclaration):
(WebCore::CSSStyleSelector::applyDeclarations):
* css/CSSStyleSelector.h:
2011-10-27 Julien Chaffraix <jchaffraix@webkit.org>
Remove RenderTableSection::m_gridRows
https://bugs.webkit.org/show_bug.cgi?id=70570
Reviewed by Darin Adler.
No new test, refactoring only.
Just nuke the old field that was duplicating
m_grid.size().
* rendering/RenderTableSection.h:
(WebCore::RenderTableSection::numRows):
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::RenderTableSection):
(WebCore::RenderTableSection::ensureRows):
(WebCore::RenderTableSection::setCellLogicalWidths):
(WebCore::RenderTableSection::calcRowLogicalHeight):
(WebCore::RenderTableSection::layoutRows):
(WebCore::RenderTableSection::calcOuterBorderBefore):
(WebCore::RenderTableSection::calcOuterBorderAfter):
(WebCore::RenderTableSection::calcOuterBorderStart):
(WebCore::RenderTableSection::calcOuterBorderEnd):
(WebCore::RenderTableSection::firstLineBoxBaseline):
(WebCore::RenderTableSection::paint):
(WebCore::RenderTableSection::paintObject):
(WebCore::RenderTableSection::clearGrid):
(WebCore::RenderTableSection::numColumns):
(WebCore::RenderTableSection::appendColumn):
(WebCore::RenderTableSection::splitColumn):
s/m_gridRows/m_grid.size()/.
Also updated the code as m_grid.size() is unsigned.
(WebCore::RenderTableSection::recalcCells):
The old code would keep the grid's memory but we have to clear it to properly
count the elements. To avoid lots of small reallocations, we reallocate the
buffer at the old capacity upfront.
2011-10-27 Nat Duca <nduca@chromium.org>
Unreviewed, rolling out r98612.
http://trac.webkit.org/changeset/98612
https://bugs.webkit.org/show_bug.cgi?id=70714
Broke build
* WebCore.gypi:
* platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp: Removed.
* platform/graphics/chromium/cc/CCSchedulerStateMachine.h: Removed.
2011-10-24 Nat Duca <nduca@chromium.org>
[chromium] Encapsulate state machine parts of scheduling in CCSchedulerStateMachine
https://bugs.webkit.org/show_bug.cgi?id=70714
Reviewed by James Robinson.
* WebCore.gypi:
* platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp: Added.
(WebCore::CCSchedulerStateMachine::nextAction):
(WebCore::CCSchedulerStateMachine::updateState):
* platform/graphics/chromium/cc/CCSchedulerStateMachine.h: Added.
(WebCore::CCSchedulerStateMachine::CCSchedulerStateMachine):
(WebCore::CCSchedulerStateMachine::operator=):
(WebCore::CCSchedulerStateMachine::commitPending):
(WebCore::CCSchedulerStateMachine::setNeedsRedraw):
(WebCore::CCSchedulerStateMachine::setNeedsCommit):
(WebCore::CCSchedulerStateMachine::beginFrameComplete):
(WebCore::CCSchedulerStateMachine::updateResourcesComplete):
2011-10-27 Dan Bernstein <mitz@apple.com>
<rdar://problem/10262205> Allow column progression to be independent of writing mode
https://bugs.webkit.org/show_bug.cgi?id=71028
Reviewed by Darin Adler.
Tests: fast/multicol/block-axis-horizontal-bt.html
fast/multicol/block-axis-horizontal-tb.html
fast/multicol/block-axis-vertical-lr.html
fast/multicol/block-axis-vertical-rl.html
fast/multicol/flipped-blocks-hit-test.html
Allow “columns” to be stacked along the block axis rather than the inline axis. This can facilitate
paginated interfaces. A column-axis property is added in order to enable this mode.
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Handle the column-axis property.
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue): Ditto.
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Map ColumnAxis values to identifiers.
(WebCore::CSSPrimitiveValue::operator ColumnAxis): Map identifiers to ColumnAxis values.
* css/CSSProperty.cpp:
(WebCore::CSSProperty::isInheritedProperty): Updated to return false for the column-axis property.
* css/CSSPropertyNames.in: Added -webkit-column-axis.
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty): Handle column-axis.
* rendering/ColumnInfo.h:
(WebCore::ColumnInfo::ColumnInfo): Added m_progressionAxis to the initialization list.
(WebCore::ColumnInfo::progressionAxis): Added this getter.
(WebCore::ColumnInfo::setProgressionAxis): Added this setter.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::addOverflowFromChildren): Simplified, and thus also made this function work
with block-axis column progression.
(WebCore::RenderBlock::paintColumnRules): Added code to paint rules between columns with block-axis
progression.
(WebCore::RenderBlock::paintColumnContents): Adjusted the painting offset for the block-axis
column progression case.
(WebCore::RenderBlock::nodeAtPoint): Fixed hit-testing in flipped-blocks writing modes. This is
covered by flipped-blocks-hit-test.html.
(WebCore::RenderBlock::hitTestColumns): Adjusted the offset for the block-axis column progression
case.
(WebCore::RenderBlock::calcColumnWidth): Set the column width to the content logical width in
the block-axis column progression case. The column-width and column-count properties are ignored.
(WebCore::RenderBlock::setDesiredColumnCountAndWidth): Set the column progression axis based on
the style.
(WebCore::RenderBlock::columnCount): Broke up an assertion into two.
(WebCore::RenderBlock::columnRectAt): Updated for block-axis column progression.
(WebCore::RenderBlock::adjustPointToColumnContents): Ditto.
(WebCore::RenderBlock::adjustRectForColumns): Ditto.
(WebCore::RenderBlock::adjustForColumns): Ditto.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintChildLayerIntoColumns): Adjusted the offser for the block-axis column
progression case.
(WebCore::RenderLayer::hitTestChildLayerColumns): Ditto.
* rendering/style/RenderStyle.h:
(WebCore::InheritedFlags::columnAxis): Added this getter.
(WebCore::InheritedFlags::hasInlineColumnAxis): Added. Checks the column axis against the writing
mode.
(WebCore::InheritedFlags::specifiesColumns): Changed to return true if the specified column axis
is the block axis.
(WebCore::InheritedFlags::setColumnAxis): Added this setter.
(WebCore::InheritedFlags::initialColumnAxis): Added. Returns AutoColumnAxis.
* rendering/style/RenderStyleConstants.h: Added a ColumnAxis enum.
* rendering/style/StyleMultiColData.cpp:
(WebCore::StyleMultiColData::StyleMultiColData): Added m_axis to the initialization list.
(WebCore::StyleMultiColData::operator==): Compare m_axis.
* rendering/style/StyleMultiColData.h: Added m_axis member variable.
2011-10-27 Mihnea Ovidenie <mihnea@adobe.com>
[CSSRegions]Flag regions with custom styling
https://bugs.webkit.org/show_bug.cgi?id=70733
Reviewed by David Hyatt.
Region elements that have custom region styling are now marked accordingly.
Test: fast/regions/render-region-custom-style-mark.html
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::checkRegionStyle):
* css/CSSStyleSelector.h:
* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::RenderRegion):
(WebCore::RenderRegion::styleDidChange):
* rendering/RenderRegion.h:
(WebCore::RenderRegion::hasCustomRegionStyle):
(WebCore::RenderRegion::setHasCustomRegionStyle):
* rendering/RenderTreeAsText.cpp:
(WebCore::writeRenderFlowThreads):
2011-10-27 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r98556.
http://trac.webkit.org/changeset/98556
https://bugs.webkit.org/show_bug.cgi?id=71031
The test added by the patch doesn't pass on Snow Leopard
(Requested by rniwa on #webkit).
* editing/TextCheckingHelper.cpp:
(WebCore::checkTextOfParagraph):
* testing/Internals.cpp:
* testing/Internals.h:
* testing/Internals.idl:
2011-10-27 Mike Reed <reed@google.com>
[skia] replace offscreen technique with native support for antialiased clipping
https://bugs.webkit.org/show_bug.cgi?id=70748
Reviewed by Stephen White.
~100 layout tests need to be rebaselined, as the native aa-clipping differs sometimes in the low
bits of the result. Other than that, the results should be the same, except that now the drawing
can go directly to the canvas, rather than being direct offscreen and then have that result
"clipped" during the restore. This has the effect of allowing LCD text to be drawing inside a
antialiased clip area.
* platform/graphics/skia/PlatformContextSkia.cpp:
(WebCore::PlatformContextSkia::State::State):
(WebCore::PlatformContextSkia::State::cloneInheritedProperties):
(WebCore::PlatformContextSkia::clipPathAntiAliased):
(WebCore::PlatformContextSkia::restore):
* platform/graphics/skia/PlatformContextSkia.h:
2011-10-27 Tony Chang <tony@chromium.org>
use main/cross instead of logical width/height when talking about flow direction
https://bugs.webkit.org/show_bug.cgi?id=70977
Reviewed by Ojan Vafai.
Flexbox code uses logical in function names to refer to the flow
direction. This is confusing because writing mode also uses logical,
but this is a diffent usage. To avoid confusion, be explicit about
main vs cross axis. Extent is used instead of width/height.
No new tests, just a refactoring.
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::mainAxisLengthForChild):
(WebCore::RenderFlexibleBox::crossAxisLength):
(WebCore::RenderFlexibleBox::setCrossExtent):
(WebCore::RenderFlexibleBox::crossExtentForChild):
(WebCore::RenderFlexibleBox::mainExtentForChild):
(WebCore::RenderFlexibleBox::crossAxisExtent):
(WebCore::RenderFlexibleBox::mainAxisExtent):
(WebCore::RenderFlexibleBox::crossAxisContentExtent):
(WebCore::RenderFlexibleBox::mainAxisContentExtent):
(WebCore::RenderFlexibleBox::crossAxisBorderAndPaddingExtent):
(WebCore::RenderFlexibleBox::crossAxisMarginExtentForChild):
(WebCore::RenderFlexibleBox::flowAwareLocationForChild):
(WebCore::RenderFlexibleBox::setFlowAwareLocationForChild):
(WebCore::RenderFlexibleBox::mainAxisBorderAndPaddingExtentForChild):
(WebCore::RenderFlexibleBox::mainAxisScrollbarExtentForChild):
(WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForFlexItem):
(WebCore::RenderFlexibleBox::layoutInlineDirection):
(WebCore::RenderFlexibleBox::positiveFlexForChild): Since flex only
matters in the main axis, there's no reason to deambiguate it here.
(WebCore::RenderFlexibleBox::negativeFlexForChild): Ditto.
(WebCore::RenderFlexibleBox::availableAlignmentSpaceForChild): Alignment is always
in the cross axis direction, so don't include that in the method name.
(WebCore::RenderFlexibleBox::marginBoxAscent):
(WebCore::RenderFlexibleBox::computePreferredMainAxisExtent):
(WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithmInlineDirection):
(WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection):
(WebCore::RenderFlexibleBox::adjustAlignmentForChild): Alignment is always
in the cross axis direction, so don't include that in the method name.
(WebCore::RenderFlexibleBox::alignChildrenBlockDirection):
* rendering/RenderFlexibleBox.h:
2011-10-27 Mark Hahnenberg <mhahnenberg@apple.com>
De-virtualize JSCell::toThisObject
https://bugs.webkit.org/show_bug.cgi?id=70958
Reviewed by Geoffrey Garen.
No new tests.
Converted all instances of toThisObject to static functions,
added toThisObject to the MethodTable, and replaced all call sites
with a corresponding lookup in the MethodTable.
* bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::toThisObject):
* bindings/js/JSDOMWindowBase.h:
* bindings/js/JSErrorHandler.cpp:
(WebCore::JSErrorHandler::handleEvent):
* bridge/NP_jsobject.cpp:
(_NPN_Invoke):
* bridge/qt/qt_runtime.cpp:
(JSC::Bindings::QtRuntimeConnectionMethod::call):
2011-10-27 Adam Roben <aroben@apple.com>
Windows build fix after r98512
* html/HTMLMediaElement.cpp: Moved a Web Audio-related #include inside an appropriate ENABLE
guard.
2011-10-27 Adam Roben <aroben@apple.com>
Regenerate WebCore's Localizable.strings file
All I did was run update-webkit-localizable-strings. A few localizer comments changed, and
some strings (which must have been hand-added) got moved to a different part of the file.
* English.lproj/Localizable.strings:
2011-10-27 Daniel Cheng <dcheng@chromium.org>
Clean up MicroDataItemValue to use const String& instead of String
https://bugs.webkit.org/show_bug.cgi?id=70978
Reviewed by Tony Chang.
* html/MicroDataItemValue.cpp:
(WebCore::MicroDataItemValue::MicroDataItemValue):
* html/MicroDataItemValue.h:
2011-10-27 Antti Koivisto <antti@apple.com>
Use StringHasher to generate the matched declaration cache hash
https://bugs.webkit.org/show_bug.cgi?id=71012
Reviewed by Kenneth Rohde Christiansen and Andreas Kling.
It is faster and better than the current custom function.
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::computeDeclarationHash):
2011-10-27 Kentaro Hara <haraken@chromium.org>
Refactor OptionsObject.cpp
https://bugs.webkit.org/show_bug.cgi?id=70572
Reviewed by Adam Barth.
For example, OptionsObject::getKeyBool() is an alias of
OptionsObject::getKeyValue(const String& key, bool& value).
We should remove OptionsObject::getKeyXXXX() (XXXX is some specific type)
and unify them into OptionsObject::get(const String& key, XXXX& value).
c.f. Corresponding JSC methods are unified into
JSDictionary::convertValue(JSC::ExecState*, JSC::JSValue, XXXX&).
The result of git diff is weird, but this patch is making just the following changes:
- Replaced getKeyBool(), getKeyInt32(), getKeyDouble() and getKeyString() with get().
- Renamed getKeyStringWithUndefinedOrNullCheck() to getWithUndefinedOrNullCheck().
- Removed getKeyDOMStringList() and getKeyKeyRange(), since these are not used.
- Move definitions of get() from .h to .cpp.
No new tests. No change in behavior.
* bindings/v8/OptionsObject.cpp:
(WebCore::OptionsObject::get): Renamed from getKeyValue().
(WebCore::OptionsObject::getKey): No change to this method. git diff seems to misunderstand as if it is modified.
(WebCore::OptionsObject::getKeyDOMStringList): Removed, since no one is using it.
(WebCore::OptionsObject::getKeyKeyRange): Ditto.
(WebCore::OptionsObject::getWithUndefinedOrNullCheck): No change to this method. git diff seems to misunderstand as if it is modified.
* bindings/v8/OptionsObject.h: Moved definitions of get() to OptionsObject.cpp
* bindings/v8/custom/V8EventConstructors.cpp:
* bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:
(WebCore::V8WebKitMutationObserver::observeCallback): Replaced getKeyXXXX() to get();
* storage/IDBDatabase.cpp:
(WebCore::IDBDatabase::createObjectStore): Ditto.
* storage/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::createIndex): Ditto.
2011-10-27 Andreas Kling <kling@webkit.org>
StyleSheet.parentStyleSheet does not work.
https://bugs.webkit.org/show_bug.cgi?id=70956
Reviewed by Antti Koivisto.
Since StyleSheet is only ever parented by a CSSRule, we need
to go through that rule when resolving the StyleSheet's parent.
Test: fast/css/stylesheet-parentStyleSheet.html
* css/StyleSheet.cpp:
(WebCore::StyleSheet::parentStyleSheet):
2011-10-27 Antoine Labour <piman@chromium.org>
Disable blending when drawing opaque layers
https://bugs.webkit.org/show_bug.cgi?id=70085
Reviewed by James Robinson.
Covered by compositing/ tests, as well as a new unit test:
CCLayerTreeHostImplTest.blendingOffWhenDrawingOpaqueLayers
* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::LayerChromium):
(WebCore::LayerChromium::pushPropertiesTo):
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::drawLayer):
* platform/graphics/chromium/cc/CCLayerImpl.cpp:
(WebCore::CCLayerImpl::CCLayerImpl):
* platform/graphics/chromium/cc/CCLayerImpl.h:
(WebCore::CCLayerImpl::setOpaque):
(WebCore::CCLayerImpl::opaque):
2011-10-27 Joshua Bell <jsbell@chromium.org>
IndexedDB: Passing empty array to IDBDatabase.transaction should raise exception
https://bugs.webkit.org/show_bug.cgi?id=70251
Reviewed by Adam Barth.
IDBDatabase.transaction() supported being called with an empty array to
lock all object stores. Support for this was rejected from inclusion in
the IDB spec due to performance concerns. This patch removes that
functionality.
A special case in the spec (passing a string instead of an array) worked
in WebKit accidentally, by resolving the string to an empty array. This
needed explicit support. Support for DOMString[] is added to the binding
code generators (reliant on DOMStringList) to ensure JS arrays are not
coerced to DOMStrings. This matches the proposed IDL.
* bindings/scripts/CodeGeneratorV8.pm:
(GenerateParametersCheckExpression):
(GetNativeType):
(JSValueToNative):
(IsArrayType):
* bindings/scripts/IDLStructure.pm:
* storage/IDBDatabase.cpp:
(WebCore::IDBDatabase::transaction):
* storage/IDBDatabase.h:
(WebCore::IDBDatabase::transaction):
* storage/IDBDatabase.idl:
* storage/IDBTransactionBackendImpl.cpp:
(WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
(WebCore::IDBTransactionBackendImpl::objectStore):
2011-10-27 Ken Buchanan <kenrb@chromium.org>
Crash due to nested first-letter selectors
https://bugs.webkit.org/show_bug.cgi?id=70457
Now only the lowest-level first-letter pseudostyle will be applied to
a given piece of text. Previously the last renderer to have layout
done would have its pseudostyle applied, no matter where it was in the
tree.
Reviewed by David Hyatt.
* renderer/RenderBlock.cpp:
(WebCore::RenderBlock::updateFirstLetter): Use the pseudostyle from
the lowest level node to have one
2011-10-27 Andras Becsi <andras.becsi@nokia.com>
Fix the build if NO_LISTBOX_RENDERING is enabled
https://bugs.webkit.org/show_bug.cgi?id=71009
Reviewed by Kenneth Rohde Christiansen.
If NO_LISTBOX_RENDERING is enabled RenderMenuList::listBoxSelectItem uses the
HTMLSelectElement::listBoxSelectItem function which was accidentally removed in r97533.
Reintroduce HTMLSelectElement::listBoxSelectItem with a NO_LISTBOX_RENDERING guard to unbreak this setup.
This is covered by:
Source/WebCore/manual-tests/no-listbox-rendering.html
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::listBoxSelectItem): Reintroduce.
* html/HTMLSelectElement.h:
2011-10-27 Shinya Kawanaka <shinyak@google.com>
Implement legacy text check emulation in unified text check interface.
https://bugs.webkit.org/show_bug.cgi?id=70299
Reviewed by Hajime Morita.
When UNIFIED_TEXT_CHECKING is off, WebCore::checkTextOfParagraph() emulates
TextCheckerClient::checkTextOfParagraph() using checkSpellingOfString and checkGrammarOfString.
This emulation can be used by setting the flag on.
This can be done by WebCore::Internals::setUnifiedTextCheckingEnabled.
Test: editing/spelling/spelling-unified-emulation.html
* editing/TextCheckingHelper.cpp:
(WebCore::findBadGrammars): Added.
(WebCore::findMisspellings): Added.
(WebCore::checkTextOfParagraph):
Emulates TextCheckerClients::checkTextOfParagraph if UNIFIED_TEXT_CHECKING is off.
* testing/Internals.cpp:
(WebCore::Internals::setUnifiedTextCheckingEnabled): flag setter.
(WebCore::Internals::unifiedTextCheckingEnabled): flag getter.
* testing/Internals.h:
* testing/Internals.idl:
2011-10-27 Philippe Normand <pnormand@igalia.com>
Unreviewed, remove those un-needed files committed by error in
r98554.
* platform/audio/gstreamer/#AudioFileReaderGStreamer.h#: Removed.
* platform/audio/gstreamer/.#AudioFileReaderGStreamer.h: Removed.
2011-10-27 Philippe Normand <pnormand@igalia.com> and Zan Dobersek <zandobersek@gmail.com>
[GStreamer] WebAudio AudioFileReader implementation
https://bugs.webkit.org/show_bug.cgi?id=69834
Reviewed by Martin Robinson.
Basic FileReader implementation, supporting one or 2 audio
channels. An empty AudioDestination is also provided, its complete
implementation is handled in bug 69835.
* GNUmakefile.am:
* GNUmakefile.list.am:
* platform/audio/gstreamer/AudioDestinationGStreamer.cpp: Added.
(WebCore::AudioDestination::create):
(WebCore::AudioDestination::hardwareSampleRate):
(WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer):
(WebCore::AudioDestinationGStreamer::~AudioDestinationGStreamer):
(WebCore::AudioDestinationGStreamer::start):
(WebCore::AudioDestinationGStreamer::stop):
* platform/audio/gstreamer/AudioDestinationGStreamer.h: Added.
(WebCore::AudioDestinationGStreamer::isPlaying):
(WebCore::AudioDestinationGStreamer::sampleRate):
(WebCore::AudioDestinationGStreamer::sourceProvider):
* platform/audio/gstreamer/AudioFileReaderGStreamer.cpp: Added.
(WebCore::getGStreamerAudioCaps):
(WebCore::getFloatFromByteReader):
(WebCore::copyGstreamerBuffersToAudioChannel):
(WebCore::onAppsinkNewBufferCallback):
(WebCore::messageCallback):
(WebCore::onGStreamerDeinterleavePadAddedCallback):
(WebCore::onGStreamerDeinterleaveReadyCallback):
(WebCore::onGStreamerDecodebinPadAddedCallback):
(WebCore::AudioFileReader::AudioFileReader):
(WebCore::AudioFileReader::~AudioFileReader):
(WebCore::AudioFileReader::handleBuffer):
(WebCore::AudioFileReader::handleMessage):
(WebCore::AudioFileReader::handleNewDeinterleavePad):
(WebCore::AudioFileReader::deinterleavePadsConfigured):
(WebCore::AudioFileReader::plugDeinterleave):
(WebCore::AudioFileReader::createBus):
(WebCore::createBusFromAudioFile):
(WebCore::createBusFromInMemoryAudioFile):
* platform/audio/gtk/AudioBusGtk.cpp: Added.
(WebCore::AudioBus::loadPlatformResource):
2011-10-27 Philippe Normand <pnormand@igalia.com>
Unreviewed, rebaseline of the bindings tests after r98501 which
removed getOwnPropertySlotVirtual.
* bindings/scripts/test/JS/JSTestInterface.cpp:
* bindings/scripts/test/JS/JSTestInterface.h:
* bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
* bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
* bindings/scripts/test/JS/JSTestObj.cpp:
* bindings/scripts/test/JS/JSTestObj.h:
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
2011-10-27 Ilya Tikhonovsky <loislo@chromium.org>
WebInspector: View throughs the exception when a child view are removed by removeChildren call.
https://bugs.webkit.org/show_bug.cgi?id=71002
Another followup fix after r98225.
Reviewed by Pavel Feldman.
* inspector/front-end/DatabaseTableView.js:
(WebInspector.DatabaseTableView.prototype._queryFinished):
(WebInspector.DatabaseTableView.prototype._queryError):
2011-10-27 Vsevolod Vlasov <vsevik@chromium.org>
Web Inspector: Execution line in selected call frame should keep showing after toggling format source.
https://bugs.webkit.org/show_bug.cgi?id=70906
Reviewed by Yury Semikhatsky.
Test: inspector/debugger/selected-call-frame-after-formatting-source.html
* inspector/front-end/DebuggerPresentationModel.js:
(WebInspector.DebuggerPresentationModel.prototype.setFormatSource):
2011-10-27 Steve Block <steveblock@google.com>
Numerous debug build fixes
Unreviewed build fix.
No new tests, buuld fix only.
* loader/icon/IconDatabase.cpp: urlForLogging() is used by both LOG() and LOG_ERROR()
* storage/AbstractDatabase.h: databaseDebugName() is used by both LOG() and LOG_ERROR()
* storage/DatabaseTask.cpp: m_complete is only available when !LOG_DISABLED
2011-10-27 Vsevolod Vlasov <vsevik@chromium.org>
Web Inspector: Refactor ScriptsPanel so that ConsoleView does not depend on it.
https://bugs.webkit.org/show_bug.cgi?id=70899
Moved methods used in console view to DebuggerPresentationModel.
Changed debuggerPaused handler logic so that selectedCallFrame is never null when debugger is paused.
Reviewed by Pavel Feldman.
* inspector/front-end/ConsoleView.js:
* inspector/front-end/DebuggerPresentationModel.js:
(WebInspector.DebuggerPresentationModel.prototype._debuggerPaused):
(WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame):
(WebInspector.DebuggerPresentationModel.prototype.evaluateInSelectedCallFrame):
(WebInspector.DebuggerPresentationModel.prototype.getSelectedCallFrameVariables.propertiesCollected):
(WebInspector.DebuggerPresentationModel.prototype.getSelectedCallFrameVariables):
(WebInspector.DebuggerPresentationModel.prototype._dispatchExecutionLineChanged):
(WebInspector.DebuggerPresentationModel.prototype.get executionLineLocation):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype._consoleCommandEvaluatedInSelectedCallFrame):
(WebInspector.ScriptsPanel.prototype._executionLineChanged):
(WebInspector.ScriptsPanel.prototype._updateExecutionLine):
(WebInspector.ScriptsPanel.prototype._callFrameSelected):
(WebInspector.ScriptsPanel.prototype._updateCallFrame):
2011-10-27 Vsevolod Vlasov <vsevik@chromium.org>
Web Inspector: Add support for advanced search in content scripts.
https://bugs.webkit.org/show_bug.cgi?id=70923
Reviewed by Yury Semikhatsky.
* English.lproj/localizedStrings.js:
* inspector/front-end/ScriptsSearchScope.js:
* inspector/front-end/SettingsScreen.js:
(WebInspector.SettingsScreen):
2011-10-27 Ilya Tikhonovsky <loislo@chromium.org>
Unreviewed one line fix for DOMStorageItemsView.
It have to use this.detachChildViews instead of this.element.removeChildren after r98225.
* inspector/front-end/DOMStorageItemsView.js:
(WebInspector.DOMStorageItemsView.prototype.update):
2011-10-27 Antti Koivisto <antti@apple.com>
Matched declaration cache
https://bugs.webkit.org/show_bug.cgi?id=70931
Reviewed by Darin Adler.
Sets of style declarations are applied repeatedly for different elements when calculating the document style.
The same set of applied declarations results in the same non-inherited style, independent of the element and
its context. We can use this to build a cache to speed up style applying and to share more style data for
reduced memory usage.
The patch reduces RenderStyle memory use ~40% and total memory use by ~7% over HTML5 spec load.
It is also ~10% progression in PerformanceTests/Parser/html5-full-render.html.
* css/CSSProperty.cpp:
(WebCore::CSSProperty::isInheritedProperty):
* css/CSSProperty.h:
(WebCore::CSSProperty::CSSProperty):
(WebCore::CSSProperty::isInherited):
We need to know which properties are inherited, something we didn't have available so far.
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::matchAllRules):
A set of declarations is only cacheable if it contains no element specific style. This way we
don't need to worry about cache invalidation. The whole style selector is reconstructed if the
stylesheets change, invalidating the cache too.
(WebCore::CSSStyleSelector::styleForElement):
Trigger image loads bit earlier so cached style will have them too.
(WebCore::CSSStyleSelector::applyDeclaration):
(WebCore::CSSStyleSelector::applyDeclarations):
Allow skipping over non-inherited properties.
(WebCore::CSSStyleSelector::computeDeclarationHash):
Hash function for declartion cache lookups.
(WebCore::operator==):
(WebCore::operator!=):
(WebCore::CSSStyleSelector::findFromMatchedDeclarationCache):
Lookup from cache.
(WebCore::CSSStyleSelector::addToMatchedDeclarationCache):
Add to cache.
(WebCore::CSSStyleSelector::applyMatchedDeclarations):
If cached style is found, copy the non-inherited properties from the cache and apply the inherited properties (if any) only.
Font and zoom changes force full applying as they can affect values of other properties (this can be relaxed later).
* css/CSSStyleSelector.h:
(WebCore::CSSStyleSelector::MatchResult::MatchResult):
Cacheability bit.
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::copyNonInheritedFrom):
* rendering/style/RenderStyle.h:
* rendering/style/SVGRenderStyle.cpp:
(WebCore::SVGRenderStyle::copyNonInheritedFrom):
* rendering/style/SVGRenderStyle.h:
Functions for assembling RenderStyle from non-inherited parts of the cached style.
2011-10-27 Andrey Kosyakov <caseq@chromium.org>
Web Inspector: [Extensions API] add ignoreCache flag to options of inspectedWindow.reload()
https://bugs.webkit.org/show_bug.cgi?id=70926
Reviewed by Pavel Feldman.
Test: http/tests/inspector/extensions-ignore-cache.html
* inspector/front-end/ExtensionServer.js:
(WebInspector.ExtensionServer.prototype._onReload):
* inspector/front-end/externs.js:
():
2011-10-26 Steve Falkenburg <sfalken@apple.com>
ResourceError doesn't support custom domains on Windows
https://bugs.webkit.org/show_bug.cgi?id=70983
<rdar://problem/10352145>
Reviewed by Oliver Hunt.
* platform/network/cf/ResourceErrorCF.cpp:
(WebCore::ResourceError::platformLazyInit): Add fallback case for unknown error types.
2011-10-26 Dan Bernstein <mitz@apple.com>
Fix a slider thumb rendering regression in Chromium on OS X in r98520.
Reviewed by Anders Carlsson.
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::paintSliderThumb): Reverted the changes to the Chromium code path.
2011-10-26 Julien Chaffraix <jchaffraix@webkit.org>
Unreviewed, rolling out r98486.
http://trac.webkit.org/changeset/98486
https://bugs.webkit.org/show_bug.cgi?id=70748
Broke Chromium's test_expectation.txt
* platform/graphics/skia/PlatformContextSkia.cpp:
(WebCore::PlatformContextSkia::State::State):
(WebCore::PlatformContextSkia::State::cloneInheritedProperties):
(WebCore::PlatformContextSkia::clipPathAntiAliased):
(WebCore::PlatformContextSkia::restore):
(WebCore::PlatformContextSkia::applyAntiAliasedClipPaths):
* platform/graphics/skia/PlatformContextSkia.h:
2011-10-26 Dan Bernstein <mitz@apple.com>
<rdar://problem/10350775> REGRESSION (r97032): Slider thumb is not drawn
https://bugs.webkit.org/show_bug.cgi?id=70891
Reviewed by Anders Carlsson.
* platform/mac/ThemeMac.mm:
(WebCore::ThemeMac::ensuredView): Set the WebCoreFlippedView’s size, because NSSliderCell
always shrinks the slider thumb to fit in the control view’s bounds.
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::paintSliderThumb): Removed workaround code no longer needed after
r97032.
2011-10-26 Chris Rogers <crogers@google.com>
Add AudioSourceProviderClient and setFormat() method so we can know audio stream format
https://bugs.webkit.org/show_bug.cgi?id=70155
Reviewed by Eric Carlson.
No new tests. There isn't yet an implementation to test.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::createMediaPlayer):
(WebCore::HTMLMediaElement::setAudioSourceNode):
Let MediaPlayer know about the MediaElementAudioSourceNode so it can callback with audio stream format information.
* platform/audio/AudioSourceProvider.h:
(WebCore::AudioSourceProvider::setClient):
Add abstract setClient() method so a client may know about stream format information when it becomes available.
* platform/audio/AudioSourceProviderClient.h: Copied from Source/WebCore/webaudio/MediaElementAudioSourceNode.h.
(WebCore::AudioSourceProviderClient::~AudioSourceProviderClient):
Add abstract class AudioSourceProviderClient which implements setFormat() to receive audio stream format information.
* webaudio/MediaElementAudioSourceNode.cpp:
(WebCore::MediaElementAudioSourceNode::setFormat):
Concrete implementation of setFormat() so MediaElementAudioSourceNode can create necessary audio converters.
* webaudio/MediaElementAudioSourceNode.h:
Make MediaElementAudioSourceNode implement AudioSourceProviderClient so it can get audio stream format information
when its setFormat() method is called.
2011-10-26 Julien Chaffraix <jchaffraix@webkit.org>
Unreviewed, rolling out r98483.
http://trac.webkit.org/changeset/98483
https://bugs.webkit.org/show_bug.cgi?id=47156
Change is causing some crashes and ASSERTs.
* loader/cache/CachedImage.cpp:
(WebCore::CachedImage::lookupImageForSize):
(WebCore::CachedImage::lookupImageForRenderer):
(WebCore::CachedImage::lookupOrCreateImageForRenderer):
(WebCore::CachedImage::setContainerSizeForRenderer):
(WebCore::CachedImage::imageSizeForRenderer):
(WebCore::CachedImage::computeIntrinsicDimensions):
(WebCore::CachedImage::createImage):
* loader/cache/CachedImage.h:
* page/ChromeClient.h:
* rendering/ImageBySizeCache.cpp:
(WebCore::ImageBySizeCache::addClient):
(WebCore::ImageBySizeCache::removeClient):
(WebCore::ImageBySizeCache::imageForSize):
(WebCore::ImageBySizeCache::sizeForClient):
* rendering/ImageBySizeCache.h:
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::calculateFillTileSize):
(WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
(WebCore::RenderBoxModelObject::paintNinePieceImage):
* rendering/RenderBoxModelObject.h:
* rendering/RenderImage.cpp:
(WebCore::RenderImage::RenderImage):
(WebCore::RenderImage::imageDimensionsChanged):
(WebCore::RenderImage::isLogicalWidthSpecified):
(WebCore::RenderImage::isLogicalHeightSpecified):
(WebCore::RenderImage::computeReplacedLogicalWidth):
(WebCore::RenderImage::computeReplacedLogicalHeight):
(WebCore::RenderImage::calcAspectRatioLogicalWidth):
(WebCore::RenderImage::calcAspectRatioLogicalHeight):
* rendering/RenderImage.h:
* rendering/RenderImageResource.cpp:
(WebCore::RenderImageResource::setContainerSizeForRenderer):
* rendering/RenderImageResourceStyleImage.cpp:
* rendering/RenderImageResourceStyleImage.h:
(WebCore::RenderImageResourceStyleImage::image):
(WebCore::RenderImageResourceStyleImage::setContainerSizeForRenderer):
* rendering/RenderListMarker.cpp:
(WebCore::RenderListMarker::computePreferredLogicalWidths):
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::computeIntrinsicLogicalWidth):
(WebCore::RenderReplaced::computeIntrinsicLogicalHeight):
(WebCore::RenderReplaced::computeReplacedLogicalWidth):
* rendering/style/StyleCachedImage.cpp:
(WebCore::StyleCachedImage::computeIntrinsicDimensions):
(WebCore::StyleCachedImage::setContainerSizeForRenderer):
(WebCore::StyleCachedImage::addClient):
(WebCore::StyleCachedImage::removeClient):
* rendering/style/StyleCachedImage.h:
* rendering/style/StyleGeneratedImage.h:
(WebCore::StyleGeneratedImage::setContainerSizeForRenderer):
* rendering/style/StyleImage.h:
* rendering/style/StylePendingImage.h:
(WebCore::StylePendingImage::setContainerSizeForRenderer):
* rendering/svg/RenderSVGImage.cpp:
(WebCore::RenderSVGImage::layout):
* rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::computeIntrinsicWidth):
(WebCore::RenderSVGRoot::computeIntrinsicHeight):
(WebCore::RenderSVGRoot::computeReplacedLogicalWidth):
(WebCore::RenderSVGRoot::computeReplacedLogicalHeight):
(WebCore::RenderSVGRoot::layout):
(WebCore::RenderSVGRoot::paint):
(WebCore::RenderSVGRoot::calcViewport):
(WebCore::RenderSVGRoot::computeRectForRepaint):
* rendering/svg/RenderSVGRoot.h:
* svg/SVGLength.cpp:
(WebCore::SVGLength::determineViewport):
* svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::SVGSVGElement):
(WebCore::SVGSVGElement::relativeWidthValue):
(WebCore::SVGSVGElement::relativeHeightValue):
(WebCore::SVGSVGElement::currentViewBoxRect):
* svg/SVGSVGElement.h:
(WebCore::SVGSVGElement::setContainerSize):
(WebCore::SVGSVGElement::containerSize):
(WebCore::SVGSVGElement::hasSetContainerSize):
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::setContainerSize):
(WebCore::SVGImage::usesContainerSize):
(WebCore::SVGImage::size):
(WebCore::SVGImage::hasRelativeWidth):
(WebCore::SVGImage::hasRelativeHeight):
(WebCore::SVGImage::draw):
(WebCore::SVGImage::computeIntrinsicDimensions):
(WebCore::SVGImage::dataChanged):
* svg/graphics/SVGImage.h:
2011-10-26 Eric Carlson <eric.carlson@apple.com>
Constructors for all TextTrack interfaces should be available on DOMWindow
https://bugs.webkit.org/show_bug.cgi?id=70734
Reviewed by Sam Weinig.
window-properties-expected.txt and global-constructors-expected.txt updated for this change.
* page/DOMWindow.idl: Add HTMLTrackElement, TextTrack, and TextTrackCueList.
2011-10-25 Andy Estes <aestes@apple.com>
REGRESSION (r93108): Shadow DOM media controls created for plug-in backed media elements.
https://bugs.webkit.org/show_bug.cgi?id=70872
Reviewed by Eric Carlson.
r93108 added a call to HTMLMediaElement::configureMediaControls() in
HTMLMediaElement::prepareForLoad(), which creates shadow DOM media
controls and is only appropriate to call when media elements are not
backed by plug-in proxies.
Resolve this by refactoring configureMediaControls() to do the right
thing for the plug-in proxy case by calling MediaPlayer::setControls().
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::attributeChanged): Call
configureMediaControls() directly and remove the preprocessor
conditional.
(WebCore::HTMLMediaElement::configureMediaControls): Call
MediaPlayer::setControls() if PLUGIN_PROXY_FOR_VIDEO is enabled.
2011-10-26 Jon Lee <jonlee@apple.com>
selectedIndex gets set from -1 to 0 when modifying options
https://bugs.webkit.org/show_bug.cgi?id=70547
<rdar://problem/8388856>
Reviewed by Darin Adler.
Changing the text causes a recalculation of the list items, which in the menu list case
forces the first element to be selected. We check the value of the selected option prior,
and restore it if it differs.
Test: fast/dom/HTMLSelectElement/selected-index-preserved-when-option-text-changes.html
* html/HTMLOptionElement.cpp:
(WebCore::HTMLOptionElement::setText):
* html/HTMLSelectElement.h: promote usesMenuList() from private to public for use by HTMLOptionElement
2011-10-25 Alexey Proskuryakov <ap@apple.com>
Embedded PDFs should be known to DocumentLoader
https://bugs.webkit.org/show_bug.cgi?id=70864
Reviewed by Darin Adler.
* WebCore.exp.in: Added exports.
2011-10-26 Mark Hahnenberg <mhahnenberg@apple.com>
Remove getOwnPropertySlotVirtual
https://bugs.webkit.org/show_bug.cgi?id=70741
Reviewed by Geoffrey Garen.
No new tests.
Removed all declarations and definitions of getOwnPropertySlotVirtual.
Also replaced all call sites to getOwnPropertyVirtualVirtual with a
corresponding lookup in the MethodTable.
* WebCore.exp.in:
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::DialogHandler::returnValue):
* bindings/js/JSDOMWindowShell.cpp:
(WebCore::JSDOMWindowShell::getOwnPropertySlot):
* bindings/js/JSDOMWindowShell.h:
* bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneSerializer::getSparseIndex):
(WebCore::CloneSerializer::getProperty):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
(GenerateImplementation):
(GenerateConstructorDeclaration):
(GenerateConstructorDefinition):
* bridge/objc/objc_runtime.h:
* bridge/objc/objc_runtime.mm:
* bridge/qt/qt_runtime.cpp:
* bridge/qt/qt_runtime.h:
* bridge/runtime_array.cpp:
* bridge/runtime_array.h:
* bridge/runtime_method.cpp:
* bridge/runtime_method.h:
* bridge/runtime_object.cpp:
* bridge/runtime_object.h:
2011-10-26 Alejandro G. Castro <alex@igalia.com>
[GTK] Fix distcheck compilation
https://bugs.webkit.org/show_bug.cgi?id=70921
Add EventTargetFactory.in to the dist files, required after
r98388.
Reviewed by Martin Robinson.
* GNUmakefile.am:
2011-10-26 Michael Saboff <msaboff@apple.com>
Increase StringImpl Flag Bits for 8 bit Strings
https://bugs.webkit.org/show_bug.cgi?id=70937
Increased the number of bits used for flags in StringImpl
from 6 to 8 bits. This frees up 2 flag bits that will be
used for 8-bit string support. Updated hash methods accordingly.
Changed hash value masking from the low bits to the high
bits.
Reviewed by Darin Adler.
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHashValue):
2011-10-26 Dimitri Glazkov <dglazkov@chromium.org>
REGRESSION (r94887): Scrolling the HTML spec is more jerky now than it was (regression)
https://bugs.webkit.org/show_bug.cgi?id=70857
Revert r94887, because it regressed performance.
Rubber-stamped by Antti Koivisto.
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::canShareStyleWithElement):
(WebCore::parentStylePreventsSharing):
* css/SelectorChecker.cpp:
(WebCore::SelectorChecker::checkSelector):
* dom/Element.cpp:
(WebCore::Element::recalcStyle):
(WebCore::checkForSiblingStyleChanges):
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::RenderStyle):
* rendering/style/RenderStyle.h:
(WebCore::InheritedFlags::childrenAffectedByDirectAdjacentRules):
(WebCore::InheritedFlags::setChildrenAffectedByDirectAdjacentRules):
2011-10-26 Alexander Pavlov <apavlov@chromium.org>
Web Inspector: Need workaround for the red crossed circle in the status bar not bringing up the console when clicked
https://bugs.webkit.org/show_bug.cgi?id=70928
Reviewed by Pavel Feldman.
* inspector/front-end/inspector.css:
(#error-count-img):
(#error-count + #warning-count-img):
(#warning-count-img):
* inspector/front-end/inspector.js:
(WebInspector._updateErrorAndWarningCounts):
2011-10-26 Mike Reed <reed@google.com>
[skia] replace offscreen technique with native support for antialiased clipping
https://bugs.webkit.org/show_bug.cgi?id=70748
Reviewed by Stephen White.
~100 layout tests need to be rebaselined, as the native aa-clipping differs sometimes in the low
bits of the result. Other than that, the results should be the same, except that now the drawing
can go directly to the canvas, rather than being direct offscreen and then have that result
"clipped" during the restore. This has the effect of allowing LCD text to be drawing inside a
antialiased clip area.
* platform/graphics/skia/PlatformContextSkia.cpp:
(WebCore::PlatformContextSkia::State::State):
(WebCore::PlatformContextSkia::State::cloneInheritedProperties):
(WebCore::PlatformContextSkia::clipPathAntiAliased):
(WebCore::PlatformContextSkia::restore):
2011-10-26 Nikolas Zimmermann <nzimmermann@rim.com>
CSS 2.1 failure: background-intrinsic-*
https://bugs.webkit.org/show_bug.cgi?id=47156
SVGs do not work as tiled background images
https://bugs.webkit.org/show_bug.cgi?id=16281
Apply preserveAspectRatio and synthesize viewboxes in <img>
https://bugs.webkit.org/show_bug.cgi?id=34521
SVG background doesn't resize properly when dimensions are changed
https://bugs.webkit.org/show_bug.cgi?id=42944
Images with percent height inside a floated div should use intrinsic height.
https://bugs.webkit.org/show_bug.cgi?id=45439
SVG image in HTML changes size as the window is resized
https://bugs.webkit.org/show_bug.cgi?id=52045
Reviewed by Antti Koivisto.
Implement intrinsic sizing support for SVGImage (svg embedded through <html:img>/<svg:image>/background-image/border-image/...).
This is demanded by CSS 2.1, and covered by new layout tests in LayoutTests/css2.1 and several new custom testcases.
Tests: css2.1/20110323/background-intrinsic-001.htm
css2.1/20110323/background-intrinsic-002.htm
css2.1/20110323/background-intrinsic-003.htm
css2.1/20110323/background-intrinsic-004.htm
css2.1/20110323/background-intrinsic-005.htm
css2.1/20110323/background-intrinsic-006.htm
css2.1/20110323/background-intrinsic-007.htm
css2.1/20110323/background-intrinsic-008.htm
css2.1/20110323/background-intrinsic-009.htm
svg/as-background-image/background-image-preserveaspectRatio-support.html (adapted from testcase from bug 34521)
svg/as-background-image/background-image-tiled.html (reduction from bug 16281)
svg/as-background-image/same-image-two-instances-background-image.html
svg/as-image/img-preserveAspectRatio-support-1.html (reduction from bug 34521)
svg/as-image/same-image-two-instances.html
svg/as-image/svg-as-relative-image-with-explicit-size.html
svg/as-image/svg-image-change-content-size.xhtml (reduction from bug 42944)
svg/zoom/page/zoom-img-preserveAspectRatio-support-1.html
* loader/cache/CachedImage.cpp: Enable SVGImage <-> IntSize cache.
(WebCore::CachedImage::lookupImageForSize): Use recently introduced ImageBySizeCache, to lookup an image for a certain size.
(WebCore::CachedImage::lookupImageForRenderer): Lookup image by renderer, which first looks up a size for a renderer, then uses lookupImageForSize().
(WebCore::createSVGImage): Refactored from createImage(), contains the SVGImage creation part only.
(WebCore::CachedImage::lookupOrCreateImageForRenderer): Use recently introduced ImageBySizeCache, to dynamically create copies of m_image if needed.
(WebCore::CachedImage::setContainerSizeForRenderer): For SVGImages, pass on container size handling to ImageBySizeCache.
(WebCore::CachedImage::imageSizeForRenderer): Figure out the image size, respecting per-renderer overrides, for a certain renderer.
(WebCore::CachedImage::computeIntrinsicDimensions): Remove unnecessary RenderObject parameter.
(WebCore::CachedImage::addClientForRenderer): Special variant of addClient(), overriding the existing in CachedResource.
(WebCore::CachedImage::removeClientForRenderer): Special variant of removeClient(), that also clears the image in the ImageBySizeCache.
(WebCore::CachedImage::createImage): Refactor SVGImage creation into createSVGImage() free function, to be useable from lookupOrCreateImageForRenderer().
* loader/cache/CachedImage.h: Expose removeClientForRenderer().
* page/ChromeClient.h:
(WebCore::ChromeClient::isSVGImageChromeClient): Used to identify whether a RenderSVGRoot is embedded through a SVGImage. Returns false, by default.
* rendering/ImageBySizeCache.cpp:
(WebCore::ImageBySizeCache::addClient): Assert the passed renderer is valid.
(WebCore::ImageBySizeCache::removeClient): Ditto. Allow removeClient() to be called w/o prio addClient() usage.
(WebCore::ImageBySizeCache::setClient): New helper function, that combines the usage of addClient/removeClient, for the use in CachedImage.
(WebCore::ImageBySizeCache::imageForSize): Respect empty sizes, just return 0, instead of asserting.
(WebCore::ImageBySizeCache::imageForRenderer): Added a helper that retrieves an image for a renderer, by lookup up its size and using imageForSize().
* rendering/ImageBySizeCache.h: Expose setClient() & imageForRenderer().
* rendering/RenderBoxModelObject.cpp: Implement CSS 2.1 intrinsic size negotiation for images.
(WebCore::resolveWidthForRatio): New inline helper function used bz calculateImageIntrinsicDimensions.
(WebCore::resolveHeightForRatio): Ditto.
(WebCore::resolveAgainstIntrinsicWidthOrHeightAndRatio): Ditto.
(WebCore::resolveAgainstIntrinsicRatio): Ditto.
(WebCore::RenderBoxModelObject::calculateImageIntrinsicDimensions): New helper function, containing the main algorithm, which is a pure transcription of the spec.
(WebCore::RenderBoxModelObject::calculateFillTileSize): Use new calculateImageIntrinsicDimensions() helper to figure out the intrinsic size.
(WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry): Propagate calculateFillTileSize() result to the image resource, via setContainerSizeForRenderer().
(WebCore::RenderBoxModelObject::paintNinePieceImage): Use new calculateImageIntrinsicDimensions() helper to figure out the intrinsic size.
* rendering/RenderBoxModelObject.h: Clarify some variable names, added calculateImageIntrinsicDimensions().
* rendering/RenderImage.cpp:
(WebCore::RenderImage::RenderImage): Use IntSize(), instead of IntSize(0, 0).
(WebCore::RenderImage::updateIntrinsicSizeIfNeeded): Refactored from imageDimensionsChanged().
(WebCore::RenderImage::imageDimensionsChanged): Use updateIntrinsicSizeIfNeeded().
(WebCore::RenderImage::computeReplacedLogicalWidth): Use RenderReplaced::computeReplacedLogicalWidth() exclusively. For this to work, the intrinsic size must be correct.
(WebCore::RenderImage::computeIntrinsicRatioInformation): Default implementation for non-SVGImages.
(WebCore::RenderImage::needsPreferredWidthsRecalculation): Return true, just like RenderPart, if embeddedContentBox is not null.
(WebCore::RenderImage::embeddedContentBox): Returns the RenderSVGRoot* renderer of the embedded SVG, if possible.
* rendering/RenderImage.h: Remove isLogicalWidth/HeightSpecified() / computeReplacedLogicalHeight() / calcAspectRatioLogicalWidth/Height().
* rendering/RenderImageResource.cpp:
(WebCore::RenderImageResource::setContainerSizeForRenderer): Pass around new "float containerZoomFactor" parameter.
* rendering/RenderImageResourceStyleImage.cpp:
(WebCore::RenderImageResourceStyleImage::image): embeddedContentBox() is now calling image() earlier than before. We now have to handle the case that the image is pending.
(WebCore::RenderImageResourceStyleImage::setContainerSizeForRenderer): Pass zoom factor.
* rendering/RenderImageResourceStyleImage.h:
* rendering/RenderListMarker.cpp:
(WebCore::RenderListMarker::computePreferredLogicalWidths): Pass effective zoom to setContainerSizeForRenderer().
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::computeIntrinsicLogicalWidth): Generalized this code, as RenderImage is using it as well now. Marginal changes needed.
(WebCore::RenderReplaced::computeIntrinsicLogicalHeight): Ditto.
(WebCore::RenderReplaced::computeReplacedLogicalWidth): Ditto.
* rendering/style/StyleCachedImage.cpp:
(WebCore::StyleCachedImage::computeIntrinsicDimensions): Stop passing m_renderer to CachedImage, it's no longer needed.
(WebCore::StyleCachedImage::setContainerSizeForRenderer): Add "float containerZoomFactor" parameter.
(WebCore::StyleCachedImage::addClient): Forward to new addClientForRenderer().
(WebCore::StyleCachedImage::removeClient): Call new removeClientForRenderer() instead of removeClient(), so the ImageBySizeCache is also updated.
* rendering/style/StyleCachedImage.h: Add "float containerZoomFactor" parameter to setContainerSizeForRenderer.
* rendering/style/StyleGeneratedImage.h:
(WebCore::StyleGeneratedImage::setContainerSizeForRenderer): Ditto.
* rendering/style/StyleImage.h: Ditto.
* rendering/style/StylePendingImage.h:
(WebCore::StylePendingImage::setContainerSizeForRenderer): Ditto.
* rendering/svg/RenderSVGImage.cpp:
(WebCore::RenderSVGImage::layout): Always supply a container size when embedding SVGs in <svg:image>.
* rendering/svg/RenderSVGRoot.cpp: Move "override container size" from SVGSVGElement into RenderSVGRoot, where it belongs.
(WebCore::RenderSVGRoot::isEmbeddedThroughImageElement): Add helper method to determine whether we're loaded through SVGImage.
(WebCore::RenderSVGRoot::computeReplacedLogicalWidth): If we have a valid container size, it has precendence (only supplied via external SVGImages).
(WebCore::RenderSVGRoot::computeReplacedLogicalHeight): Ditto.
(WebCore::RenderSVGRoot::layout): Remove calcViewport() usage, no need to track/override the viewport size anymore, all done in coputeReplacedLogical* now.
(WebCore::RenderSVGRoot::paint): Use borderBoxRect() which now always matches the previously computed m_viewportSize.
(WebCore::RenderSVGRoot::computeRectForRepaint): Ditto.
* rendering/svg/RenderSVGRoot.h: Move "override container size" from SVGSVGElement into RenderSVGRoot, where it belongs.
(WebCore::RenderSVGRoot::containerSize):
(WebCore::RenderSVGRoot::setContainerSize):
* svg/SVGLength.cpp:
(WebCore::SVGLength::determineViewport): Resolve lengths against override container size in documents embedded through SVGImage.
* svg/SVGSVGElement.cpp: Remove "override container size" handling from SVGSVGElement.
(WebCore::SVGSVGElement::SVGSVGElement): Ditto.
(WebCore::SVGSVGElement::currentViewBoxRect): Always synthesize a viewBox, if we're embedded through SVGImage, as demanded by SVG 1.1 2nd Edition.
* svg/SVGSVGElement.h:
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImageChromeClient::setObserver): Helper function.
(WebCore::SVGImageChromeClient::isSVGImageChromeClient): Return true, used to identify whether RenderSVGRoot is embedded through SVGImage.
(WebCore::SVGImage::setContainerZoom): Forwarded to Page::setPageZoomFactor.
(WebCore::SVGImage::setContainerSize): Assert that container size is not empty. We should never receive an empty container size.
(WebCore::SVGImage::usesContainerSize): Adapt to override container size changes, it now lives in RenderSVGRoot instead of SVGSVGElement.
(WebCore::SVGImage::size): New algorithm to figure out the size of an embedded SVG, as demanded by the CSS/SVG specs.
(WebCore::SVGImage::draw): Stop calling layout() while painting!
(WebCore::SVGImage::embeddedContentBox): Add helper which returns the RenderSVGRoot of the document.
(WebCore::SVGImage::computeIntrinsicDimensions): Implement intrinsic ratio calculation.
(WebCore::SVGImage::dataChanged): Force calling FrameView::setCanHaveScrollbars(false), as SVG images now always synthesize a viewBox, and thus never receive scrollbars.
* svg/graphics/SVGImage.h:
2011-10-26 Kenneth Rohde Christiansen <kenneth@webkit.org>
Properly suspend/resume Geolocation/DeviceMotion/DeviceOrientation objects
https://bugs.webkit.org/show_bug.cgi?id=70328
Reviewed by Simon Hausmann.
Also remove checks for m_client in DeviceMotionController as it can never be null.
No new tests, as the suspend/resume functionality is not fully working yet.
* dom/DeviceMotionController.cpp:
(WebCore::DeviceMotionController::timerFired):
(WebCore::DeviceMotionController::addListener):
(WebCore::DeviceMotionController::removeListener):
(WebCore::DeviceMotionController::removeAllListeners):
(WebCore::DeviceMotionController::suspend):
(WebCore::DeviceMotionController::resume):
* dom/DeviceMotionController.h:
* dom/DeviceOrientationController.cpp:
(WebCore::DeviceOrientationController::suspend):
(WebCore::DeviceOrientationController::resume):
* dom/DeviceOrientationController.h:
* dom/Document.cpp:
(WebCore::Document::suspendActiveDOMObjects):
(WebCore::Document::resumeActiveDOMObjects):
(WebCore::Document::stopActiveDOMObjects):
* dom/Document.h:
* dom/ScriptExecutionContext.h:
* page/GeolocationController.cpp:
(WebCore::GeolocationController::GeolocationController):
(WebCore::GeolocationController::removeObserver):
(WebCore::GeolocationController::suspend):
(WebCore::GeolocationController::resume):
* page/GeolocationController.h:
2011-10-26 Pavel Feldman <pfeldman@google.com>
Not reviewed: follow up to 98236 - moved inspector settings initialization earlier to unbreak settings panel.
* inspector/front-end/TextEditorModel.js:
(WebInspector.TextEditorModel):
2011-10-26 Zalan Bujtas <zbujtas@gmail.com>
Name viewport change event consistently.
https://bugs.webkit.org/show_bug.cgi?id=70901
Reviewed by Kenneth Rohde Christiansen.
Use ViewportPropertiesDidChange term consistently throughout WebKit.
No tests needed as the change is only method renaming.
* page/Chrome.cpp:
(WebCore::Chrome::dispatchViewportPropertiesDidChange):
* page/Chrome.h:
* page/ChromeClient.h:
(WebCore::ChromeClient::dispatchViewportPropertiesDidChange):
* page/Page.cpp:
(WebCore::Page::updateViewportArguments):
2011-10-25 Stephen White <senorblanco@chromium.org>
[chromium] Canvas2D should rate-limit drawing to prevent swamping the GPU process.
https://bugs.webkit.org/show_bug.cgi?id=70367
Reviewed by James Robinson.
Sadly, we don't have infrastructure to test this kind of GPU swamping
yet.
* WebCore.gypi:
Add RateLimiter.* to the Chromium build.
* platform/graphics/chromium/Canvas2DLayerChromium.cpp:
(WebCore::Canvas2DLayerChromium::contentChanged):
When the layer is notified that the contents have changed, ping the
rate limiter.
* platform/graphics/chromium/Canvas2DLayerChromium.h:
* platform/graphics/chromium/GraphicsLayerChromium.cpp:
(WebCore::GraphicsLayerChromium::setContentsNeedsDisplay):
Call (new) virtual contentChanged() on a layer when its contents have
been changed (e.g., by a drawing call).
* platform/graphics/chromium/LayerChromium.h:
(WebCore::LayerChromium::contentChanged):
New virtual contentChanged().
* platform/graphics/chromium/RateLimiter.cpp: Added.
(WebCore::RateLimiter::create):
Rate limiter factory function.
(WebCore::RateLimiter::RateLimiter):
(WebCore::RateLimiter::start):
Public API to start rate limiting a context.
(WebCore::RateLimiter::stop):
Public API to stop rate limiting a context.
(WebCore::RateLimiter::rateLimitContext):
Internal timer callback when a context should be rate limited.
* platform/graphics/chromium/RateLimiter.h: Added.
* platform/graphics/chromium/WebGLLayerChromium.cpp:
(WebCore::WebGLLayerChromium::WebGLLayerChromium):
Remove rate limiting timer and extension check (moved to RateLimiter).
(WebCore::WebGLLayerChromium::contentChanged):
The function formerly known as setTextureUpdated(), now renamed to
match the base class virtual contentChanged(). Call rate limiter in
CCLayerTreeHost (local implementation removed).
(WebCore::WebGLLayerChromium::setContext):
When the context is changed, stop the pending rate limiter on the old
context. Remove extension check (moved to RateLimiter).
* platform/graphics/chromium/WebGLLayerChromium.h:
Remove rate limiting timer and extension check (moved to RateLimiter).
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::startRateLimiter):
Public API for starting per-context rate limiter.
(WebCore::CCLayerTreeHost::stopRateLimiter):
Public API for stopping per-context rate limiter.
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
Implementation of per-GraphicsContext3D RateLimiter.
2011-10-26 Pavel Feldman <pfeldman@chromium.org>
Not reviewed: fixing inspector extensions tests.
* inspector/front-end/ConsoleMessage.js:
(WebInspector.ConsoleMessageImpl):
* inspector/front-end/ExtensionServer.js:
(WebInspector.ExtensionServer.prototype._onAddConsoleMessage):
2011-10-26 Balazs Kelemen <kbalazs@webkit.org>
ParallelJobs path of FEConvolveMatrix is erroneous
https://bugs.webkit.org/show_bug.cgi?id=70409
Reviewed by Zoltan Herczeg.
Covered by existing tests.
* platform/graphics/filters/FEConvolveMatrix.cpp:
(WebCore::FEConvolveMatrix::fastSetInteriorPixels):
Reject the silly idea that bytes per pixel ratio is 3 in preserveAlphaValues mode.
The bug was hidden so far because that computation has no effect when we are going
with the full inferior area in one round (in that case clipBottom and yEnd are equals
and the value of the expression is always 0). With ParallelJobs we process sub-areas
on each thread which has triggered the issue.
2011-10-26 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r98393.
http://trac.webkit.org/changeset/98393
https://bugs.webkit.org/show_bug.cgi?id=70892
"Compilation is broken on Chromium Webkit Mac Builder (dbg) "
(Requested by yurys on #webkit).
* platform/graphics/chromium/LayerChromium.h:
(WebCore::LayerChromium::setMasksToBounds):
(WebCore::LayerChromium::setMaskLayer):
2011-10-26 Pavel Feldman <pfeldman@google.com>
Web Inspector: order console message parameters for better optional parameters handling.
https://bugs.webkit.org/show_bug.cgi?id=70809
Reviewed by Yury Semikhatsky.
* inspector/Inspector.json:
* inspector/front-end/ConsoleMessage.js:
(WebInspector.ConsoleMessageImpl):
(WebInspector.ConsoleMessageImpl.prototype._formatMessage):
* inspector/front-end/ConsoleModel.js:
(WebInspector.ConsoleModel.prototype._messageRepeatCountUpdated):
(WebInspector.ConsoleMessage.create):
(WebInspector.ConsoleDispatcher.prototype.messageAdded):
* inspector/front-end/ConsoleView.js:
(WebInspector.ConsoleCommandResult):
(WebInspector.ConsoleMessage.create):
* inspector/front-end/ExtensionServer.js:
(WebInspector.ExtensionServer.prototype._onAddConsoleMessage):
* inspector/front-end/NetworkManager.js:
(WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse):
* inspector/front-end/inspector.js:
(WebInspector.log.logMessage):
(WebInspector.log):
2011-10-26 Vsevolod Vlasov <vsevik@chromium.org>
Web Inspector: Debugger fails when there is an invalid watch expression.
https://bugs.webkit.org/show_bug.cgi?id=70718
Reviewed by Pavel Feldman.
Test: inspector/debugger/watch-expressions-panel-switch.html
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
2011-10-26 Fady Samuel <fsamuel@chromium.org>
Page Scale Factor broken when navigating history on pages with child frames
https://bugs.webkit.org/show_bug.cgi?id=70459
Reviewed by Darin Fisher.
With frameScaleFactor now always returning 1.0 for subframes and pageScaleFactor for the mainFrame,
and there being only a single pageScaleFactor, history for scaling is broken. Scaling history is
saved on a per frame basis but restored, overriding the per-page pageScaleFactor multiple times.
As a result, sometimes pages that have subframes end up getting a scale factor of 1.0 instead
of the correct scale factor that was assigned to the main frame.
No new tests because I don't know how to test this.
* loader/HistoryController.cpp:
(WebCore::HistoryController::restoreScrollPositionAndViewState):
2011-10-26 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r98429.
http://trac.webkit.org/changeset/98429
https://bugs.webkit.org/show_bug.cgi?id=70881
"webkit_gpu_tests fail in Chromium" (Requested by yurys on
#webkit).
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::initialize):
* platform/graphics/chromium/WebGLLayerChromium.cpp:
(WebCore::WebGLLayerChromium::layerRendererContext):
* platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
(WebCore::CCHeadsUpDisplay::enabled):
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::initialize):
(WebCore::CCLayerTreeHost::context):
(WebCore::CCLayerTreeHost::setNeedsAnimate):
(WebCore::CCLayerTreeHost::setNeedsCommitThenRedraw):
(WebCore::CCLayerTreeHost::setNeedsRedraw):
(WebCore::CCLayerTreeHost::composite):
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
(WebCore::CCSettings::CCSettings):
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::setThread):
* platform/graphics/chromium/cc/CCThreadProxy.h:
2011-10-26 Ben Wells <benwells@chromium.org>
Canvas drawImage with SourceIn, DestinationIn, SourceOut, DestinationAtop and Copy have errors
https://bugs.webkit.org/show_bug.cgi?id=66920
Reviewed by James Robinson.
Test: fast/canvas/canvas-composite-image.html
Use the same method as fills to handle composited drawImage calls that will affect the whole
canvas. To do this code used when doing fills has been factored into seperate functions and
used by drawImage. Some functions used to do these types of operations have also been renamed.
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::isFullCanvasCompositeMode):
(WebCore::CanvasRenderingContext2D::fill):
(WebCore::CanvasRenderingContext2D::fillRect):
(WebCore::CanvasRenderingContext2D::drawImage):
(WebCore::CanvasRenderingContext2D::calculateCompositingBufferRect):
(WebCore::CanvasRenderingContext2D::createCompositingBuffer):
(WebCore::CanvasRenderingContext2D::compositeBuffer):
(WebCore::CanvasRenderingContext2D::fullCanvasCompositedDrawImage):
(WebCore::CanvasRenderingContext2D::fullCanvasCompositedFill):
* html/canvas/CanvasRenderingContext2D.h:
2011-10-25 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r98379.
http://trac.webkit.org/changeset/98379
https://bugs.webkit.org/show_bug.cgi?id=70875
Did not pass on JSC ports (Requested by abarth on #webkit).
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
(GenerateImplementation):
* bindings/scripts/CodeGeneratorV8.pm:
(GenerateHeader):
(GenerateArgumentsCountCheck):
(GenerateImplementation):
* html/canvas/CanvasRenderingContext2D.idl:
* page/DOMWindow.idl:
2011-10-25 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r98346.
http://trac.webkit.org/changeset/98346
https://bugs.webkit.org/show_bug.cgi?id=70874
Breaks JSC-based bots. (Requested by pfeldman on #webkit).
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
2011-10-25 Nat Duca <nduca@chromium.org>
[chromium] Enable threaded compositing via CCThreadProxy::hasThread only
https://bugs.webkit.org/show_bug.cgi?id=70838
Reviewed by James Robinson.
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::initialize):
* platform/graphics/chromium/WebGLLayerChromium.cpp:
(WebCore::WebGLLayerChromium::layerRendererContext):
* platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
(WebCore::CCHeadsUpDisplay::enabled):
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::initialize):
(WebCore::CCLayerTreeHost::context):
(WebCore::CCLayerTreeHost::setNeedsAnimate):
(WebCore::CCLayerTreeHost::setNeedsCommitThenRedraw):
(WebCore::CCLayerTreeHost::setNeedsRedraw):
(WebCore::CCLayerTreeHost::composite):
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
(WebCore::CCSettings::CCSettings):
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::hasThread):
* platform/graphics/chromium/cc/CCThreadProxy.h:
2011-10-25 Xiaomei Ji <xji@chromium.org>
--webkit-visual-word does not work in multi-line
https://bugs.webkit.org/show_bug.cgi?id=61344
Reviewed by Ryosuke Niwa.
Get next or previous root inline box (which is not in the same
render object as the current root inline box) by traversing DOM node.
Test: editing/selection/move-by-word-visually-inline-block-positioned-element.html
* editing/visible_units.cpp:
(WebCore::previousRootInlineBox):
(WebCore::nextRootInlineBox):
(WebCore::leftInlineBox):
(WebCore::rightInlineBox):
2011-10-25 Adam Barth <abarth@webkit.org>
JSEventTarget.cpp has a bunch of unnessary includes
https://bugs.webkit.org/show_bug.cgi?id=70865
Reviewed by Eric Seidel.
In the process of removing these includes, I noticed we had a bunch of
non-autogenerated code in this file, which I've now autogenerated.
* bindings/js/JSEventTarget.cpp:
(WebCore::toEventTarget):
- One subtly here is the outter static_cast, which is caused by an
inheritance infelicity in JavaScriptAudioNode, which I've noted
with a FIXME. In any case, the extra static_cast shouldn't cause
any trouble.
* webaudio/JavaScriptAudioNode.h:
2011-10-25 Adam Barth <abarth@webkit.org>
V8DOMWrapper.cpp has unneeded header includes
https://bugs.webkit.org/show_bug.cgi?id=70863
Reviewed by Eric Seidel.
* bindings/v8/V8DOMWrapper.cpp:
2011-10-25 Mark Hahnenberg <mhahnenberg@apple.com>
Resetting baseline for test bindings
Unreviewed preemptive build fix
No new tests.
* bindings/scripts/test/JS/JSTestObj.cpp:
* bindings/scripts/test/JS/JSTestObj.h:
2011-10-25 Mark Hahnenberg <mhahnenberg@apple.com>
Remove deletePropertyVirtual
https://bugs.webkit.org/show_bug.cgi?id=70738
Reviewed by Geoffrey Garen.
No new tests.
Removed all declarations and definitions of deletePropertyVirtual.
Also replaced all call sites to deletePropertyVirtual with a
corresponding lookup in the MethodTable.
* WebCore.exp.in:
* bindings/js/JSDOMStringMapCustom.cpp:
(WebCore::JSDOMStringMap::deleteProperty):
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::deleteProperty):
* bindings/js/JSDOMWindowShell.cpp:
(WebCore::JSDOMWindowShell::deleteProperty):
* bindings/js/JSDOMWindowShell.h:
* bindings/js/JSHistoryCustom.cpp:
(WebCore::JSHistory::deleteProperty):
* bindings/js/JSLocationCustom.cpp:
(WebCore::JSLocation::deleteProperty):
* bindings/js/JSStorageCustom.cpp:
(WebCore::JSStorage::deleteProperty):
* bindings/js/ScriptObject.cpp:
(WebCore::ScriptGlobalObject::remove):
* bindings/objc/WebScriptObject.mm:
(-[WebScriptObject removeWebScriptKey:]):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
* bridge/NP_jsobject.cpp:
(_NPN_RemoveProperty):
* bridge/jni/jni_jsobject.mm:
(JavaJSObject::removeMember):
* bridge/objc/objc_runtime.h:
* bridge/objc/objc_runtime.mm:
* bridge/runtime_array.cpp:
* bridge/runtime_array.h:
* bridge/runtime_object.cpp:
* bridge/runtime_object.h:
2011-10-25 Chris Fleizach <cfleizach@apple.com>
AX: WebKit does not expose HTML label for slider elements
https://bugs.webkit.org/show_bug.cgi?id=70856
Reviewed by Darin Adler.
Test: platform/mac/accessibility/slider-allows-title-ui-element.html
* accessibility/AccessibilitySlider.h:
(WebCore::AccessibilitySlider::isControl):
* accessibility/mac/WebAccessibilityObjectWrapper.mm:
(-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
2011-10-25 Mark Hahnenberg <mhahnenberg@apple.com>
Remove putVirtual
https://bugs.webkit.org/show_bug.cgi?id=70740
Reviewed by Geoffrey Garen.
No new tests.
Removed all declarations and definitions of putVirtual.
Also replaced all call sites to putVirtual with a
corresponding lookup in the MethodTable.
* WebCore.exp.in:
* bindings/js/JSDOMWindowCustom.cpp:
* bindings/js/JSDOMWindowShell.cpp:
(WebCore::JSDOMWindowShell::put):
* bindings/js/JSDOMWindowShell.h:
* bindings/js/JSPluginElementFunctions.cpp:
(WebCore::runtimeObjectCustomPut):
* bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneDeserializer::putProperty):
* bindings/objc/WebScriptObject.mm:
(-[WebScriptObject setValue:forKey:]):
(-[WebScriptObject setWebScriptValueAtIndex:value:]):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
(GenerateImplementation):
* bridge/NP_jsobject.cpp:
(_NPN_SetProperty):
* bridge/jni/jni_jsobject.mm:
(JavaJSObject::setMember):
(JavaJSObject::setSlot):
* bridge/objc/objc_runtime.h:
* bridge/objc/objc_runtime.mm:
* bridge/qt/qt_runtime.cpp:
(JSC::Bindings::convertQVariantToValue):
* bridge/runtime_array.cpp:
* bridge/runtime_array.h:
* bridge/runtime_object.cpp:
* bridge/runtime_object.h:
* bridge/testqtbindings.cpp:
(main):
2011-10-25 Adam Barth <abarth@webkit.org>
EventTargetFactory.in is not sorted
https://bugs.webkit.org/show_bug.cgi?id=70855
Reviewed by Eric Seidel.
This patch sorts the file. I was not able to measure a performance
difference using the microbenchmark included with this patch.
* dom/EventTargetFactory.in:
2011-10-25 Adam Barth <abarth@webkit.org>
Attempt to fix the Windows build. Windows mashes all these files into
one, which doesn't respect the compilation unit rules of C++.
* bindings/js/JSEventCustom.cpp:
* bindings/js/JSEventTarget.cpp:
2011-10-25 Ryosuke Niwa <rniwa@webkit.org>
Moving to the start of line should not place the caret outside of the table
https://bugs.webkit.org/show_bug.cgi?id=70757
Reviewed by Chang Shu.
The bug was caused by positionAvoidingFirstPositionInTable. Get rid of the function.
Test: editing/selection/table-lineboundary.html
* editing/visible_units.cpp:
(WebCore::startPositionForLine):
2011-10-25 Beth Dakin <bdakin@apple.com>
https://bugs.webkit.org/show_bug.cgi?id=70852
Setting up a HiDPI base-level GraphicsContext should be more straightforward for
WebKit2
Reviewed by Dan Bernstein.
This patch removes the old cg-only GraphicsContext::setBaseCTM() api, and adds
platform-independent GraphicsContext::applyDeviceScaleFactor().
* WebCore.exp.in:
* platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::platformApplyDeviceScaleFactor):
(WebCore::GraphicsContext::applyDeviceScaleFactor):
* platform/graphics/GraphicsContext.h:
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::platformApplyDeviceScaleFactor):
Since this patch removes GraphicsContext::setBaseCTM(), this code has been
reverted to do what it used to do before that was added; it just calls into
WebCoreSystemInterface directly.
* platform/graphics/cg/ImageCG.cpp:
(WebCore::Image::drawPattern):
2011-10-25 Anders Carlsson <andersca@apple.com>
Plug-ins have to use JavaScript to find out the current device scale factor
https://bugs.webkit.org/show_bug.cgi?id=67225
Reviewed by Darin Adler.
Test: platform/mac-wk2/plugins/contents-scale-factor.html
Add NPNVcontentsScaleFactor, as per https://wiki.mozilla.org/NPAPI:ContentsScaleFactor.
* plugins/npapi.h:
2011-10-25 Adam Klein <adamk@chromium.org>
Forward declare MutationObserverEntry as a struct to fix clang build
https://bugs.webkit.org/show_bug.cgi?id=70853
Reviewed by Ryosuke Niwa.
Node.h forward declared MutationObserverEntry as a class, and clang
complains if the two declarations don't match.
* dom/Node.h:
2011-10-25 Dan Bernstein <mitz@apple.com>
Caret can be positioned or repainted incorrectly in flipped-blocks multi-column blocks
https://bugs.webkit.org/show_bug.cgi?id=70851
Reviewed by Dave Hyatt.
* manual-tests/caret-in-columns-flipped.html: Added.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::adjustForColumns): Removed flipped-blocks writing mode considerations
from this function, since not all callers were expecting it to account for flippedness. This makes
it similar to adjustRectForColumns() in not adjusting for flippedness.
* rendering/RenderBox.cpp:
(WebCore::RenderBox::offsetFromContainer): In the columns case, account for flipped-blocks modes
by first mapping the point and the offset to non-flipped, non-columns space, then adjusting for
columns, then flipping.
2011-10-25 Michal Mocny <mmocny@google.com>
LayerRendererChromium::setVisible called needlessly without a visibility change
https://bugs.webkit.org/show_bug.cgi?id=70766
Reviewed by Kenneth Russell.
Check that visibility has actually changed before calling LayerRendererChromium::setVisible
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
(WebCore::CCLayerTreeHostImpl::setVisible):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
2011-10-25 Anders Carlsson <andersca@apple.com>
REGRESSION(97821): HistoryController::itemsAreClones crashes a lot
https://bugs.webkit.org/show_bug.cgi?id=70827
<rdar://problem/10342925>
Reviewed by Adam Barth.
Check that m_currentItem is non-null before passing it to itemsAreClones. While I wasn't
able to make a test case that would reproduce this crash, we do check m_currentItem for null
everywhere else, and the crash log indicates that this would fix the crash.
* loader/HistoryController.cpp:
(WebCore::HistoryController::recursiveUpdateForCommit):
2011-10-25 Adam Barth <abarth@webkit.org>
EventTarget.h shouldn't need to know about every feature and ifdef
https://bugs.webkit.org/show_bug.cgi?id=70659
Reviewed by Darin Adler.
This patch follows the approach of Event.h and introduces an
interfaceName virtual function that returns the name of the DOM
interface for the concrete type of the object. This function lets us
remove a large number of fake dynamic casts.
* CMakeLists.txt:
* CodeGenerators.pri:
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.gyp/WebCore.gyp:
* WebCore.gyp/scripts/action_makenames.py:
- Teach action_makenames how to handle the new "in" file.
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSEventTarget.cpp:
(WebCore::toJS):
- Use the new autogenerated macro to remove a large amount of
feature-specific code.
* bindings/js/WorkerScriptController.cpp:
(WebCore::WorkerScriptController::initScript):
* bindings/objc/DOM.mm:
(kit):
- The SVGElementInstance branch was never taken previously because
SVGElementInstance::toNode returns a non-NULL value. This code
was introduced in http://trac.webkit.org/changeset/42618 and
doesn't appear to have ever worked as the author intended.
* bindings/v8/V8DOMWrapper.cpp:
(WebCore::V8DOMWrapper::convertEventTargetToV8Object):
- Use the new autogenerated macro to remove a large amount of
feature-specific code.
* dom/EventNames.cpp:
(WebCore::EventNames::EventNames):
* dom/EventNames.h:
* dom/EventTarget.cpp:
* dom/EventTarget.h:
* dom/EventTargetFactory.in: Added.
- Add a new "in" file that lists all the EventTargets.
* dom/LocalMediaStream.cpp:
(WebCore::LocalMediaStream::interfaceName):
* dom/LocalMediaStream.h:
* dom/MediaStream.cpp:
(WebCore::MediaStream::interfaceName):
* dom/MediaStream.h:
* dom/MessagePort.cpp:
(WebCore::MessagePort::interfaceName):
* dom/MessagePort.h:
* dom/Node.cpp:
(WebCore::Node::toNode):
(WebCore::Node::interfaceName):
* dom/Node.h:
* dom/make_event_factory.pl:
- Generalize make_event_factory.pl to be able to generate
interfaces for different namespaces.
* fileapi/FileReader.cpp:
(WebCore::FileReader::interfaceName):
* fileapi/FileReader.h:
* fileapi/FileWriter.cpp:
(WebCore::FileWriter::interfaceName):
* fileapi/FileWriter.h:
* loader/appcache/DOMApplicationCache.cpp:
(WebCore::DOMApplicationCache::interfaceName):
* loader/appcache/DOMApplicationCache.h:
* notifications/Notification.cpp:
(WebCore::Notification::interfaceName):
* notifications/Notification.h:
(WebCore::Notification::scriptExecutionContext):
* p2p/PeerConnection.cpp:
(WebCore::PeerConnection::interfaceName):
* p2p/PeerConnection.h:
* page/DOMWindow.cpp:
(WebCore::DOMWindow::interfaceName):
(WebCore::DOMWindow::toDOMWindow):
* page/DOMWindow.h:
* page/EventSource.cpp:
(WebCore::EventSource::interfaceName):
* page/EventSource.h:
* storage/IDBDatabase.cpp:
(WebCore::IDBDatabase::interfaceName):
* storage/IDBDatabase.h:
* storage/IDBRequest.cpp:
(WebCore::IDBRequest::interfaceName):
* storage/IDBRequest.h:
* storage/IDBTransaction.cpp:
(WebCore::IDBTransaction::interfaceName):
* storage/IDBTransaction.h:
* storage/IDBVersionChangeRequest.cpp:
(WebCore::IDBVersionChangeRequest::interfaceName):
* storage/IDBVersionChangeRequest.h:
* svg/SVGElementInstance.cpp:
(WebCore::SVGElementInstance::interfaceName):
* svg/SVGElementInstance.h:
(WebCore::SVGElementInstance::toNode):
* webaudio/AudioContext.cpp:
(WebCore::AudioContext::interfaceName):
(WebCore::AudioContext::scriptExecutionContext):
* webaudio/AudioContext.h:
* webaudio/JavaScriptAudioNode.cpp:
(WebCore::JavaScriptAudioNode::interfaceName):
* webaudio/JavaScriptAudioNode.h:
* websockets/WebSocket.cpp:
(WebCore::WebSocket::interfaceName):
* websockets/WebSocket.h:
* workers/DedicatedWorkerContext.cpp:
(WebCore::DedicatedWorkerContext::interfaceName):
* workers/DedicatedWorkerContext.h:
* workers/DefaultSharedWorkerRepository.cpp:
(WebCore::SharedWorkerConnectTask::performTask):
* workers/SharedWorker.cpp:
(WebCore::SharedWorker::interfaceName):
* workers/SharedWorker.h:
* workers/SharedWorkerContext.cpp:
(WebCore::SharedWorkerContext::interfaceName):
* workers/SharedWorkerContext.h:
* workers/Worker.cpp:
(WebCore::Worker::interfaceName):
* workers/Worker.h:
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::interfaceName):
* xml/XMLHttpRequest.h:
* xml/XMLHttpRequestUpload.cpp:
(WebCore::XMLHttpRequestUpload::interfaceName):
* xml/XMLHttpRequestUpload.h:
2011-10-25 Pavel Podivilov <podivilov@chromium.org>
Fix several minor problems in idls.
https://bugs.webkit.org/show_bug.cgi?id=70811
Reviewed by Adam Barth.
This patch does not have any effect on generated bindings.
* dom/DataTransferItems.idl:
* page/History.idl:
* storage/IDBIndex.idl:
* xml/XMLHttpRequest.idl:
2011-10-25 Nate Chapin <japhet@chromium.org>
Make DocumentThreadableLoader a CachedResourceClient.
This will allow us to cache ThreadableLoaderClients as
appropriate in a later patch.
https://bugs.webkit.org/show_bug.cgi?id=61225
Reviewed by Antti Koivisto.
No new tests, no functionality change intended.
* WebCore.gypi:
* loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::notifyFinished): CachedResourceClients don't send separate callbacks
for didFail() and didFinishLoading(), so we need to differentiate here.
(WebCore::DocumentThreadableLoader::loadRequest): Call CachedResourceLoader::requestRawResource()
instead of ResourceLoadScheduler::scheduleSubresourceLoad().
* loader/DocumentThreadableLoader.h:
* loader/cache/CachedRawResource.cpp:
(WebCore::CachedRawResource::data): Handle the complexity of some ThreadableLoaderClients setting
DoNotBufferData in ResoureLoaderOptions. If the DataBufferingPolicy is BufferData, then the
'data' input parameter will contain all data received so far, and we need to determine the
incremental data to forward to the clients. If the policy is DoNotBufferData, 'data' is just
the incremental data.
* loader/cache/CachedRawResource.h:
* loader/cache/CachedResource.cpp:
* loader/cache/CachedResource.h:
(WebCore::CachedResource::preloadResult):
(WebCore::CachedResource::didSendData):
(WebCore::CachedResource::didDownloadData):
(WebCore::CachedResource::setLoadFinishTime):
(WebCore::CachedResource::loadFinishTime):
* loader/cache/CachedResourceClient.h: Add several new callbacks needed by DocumentThreadableLoader.
* loader/cache/CachedResourceRequest.cpp:
(WebCore::CachedResourceRequest::didReceiveResponse): CachedResource::setResponse() can now cancel
the request, so protect appropriately.
* loader/cache/CachedResourceRequest.h:
* loader/chromium/CachedRawResourceChromium.cpp: Added (plumb didDownloadData() to DocumentThreadableLoader).
* loader/chromium/CachedResourceRequestChromium.cpp: Added (plumb didDownloadData() to DocumentThreadableLoader).
* loader/chromium/DocumentThreadableLoaderChromium.cpp:
* platform/network/BlobResourceHandle.cpp:
(WebCore::BlobResourceHandle::notifyResponse): Protect before setting response, since it might kill us.
2011-10-25 Pavel Podivilov <podivilov@chromium.org>
Get rid of optional parameters in the middle in IDLs.
https://bugs.webkit.org/show_bug.cgi?id=70816
Reviewed by Adam Barth.
Optional parameters in the middle are prohibited by WebIDL spec.
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
(GenerateImplementation):
* bindings/scripts/CodeGeneratorV8.pm:
(GenerateHeader):
(GenerateArgumentsCountCheck):
(GenerateImplementation):
* html/canvas/CanvasRenderingContext2D.idl:
* page/DOMWindow.idl:
2011-10-25 Chris Evans <cevans@google.com>
Manage the CSS property array length correctly
https://bugs.webkit.org/show_bug.cgi?id=70783
Reviewed by Adam Barth.
* css/CSSParser.cpp:
(WebCore::CSSParser::addProperty): don't allow max length to get out of sync with the buffer.
2011-10-25 Tony Chang <tony@chromium.org>
avoid unnecessary layouts of flex items during the flex pass
https://bugs.webkit.org/show_bug.cgi?id=70557
Reviewed by Ojan Vafai.
If the preferred size of a flex item is provided, we don't need to
layout the flex item when computing the preferred size. This allows
us to only call layout on each flex item once in the common case.
No new tests, covered by existing tests.
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::flowAwareLogicalWidthLengthForChild):
(WebCore::RenderFlexibleBox::preferredLogicalContentWidthForFlexItem):
(WebCore::RenderFlexibleBox::computePreferredLogicalWidth):
(WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection):
* rendering/RenderFlexibleBox.h:
2011-10-25 Fady Samuel <fsamuel@chromium.org>
Crash in WebCore::RenderTableSection::addChild due to assert failure
https://bugs.webkit.org/show_bug.cgi?id=70678
Reviewed by David Hyatt.
Tests: fast/table/table-anonymous-cell-bug.html
fast/table/table-anonymous-row-bug.html
fast/table/table-anonymous-section-bug.html
If the child being added is not a Section/Row/Cell, and the previous sibling is not anonymous,
we need to create a new anonymous Section/Row/Cell respectively, instead of failing an
assert.
* rendering/RenderTable.cpp:
(WebCore::RenderTable::addChild):
* rendering/RenderTableRow.cpp:
(WebCore::RenderTableRow::addChild):
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::addChild):
2011-10-25 Mark Hahnenberg <mhahnenberg@apple.com>
Add getOwnPropertySlot to MethodTable
https://bugs.webkit.org/show_bug.cgi?id=69807
Reviewed by Oliver Hunt.
No new tests.
* bridge/runtime_method.h: Changed getOwnPropertySlot to be protected so
subclasses can reference it in their MethodTables.
2011-10-25 Simon Fraser <simon.fraser@apple.com>
REGRESSION (r88580): Cursor fails to change to pointer on embedded Google maps popups
https://bugs.webkit.org/show_bug.cgi?id=62797
Reviewed by Chris Marrin.
When hit testing through transformed layers, RenderLayer would simply use
the composited bounds of the layer as the localHitTestRect for hit testing sublayers.
However, this broke hit testing on pages that have a composited, non-transformed layer
which falls outside the bounds of its parent, composited-transformed layer, like Google
Maps.
Fix by mapping the hitTestRect through transforms. However this is tricky, because
mapping a rect into the coordinate system of a layer can result in invalid rectangles
when point projection results in a negative w component. Fix TransformationMatrix::projectPoint()
to detect this case and replace X and Y with large values, and add boundsOfProjectedQuad(), which
maps rectangles with possibly-infinite location or bounds into rects which are representable
in an IntRect.
Tests: transforms/3d/hit-testing/composited-hit-test.html
transforms/3d/hit-testing/rotated-hit-test-with-child.html
transforms/3d/hit-testing/rotated-hit-test2.html
* platform/graphics/transforms/TransformationMatrix.cpp:
(WebCore::TransformationMatrix::projectPoint):
(WebCore::TransformationMatrix::projectQuad):
(WebCore::clampEdgeValue):
(WebCore::TransformationMatrix::boundsOfProjectedQuad):
* platform/graphics/transforms/TransformationMatrix.h:
* rendering/HitTestingTransformState.cpp:
(WebCore::HitTestingTransformState::boundsOfMappedQuad):
* rendering/HitTestingTransformState.h:
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::hitTestLayer):
2011-10-25 Adrienne Walker <enne@google.com>
[chromium] Batch up texture uploads so that they can be updated incrementally
https://bugs.webkit.org/show_bug.cgi?id=70454
Reviewed by James Robinson.
Because texture uploads can sometimes take more than a frame to
complete, collect all the uploads that need to occur in a
CCTextureUpdater so that we can easily incrementally upload some of
them, interleaving input and drawing so that the compositor thread
continues to appear responsive during a commit.
This change doesn't actually interleave the commits, it just pushes
the infrastructure for doing so up to the CCProxy level so that a
future scheduler can make this decision.
VideoLayerChromium is the only layer type to not use this system. It
needs to be converted to use a texture updater first and it is less of
a priority than the tiled layers.
* WebCore.gypi:
* platform/graphics/chromium/Canvas2DLayerChromium.cpp:
(WebCore::Canvas2DLayerChromium::updateCompositorResources):
* platform/graphics/chromium/Canvas2DLayerChromium.h:
* platform/graphics/chromium/LayerChromium.h:
(WebCore::LayerChromium::updateCompositorResources):
* platform/graphics/chromium/TiledLayerChromium.cpp:
(WebCore::TiledLayerChromium::updateCompositorResources):
* platform/graphics/chromium/TiledLayerChromium.h:
* platform/graphics/chromium/VideoLayerChromium.cpp:
(WebCore::VideoLayerChromium::updateCompositorResources):
* platform/graphics/chromium/VideoLayerChromium.h:
* platform/graphics/chromium/WebGLLayerChromium.cpp:
(WebCore::WebGLLayerChromium::updateCompositorResources):
* platform/graphics/chromium/WebGLLayerChromium.h:
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::beginCommitOnImplThread):
(WebCore::CCLayerTreeHost::finishCommitOnImplThread):
(WebCore::CCLayerTreeHost::updateCompositorResources):
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
* platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
(WebCore::CCSingleThreadProxy::setNeedsCommit):
(WebCore::CCSingleThreadProxy::doCommit):
(WebCore::CCSingleThreadProxy::commitIfNeeded):
* platform/graphics/chromium/cc/CCSingleThreadProxy.h:
* platform/graphics/chromium/cc/CCTextureUpdater.cpp: Added.
(WebCore::CCTextureUpdater::CCTextureUpdater):
(WebCore::CCTextureUpdater::~CCTextureUpdater):
(WebCore::CCTextureUpdater::append):
(WebCore::CCTextureUpdater::update):
(WebCore::CCTextureUpdater::clear):
* platform/graphics/chromium/cc/CCTextureUpdater.h: Added.
(WebCore::CCTextureUpdater::allocator):
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::commitOnImplThread):
2011-10-24 Jer Noble <jer.noble@apple.com>
compositing/video tests time out on Lion
https://bugs.webkit.org/show_bug.cgi?id=70448
Reviewed by Simon Fraser.
AVFoundation will not begin loading or decoding media until a consumer for that media is present.
For video-only media, this means that an AVPlayerLayer must be created and attached to the
AVPlayer before the load state will ever reach "canPlayThrough". Once the metadata for a media
is loaded, create a AVPlayerLayer if the media has a video track.
* platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
(WebCore::MediaPlayerPrivateAVFoundation::updateStates):
2011-10-24 Ryosuke Niwa <rniwa@webkit.org>
Merge endOfLine with logicalEndOfLine and startOfLine with logicalStartOfLine
https://bugs.webkit.org/show_bug.cgi?id=70755
Reviewed by Chang Shu.
Merged endOfLine with logicalEndOfLine, and startOfLine with logicalStartOfLine
to reduce the code duplication.
* editing/visible_units.cpp:
(WebCore::startPositionForLine):
(WebCore::startOfLine):
(WebCore::logicalStartOfLine):
(WebCore::endPositionForLine):
(WebCore::inSameLogicalLine):
(WebCore::endOfLine):
(WebCore::logicalEndOfLine):
* editing/visible_units.h:
2011-10-25 Arko Saha <arko@motorola.com>
Microdata: itemtype attribute should be space-separated list to allow multiple types.
https://bugs.webkit.org/show_bug.cgi?id=70501
Reviewed by Ryosuke Niwa.
Tests: fast/dom/MicroData/getitems-multiple-itemtypes.html
fast/dom/MicroData/itemtype-add-remove-tokens.html
fast/dom/MicroData/itemtype-attribute-test.html
* dom/MicroDataItemList.cpp:
(WebCore::MicroDataItemList::nodeMatches):
* html/DOMSettableTokenList.h:
(WebCore::DOMSettableTokenList::tokens):
* html/HTMLElement.cpp:
(WebCore::HTMLElement::parseMappedAttribute):
(WebCore::HTMLElement::setItemValueText):
(WebCore::HTMLElement::itemType):
(WebCore::HTMLElement::setItemType):
* html/HTMLElement.h:
* html/HTMLElement.idl:
2011-10-25 Dan Bernstein <mitz@apple.com>
<rdar://problem/10337033> DOMRangeOfString:relativeTo:options has problems with -webkit-user-select: none
Reviewed by Adam Roben.
Test: added to TestWebKitAPI/Tests/mac/DOMRangeOfString.mm
* page/Page.cpp:
(WebCore::Page::rangeOfString): This function was incorrectly adding the StartInSelection option to
the initial search.
2011-10-25 Yury Semikhatsky <yurys@chromium.org>
Web Inspector: redesign workers sidebar pane
https://bugs.webkit.org/show_bug.cgi?id=70815
Changed workers sidebar pane design.
Now there is a link to worker inspector for each dedicated worker created
by inspected page. The sidebar display a link to a page with list of all
shared workers if there one is supported by the WebKit port. Also there
is a checkbox that allows pause all new workers on first statements.
Reviewed by Pavel Feldman.
* inspector/front-end/Settings.js:
* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules):
* inspector/front-end/WorkerManager.js:
(WebInspector.WorkerManager.prototype.openWorkerInspector):
(WebInspector.WorkerManager.prototype._workerInspectorClosing):
* inspector/front-end/WorkersSidebarPane.js:
(WebInspector.WorkerListSidebarPane):
(WebInspector.WorkerListSidebarPane.prototype._workerRemoved):
(WebInspector.WorkerListSidebarPane.prototype._workersCleared):
(WebInspector.WorkerListSidebarPane.prototype._addWorker):
(WebInspector.WorkerListSidebarPane.prototype._workerItemClicked):
(WebInspector.WorkerListSidebarPane.prototype._autoattachToWorkersClicked):
(WebInspector.WorkerListSidebarPane.prototype._createSharedWorkersLink.link.onclick):
(WebInspector.WorkerListSidebarPane.prototype._createSharedWorkersLink):
* inspector/front-end/elementsPanel.css:
* inspector/front-end/inspectorCommon.css:
(.sidebar-separator):
(.sidebar-label):
* inspector/front-end/scriptsPanel.css:
(.dedicated-worker-item):
(#shared-workers-list):
(#pause-workers-checkbox > input):
2011-10-25 Nico Weber <thakis@chromium.org>
[chromium/mac] Fix an ODR violation.
https://bugs.webkit.org/show_bug.cgi?id=70753
Reviewed by Anders Carlsson.
Both ScrollAnimatorNone and ScrollAnimatorMac define ScrollAnimator::create() on OS X.
Remove the unused one.
* WebCore.gyp/WebCore.gyp:
2011-10-25 Vsevolod Vlasov <vsevik@chromium.org>
Web Inspector: Debugger fails when there is an invalid watch expression.
https://bugs.webkit.org/show_bug.cgi?id=70718
Reviewed by Pavel Feldman.
Test: inspector/debugger/watch-expressions-panel-switch.html
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
2011-10-24 Pavel Podivilov <podivilov@chromium.org>
Web Inspector: fix empty line handling in source maps.
https://bugs.webkit.org/show_bug.cgi?id=70726
Reviewed by Yury Semikhatsky.
* inspector/front-end/CompilerSourceMapping.js:
(WebInspector.ClosureCompilerSourceMapping.prototype._parseMappings):
2011-10-25 Justin Schuh <jschuh@chromium.org>
Check for empty string in parseArcFlag
https://bugs.webkit.org/show_bug.cgi?id=70763
Reviewed by Dirk Schulze.
Test: svg/path-invalid.html
* svg/SVGParserUtilities.cpp:
(WebCore::parseArcFlag):
2011-10-24 Pavel Podivilov <podivilov@chromium.org>
Web Inspector: keep old source mapping when new one could not be loaded.
https://bugs.webkit.org/show_bug.cgi?id=70729
Reviewed by Yury Semikhatsky.
* inspector/front-end/RawSourceCode.js:
(WebInspector.RawSourceCode.prototype._updateSourceMapping.didCreateSourceMapping):
(WebInspector.RawSourceCode.prototype._updateSourceMapping):
(WebInspector.RawSourceCode.prototype._createSourceMapping.didLoadSourceMapping):
2011-10-25 Sachin Puranik <sachin.puranik@motorola.com>
Double number step=.5 should be considered valid in <input type="number" step=".5">
https://bugs.webkit.org/show_bug.cgi?id=70320
Reviewed by Kent Tamura.
Test: fast/forms/input-step-as-double.html
* html/parser/HTMLParserIdioms.cpp:
(WebCore::parseToDoubleForNumberType): Changed the function to consider
step as valid even if it starts with "."
2011-10-25 Alexander Pavlov <apavlov@chromium.org>
Web Inspector: [Chromium] Audits panel context menu for links not working properly
https://bugs.webkit.org/show_bug.cgi?id=70813
Reviewed by Pavel Feldman.
* inspector/front-end/AuditResultView.js:
(WebInspector.AuditResultView):
(WebInspector.AuditResultView.prototype._contextMenuEventFired):
2011-10-25 Vsevolod Vlasov <vsevik@chromium.org>
Web Inspector: Resources panel: display the current search match index in the toolbar.
https://bugs.webkit.org/show_bug.cgi?id=66050
Reviewed by Pavel Feldman.
Test: http/tests/inspector/search/resources-search-match-index.html
* inspector/front-end/ResourcesPanel.js:
(WebInspector.ResourcesPanel.prototype.performSearch.callback):
(WebInspector.ResourcesPanel.prototype.performSearch):
(WebInspector.ResourcesPanel.prototype._showSearchResult.callback):
(WebInspector.ResourcesPanel.prototype._showSearchResult):
(WebInspector.BaseStorageTreeElement.prototype.get searchMatchesCount):
(WebInspector.ResourcesSearchController):
(WebInspector.ResourcesSearchController.prototype.nextSearchResult):
(WebInspector.ResourcesSearchController.prototype.previousSearchResult):
(WebInspector.ResourcesSearchController.prototype._searchResult):
(WebInspector.SearchResultsTreeElementsTraverser.prototype.next):
(WebInspector.SearchResultsTreeElementsTraverser.prototype.previous):
(WebInspector.SearchResultsTreeElementsTraverser.prototype.matchIndex):
(WebInspector.SearchResultsTreeElementsTraverser.prototype._elementSearchMatchesCount):
(WebInspector.SearchResultsTreeElementsTraverser.prototype._traverseNext):
(WebInspector.SearchResultsTreeElementsTraverser.prototype._traversePrevious):
* inspector/front-end/treeoutline.js:
2011-10-25 Andrey Kosyakov <caseq@chromium.org>
Web Inspector: JS exception in JavaScriptSourceFrame.onShowPopover/showObjectPopover()
https://bugs.webkit.org/show_bug.cgi?id=70812
Reviewed by Pavel Feldman.
Check if highlighted element is present while displaying object popover.
* inspector/front-end/JavaScriptSourceFrame.js:
(WebInspector.JavaScriptSourceFrame.prototype.onShowPopover.showObjectPopover):
(WebInspector.JavaScriptSourceFrame.prototype.onShowPopover):
2011-10-21 Nat Duca <nduca@chromium.org>
[chromium] Route Console::time and Console::timeEnd to trace_event
https://bugs.webkit.org/show_bug.cgi?id=70620
Reviewed by Pavel Feldman.
* page/Console.cpp:
(WebCore::Console::time):
(WebCore::Console::timeEnd):
2011-10-21 Andrey Kosyakov <caseq@chromium.org>
Web Inspector: [Extensions API] allow extensions to specify script to be injected on reload
https://bugs.webkit.org/show_bug.cgi?id=70600
Reviewed by Pavel Feldman.
- change webInspector.inspectedPage.reload() to accept multiple options in an object
- add an ability to inject a script upon a page reload
- return script id in addScriptToEvaluateOnLoad()
- provide removeScriptToEvaluateOnLoad()
- store scripts to evaluate on load in inspector state cookie
Test: inspector/extensions/extensions-reload.html
* inspector/Inspector.json:
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::InspectorPageAgent):
(WebCore::InspectorPageAgent::restore):
(WebCore::InspectorPageAgent::addScriptToEvaluateOnLoad):
(WebCore::InspectorPageAgent::removeScriptToEvaluateOnLoad):
(WebCore::InspectorPageAgent::removeAllScriptsToEvaluateOnLoad):
(WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
(WebCore::InspectorPageAgent::frameNavigated):
* inspector/InspectorPageAgent.h:
* inspector/front-end/ExtensionAPI.js:
(injectedExtensionAPI.InspectedWindow.prototype.reload):
* inspector/front-end/ExtensionServer.js:
(WebInspector.ExtensionServer.prototype._onReload):
* inspector/front-end/WorkersSidebarPane.js:
(WebInspector.WorkersSidebarPane.prototype.setInstrumentation.callback):
(WebInspector.WorkersSidebarPane.prototype.setInstrumentation):
2011-10-24 Pavel Feldman <pfeldman@google.com>
Web Inspector: print expired message count before remaining messages.
https://bugs.webkit.org/show_bug.cgi?id=70736
Reviewed by Yury Semikhatsky.
* inspector/Inspector-0.1.json:
* inspector/Inspector.json:
* inspector/InspectorConsoleAgent.cpp:
(WebCore::InspectorConsoleAgent::enable):
(WebCore::InspectorConsoleAgent::restore):
* inspector/InspectorConsoleAgent.h:
* inspector/front-end/ConsoleModel.js:
2011-10-25 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r98309.
http://trac.webkit.org/changeset/98309
https://bugs.webkit.org/show_bug.cgi?id=70801
Test fails on mac (Requested by benwells on #webkit).
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::fill):
(WebCore::CanvasRenderingContext2D::fillRect):
(WebCore::CanvasRenderingContext2D::drawImage):
(WebCore::CanvasRenderingContext2D::shouldDisplayTransparencyElsewhere):
(WebCore::CanvasRenderingContext2D::fillAndDisplayTransparencyElsewhere):
* html/canvas/CanvasRenderingContext2D.h:
2011-10-24 Geoffrey Garen <ggaren@apple.com>
Chromium build fix: #include window.h for HANDLE.
* platform/graphics/opentype/OpenTypeUtilities.h:
2011-10-24 Ryosuke Niwa <rniwa@webkit.org>
Include ThreadSafeRefCounted.h since the class declared in this header file
inherits from ThreadSafeRefCounted.
* storage/IDBIndexBackendInterface.h:
2011-10-24 Ryosuke Niwa <rniwa@webkit.org>
Fix a typo.
* bindings/v8/JavaScriptCallFrame.h:
2011-10-24 Geoffrey Garen <ggaren@apple.com>
Removed SharedUChar and tightened language around its previous uses
https://bugs.webkit.org/show_bug.cgi?id=70698
Reviewed by David Levin.
- Renamed "threadSafeCopy" and "crossThreadCopy" to "isolatedCopy" because
the former names gave the dangerous misimpression that the resulting object
was thread-safe, which is not true.
- Updated a bunch of files for header dependency changes, now that
CrossThreadRefCounted is gone.
* ForwardingHeaders/wtf/CrossThreadRefCounted.h: Removed.
* WebCore.exp.in:
* bindings/js/ScriptHeapSnapshot.h:
* bindings/v8/SerializedScriptValue.cpp:
(WebCore::SerializedScriptValue::release):
(WebCore::SerializedScriptValue::SerializedScriptValue):
* css/CSSPropertySourceData.h:
* css/CSSValue.h:
* css/StyleMedia.h:
* css/WebKitCSSMatrix.h:
* dom/QualifiedName.h:
* fileapi/LocalFileSystem.h:
(WebCore::LocalFileSystem::SystemBasePath::operator String):
* history/CachedFrame.h:
* history/CachedPage.h:
* history/HistoryItem.h:
* html/canvas/CanvasStyle.h:
* inspector/InspectorResourceAgent.h:
* loader/FormState.h:
* loader/TextResourceDecoder.h:
* loader/WorkerThreadableLoader.cpp:
(WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
* loader/icon/IconDatabase.cpp:
(WebCore::IconDatabase::open):
(WebCore::IconDatabase::synchronousIconForPageURL):
(WebCore::IconDatabase::synchronousIconURLForPageURL):
(WebCore::IconDatabase::retainIconForPageURL):
(WebCore::IconDatabase::releaseIconForPageURL):
(WebCore::IconDatabase::setIconDataForIconURL):
(WebCore::IconDatabase::setIconURLForPageURL):
(WebCore::IconDatabase::databasePath):
(WebCore::IconDatabase::defaultDatabaseFilename):
(WebCore::ImportedIconURLForPageURLWorkItem::ImportedIconURLForPageURLWorkItem):
(WebCore::ImportedIconDataForPageURLWorkItem::ImportedIconDataForPageURLWorkItem):
* page/ContentSecurityPolicy.h:
* page/Coordinates.h:
(WebCore::Coordinates::isolatedCopy):
* page/Geoposition.h:
(WebCore::Geoposition::isolatedCopy):
* page/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::SecurityOrigin):
(WebCore::SecurityOrigin::isolatedCopy):
* page/SecurityOrigin.h:
* page/animation/AnimationBase.h:
* platform/CrossThreadCopier.cpp:
(WebCore::::copy):
* platform/FileChooser.h:
* platform/KURL.cpp:
(WebCore::KURL::copy):
* platform/cf/SchedulePair.h:
* platform/network/BlobData.cpp:
(WebCore::BlobDataItem::detachFromCurrentThread):
(WebCore::BlobData::detachFromCurrentThread):
* platform/network/HTTPHeaderMap.cpp:
(WebCore::HTTPHeaderMap::copyData):
* platform/network/MIMEHeader.h:
* platform/network/ResourceErrorBase.cpp:
(WebCore::ResourceErrorBase::copy):
* platform/network/ResourceLoadInfo.h:
* platform/network/ResourceRequestBase.cpp:
(WebCore::ResourceRequestBase::copyData):
* platform/network/ResourceResponseBase.cpp:
(WebCore::ResourceResponseBase::copyData):
* platform/sql/SQLValue.cpp:
(WebCore::SQLValue::SQLValue):
(WebCore::SQLValue::string):
* rendering/style/QuotesData.h:
* storage/AbstractDatabase.cpp:
(WebCore::updateGuidVersionMap):
(WebCore::AbstractDatabase::AbstractDatabase):
(WebCore::AbstractDatabase::performOpenAndVerify):
(WebCore::AbstractDatabase::stringIdentifier):
(WebCore::AbstractDatabase::displayName):
(WebCore::AbstractDatabase::fileName):
(WebCore::AbstractDatabase::setExpectedVersion):
(WebCore::AbstractDatabase::getCachedVersion):
* storage/ChangeVersionWrapper.cpp:
(WebCore::ChangeVersionWrapper::ChangeVersionWrapper):
* storage/Database.cpp:
(WebCore::Database::Database):
(WebCore::Database::tableNames):
* storage/DatabaseDetails.h:
* storage/DatabaseTracker.cpp:
(WebCore::DatabaseTracker::setDatabaseDirectoryPath):
(WebCore::DatabaseTracker::databaseDirectoryPath):
(WebCore::DatabaseTracker::trackerDatabasePath):
(WebCore::DatabaseTracker::canEstablishDatabase):
(WebCore::DatabaseTracker::originPath):
(WebCore::DatabaseTracker::fullPathForDatabase):
(WebCore::DatabaseTracker::populateOrigins):
(WebCore::DatabaseTracker::databaseNamesForOrigin):
(WebCore::DatabaseTracker::addOpenDatabase):
(WebCore::DatabaseTracker::setQuota):
(WebCore::DatabaseTracker::recordCreatingDatabase):
(WebCore::DatabaseTracker::recordDeletingDatabase):
(WebCore::DatabaseTracker::recordDeletingOrigin):
(WebCore::DatabaseTracker::scheduleNotifyDatabaseChanged):
* storage/OriginQuotaManager.cpp:
(WebCore::OriginQuotaManager::trackOrigin):
(WebCore::OriginQuotaManager::addDatabase):
* storage/SQLError.h:
(WebCore::SQLError::message):
(WebCore::SQLError::SQLError):
* storage/SQLResultSetRowList.h:
* storage/SQLStatement.cpp:
(WebCore::SQLStatement::SQLStatement):
* storage/StorageAreaSync.cpp:
(WebCore::StorageAreaSync::StorageAreaSync):
(WebCore::StorageAreaSync::syncTimerFired):
* storage/StorageAreaSync.h:
* storage/StorageMap.cpp:
(WebCore::StorageMap::importItem):
* storage/StorageNamespaceImpl.cpp:
(WebCore::StorageNamespaceImpl::StorageNamespaceImpl):
* storage/StorageSyncManager.cpp:
(WebCore::StorageSyncManager::StorageSyncManager):
* storage/StorageTracker.cpp:
(WebCore::StorageTracker::StorageTracker):
(WebCore::StorageTracker::syncImportOriginIdentifiers):
(WebCore::StorageTracker::syncFileSystemAndTrackerDatabase):
(WebCore::StorageTracker::setOriginDetails):
(WebCore::StorageTracker::willDeleteAllOrigins):
* svg/SVGPathSeg.h:
* workers/DefaultSharedWorkerRepository.cpp:
(WebCore::SharedWorkerProxy::url):
(WebCore::SharedWorkerProxy::name):
(WebCore::SharedWorkerProxy::SharedWorkerProxy):
(WebCore::DefaultSharedWorkerRepository::getProxy):
* workers/SharedWorkerThread.cpp:
(WebCore::SharedWorkerThread::SharedWorkerThread):
* workers/WorkerMessagingProxy.cpp:
(WebCore::WorkerExceptionTask::WorkerExceptionTask):
(WebCore::PostMessageToPageInspectorTask::PostMessageToPageInspectorTask):
* workers/WorkerRunLoop.cpp:
(WebCore::WorkerRunLoop::postTaskForMode):
(WebCore::WorkerRunLoop::Task::Task):
* workers/WorkerThread.cpp:
(WebCore::WorkerThreadStartupData::WorkerThreadStartupData):
2011-10-24 Adam Barth <abarth@webkit.org>
Remove empty directory.
* p2p: Removed.
2011-10-24 Shawn Singh <shawnsingh@chromium.org>
[chromium] Refactor painting/updating/drawing code.
https://bugs.webkit.org/show_bug.cgi?id=70057
Reviewed by James Robinson.
This refactoring separates the "early exits" from the actual loop
that draws layers. As part of this, it was also appropriate to
clean up the way that masks and replicas are dealt with when
painting and updating. The purpose of all this is to make things
easier to test, and for a scissoring optimization that needs to
know exatly what gets drawn. Existing layout tests were able to
verify the refactoring did not change behavior.
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::drawLayersOntoRenderSurfaces):
(WebCore::LayerRendererChromium::drawLayersInternal):
(WebCore::LayerRendererChromium::drawLayer):
* platform/graphics/chromium/LayerRendererChromium.h:
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
(WebCore::CCLayerTreeHost::paintLayerContents):
(WebCore::CCLayerTreeHost::updateCompositorResources):
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
* platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
(WebCore::layerShouldBeAppended):
(WebCore::calculateDrawTransformsAndVisibilityInternal):
* platform/graphics/chromium/cc/CCLayerTreeHostCommon.h:
(WebCore::CCLayerTreeHostCommon::calculateVisibleLayerRect):
2011-10-24 Luke Macpherson <macpherson@chromium.org>
REGRESSION(80893): HTML5 spec takes 2s longer to load due to time spent in CSSStyleSelector
https://bugs.webkit.org/show_bug.cgi?id=68944
Reviewed by Antti Koivisto.
No new tests / Covered by existing tests.
Removes all virtual dispatch from CSSStyleApplyProperty by converting to use static function pointers for dispatch.
Uses class templates instead of function templates to allow default parameters and also to share parameter declarations across static functions.
All constructor parameters become template parameters. This improves the level of compiler optimization that can be achieved.
Overall this achieved a ~2% overall speedup on run-safari PerformanceTests/Parser/html5-full-render.html,
and profiling showed a reduction in the time spent inside CSSStyleSelector::applyProperty().
* css/CSSStyleApplyProperty.cpp:
(WebCore::ApplyPropertyExpanding::applyInheritValue):
(WebCore::ApplyPropertyExpanding::applyInitialValue):
(WebCore::ApplyPropertyExpanding::applyValue):
(WebCore::ApplyPropertyExpanding::createHandler):
(WebCore::ApplyPropertyDefaultBase::setValue):
(WebCore::ApplyPropertyDefaultBase::value):
(WebCore::ApplyPropertyDefaultBase::initial):
(WebCore::ApplyPropertyDefaultBase::applyInheritValue):
(WebCore::ApplyPropertyDefaultBase::applyInitialValue):
(WebCore::ApplyPropertyDefaultBase::applyValue):
(WebCore::ApplyPropertyDefaultBase::createHandler):
(WebCore::ApplyPropertyDefault::setValue):
(WebCore::ApplyPropertyDefault::applyValue):
(WebCore::ApplyPropertyDefault::createHandler):
(WebCore::ApplyPropertyStyleImage::applyValue):
(WebCore::ApplyPropertyStyleImage::createHandler):
(WebCore::ApplyPropertyAuto::setValue):
(WebCore::ApplyPropertyAuto::value):
(WebCore::ApplyPropertyAuto::hasAuto):
(WebCore::ApplyPropertyAuto::setAuto):
(WebCore::ApplyPropertyAuto::applyInheritValue):
(WebCore::ApplyPropertyAuto::applyInitialValue):
(WebCore::ApplyPropertyAuto::applyValue):
(WebCore::ApplyPropertyAuto::createHandler):
(WebCore::defaultInitialColor):
(WebCore::ApplyPropertyColor::applyInheritValue):
(WebCore::ApplyPropertyColor::applyInitialValue):
(WebCore::ApplyPropertyColor::applyValue):
(WebCore::ApplyPropertyColor::createHandler):
(WebCore::ApplyPropertyDirection::applyValue):
(WebCore::ApplyPropertyDirection::createHandler):
(WebCore::ApplyPropertyLength::setValue):
(WebCore::ApplyPropertyLength::applyValue):
(WebCore::ApplyPropertyLength::createHandler):
(WebCore::ApplyPropertyString::setValue):
(WebCore::ApplyPropertyString::applyValue):
(WebCore::ApplyPropertyString::createHandler):
(WebCore::ApplyPropertyBorderRadius::setValue):
(WebCore::ApplyPropertyBorderRadius::applyValue):
(WebCore::ApplyPropertyBorderRadius::createHandler):
(WebCore::ApplyPropertyFillLayer::applyInheritValue):
(WebCore::ApplyPropertyFillLayer::applyInitialValue):
(WebCore::ApplyPropertyFillLayer::applyValue):
(WebCore::ApplyPropertyFillLayer::createHandler):
(WebCore::ApplyPropertyComputeLength::setValue):
(WebCore::ApplyPropertyComputeLength::applyValue):
(WebCore::ApplyPropertyComputeLength::createHandler):
(WebCore::ApplyPropertyFont::applyInheritValue):
(WebCore::ApplyPropertyFont::applyInitialValue):
(WebCore::ApplyPropertyFont::applyValue):
(WebCore::ApplyPropertyFont::createHandler):
(WebCore::ApplyPropertyFontWeight::applyValue):
(WebCore::ApplyPropertyFontWeight::createHandler):
(WebCore::ApplyPropertyCounter::emptyFunction):
(WebCore::ApplyPropertyCounter::applyValue):
(WebCore::ApplyPropertyCounter::createHandler):
(WebCore::ApplyPropertyCursor::applyInheritValue):
(WebCore::ApplyPropertyCursor::applyInitialValue):
(WebCore::ApplyPropertyCursor::applyValue):
(WebCore::ApplyPropertyCursor::createHandler):
(WebCore::ApplyPropertyTextEmphasisStyle::applyInheritValue):
(WebCore::ApplyPropertyTextEmphasisStyle::applyInitialValue):
(WebCore::ApplyPropertyTextEmphasisStyle::applyValue):
(WebCore::ApplyPropertyTextEmphasisStyle::createHandler):
(WebCore::ApplyPropertyAnimation::setValue):
(WebCore::ApplyPropertyAnimation::value):
(WebCore::ApplyPropertyAnimation::test):
(WebCore::ApplyPropertyAnimation::clear):
(WebCore::ApplyPropertyAnimation::initial):
(WebCore::ApplyPropertyAnimation::map):
(WebCore::ApplyPropertyAnimation::accessAnimations):
(WebCore::ApplyPropertyAnimation::animations):
(WebCore::ApplyPropertyAnimation::applyInheritValue):
(WebCore::ApplyPropertyAnimation::applyInitialValue):
(WebCore::ApplyPropertyAnimation::applyValue):
(WebCore::ApplyPropertyAnimation::createHandler):
(WebCore::ApplyPropertyOutlineStyle::applyInheritValue):
(WebCore::ApplyPropertyOutlineStyle::applyInitialValue):
(WebCore::ApplyPropertyOutlineStyle::applyValue):
(WebCore::ApplyPropertyOutlineStyle::createHandler):
(WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
* css/CSSStyleApplyProperty.h:
(WebCore::PropertyHandler::PropertyHandler):
(WebCore::PropertyHandler::applyInheritValue):
(WebCore::PropertyHandler::applyInitialValue):
(WebCore::PropertyHandler::applyValue):
(WebCore::PropertyHandler::isValid):
(WebCore::PropertyHandler::inheritFunction):
(WebCore::PropertyHandler::initialFunction):
(WebCore::PropertyHandler::applyFunction):
(WebCore::CSSStyleApplyProperty::propertyHandler):
(WebCore::CSSStyleApplyProperty::setPropertyHandler):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
* rendering/style/RenderStyle.h:
(WebCore::InheritedFlags::invalidColor):
2011-10-24 Ben Wells <benwells@chromium.org>
Canvas drawImage with SourceIn, DestinationIn, SourceOut, DestinationAtop and Copy have errors
https://bugs.webkit.org/show_bug.cgi?id=66920
Reviewed by James Robinson.
Test: fast/canvas/canvas-composite-image.html
Use the same method as fills to handle composited drawImage calls that will affect the whole
canvas. To do this code used when doing fills has been factored into seperate functions and
used by drawImage. Some functions used to do these types of operations have also been renamed.
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::isFullCanvasCompositeMode):
(WebCore::CanvasRenderingContext2D::fill):
(WebCore::CanvasRenderingContext2D::fillRect):
(WebCore::CanvasRenderingContext2D::drawImage):
(WebCore::CanvasRenderingContext2D::calculateCompositingBufferRect):
(WebCore::CanvasRenderingContext2D::createCompositingBuffer):
(WebCore::CanvasRenderingContext2D::compositeBuffer):
(WebCore::CanvasRenderingContext2D::fullCanvasCompositedDrawImage):
(WebCore::CanvasRenderingContext2D::fullCanvasCompositedFill):
* html/canvas/CanvasRenderingContext2D.h:
2011-10-24 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r98294 and r98306.
http://trac.webkit.org/changeset/98294
http://trac.webkit.org/changeset/98306
https://bugs.webkit.org/show_bug.cgi?id=70790
the first patch broke chromium-mac and the second gclient
(Requested by jchaffraix on #webkit).
* WebCore.gyp/WebCore.gyp:
2011-10-24 Ryosuke Niwa <rniwa@webkit.org>
Build fix after r98300.
* WebCore.gypi:
* WebCore.pro:
2011-10-24 Anders Carlsson <andersca@apple.com>
It should be possible for Widget subclasses to control whether transforms affect the frame rect
https://bugs.webkit.org/show_bug.cgi?id=70787
Reviewed by Sam Weinig.
Currently RenderWidget sets the frame rect of it's hosted widget to the bounding box of the transformed
content box rect (unless the Widget is a frame view). It should be possible for Widget subclasses to override
this behavior and have the frame rect set to the absolute content box without any transforms applied.
* platform/Widget.h:
(WebCore::Widget::transformsAffectFrameRect):
Add new member function.
* rendering/RenderWidget.cpp:
(WebCore::RenderWidget::updateWidgetGeometry):
Move shared code from setWidget and updateWidgetPosition out into a new function. If transformsAffectFrameRect returns
false, just set the frame rect to the absolute content box.
(WebCore::RenderWidget::setWidget):
(WebCore::RenderWidget::updateWidgetPosition):
Call updateWidgetGeometry.
* rendering/RenderWidget.h:
2011-10-24 Arko Saha <arko@motorola.com>
Microdata: Add itemprop, itemref, itemvalue attributes.
https://bugs.webkit.org/show_bug.cgi?id=69839
Reviewed by Ryosuke Niwa.
Tests: fast/dom/MicroData/itemprop-add-remove-tokens.html
fast/dom/MicroData/itemprop-for-an-element-must-be-correct.html
fast/dom/MicroData/itemprop-must-be-read-only.html
fast/dom/MicroData/itemprop-reflected-by-itemProp-property.html
fast/dom/MicroData/itemref-add-remove-tokens.html
fast/dom/MicroData/itemref-attribute-reflected-by-itemRef-property.html
fast/dom/MicroData/itemref-for-an-element-must-be-correct.html
fast/dom/MicroData/itemref-must-be-read-only.html
fast/dom/MicroData/itemvalue-reflects-data-attr-on-object-element.html
fast/dom/MicroData/itemvalue-reflects-href-attr.html
fast/dom/MicroData/itemvalue-reflects-src-attribute-on-img-element.html
fast/dom/MicroData/itemvalue-reflects-the-content-attr-on-meta-element.html
fast/dom/MicroData/itemvalue-reflects-the-src-attr.html
fast/dom/MicroData/itemvalue-returns-element-itself.html
fast/dom/MicroData/itemvalue-returns-null.html
fast/dom/MicroData/itemvalue-throws-excpetion-onsetting-001.html
fast/dom/MicroData/itemvalue-throws-excpetion-onsetting-002.html
* CMakeLists.txt:
* GNUmakefile.list.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* bindings/js/JSHTMLElementCustom.cpp:
(WebCore::toJS):
(WebCore::JSHTMLElement::itemValue):
(WebCore::JSHTMLElement::setItemValue):
* bindings/v8/custom/V8HTMLElementCustom.cpp:
(WebCore::toV8Object):
(WebCore::V8HTMLElement::itemValueAccessorGetter):
(WebCore::V8HTMLElement::itemValueAccessorSetter):
* dom/MicroDataItemList.cpp:
* html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::itemValueText):
(WebCore::HTMLAnchorElement::setItemValueText):
* html/HTMLAnchorElement.h:
* html/HTMLAreaElement.cpp:
(WebCore::HTMLAreaElement::itemValueText):
(WebCore::HTMLAreaElement::setItemValueText):
* html/HTMLAreaElement.h:
* html/HTMLAttributeNames.in:
* html/HTMLElement.cpp:
(WebCore::HTMLElement::parseMappedAttribute):
(WebCore::HTMLElement::itemProp): Returns element's itemprop content attribute.
(WebCore::HTMLElement::setItemProp): Sets itemprop value on changing elemet's
itemprop attribute.
(WebCore::HTMLElement::itemRef): Returns element's itemref content attribute.
(WebCore::HTMLElement::setItemRef): Sets itemref value on changing elemet's
itemref attribute.
(WebCore::HTMLElement::setItemValue): Sets element's itemvalue. If the element has no
itemprop attribute or if element has an itemscope attribute, it throws INVALID_ACCESS_ERR
exception.
(WebCore::HTMLElement::itemValue): Returns the elements itemvalue.
If the element has no itemprop attribute it returns null.
If the element has an itemscope attribute, it returns the element itself.
If the element is a meta element: It acts as it would if it was reflecting the element's
content content attribute.
If the element is an audio, embed, iframe, img, source, track, or video element: It acts
as it would if it was reflecting the element's src content attribute.
If the element is an a, area, or link element: It act as it would if it was reflecting the
href content attribute.
If the element is an object element: It acts as it would if it was reflecting the element's
data content attribute.
(WebCore::HTMLElement::itemValueText):
(WebCore::HTMLElement::setItemValueText):
* html/HTMLElement.h:
* html/HTMLElement.idl:
* html/HTMLEmbedElement.cpp:
(WebCore::HTMLEmbedElement::itemValueText):
(WebCore::HTMLEmbedElement::setItemValueText):
* html/HTMLEmbedElement.h:
* html/HTMLIFrameElement.cpp:
(WebCore::HTMLIFrameElement::itemValueText):
(WebCore::HTMLIFrameElement::setItemValueText):
* html/HTMLIFrameElement.h:
* html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::itemValueText):
(WebCore::HTMLImageElement::setItemValueText):
* html/HTMLImageElement.h:
* html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::itemValueText):
(WebCore::HTMLLinkElement::setItemValueText):
* html/HTMLLinkElement.h:
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::itemValueText):
(WebCore::HTMLMediaElement::setItemValueText):
* html/HTMLMediaElement.h:
* html/HTMLMetaElement.cpp:
(WebCore::HTMLMetaElement::itemValueText):
(WebCore::HTMLMetaElement::setItemValueText):
* html/HTMLMetaElement.h:
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::itemValueText):
(WebCore::HTMLObjectElement::setItemValueText):
* html/HTMLObjectElement.h:
* html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::itemValueText):
(WebCore::HTMLSourceElement::setItemValueText):
* html/HTMLSourceElement.h:
* html/HTMLTrackElement.cpp:
(WebCore::HTMLTrackElement::itemValueText):
(WebCore::HTMLTrackElement::setItemValueText):
* html/HTMLTrackElement.h:
* html/MicroDataItemValue.cpp: Added.
(WebCore::MicroDataItemValue::MicroDataItemValue):
(WebCore::MicroDataItemValue::createFromString):
(WebCore::MicroDataItemValue::createFromNode):
* html/MicroDataItemValue.h: Added.
(WebCore::MicroDataItemValue::isNode):
(WebCore::MicroDataItemValue::getNode):
(WebCore::MicroDataItemValue::getString):
2011-10-24 Joseph Pecoraro <joepeck@webkit.org>
Remove unused instance variable
https://bugs.webkit.org/show_bug.cgi?id=70750
Reviewed by Dimitri Glazkov.
* rendering/RenderTextControl.h:
2011-10-24 Nico Weber <thakis@chromium.org>
[chromium/mac] Fix an ODR violation.
https://bugs.webkit.org/show_bug.cgi?id=70753
Reviewed by Anders Carlsson.
Both ScrollAnimatorNone and ScrollAnimatorMac define ScrollAnimator::create() on OS X.
Remove the unused one.
* WebCore.gyp/WebCore.gyp:
2011-10-24 Tim Horton <timothy_horton@apple.com>
feColorMatrix doesn't use the correct default "matrix" type when no type attribute is specified
https://bugs.webkit.org/show_bug.cgi?id=70035
<rdar://problem/10280177>
Reviewed by Nikolas Zimmermann.
Make feColorMatrix's type attribute be "matrix" by default.
Test: svg/filters/feColorMatrix-default-type.svg
* svg/SVGFEColorMatrixElement.cpp:
(WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement):
2011-10-24 Joshua Bell <jsbell@chromium.org>
Unbreak binding generation tests
https://bugs.webkit.org/show_bug.cgi?id=70768
Reviewed by Darin Adler.
Update the expected output of V8 binding tests to match
results c/o https://bugs.webkit.org/show_bug.cgi?id=70065
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::TestObjInternal::idbKeyCallback):
2011-10-21 Nat Duca <nduca@chromium.org>
[chromium] Add isTraceEventEnabled to PlatformSupport.
https://bugs.webkit.org/show_bug.cgi?id=70618
Reviewed by Darin Fisher.
* platform/chromium/PlatformSupport.h:
2011-10-24 Mihnea Ovidenie <mihnea@adobe.com>
Use StringBuilder in CSSRuleList::rulesText()/CSSSelectorList::selectorsText()
https://bugs.webkit.org/show_bug.cgi?id=70746
Reviewed by Tony Chang.
Covered by existing tests.
* css/CSSRuleList.cpp:
(WebCore::CSSRuleList::rulesText):
* css/CSSSelectorList.cpp:
(WebCore::CSSSelectorList::selectorsText):
* css/WebKitCSSKeyframesRule.cpp:
(WebCore::WebKitCSSKeyframesRule::cssText): Use CSSRuleList::rulesText() method instead of explicit loop.
2011-10-24 Michael Saboff <msaboff@apple.com>
WebKit doesn't build with recent changes to libdispatch
https://bugs.webkit.org/show_bug.cgi?id=70737
Added initialization for new WebKitSystemInterface function
CreateVMPressureDispatchOnMainQueue. Changed MemoryPressureHandler::install
to use new function.
Reviewed by Geoffrey Garen.
No new tests. Moved functionality to WebKitSystemInterface.
* WebCore.exp.in:
* platform/mac/MemoryPressureHandlerMac.mm:
(WebCore::MemoryPressureHandler::install):
* platform/mac/WebCoreSystemInterface.h:
* platform/mac/WebCoreSystemInterface.mm:
2011-10-24 Joshua Bell <jsbell@chromium.org>
IndexedDB: Throw DATA_ERR on invalid keys, remove null key support
https://bugs.webkit.org/show_bug.cgi?id=70065
Reviewed by Tony Chang.
Part 1 of a two-sided commit. Renames IDBKey::NullType to
IDBKey::InvalidType. JS binding yields this type rather
than throwing immediately so the correct exception type can
be raised. Checks for invalid keys added to front-end classes.
* bindings/js/JSIDBKeyCustom.cpp:
(WebCore::toJS):
* bindings/scripts/CodeGeneratorV8.pm:
(TypeCanFailConversion):
* bindings/v8/IDBBindingUtilities.cpp:
(WebCore::createIDBKeyFromValue):
* bindings/v8/custom/V8IDBKeyCustom.cpp:
(WebCore::toV8):
* storage/IDBCursor.cpp:
(WebCore::IDBCursor::continueFunction):
* storage/IDBFactory.cpp:
(WebCore::IDBFactory::cmp):
* storage/IDBIndex.cpp:
(WebCore::IDBIndex::get):
(WebCore::IDBIndex::getKey):
* storage/IDBKey.cpp:
(WebCore::IDBKey::IDBKey):
(WebCore::IDBKey::compare):
* storage/IDBKey.h:
(WebCore::IDBKey::createInvalid):
* storage/IDBKeyRange.cpp:
(WebCore::IDBKeyRange::only):
(WebCore::IDBKeyRange::lowerBound):
(WebCore::IDBKeyRange::upperBound):
(WebCore::IDBKeyRange::bound):
* storage/IDBKeyRange.h:
(WebCore::IDBKeyRange::lowerBound):
(WebCore::IDBKeyRange::upperBound):
(WebCore::IDBKeyRange::bound):
* storage/IDBKeyRange.idl:
* storage/IDBLevelDBCoding.cpp:
(WebCore::IDBLevelDBCoding::encodeIDBKey):
(WebCore::IDBLevelDBCoding::decodeIDBKey):
* storage/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::get):
(WebCore::IDBObjectStore::add):
(WebCore::IDBObjectStore::put):
(WebCore::IDBObjectStore::deleteFunction):
* storage/IDBObjectStoreBackendImpl.cpp:
(WebCore::IDBObjectStoreBackendImpl::put):
(WebCore::IDBObjectStoreBackendImpl::putInternal):
(WebCore::IDBObjectStoreBackendImpl::deleteFunction):
* storage/IDBSQLiteBackingStore.cpp:
(WebCore::whereSyntaxForKey):
(WebCore::bindKeyToQuery):
(WebCore::lowerCursorWhereFragment):
(WebCore::upperCursorWhereFragment):
(WebCore::bindKeyToQueryWithNulls):
(WebCore::keyFromQuery):
2011-10-24 Alok Priyadarshi <alokp@chromium.org>
[chromium] Make accelerated drawing work with threaded compositing
https://bugs.webkit.org/show_bug.cgi?id=70656
Reviewed by James Robinson.
Make sure that the compositor context is not used outside LayerTextureUpdater::updateTextureRect().
Created a FrameBuffer class that wraps skia gpu canvas and manages GL resources.
* platform/graphics/chromium/ContentLayerChromium.cpp:
(WebCore::ContentLayerChromium::createTextureUpdater):
* platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
(WebCore::FrameBuffer::FrameBuffer::FrameBuffer):
(WebCore::FrameBuffer::FrameBuffer::~FrameBuffer):
(WebCore::FrameBuffer::FrameBuffer::initialize):
(WebCore::LayerTextureUpdaterSkPicture::LayerTextureUpdaterSkPicture):
(WebCore::LayerTextureUpdaterSkPicture::~LayerTextureUpdaterSkPicture):
(WebCore::LayerTextureUpdaterSkPicture::prepareToUpdate):
(WebCore::LayerTextureUpdaterSkPicture::updateTextureRect):
* platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::initialize):
2011-10-24 Adam Klein <adamk@chromium.org>
Optimize Node::isInShadowTree to execute in constant-time
https://bugs.webkit.org/show_bug.cgi?id=67686
Reviewed by Dimitri Glazkov.
No expected change in behavior, so no new tests.
* dom/Node.cpp:
(WebCore::Node::isInShadowTree):
2011-10-24 Nat Duca <nduca@chromium.org>
[chromium] Expose WebThread::postDelayedTask to CCThread
https://bugs.webkit.org/show_bug.cgi?id=70712
Reviewed by James Robinson.
* platform/graphics/chromium/cc/CCThread.h:
2011-10-24 Levi Weintraub <leviw@chromium.org>
<svg> fails to use explicit width and height inside <html> inside IFRAME
https://bugs.webkit.org/show_bug.cgi?id=64823
Reviewed by Nikolas Zimmermann.
Checking that embedded SVG is in an SVG document before negotiating size
with the host document.
Test: svg/as-object/svg-embedded-in-html-in-iframe.html
* rendering/svg/RenderSVGRoot.cpp:
(WebCore::isEmbeddedThroughFrameContainingSVGDocument):
(WebCore::RenderSVGRoot::computeReplacedLogicalWidth):
(WebCore::RenderSVGRoot::computeReplacedLogicalHeight):
2011-10-24 Rafael Weinstein <rafaelw@chromium.org>
Node::registeredMutationObserversOfType should be prefixed by "get"
https://bugs.webkit.org/show_bug.cgi?id=70359
Reviewed by Ojan Vafai.
This change renames Node::registeredMutationObserversOfType to
Node::getRegisteredMutationObserversOfType per the WebKit style guide.
No tests needed as the change is only method renaming.
* dom/CharacterData.cpp:
(WebCore::CharacterData::dispatchModifiedEvent):
* dom/ChildListMutationScope.cpp:
(WebCore::MutationAccumulationRouter::MutationAccumulationRouter::incrementScopingLevel):
* dom/Element.cpp:
(WebCore::enqueueAttributesMutationRecord):
* dom/Node.cpp:
(WebCore::Node::getRegisteredMutationObserversOfType):
* dom/Node.h:
2011-10-24 Mark Hahnenberg <mhahnenberg@apple.com>
Rename static getOwnPropertySlot to getOwnPropertySlotByIndex
https://bugs.webkit.org/show_bug.cgi?id=70271
Reviewed by Darin Adler.
No new tests.
Renaming versions of getOwnPropertySlot that use an unsigned as the property
name to "getOwnPropertySlotByIndex" in preparation for adding them to the
MethodTable, which requires unique names for each method.
* bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneSerializer::getSparseIndex):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
(GenerateImplementation):
* bridge/runtime_array.cpp:
(JSC::RuntimeArray::getOwnPropertySlotVirtual):
(JSC::RuntimeArray::getOwnPropertySlotByIndex):
* bridge/runtime_array.h:
2011-10-24 Joshua Bell <jsbell@chromium.org>
IndexedDB add should fail adding an inline and passed key simultaneously
https://bugs.webkit.org/show_bug.cgi?id=58598
Reviewed by Tony Chang.
Test: storage/indexeddb/mozilla/key-requirements-inline-and-passed.html
Implement the spec clause: passing a key into add() or put() when
the object store has a key path ("inline key") is an error.
* storage/IDBObjectStoreBackendImpl.cpp:
(WebCore::IDBObjectStoreBackendImpl::put):
2011-10-24 Simon Fraser <simon.fraser@apple.com>
Improve debug compositing border colors
https://bugs.webkit.org/show_bug.cgi?id=70742
Reviewed by Dean Jackson.
Improve the appearance of the debug borders used to indicate compositing:
1. Use green for normal layers, orange for tiled layers
2. Make the repaint counter translucent
3. Change the color of the repaint counter to show when accelerated drawing is enabled.
* platform/graphics/GraphicsLayer.cpp:
(WebCore::GraphicsLayer::updateDebugIndicators):
* platform/graphics/mac/WebLayer.mm:
(drawLayerContents):
2011-10-24 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Fix make distcheck build
https://bugs.webkit.org/show_bug.cgi?id=69745
Reviewed by Martin Robinson.
* GNUmakefile.am:
* GNUmakefile.list.am:
2011-10-24 Alexander Pavlov <apavlov@chromium.org>
Web Inspector: [Styles] Adding a new style rule breaks things
https://bugs.webkit.org/show_bug.cgi?id=70721
Reviewed by Pavel Feldman.
We had used to swap BlankStylePropertiesSection prototype and recently got rid of this hack,
but still had dependencies on the old behavior.
* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylesSidebarPane.prototype._refreshStyleRules):
(WebInspector.ComputedStylePropertiesSection.prototype.rebuildComputedTrace):
(WebInspector.BlankStylePropertiesSection.prototype.get isBlank):
(WebInspector.BlankStylePropertiesSection.prototype.expand):
(WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted.successCallback):
(WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted):
(WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCancelled):
(WebInspector.BlankStylePropertiesSection.prototype.makeNormal):
2011-10-24 Pavel Feldman <pfeldman@google.com>
Web Inspector: do not force document loading on reload (should happen on demand).
https://bugs.webkit.org/show_bug.cgi?id=70724
Reviewed by Yury Semikhatsky.
* inspector/front-end/ConsoleMessage.js:
(WebInspector.ConsoleMessageImpl.prototype._formatParameterAsNode):
* inspector/front-end/DOMAgent.js:
(WebInspector.DOMAgent.prototype._documentUpdated):
* inspector/front-end/ElementsPanel.js:
(WebInspector.ElementsPanel.prototype.wasShown):
* inspector/front-end/ElementsTreeOutline.js:
(WebInspector.ElementsTreeOutline.prototype.setVisible):
2011-10-24 Eric Carlson <eric.carlson@apple.com>
Drop MutableTextTrack and make TextTrack always mutable
https://bugs.webkit.org/show_bug.cgi?id=62890
The MutableTextTrack type was removed from the spec, all text tracks are now mutable.
Reviewed by Sam Weinig.
No new tests needed, the changes just refactor existing code.
* CMakeLists.txt: Remove all traces of MutableTextTrack.
* CodeGenerators.pri: Ditto.
* DerivedSources.cpp: Ditto.
* DerivedSources.make: Ditto.
* GNUmakefile.list.am: Ditto.
* WebCore.gypi: Ditto.
* WebCore.pro: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* bindings/gobject/GNUmakefile.am: Ditto.
* bindings/gobject/WebKitHTMLElementWrapperFactory.cpp: Ditto.
* bindings/js/JSBindingsAllInOne.cpp: Ditto.
* bindings/js/JSTextTrackCustom.cpp: Removed.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::addTrack): Return a TextTrack instead of a MutableTextTrack.
* html/HTMLMediaElement.h:
* html/HTMLMediaElement.idl:
* html/LoadableTextTrack.cpp:
(WebCore::LoadableTextTrack::LoadableTextTrack): Return a TextTrack instead of a MutableTextTrack.
* html/MutableTextTrack.cpp: Removed.
* html/MutableTextTrack.h: Removed.
* html/MutableTextTrack.idl: Removed.
* html/TextTrack.cpp:
(WebCore::TextTrack::TextTrack): Remove Type parameter.
(WebCore::TextTrack::addCue): New, moved from MutableTextTrack.
(WebCore::TextTrack::removeCue): Ditto.
(WebCore::TextTrack::newCuesLoaded): Ditto.
(WebCore::TextTrack::fetchNewestCues): Ditto.
* html/TextTrack.h:
(WebCore::TextTrack::create): Remove Type parameter
* html/TextTrack.idl: Add addCue and removeCue.
2011-10-24 Yury Semikhatsky <yurys@chromium.org>
Web Inspector: allow debugging dedicated worker initialization
https://bugs.webkit.org/show_bug.cgi?id=70723
Now it is possible to pause each new dedicated worker on start. The user
needs to select a checkbox and then each newly created dedicated worker
will be paused on the first statement until the user resumes it explicitely.
Reviewed by Pavel Feldman.
* inspector/Inspector.json: resume command is added. It is similar to GDB's run
command, i.e. worker execution will be paused until explicit "resume" command is
received.
* inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::shouldPauseDedicatedWorkerOnStartImpl):
* inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::shouldPauseDedicatedWorkerOnStart):
* inspector/InspectorRuntimeAgent.cpp:
(WebCore::InspectorRuntimeAgent::resume):
(WebCore::InspectorRuntimeAgent::pauseWorkerContext):
* inspector/InspectorRuntimeAgent.h:
* inspector/InspectorWorkerAgent.cpp:
(WebCore::InspectorWorkerAgent::shouldPauseDedicatedWorkerOnStart): returns true
if the user chose to automatically pause all new workers.
* inspector/InspectorWorkerAgent.h:
* inspector/WorkerInspectorController.cpp:
(WebCore::WorkerInspectorController::resume):
* inspector/front-end/WorkerManager.js:
(WebInspector.WorkerManager.loaded):
(WebInspector.WorkerManager.loadCompleted):
(WebInspector.WorkerManager.prototype._workerCreated):
(WebInspector.WorkerManager.prototype.openWorkerInspector):
(WebInspector.WorkerManager.prototype._openInspectorWindow):
* inspector/front-end/inspector.js:
(WebInspector.loaded):
* workers/Worker.cpp:
(WebCore::Worker::notifyFinished):
* workers/WorkerContextProxy.h:
* workers/WorkerMessagingProxy.cpp:
(WebCore::WorkerMessagingProxy::startWorkerContext): additional flag specifying
worker initial state(paused/not paused) is added to the factory method. The flag
will be carried to the corresponding WorkerThread.
(WebCore::WorkerMessagingProxy::connectToInspector):
* workers/WorkerMessagingProxy.h:
2011-10-21 Nikita Vasilyev <me@elv1s.ru>
Web Inspector: Make indent configurable
https://bugs.webkit.org/show_bug.cgi?id=69986
Add a setting to choose an indent from "8 spaces", "4 spaces" (default), "2 spaces", or "Tab character".
Reviewed by Pavel Feldman.
* English.lproj/localizedStrings.js:
* inspector/front-end/SettingsScreen.js:
(WebInspector.SettingsScreen):
(WebInspector.SettingsScreen.prototype._createSelectSetting.get p):
(WebInspector.SettingsScreen.prototype._createSelectSetting.changeListener):
* inspector/front-end/TextEditorModel.js:
(WebInspector.TextEditorModel):
* inspector/front-end/TextViewer.js:
2011-10-17 Andrey Kosyakov <caseq@chromium.org>
Web Inspector: add "Add to Watch" option to context menu on selection in source frame
https://bugs.webkit.org/show_bug.cgi?id=69924
Reviewed by Pavel Feldman.
- added 'Add to Watch' context menu item in scripts panel;
- include both default and custom items into a context menu if selection is present;
* inspector/front-end/ScriptsPanel.js:
(WebInspector.SourceFrameDelegateForScriptsPanel.prototype.suggestedFileName):
(WebInspector.SourceFrameDelegateForScriptsPanel.prototype.addToWatch):
* inspector/front-end/SourceFrame.js:
(WebInspector.SourceFrame.prototype.populateSelectionContextMenu):
(WebInspector.TextViewerDelegateForSourceFrame.prototype.populateSelectionContextMenu):
(WebInspector.SourceFrameDelegate.prototype.suggestedFileName):
(WebInspector.SourceFrameDelegate.prototype.addToWatch):
* inspector/front-end/TextViewer.js:
(WebInspector.TextViewer.prototype._contextMenu):
(WebInspector.TextViewerDelegate.prototype.populateSelectionContextMenu):
* inspector/front-end/WatchExpressionsSidebarPane.js:
(WebInspector.WatchExpressionsSidebarPane.prototype.addExpression):
(WebInspector.WatchExpressionsSidebarPane.prototype._addButtonClicked):
(WebInspector.WatchExpressionsSection.prototype.addExpression):
(WebInspector.WatchExpressionsSection.prototype.addNewExpressionAndEdit):
* page/ContextMenuController.cpp:
(WebCore::ContextMenuController::showContextMenu):
2011-10-21 Alexander Pavlov <apavlov@chromium.org>
Web Inspector: Audits hang on pages without img[src] elements
https://bugs.webkit.org/show_bug.cgi?id=70604
Reviewed by Pavel Feldman.
Test: inspector/audits/audits-panel-noimages-functional.html
* inspector/front-end/AuditRules.js:
(WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.getStyles):
2011-10-24 Deepak Sherveghar <bpwv64@motorola.com>
[Qt] fast/events/media-focus-in-standalone-media-document.html fails
https://bugs.webkit.org/show_bug.cgi?id=70110
Reviewed by Simon Hausmann.
ExtensionMap should also include media files mapping.
* platform/qt/MIMETypeRegistryQt.cpp: Added media files mapping.
2011-10-24 Pavel Feldman <pfeldman@google.com>
Not reviewed: [chromium] follow up to 98228 - added missing css.
* WebCore.gypi:
2011-10-24 Pavel Feldman <pfeldman@chromium.org>
Web Inspector: Make CSS files load upon View demand; split inspector.css into views.
https://bugs.webkit.org/show_bug.cgi?id=70694
Reviewed by Yury Semikhatsky.
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/front-end/AuditsPanel.js:
(WebInspector.AuditsPanel):
* inspector/front-end/DataGrid.js:
(WebInspector.DataGrid):
* inspector/front-end/ElementsPanel.js:
* inspector/front-end/NetworkPanel.js:
(WebInspector.NetworkLogView):
* inspector/front-end/PanelEnablerView.js:
* inspector/front-end/ProfilesPanel.js:
* inspector/front-end/ResourceView.js:
(WebInspector.ResourceView):
* inspector/front-end/ResourcesPanel.js:
* inspector/front-end/ScriptsPanel.js:
* inspector/front-end/TextViewer.js:
* inspector/front-end/TimelinePanel.js:
(WebInspector.TimelinePanel):
* inspector/front-end/WebKit.qrc:
* inspector/front-end/WelcomeView.js:
(WebInspector.WelcomeView):
* inspector/front-end/auditsPanel.css: Renamed from Source/WebCore/inspector/front-end/audits.css.
2011-10-24 Pavel Feldman <pfeldman@chromium.org>
Web Inspector: make view load CSS files upon show.
https://bugs.webkit.org/show_bug.cgi?id=70696
Reviewed by Yury Semikhatsky.
Test: inspector/view-css.html
* inspector/front-end/View.js:
(WebInspector.View):
(WebInspector.View.prototype._callOnVisibleChildren):
(WebInspector.View.prototype._processWillShow):
(WebInspector.View.prototype._processWasShown):
(WebInspector.View.prototype._processWillHide):
(WebInspector.View.prototype._processWasHidden):
(WebInspector.View.prototype._processOnResize):
(WebInspector.View.prototype.show):
(WebInspector.View.prototype.detach):
(WebInspector.View.prototype.registerRequiredCSS):
(WebInspector.View.prototype._loadCSSIfNeeded):
(WebInspector.View.prototype._doLoadCSS):
(WebInspector.View.prototype._disableCSSIfNeeded):
(WebInspector.View.prototype._doUnloadCSS):
2011-10-24 Pavel Feldman <pfeldman@chromium.org>
Web Inspector: make DataGrid a view
https://bugs.webkit.org/show_bug.cgi?id=70695
Reviewed by Yury Semikhatsky.
* inspector/front-end/ApplicationCacheItemsView.js:
(WebInspector.ApplicationCacheItemsView.prototype._createDataGrid):
* inspector/front-end/CookieItemsView.js:
(WebInspector.CookieItemsView.prototype._updateWithCookies):
(WebInspector.SimpleCookiesTable):
(WebInspector.SimpleCookiesTable.prototype.setCookies):
* inspector/front-end/CookiesTable.js:
(WebInspector.CookiesTable):
* inspector/front-end/DOMStorageItemsView.js:
(WebInspector.DOMStorageItemsView.prototype._showDOMStorageEntries):
* inspector/front-end/DataGrid.js:
(WebInspector.DataGrid):
(WebInspector.DataGrid.prototype.onResize):
* inspector/front-end/DatabaseQueryView.js:
(WebInspector.DatabaseQueryView.prototype._queryFinished):
(WebInspector.DatabaseQueryView.prototype._queryError):
(WebInspector.DatabaseQueryView.prototype._appendViewQueryResult):
(WebInspector.DatabaseQueryView.prototype._appendErrorQueryResult):
(WebInspector.DatabaseQueryView.prototype._appendQueryResult):
* inspector/front-end/DatabaseTableView.js:
(WebInspector.DatabaseTableView.prototype._queryFinished):
* inspector/front-end/DetailedHeapshotView.js:
(WebInspector.DetailedHeapshotView.prototype.wasShown.profileCallback2):
(WebInspector.DetailedHeapshotView.prototype.wasShown):
(WebInspector.DetailedHeapshotView.prototype.onResize):
* inspector/front-end/NetworkPanel.js:
(WebInspector.NetworkLogView.prototype.onResize):
(WebInspector.NetworkLogView.prototype._createTable):
* inspector/front-end/ProfileView.js:
* inspector/front-end/ResourceCookiesView.js:
(WebInspector.ResourceCookiesView.prototype._buildCookiesTable):
* inspector/front-end/ResourceView.js:
(WebInspector.ResourceView):
2011-10-24 Yosifumi Inoue <yosin@chromium.org>
[Forms] Setting defaultValue should hide an input placeholder.
https://bugs.webkit.org/show_bug.cgi?id=70586
Reviewed by Kent Tamura.
Tests: fast/forms/placeholder-and-default-value-expected.html
fast/forms/placeholder-and-default-value.html
When input element has default value, we should not display
placeholder. Changing default value should tell rendering engine about
changing display of input element.
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::parseMappedAttribute): Calls updatePlaceholderVisibility for valueAttr if it doesn't have dirty value.
2011-10-23 Darin Adler <darin@apple.com>
Eliminate OptionElement (second and final part)
https://bugs.webkit.org/show_bug.cgi?id=70710
Reviewed by Kent Tamura.
* CMakeLists.txt: Removed OptionElement.h and OptionElement.cpp.
* GNUmakefile.list.am: Ditto.
* WebCore.gypi: Ditto.
* WebCore.pro: Ditto.
* WebCore.vcproj/WebCore.vcproj: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* dom/DOMAllInOne.cpp: Ditto.
* dom/OptionElement.cpp: Removed.
* dom/OptionElement.h: Removed.
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::saveLastSelection): Eliminate use of the
toOptionElement function. Use hasTagName and toHTMLOptionElement instead.
(WebCore::HTMLSelectElement::setActiveSelectionAnchorIndex): Ditto.
(WebCore::HTMLSelectElement::updateListBoxSelection): Ditto.
(WebCore::HTMLSelectElement::listBoxOnChange): Ditto.
(WebCore::HTMLSelectElement::recalcListItems): Ditto.
(WebCore::HTMLSelectElement::selectedIndex): Ditto.
(WebCore::HTMLSelectElement::setSelectedIndex): Ditto.
(WebCore::HTMLSelectElement::deselectItemsWithoutValidation): Ditto.
(WebCore::HTMLSelectElement::saveFormControlState): Ditto.
(WebCore::HTMLSelectElement::restoreFormControlState): Ditto.
(WebCore::HTMLSelectElement::appendFormData): Ditto.
(WebCore::HTMLSelectElement::reset): Ditto.
(WebCore::HTMLSelectElement::updateSelectedState): Ditto.
(WebCore::HTMLSelectElement::lastSelectedListIndex): Ditto.
(WebCore::HTMLSelectElement::typeAheadFind): Ditto.
(WebCore::HTMLSelectElement::accessKeySetSelectedIndex): Ditto.
* html/HTMLSelectElement.h: Changed the argument type of the
deselectItemsWithoutValidation function to HTMLElement* since that's
the type of an item in our items vector now.
2011-10-23 Yuzo Fujishima <yuzo@google.com>
[chromium] Attempt to fix compilation error for Chromium OS.
Unreviewed.
* mediastream/MediaStreamTrack.cpp:
(WebCore::MediaStreamTrack::kind):
2011-10-23 Adam Barth <abarth@webkit.org>
<img crossorigin> should fail to load when CORS check fails
https://bugs.webkit.org/show_bug.cgi?id=69732
Reviewed by Darin Adler.
When loading an image with the crossorigin attribute, the spec says
that we're not supposed to load the image if the CORS check fails.
This "fails fast" behavior is intended to help developers understand
whether they've configured CORS correctly (instead of only catching the
error later when trying to read back the canvas).
Our new behavior matches the spec and Firefox.
Test: http/tests/security/img-with-failed-cors-check-fails-to-load.html
* loader/ImageLoader.cpp:
(WebCore::ImageLoader::notifyFinished):
2011-10-23 Noel Gordon <noel.gordon@gmail.com>
[chromium] Remove GeolocationServiceGtk.{h,cpp} from the gyp projects
https://bugs.webkit.org/show_bug.cgi?id=70702
Reviewed by Kent Tamura.
platform/gtk/GeolocationServiceGtk.{h,cpp} were removed in r97746, so
remove references to these files from the gyp files.
* WebCore.gypi:
2011-10-23 Andreas Kling <kling@webkit.org>
Move StyleSheet::addSubresourceStyleURLs() to CSSStyleSheet.
https://bugs.webkit.org/show_bug.cgi?id=70690
Reviewed by Antti Koivisto.
This method isn't part of the StyleSheet DOM interface, nor is it used by
XSLStyleSheet, so move it down to CSSStyleSheet and make it non-virtual.
Also remove some nearby unneeded casts from CSSStyleSheet* to StyleSheet*.
* css/CSSStyleSheet.h:
* css/StyleSheet.h:
* html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::isLoading):
(WebCore::HTMLLinkElement::addSubresourceAttributeURLs):
* html/HTMLStyleElement.cpp:
(WebCore::HTMLStyleElement::addSubresourceAttributeURLs):
(WebCore::HTMLStyleElement::disabled):
(WebCore::HTMLStyleElement::setDisabled):
2011-10-23 Andreas Kling <kling@webkit.org>
Remove style sheet constructors that take a style sheet parent.
https://bugs.webkit.org/show_bug.cgi?id=70692
Reviewed by Antti Koivisto.
Style sheets are never directly parented by other style sheets, they always
go via a rule (such as @import.)
* css/CSSStyleSheet.cpp:
* css/CSSStyleSheet.h:
(WebCore::CSSStyleSheet::create):
* css/StyleSheet.cpp:
* css/StyleSheet.h:
2011-10-23 Mark Hahnenberg <mhahnenberg@apple.com>
Add deleteProperty to the MethodTable
https://bugs.webkit.org/show_bug.cgi?id=70162
Reviewed by Sam Weinig.
No new tests.
* WebCore.exp.in:
2011-10-23 Adam Barth <abarth@webkit.org>
Update baselines for run-bindings-tests.
* bindings/scripts/test/JS/JSTestInterface.cpp:
* bindings/scripts/test/JS/JSTestInterface.h:
* bindings/scripts/test/JS/JSTestObj.cpp:
2011-10-23 Mark Hahnenberg <mhahnenberg@apple.com>
Remove getConstructDataVirtual
https://bugs.webkit.org/show_bug.cgi?id=70638
Reviewed by Darin Adler.
No new tests.
Removed all declarations and definitions of getConstructDataVirtual.
Also replaced all call sites to getConstructDataVirtual with a
corresponding lookup in the MethodTable.
* WebCore.exp.in:
* bindings/js/JSAudioConstructor.cpp:
* bindings/js/JSAudioConstructor.h:
* bindings/js/JSImageConstructor.cpp:
* bindings/js/JSImageConstructor.h:
* bindings/js/JSOptionConstructor.cpp:
* bindings/js/JSOptionConstructor.h:
* bindings/js/ScriptFunctionCall.cpp:
(WebCore::ScriptFunctionCall::construct):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateConstructorDeclaration):
(GenerateConstructorDefinition):
* bridge/runtime_object.cpp:
* bridge/runtime_object.h:
2011-10-22 Geoffrey Garen <ggaren@apple.com>
Separated string lifetime bits from character buffer state bits
https://bugs.webkit.org/show_bug.cgi?id=70673
Reviewed by Anders Carlsson.
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHashValue): Updated for string hashing changes in JavaScriptCore.
2011-10-22 Pratik Solanki <psolanki@apple.com>
HTTPBodyStream in NSURLRequest gets lost when using CFNetwork loader
https://bugs.webkit.org/show_bug.cgi?id=70583
<rdar://problem/10281227>
Reviewed by Darin Adler.
Call WebCore::setHTTPBody() only if we actually have a FormData. Unconditionally calling it
results in us passing 0 to wkCFURLRequestSetHTTPRequestBodyParts() which resets any input
stream specified by the user on the NSURLRequest. This code matches the behavior in the
Foundation version of doUpdatePlatformRequest().
* platform/network/cf/ResourceRequestCFNet.cpp:
(WebCore::ResourceRequest::doUpdatePlatformRequest):
2011-10-22 Adam Bergkvist <adam.bergkvist@ericsson.com>
Move all MediaStream and PeerConnection related non-platform files to WebCore/mediastream
https://bugs.webkit.org/show_bug.cgi?id=70233
Reviewed by Adam Barth.
Removed affected files from build systems that don't have a MEDIA_STREAM build flag.
No new tests since we're just moving files.
* CMakeLists.txt:
* CodeGenerators.pri:
* DerivedSources.cpp:
* DerivedSources.make:
* GNUmakefile.am:
* GNUmakefile.list.am:
* UseJSC.cmake:
* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSBindingsAllInOne.cpp:
* dom/DOMAllInOne.cpp:
* dom/DispatchTask.h: Removed unused file.
* dom/ScriptExecutionContext.cpp:
* mediastream/LocalMediaStream.cpp: Renamed from Source/WebCore/dom/LocalMediaStream.cpp.
(WebCore::LocalMediaStream::create):
(WebCore::LocalMediaStream::LocalMediaStream):
(WebCore::LocalMediaStream::stop):
(WebCore::LocalMediaStream::stopTimerFired):
(WebCore::LocalMediaStream::~LocalMediaStream):
(WebCore::LocalMediaStream::toLocalMediaStream):
* mediastream/LocalMediaStream.h: Renamed from Source/WebCore/dom/LocalMediaStream.h.
* mediastream/LocalMediaStream.idl: Renamed from Source/WebCore/dom/LocalMediaStream.idl.
* mediastream/MediaStream.cpp: Renamed from Source/WebCore/dom/MediaStream.cpp.
(WebCore::MediaStream::create):
(WebCore::MediaStream::MediaStream):
(WebCore::MediaStream::~MediaStream):
(WebCore::MediaStream::readyState):
(WebCore::MediaStream::toMediaStream):
(WebCore::MediaStream::streamEnded):
(WebCore::MediaStream::scriptExecutionContext):
(WebCore::MediaStream::eventTargetData):
(WebCore::MediaStream::ensureEventTargetData):
* mediastream/MediaStream.h: Renamed from Source/WebCore/dom/MediaStream.h.
(WebCore::MediaStream::label):
(WebCore::MediaStream::tracks):
(WebCore::MediaStream::descriptor):
(WebCore::MediaStream::refEventTarget):
(WebCore::MediaStream::derefEventTarget):
* mediastream/MediaStream.idl: Renamed from Source/WebCore/dom/MediaStream.idl.
* mediastream/MediaStreamClient.h: Renamed from Source/WebCore/page/MediaStreamClient.h.
(WebCore::MediaStreamClient::~MediaStreamClient):
* mediastream/MediaStreamController.cpp: Renamed from Source/WebCore/page/MediaStreamController.cpp.
(WebCore::MediaStreamController::Request::Request):
(WebCore::MediaStreamController::Request::localId):
(WebCore::MediaStreamController::Request::frameController):
(WebCore::MediaStreamController::MediaStreamController):
(WebCore::MediaStreamController::~MediaStreamController):
(WebCore::MediaStreamController::isClientAvailable):
(WebCore::MediaStreamController::unregisterFrameController):
(WebCore::MediaStreamController::registerRequest):
(WebCore::MediaStreamController::generateStream):
(WebCore::MediaStreamController::streamGenerated):
(WebCore::MediaStreamController::streamGenerationFailed):
* mediastream/MediaStreamController.h: Renamed from Source/WebCore/page/MediaStreamController.h.
* mediastream/MediaStreamEvent.cpp: Renamed from Source/WebCore/p2p/MediaStreamEvent.cpp.
(WebCore::MediaStreamEvent::create):
(WebCore::MediaStreamEvent::MediaStreamEvent):
(WebCore::MediaStreamEvent::~MediaStreamEvent):
(WebCore::MediaStreamEvent::initMediaStreamEvent):
(WebCore::MediaStreamEvent::stream):
* mediastream/MediaStreamEvent.h: Renamed from Source/WebCore/p2p/MediaStreamEvent.h.
(WebCore::MediaStreamEvent::isMediaStreamEvent):
* mediastream/MediaStreamEvent.idl: Renamed from Source/WebCore/p2p/MediaStreamEvent.idl.
* mediastream/MediaStreamFrameController.cpp: Renamed from Source/WebCore/page/MediaStreamFrameController.cpp.
(WebCore::MediaStreamFrameController::Request::~Request):
(WebCore::MediaStreamFrameController::Request::scriptExecutionContext):
(WebCore::MediaStreamFrameController::Request::isGenerateStreamRequest):
(WebCore::MediaStreamFrameController::Request::Request):
(WebCore::MediaStreamFrameController::GenerateStreamRequest::create):
(WebCore::MediaStreamFrameController::GenerateStreamRequest::~GenerateStreamRequest):
(WebCore::MediaStreamFrameController::GenerateStreamRequest::isGenerateStreamRequest):
(WebCore::MediaStreamFrameController::GenerateStreamRequest::abort):
(WebCore::MediaStreamFrameController::GenerateStreamRequest::successCallback):
(WebCore::MediaStreamFrameController::GenerateStreamRequest::errorCallback):
(WebCore::MediaStreamFrameController::GenerateStreamRequest::GenerateStreamRequest):
(WebCore::MediaStreamFrameController::RequestMap::abort):
(WebCore::MediaStreamFrameController::RequestMap::abortAll):
(WebCore::MediaStreamFrameController::MediaStreamFrameController):
(WebCore::MediaStreamFrameController::~MediaStreamFrameController):
(WebCore::MediaStreamFrameController::securityOrigin):
(WebCore::MediaStreamFrameController::scriptExecutionContext):
(WebCore::MediaStreamFrameController::pageController):
(WebCore::MediaStreamFrameController::enterDetachedState):
(WebCore::MediaStreamFrameController::isClientAvailable):
(WebCore::MediaStreamFrameController::disconnectPage):
(WebCore::MediaStreamFrameController::disconnectFrame):
(WebCore::MediaStreamFrameController::transferToNewPage):
(WebCore::MediaStreamFrameController::parseGenerateStreamOptions):
(WebCore::MediaStreamFrameController::generateStream):
(WebCore::MediaStreamFrameController::streamGenerated):
(WebCore::MediaStreamFrameController::streamGenerationFailed):
* mediastream/MediaStreamFrameController.h: Renamed from Source/WebCore/page/MediaStreamFrameController.h.
(WebCore::MediaStreamFrameController::IdGenerator::IdGenerator):
(WebCore::MediaStreamFrameController::IdGenerator::getNextId):
* mediastream/MediaStreamList.cpp: Renamed from Source/WebCore/dom/MediaStreamList.cpp.
(WebCore::MediaStreamList::create):
(WebCore::MediaStreamList::MediaStreamList):
(WebCore::MediaStreamList::~MediaStreamList):
(WebCore::MediaStreamList::length):
(WebCore::MediaStreamList::item):
(WebCore::MediaStreamList::append):
(WebCore::MediaStreamList::remove):
(WebCore::MediaStreamList::contains):
* mediastream/MediaStreamList.h: Renamed from Source/WebCore/dom/MediaStreamList.h.
* mediastream/MediaStreamList.idl: Renamed from Source/WebCore/dom/MediaStreamList.idl.
* mediastream/MediaStreamRegistry.cpp: Renamed from Source/WebCore/platform/MediaStreamRegistry.cpp.
(WebCore::MediaStreamRegistry::registry):
(WebCore::MediaStreamRegistry::registerMediaStreamURL):
(WebCore::MediaStreamRegistry::unregisterMediaStreamURL):
(WebCore::MediaStreamRegistry::mediaStream):
* mediastream/MediaStreamRegistry.h: Renamed from Source/WebCore/platform/MediaStreamRegistry.h.
* mediastream/MediaStreamTrack.cpp: Renamed from Source/WebCore/dom/MediaStreamTrack.cpp.
(WebCore::MediaStreamTrack::create):
(WebCore::MediaStreamTrack::MediaStreamTrack):
(WebCore::MediaStreamTrack::~MediaStreamTrack):
(WebCore::MediaStreamTrack::kind):
(WebCore::MediaStreamTrack::label):
(WebCore::MediaStreamTrack::enabled):
(WebCore::MediaStreamTrack::setEnabled):
* mediastream/MediaStreamTrack.h: Renamed from Source/WebCore/dom/MediaStreamTrack.h.
* mediastream/MediaStreamTrack.idl: Renamed from Source/WebCore/dom/MediaStreamTrack.idl.
* mediastream/MediaStreamTrackList.cpp: Renamed from Source/WebCore/dom/MediaStreamTrackList.cpp.
(WebCore::MediaStreamTrackList::create):
(WebCore::MediaStreamTrackList::MediaStreamTrackList):
(WebCore::MediaStreamTrackList::~MediaStreamTrackList):
(WebCore::MediaStreamTrackList::length):
(WebCore::MediaStreamTrackList::item):
* mediastream/MediaStreamTrackList.h: Renamed from Source/WebCore/dom/MediaStreamTrackList.h.
* mediastream/MediaStreamTrackList.idl: Renamed from Source/WebCore/dom/MediaStreamTrackList.idl.
* mediastream/PeerConnection.cpp: Renamed from Source/WebCore/p2p/PeerConnection.cpp.
(WebCore::PeerConnection::create):
(WebCore::PeerConnection::PeerConnection):
(WebCore::PeerConnection::~PeerConnection):
(WebCore::PeerConnection::processSignalingMessage):
(WebCore::PeerConnection::readyState):
(WebCore::PeerConnection::send):
(WebCore::PeerConnection::addStream):
(WebCore::PeerConnection::removeStream):
(WebCore::PeerConnection::localStreams):
(WebCore::PeerConnection::remoteStreams):
(WebCore::PeerConnection::close):
(WebCore::PeerConnection::iceProcessingCompleted):
(WebCore::PeerConnection::sdpGenerated):
(WebCore::PeerConnection::dataStreamMessageReceived):
(WebCore::PeerConnection::remoteStreamAdded):
(WebCore::PeerConnection::remoteStreamRemoved):
(WebCore::PeerConnection::toPeerConnection):
(WebCore::PeerConnection::scriptExecutionContext):
(WebCore::PeerConnection::stop):
(WebCore::PeerConnection::eventTargetData):
(WebCore::PeerConnection::ensureEventTargetData):
(WebCore::PeerConnection::scheduleInitialNegotiation):
(WebCore::PeerConnection::initialNegotiationTimerFired):
(WebCore::PeerConnection::ensureStreamChangeScheduled):
(WebCore::PeerConnection::streamChangeTimerFired):
(WebCore::PeerConnection::scheduleReadyStateChange):
(WebCore::PeerConnection::readyStateChangeTimerFired):
(WebCore::PeerConnection::changeReadyState):
* mediastream/PeerConnection.h: Renamed from Source/WebCore/p2p/PeerConnection.h.
(WebCore::PeerConnection::refEventTarget):
(WebCore::PeerConnection::derefEventTarget):
* mediastream/PeerConnection.idl: Renamed from Source/WebCore/p2p/PeerConnection.idl.
* mediastream/SignalingCallback.h: Renamed from Source/WebCore/p2p/SignalingCallback.h.
(WebCore::SignalingCallback::~SignalingCallback):
* mediastream/SignalingCallback.idl: Renamed from Source/WebCore/p2p/SignalingCallback.idl.
* page/Frame.cpp:
* page/Navigator.cpp:
* page/Page.cpp:
2011-10-20 Pavel Feldman <pfeldman@google.com>
Web Inspector: get rid of View::hide, View::set visible, View::attach,
View::set visible.
https://bugs.webkit.org/show_bug.cgi?id=70523
This change also introduces assetions that forces view attach / detach operations
to be performed explicitly.
Reviewed by Yury Semikhatsky.
* inspector/front-end/ApplicationCacheItemsView.js:
(WebInspector.ApplicationCacheItemsView.prototype.wasShown):
(WebInspector.ApplicationCacheItemsView.prototype.willHide):
(WebInspector.ApplicationCacheItemsView.prototype._updateCallback):
* inspector/front-end/AuditsPanel.js:
(WebInspector.AuditsPanel.prototype.wasShown):
* inspector/front-end/ConsolePanel.js:
(WebInspector.ConsolePanel.prototype.wasShown):
(WebInspector.ConsolePanel.prototype.willHide):
* inspector/front-end/ConsoleView.js:
(WebInspector.ConsoleView.prototype.wasShown):
* inspector/front-end/CookieItemsView.js:
(WebInspector.CookieItemsView.prototype.wasShown):
(WebInspector.CookieItemsView.prototype.willHide):
(WebInspector.CookieItemsView.prototype._updateWithCookies):
* inspector/front-end/DOMStorageItemsView.js:
(WebInspector.DOMStorageItemsView.prototype.wasShown):
(WebInspector.DOMStorageItemsView.prototype.willHide):
* inspector/front-end/DatabaseQueryView.js:
* inspector/front-end/DatabaseTableView.js:
(WebInspector.DatabaseTableView.prototype.wasShown):
* inspector/front-end/DetailedHeapshotView.js:
(WebInspector.DetailedHeapshotView.prototype.willHide):
(WebInspector.DetailedHeapshotView.prototype._changeView):
* inspector/front-end/Drawer.js:
(WebInspector.Drawer.prototype.hide):
* inspector/front-end/ElementsPanel.js:
(WebInspector.ElementsPanel.prototype.wasShown):
(WebInspector.ElementsPanel.prototype.willHide):
* inspector/front-end/EmptyView.js:
(WebInspector.EmptyView.prototype.wasShown):
* inspector/front-end/FontView.js:
(WebInspector.FontView.prototype.wasShown):
* inspector/front-end/IFrameView.js:
(WebInspector.IFrameView):
* inspector/front-end/ImageView.js:
(WebInspector.ImageView.prototype.wasShown):
* inspector/front-end/NetworkItemView.js:
(WebInspector.NetworkItemView.prototype.wasShown):
(WebInspector.ResourceContentView.prototype.wasShown):
* inspector/front-end/NetworkPanel.js:
(WebInspector.NetworkLogView.prototype.wasShown):
(WebInspector.NetworkLogView.prototype.willHide):
(WebInspector.NetworkPanel.prototype.wasShown):
* inspector/front-end/Panel.js:
(WebInspector.Panel):
(WebInspector.Panel.prototype.show):
(WebInspector.Panel.prototype.wasShown):
(WebInspector.Panel.prototype.willHide):
* inspector/front-end/PanelEnablerView.js:
* inspector/front-end/ProfileView.js:
(WebInspector.CPUProfileView.prototype.willHide):
* inspector/front-end/ProfilesPanel.js:
(WebInspector.ProfilesPanel.prototype.wasShown):
(WebInspector.ProfilesPanel.prototype._addProfileHeader):
(WebInspector.ProfilesPanel.prototype._updateInterface):
(WebInspector.ProfilesPanel.prototype._enableDetailedHeapProfiles):
* inspector/front-end/ResourceCookiesView.js:
(WebInspector.ResourceCookiesView.prototype.wasShown):
* inspector/front-end/ResourceHTMLView.js:
(WebInspector.ResourceHTMLView.prototype.wasShown):
(WebInspector.ResourceHTMLView.prototype.willHide):
* inspector/front-end/ResourceJSONView.js:
(WebInspector.ResourceJSONView.parseJSON.WebInspector.ResourceJSONView.prototype.wasShown):
* inspector/front-end/ResourceTimingView.js:
(WebInspector.ResourceTimingView.prototype.wasShown):
* inspector/front-end/ResourcesPanel.js:
(WebInspector.ResourcesPanel.prototype.wasShown):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype.wasShown):
(WebInspector.ScriptsPanel.prototype._updateDebuggerButtons):
* inspector/front-end/SourceFrame.js:
(WebInspector.SourceFrame.prototype.wasShown):
* inspector/front-end/TimelinePanel.js:
(WebInspector.TimelinePanel.prototype.wasShown):
(WebInspector.TimelinePanel.prototype.willHide):
* inspector/front-end/View.js:
(WebInspector.View):
(WebInspector.View.prototype.get visible):
(WebInspector.View.prototype.setHideOnDetach):
(WebInspector.View.prototype._wasShown):
(WebInspector.View.prototype._willHide):
(WebInspector.View.prototype._onResize):
(WebInspector.View.prototype.wasShown):
(WebInspector.View.prototype.willHide):
(WebInspector.View.prototype.onResize):
(WebInspector.View.prototype.show):
(WebInspector.View.prototype.detach):
(WebInspector.View.prototype.doResize):
(WebInspector.View.prototype.dispatchToSelfAndChildren):
(WebInspector.View.prototype.dispatchToChildren):
(WebInspector.View.prototype._handleInsertedIntoDocument):
2011-10-22 Kent Tamura <tkent@chromium.org>
REGRESSION(r92480): Passing uninitialized variable in HTMLElement::calculateAndAdjustDirectionality()
https://bugs.webkit.org/show_bug.cgi?id=70582
Reviewed by Darin Adler.
No new tests. It's very hard to make a reliable test.
* html/HTMLElement.cpp:
(WebCore::HTMLElement::directionality):
Clear *strongDirectionalityTextNode even if hasStrongDirectionality is false.
2011-10-21 Dan Bernstein <mitz@apple.com>
Caret is drawn in the wrong place in multi-column blocks
https://bugs.webkit.org/show_bug.cgi?id=70662
Reviewed by Gavin Barraclough.
* manual-tests/caret-in-columns.html: Added.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paintCaret): Removed the call to offsetForContents(). That function takes
a point in local coordinates, whereas this function was applying it to a point in painting root
coordinates. The desired effect was only to undo the scroll adjustment done by the caller,
paintObject().
(WebCore::RenderBlock::paintObject): Pass the original, rather than scroll-adjusted, paint offset
to paintCaret().
2011-10-21 Nat Duca <nduca@chromium.org>
[chromium] Make setVisibility extension- and thread-correct
https://bugs.webkit.org/show_bug.cgi?id=70635
Reviewed by Kenneth Russell.
* platform/graphics/chromium/Extensions3DChromium.h:
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::initialize):
(WebCore::LayerRendererChromium::setVisible):
* platform/graphics/chromium/LayerRendererChromium.h:
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
(WebCore::LayerRendererCapabilities::LayerRendererCapabilities):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::setVisible):
2011-10-21 Beth Dakin <bdakin@apple.com>
https://bugs.webkit.org/show_bug.cgi?id=70647
Common but unreproducible crash under [ScrollbarPartAnimation setCurrentProgress:]
-and corresponding-
<rdar://problem/9542018>
Reviewed by Sam Weinig.
This patch implements two speculative fixes for this crash.
First, block exceptions around all of the code responsible for calling
stopAnimation. If that code throws any exceptions, we want to make sure the other
animations are still stopped.
* platform/mac/ScrollAnimatorMac.mm:
(-[WebScrollbarPartAnimation scrollAnimatorDestroyed]):
(-[WebScrollbarPainterDelegate scrollAnimatorDestroyed]):
(WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
Only send AppKit these notifications for active pages. I originally made these
assertions, and I found that they were hit a surprising number of times. If we
only send notifications for active pages, then we should greatly reduce and
possibly eliminate our chances of hitting this crash.
(WebCore::ScrollAnimatorMac::notifyPositionChanged):
(WebCore::ScrollAnimatorMac::contentAreaWillPaint):
(WebCore::ScrollAnimatorMac::mouseEnteredContentArea):
(WebCore::ScrollAnimatorMac::mouseExitedContentArea):
(WebCore::ScrollAnimatorMac::mouseMovedInContentArea):
(WebCore::ScrollAnimatorMac::willStartLiveResize):
(WebCore::ScrollAnimatorMac::contentsResized):
(WebCore::ScrollAnimatorMac::willEndLiveResize):
(WebCore::ScrollAnimatorMac::contentAreaDidShow):
(WebCore::ScrollAnimatorMac::contentAreaDidHide):
(WebCore::ScrollAnimatorMac::didBeginScrollGesture):
(WebCore::ScrollAnimatorMac::didEndScrollGesture):
2011-10-21 Mark Hahnenberg <mhahnenberg@apple.com>
Add put to the MethodTable
https://bugs.webkit.org/show_bug.cgi?id=70439
Reviewed by Oliver Hunt.
No new tests.
* WebCore.exp.in:
* bindings/js/JSDOMWindowCustom.cpp: Added static put since it was overlooked in
previous patches.
(WebCore::JSDOMWindow::putVirtual):
(WebCore::JSDOMWindow::put):
* bindings/js/JSDOMWindowShell.cpp: Ditto.
(WebCore::JSDOMWindowShell::putVirtual):
(WebCore::JSDOMWindowShell::put):
* bindings/js/JSDOMWindowShell.h:
2011-10-21 Dmitry Lomov <dslomov@google.com>
https://bugs.webkit.org/show_bug.cgi?id=70580
[Chromium] Implement MessagePort transfer in chromium port of webkit.
Reviewed by David Levin.
* bindings/v8/SerializedScriptValue.cpp:
(WebCore::V8ObjectMap::Writer::writeTransferredMessagePort):
(WebCore::V8ObjectMap::Serializer::Serializer):
(WebCore::V8ObjectMap::Serializer::doSerialize):
(WebCore::V8ObjectMap::Reader::read):
(WebCore::V8ObjectMap::Deserializer::Deserializer):
(WebCore::V8ObjectMap::Deserializer::tryGetTransferredMessagePort):
(WebCore::SerializedScriptValue::SerializedScriptValue):
(WebCore::SerializedScriptValue::deserialize):
2011-10-21 Ojan Vafai <ojan@chromium.org>
r97693 caused 42 failures on the chromium mac bots
https://bugs.webkit.org/show_bug.cgi?id=70300
Can't test this until https://bugs.webkit.org/show_bug.cgi?id=70660
is fixed. The fix for that bug will test this codepath as well though.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::computeBlockPreferredLogicalWidths):
2011-10-21 Vineet Chaudhary <vineet.chaudhary@motorola.com>
Setting form.enctype reflected attribute behaves strangely.
https://bugs.webkit.org/show_bug.cgi?id=44879
Reviewed by Darin Adler.
The spec says form.enctype should be application/x-www-form-urlencoded,
So as "text", "plain", "multipart" or "form-data" these are not a valid value so must be ignored.
* loader/FormSubmission.cpp:
(WebCore::FormSubmission::Attributes::parseEncodingType):
2011-10-21 Matthew Delaney <mdelaney@apple.com>
Ensure periodic flushing of canvas drawing context
https://bugs.webkit.org/show_bug.cgi?id=70646
Reviewed by Simon Fraser.
No new tests. No current way to track tests that cause hangs or
non-deterministic drops in performance.
* platform/graphics/cg/ImageBufferDataCG.h: Adds a timestamp of last tracked flush.
* platform/graphics/cg/ImageBufferCG.cpp: Ensures periodic flushes on the drawing context.
(WebCore::ImageBuffer::ImageBuffer):
(WebCore::ImageBuffer::context): Flushes context if we're beyond flush interval.
(WebCore::ImageBuffer::copyNativeImage): Updates last flush timestamp.
(WebCore::ImageBuffer::getUnmultipliedImageData): Updates last flush timestamp.
(WebCore::ImageBuffer::getPremultipliedImageData): Updates last flush timestamp.
(WebCore::ImageBuffer::putUnmultipliedImageData): Updates last flush timestamp.
(WebCore::ImageBuffer::putPremultipliedImageData): Updates last flush timestamp.
2011-10-21 Adam Barth <abarth@webkit.org>
Introduce Event::hasInterface to make uses of interfaceName more readable
https://bugs.webkit.org/show_bug.cgi?id=70652
Reviewed by Eric Seidel.
Eric felt that this approach would be more readable because it requires
less syntax at each callsite.
* bindings/js/JSErrorHandler.cpp:
(WebCore::JSErrorHandler::handleEvent):
* bindings/objc/DOMEvents.mm:
(kitClass):
* bindings/v8/V8WindowErrorHandler.cpp:
(WebCore::V8WindowErrorHandler::callListenerFunction):
* bindings/v8/V8WorkerContextErrorHandler.cpp:
(WebCore::V8WorkerContextErrorHandler::callListenerFunction):
* dom/Event.cpp:
(WebCore::Event::hasInterface):
* dom/Event.h:
* dom/EventDispatcher.cpp:
(WebCore::EventDispatcher::determineDispatchBehavior):
* dom/Node.cpp:
(WebCore::Node::defaultEventHandler):
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::defaultEventHandler):
* html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::defaultEventHandler):
* html/TextFieldInputType.cpp:
(WebCore::TextFieldInputType::forwardEvent):
(WebCore::TextFieldInputType::shouldSubmitImplicitly):
* inspector/InspectorDOMStorageResource.cpp:
(WebCore::InspectorDOMStorageResource::handleEvent):
2011-10-21 Adam Klein <adamk@chromium.org>
[MutationObservers] Implement basic subtree observation
https://bugs.webkit.org/show_bug.cgi?id=70436
Reviewed by Ryosuke Niwa.
Note that this patch only implements "basic" subtree semantics,
not the fully robust semantics described in
http://lists.w3.org/Archives/Public/public-webapps/2011JulSep/1622.html.
Most importantly, this change does not handle the case where mutations
occur in a temporarily detached subtree.
The plan is to implement those semantics in a followup to avoid
blocking other parts of the MutationObserver spec that rely on
the existence of subtree observation but not its specific
implementation.
Test: fast/mutation/observe-subtree.html
* dom/Node.cpp:
(WebCore::addMatchingObservers): Static helper method for registeredMutationObserversOfType().
(WebCore::Node::registeredMutationObserversOfType): Walk up the tree looking for observers.
* dom/NodeRareData.h:
(WebCore::MutationObserverEntry::hasAllOptions): A stricter, renamed from matches().
2011-10-21 Joshua Bell <jsbell@chromium.org>
IndexedDB: objectStore.transaction property should be readonly
https://bugs.webkit.org/show_bug.cgi?id=62395
Reviewed by Tony Chang.
Implement the IDBObjectStore.transaction property defined by the spec.
Test: storage/indexeddb/readonly-properties.html
* storage/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::transaction):
* storage/IDBObjectStore.h:
* storage/IDBObjectStore.idl:
2011-10-21 Adam Barth <abarth@webkit.org>
Event.h has too many virtual isMumbleEvent() functions
https://bugs.webkit.org/show_bug.cgi?id=70636
Reviewed by Dimitri Glazkov.
We should use the new interfaceName() way of doing run-time type inference.
* bindings/js/JSErrorHandler.cpp:
(WebCore::JSErrorHandler::handleEvent):
* bindings/js/JSEventCustom.cpp:
(WebCore::JSEvent::clipboardData):
* bindings/objc/DOMEvents.mm:
(kitClass):
* bindings/v8/V8WindowErrorHandler.cpp:
(WebCore::V8WindowErrorHandler::callListenerFunction):
* bindings/v8/V8WorkerContextErrorHandler.cpp:
(WebCore::V8WorkerContextErrorHandler::callListenerFunction):
* bindings/v8/custom/V8EventCustom.cpp:
(WebCore::V8Event::clipboardDataAccessorGetter):
* dom/BeforeLoadEvent.h:
(WebCore::BeforeLoadEvent::interfaceName):
* dom/BeforeTextInsertedEvent.h:
* dom/ClipboardEvent.cpp:
* dom/ClipboardEvent.h:
* dom/CompositionEvent.cpp:
* dom/CompositionEvent.h:
* dom/ErrorEvent.cpp:
* dom/ErrorEvent.h:
* dom/Event.cpp:
(WebCore::Event::storesResultAsString):
(WebCore::Event::storeResult):
(WebCore::Event::clipboardData):
* dom/Event.h:
* dom/Event.idl:
- Remove this interface from the CPP bindings because this function
no longer exists. It's unclear to me how strong our API
commitments are in the CPP bindings.
* dom/EventDispatcher.cpp:
(WebCore::EventDispatcher::determineDispatchBehavior):
* dom/MessageEvent.cpp:
* dom/MessageEvent.h:
* dom/MutationEvent.cpp:
* dom/MutationEvent.h:
* dom/Node.cpp:
(WebCore::Node::defaultEventHandler):
* dom/OverflowEvent.cpp:
* dom/OverflowEvent.h:
* dom/PageTransitionEvent.h:
* dom/ProgressEvent.h:
* dom/TextEvent.cpp:
* dom/TextEvent.h:
* dom/WheelEvent.cpp:
* dom/WheelEvent.h:
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::defaultEventHandler):
* html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::defaultEventHandler):
* html/TextFieldInputType.cpp:
(WebCore::TextFieldInputType::forwardEvent):
(WebCore::TextFieldInputType::shouldSubmitImplicitly):
* html/shadow/TextControlInnerElements.cpp:
(WebCore::TextControlInnerTextElement::defaultEventHandler):
* svg/SVGZoomEvent.cpp:
* svg/SVGZoomEvent.h:
2011-10-21 Raymond Toy <rtoy@google.com>
Flush denormals in Biquad, ZeroPole, and DynamicsCompressor.
We only flush when saving the state variables instead of in the
loops so that we don't impact performance too much when there are
no denormals. This will at least not propagate the denormals any
further within the class.
https://bugs.webkit.org/show_bug.cgi?id=70626
Reviewed by Kenneth Russell.
* platform/audio/Biquad.cpp:
(WebCore::Biquad::process):
Flush denormals when storing the filter state back in to class
filter state.
* platform/audio/DynamicsCompressorKernel.cpp:
(WebCore::DynamicsCompressorKernel::process):
Ditto.
* platform/audio/ZeroPole.cpp:
(WebCore::ZeroPole::process):
Ditto.
2011-10-21 Vsevolod Vlasov <vsevik@chromium.org>
Web Inspector: Advanced search results should be cleared on navigation.
https://bugs.webkit.org/show_bug.cgi?id=70627
Reviewed by Pavel Feldman.
* inspector/front-end/AdvancedSearchController.js:
(WebInspector.AdvancedSearchController):
(WebInspector.AdvancedSearchController.prototype._frameNavigated):
2011-10-21 Rafael Weinstein <rafaelw@chromium.org>
[MutationObservers] Implement WebKitMutationObserver.observe for childList changes
https://bugs.webkit.org/show_bug.cgi?id=68955
Reviewed by Ryosuke Niwa.
This patch adds a ChildListMutationScope object which manages the coalescing of
multiple child removals and additions within DOM operations into single childList
mutation records.
Note that this patch doesn't cover all the cases which can be coalesced (it only
covers ContainerNode.*, and Node.innerHTML/innerText). A separate bug,
https://bugs.webkit.org/show_bug.cgi?id=70385, has been opened to track the
remaining cases.
Test: fast/mutation/observe-childList.html
* CMakeLists.txt:
* GNUmakefile.list.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* dom/ChildListMutationScope.cpp: Added.
(WebCore::ChildListAccumulation::ChildListAccumulation::ChildListAccumulation):
(WebCore::ChildListAccumulation::ChildListAccumulation::~ChildListAccumulation):
(WebCore::ChildListAccumulation::ChildListAccumulation::childAdded):
(WebCore::ChildListAccumulation::ChildListAccumulation::willRemoveChild):
(WebCore::ChildListAccumulation::ChildListAccumulation::dispatch):
(WebCore::ChildListAccumulation::ChildListAccumulation::clear):
(WebCore::ChildListAccumulation::ChildListAccumulation::isEmpty):
(WebCore::ChildListAccumulation::ChildListAccumulator::ChildListAccumulator):
(WebCore::ChildListAccumulation::ChildListAccumulator::~ChildListAccumulator):
(WebCore::ChildListAccumulation::ChildListAccumulator::initialize):
(WebCore::ChildListAccumulation::ChildListAccumulator::instance):
(WebCore::ChildListAccumulation::ChildListAccumulator::childAdded):
(WebCore::ChildListAccumulation::ChildListAccumulator::willRemoveChild):
(WebCore::ChildListAccumulation::ChildListAccumulator::incrementScopingLevel):
(WebCore::ChildListAccumulation::ChildListAccumulator::decrementScopingLevel):
(WebCore::ChildListMutationScope::ChildListMutationScope):
(WebCore::ChildListMutationScope::~ChildListMutationScope):
(WebCore::ChildListMutationScope::childAdded):
(WebCore::ChildListMutationScope::willRemoveChild):
* dom/ChildListMutationScope.h: Added.
* dom/ContainerNode.cpp:
(WebCore::ContainerNode::insertBefore):
(WebCore::ContainerNode::replaceChild):
(WebCore::willRemoveChildren):
(WebCore::dispatchChildInsertionEvents):
(WebCore::dispatchChildRemovalEvents):
* dom/Element.cpp:
(WebCore::enqueueAttributesMutationRecord):
* dom/Node.cpp:
(WebCore::Node::setTextContent):
(WebCore::Node::registeredMutationObserversOfType):
* dom/WebKitMutationObserver.cpp:
(WebCore::WebKitMutationObserver::disconnect):
* html/HTMLElement.cpp:
(WebCore::replaceChildrenWithFragment):
(WebCore::replaceChildrenWithText):
2011-10-21 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r98079.
http://trac.webkit.org/changeset/98079
https://bugs.webkit.org/show_bug.cgi?id=70624
The extensions tests enabled are failing on the Chromium Win
Dbg bot (Requested by jchaffraix on #webkit).
* inspector/front-end/ExtensionAPI.js:
(buildExtensionAPIInjectedScript):
2011-10-21 Dan Bernstein <mitz@apple.com>
Column rules positioned incorrectly in vertical-rl block with horizontal border or padding
https://bugs.webkit.org/show_bug.cgi?id=70622
Reviewed by Beth Dakin.
Tests: fast/multicol/vertical-lr/rules-with-border-before.html
fast/multicol/vertical-rl/rules-with-border-before.html
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paintColumnRules): Changed to use the physical left border and padding for the
left edge of the horizontal column rule.
2011-10-21 Simon Fraser <simon.fraser@apple.com>
Fix Windows build.
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::hasAnyAdditionalCompositedLayers):
2011-10-21 Devdatta Deshpande <pwjd73@motorola.com>
[Gtk] mousemove event always has metaKey == true
https://bugs.webkit.org/show_bug.cgi?id=35299
Reviewed by Martin Robinson.
GDK_MOD2_MASK doesn't always mean meta so we can't use it to identify
the meta key state. Use GDK_META_MASK instead.
Test: platform/gtk/fast/events/event-sender-metakey.html
* platform/gtk/PlatformMouseEventGtk.cpp:
(WebCore::PlatformMouseEvent::PlatformMouseEvent):
2011-10-21 Andreas Kling <kling@webkit.org>
Style and Link elements' sheet() should return CSSStyleSheet.
https://bugs.webkit.org/show_bug.cgi?id=70608
Reviewed by Antti Koivisto.
Return a CSSStyleSheet* instead of a StyleSheet* in these functions
since we know they are always CSSStyleSheets.
Also remove some now-unnecessary isCSSStyleSheet() checks.
* dom/StyleElement.h:
(WebCore::StyleElement::sheet):
* html/HTMLLinkElement.cpp:
* html/HTMLLinkElement.h:
(WebCore::HTMLLinkElement::sheet):
* page/PageSerializer.cpp:
(WebCore::PageSerializer::serializeFrame):
2011-10-21 Vsevolod Vlasov <vsevik@chromium.org>
Web Inspector: Advanced search is working very slowly and does not show searching progress.
https://bugs.webkit.org/show_bug.cgi?id=70611
Search implementation changed so that we do not start searching in the next file unless
the previous one was already searched. This allows to interrupt search.
Not all search matches are added on UI by default now, only first 20 for each file.
Search progress information and search stop button were added to drawer status bar.
Reviewed by Pavel Feldman.
* English.lproj/localizedStrings.js:
* inspector/ContentSearchUtils.cpp:
(WebCore::ContentSearchUtils::getRegularExpressionMatchesByLines):
(WebCore::ContentSearchUtils::countRegularExpressionMatches):
* inspector/front-end/AdvancedSearchController.js:
(WebInspector.AdvancedSearchController.prototype._onSearchResult):
(WebInspector.AdvancedSearchController.prototype._onSearchFinished):
(WebInspector.AdvancedSearchController.prototype.startSearch):
(WebInspector.AdvancedSearchController.prototype.resetSearch):
(WebInspector.AdvancedSearchController.prototype.stopSearch):
(WebInspector.SearchView):
(WebInspector.SearchView.prototype.get statusBarItems):
(WebInspector.SearchView.prototype.get counterElement):
(WebInspector.SearchView.prototype.set resultsPane):
(WebInspector.SearchView.prototype.searchStarted):
(WebInspector.SearchView.prototype._updateSearchResultsMessage):
(WebInspector.SearchView.prototype._updateSearchProgress):
(WebInspector.SearchView.prototype.resetResults):
(WebInspector.SearchView.prototype._resetCounters):
(WebInspector.SearchView.prototype.nothingFound):
(WebInspector.SearchView.prototype.addSearchResult):
(WebInspector.SearchView.prototype.searchFinished):
(WebInspector.SearchView.prototype._searchStopButtonPressed):
(WebInspector.SearchResultsPane):
(WebInspector.FileBasedSearchResultsPane):
(WebInspector.FileBasedSearchResultsPane.prototype.addSearchResult):
(WebInspector.FileBasedSearchResultsPane.prototype._fileTreeElementExpanded):
(WebInspector.FileBasedSearchResultsPane.prototype._appendSearchMatches):
(WebInspector.FileBasedSearchResultsPane.prototype._appendShowMoreMatchesElement):
(WebInspector.FileBasedSearchResultsPane.prototype._showMoreMatchesElementSelected):
(WebInspector.FileBasedSearchResultsPane.prototype._addFileTreeElement):
(WebInspector.FileBasedSearchResultsPane.prototype._regexMatchRanges):
* inspector/front-end/Drawer.js:
(WebInspector.Drawer.prototype.hide):
* inspector/front-end/Images/statusbarButtonGlyphs.png:
* inspector/front-end/ScriptsSearchScope.js:
(WebInspector.ScriptsSearchScope):
(WebInspector.ScriptsSearchScope.prototype.performSearch.filterOutContentScripts):
(WebInspector.ScriptsSearchScope.prototype.performSearch.continueSearch):
(WebInspector.ScriptsSearchScope.prototype.performSearch.searchCallbackWrapper):
(WebInspector.ScriptsSearchScope.prototype.performSearch):
(WebInspector.ScriptsSearchScope.prototype.stopSearch):
* inspector/front-end/TimelinePanel.js:
(WebInspector.TimelinePanel.prototype._registerShortcuts):
* inspector/front-end/inspector.css:
(#drawer-status-bar .search-status-bar-item):
(#drawer-status-bar .search-status-bar-message):
(#drawer-status-bar .search-status-bar-progress):
(#drawer-status-bar .search-status-bar-stop-button-item):
(#drawer-status-bar .search-status-bar-stop-button .glyph):
(#drawer-status-bar .search-results-status-bar-message):
(.search-view .search-results):
(#search-results-pane-file-based .search-results-outline-disclosure):
(#search-results-pane-file-based .search-result):
(#search-results-pane-file-based .search-result:hover):
(#search-results-pane-file-based .show-more-matches):
(#search-results-pane-file-based .show-more-matches:hover):
(#search-results-pane-file-based .search-match:hover):
* inspector/front-end/utilities.js:
():
2011-10-20 Zhenyao Mo <zmo@google.com>
Implement mechanism to enable privileged webgl extensions
https://bugs.webkit.org/show_bug.cgi?id=70538
Reviewed by Darin Fisher.
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::allowPrivilegedExtensions): check page/Settings flag.
* page/Settings.cpp: Add the flag.
(WebCore::Settings::Settings):
(WebCore::Settings::setPrivilegedWebGLExtensionsEnabled):
* page/Settings.h: Ditto.
(WebCore::Settings::privilegedWebGLExtensionsEnabled):
2011-10-20 Pavel Podivilov <podivilov@chromium.org>
Web Inspector: first line in file is not highlighted.
https://bugs.webkit.org/show_bug.cgi?id=70504
Reviewed by Pavel Feldman.
* inspector/front-end/SourceFrame.js:
(WebInspector.SourceFrame.prototype._initializeTextViewer):
2011-10-21 Andreas Kling <kling@webkit.org>
Simplify CSSStyleRule::setSelectorText().
https://bugs.webkit.org/show_bug.cgi?id=70607
Reviewed by Antti Koivisto.
Remove unnecessary isCSSStyleSheet() check and redundant Document finding
logic (CSSStyleSheet::document() will return the owner node's Document just
like this code would.)
* css/CSSStyleRule.cpp:
(WebCore::CSSStyleRule::setSelectorText):
2011-10-21 Alejandro G. Castro <alex@igalia.com>
[cairo] Forward declaration of GraphicsContextState uses class instead of struct
https://bugs.webkit.org/show_bug.cgi?id=70522
The type is a struct not a class, replace the definition in the
forward declaration.
Reviewed by Martin Robinson.
* platform/graphics/cairo/PlatformContextCairo.h:
2011-10-20 Andrey Kosyakov <caseq@chromium.org>
Web Inspector: make extension tests pass on chromium
https://bugs.webkit.org/show_bug.cgi?id=70334
Reviewed by Pavel Feldman.
* inspector/front-end/ExtensionAPI.js:
(buildExtensionAPIInjectedScript):
2011-10-20 Peter Rybin <peter.rybin@gmail.com>
Web Inspector: reimplement protocol backend/frontend source generator
https://bugs.webkit.org/show_bug.cgi?id=69295
Reviewed by Pavel Feldman.
Old 2-stage python+perf generator that uses intermediate IDL output is
being replaced with a solid python script. This is for simplicity and
as a base for the future JSON validator.
* CMakeLists.txt:
* CodeGenerators.pri:
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.gyp/WebCore.gyp:
* inspector/CodeGeneratorInspector.pm: Removed.
* inspector/CodeGeneratorInspector.py: Added.
* inspector/Inspector.json:
* inspector/generate-inspector-idl: Removed.
2011-10-20 Adam Barth <abarth@webkit.org>
Attemp to fix a bunch of tests PLATFORM(MAC). We can't use a static
map because that's shared between threads (and events exist in worker
threads). It migh be better to add a thread-specific map, but we can
do that in another patch.
* bindings/js/JSEventCustom.cpp:
(WebCore::toJS):
* bindings/v8/custom/V8EventCustom.cpp:
(WebCore::toV8):
2011-10-20 Simon Fraser <simon.fraser@apple.com>
Hidden composited iframes cause infinite loop
https://bugs.webkit.org/show_bug.cgi?id=52655
Reviewed by Darin Adler.
visibility:hidden is problematic for compositing, because it causes
RenderLayers to be removed from the z-order layer tree. This confuses
RenderLayerCompositor in several ways; it never sees these layers
when traversing the tree as it computes compositing requirements, or
rebuilds the layer tree.
This is a particular problem with composited iframes. When an iframe
becomes composited, scheduleSetNeedsStyleRecalc() is called on that
iframe's ownerElement in the parent document. If this happens inside
Document::updateStyleForAllDocuments(), we get into an infinite loop
because notifyIFramesOfCompositingChange() queues up style update as we
bounce in and out of compositing mode, so documentsThatNeedStyleRecalc
never empties out.
This is an initial, conservative fix that doesn't attempt to fix all
the issues with visibility. It changes RenderLayerCompositor to count
the number of compositing RenderLayers, and to not leave compositing
mode if there are any (even if they are hidden, so not hit while
traversing the z-order tree). This avoids the infinite loop.
Test: compositing/visibility/hidden-iframe.html
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::ensureBacking):
(WebCore::RenderLayer::clearBacking):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::RenderLayerCompositor):
(WebCore::RenderLayerCompositor::hasAnyAdditionalCompositedLayers):
(WebCore::RenderLayerCompositor::updateCompositingLayers):
(WebCore::RenderLayerCompositor::computeCompositingRequirements):
* rendering/RenderLayerCompositor.h:
(WebCore::RenderLayerCompositor::layerBecameComposited):
(WebCore::RenderLayerCompositor::layerBecameNonComposited):
2011-10-20 Antoine Labour <piman@chromium.org>
Make WebCore depend on translator_glsl instead of translator_common
https://bugs.webkit.org/show_bug.cgi?id=70548
Reviewed by Kenneth Russell.
This is a build-only fix. Tested by checking WebKit still compiles and
link.
* WebCore.gyp/WebCore.gyp:
2011-10-20 Dana Jansens <danakj@chromium.org>
[Chromium] Fix opaque flag default and for ImageLayerChromium
https://bugs.webkit.org/show_bug.cgi?id=70554
Reviewed by James Robinson.
Covered by layout tests.
* platform/graphics/chromium/ImageLayerChromium.cpp:
(WebCore::ImageLayerChromium::setContents): Set opaque flag based on if the image claims to have alpha.
* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::LayerChromium): Match the default opaque value in GraphicsLayerChromium.
2011-10-20 Yosifumi Inoue <yosin@chromium.org>
[Forms][File] Add tooltip to "No file selected" text
https://bugs.webkit.org/show_bug.cgi?id=70474
Reviewed by Kent Tamura.
No new tests. Existing tests cover all changes.
This patch provides tooltip for text portion of upload file control
tell users to know actual text of truncated text of file name and
"No file selected" text. Tooltip is always displayed even if user
select only one file for truncated displayed file name.
* html/FileInputType.cpp:
(WebCore::FileInputType::defaultToolTip): Implement default tooltip logic.
* html/FileInputType.h: declaration of new method defaultToolTip.
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::defaultToolTip): Impelement new method defaultToolTip.
* html/HTMLInputElement.h: declaration of new method defaultToolTip.
* html/InputType.cpp:
(WebCore::InputType::defaultToolTip): Implement default method of defaultToolTip method.
* html/InputType.h: declaration of new method defaultToolTip.
* page/Chrome.cpp:
(WebCore::Chrome::setToolTip): Use new method HTMLInputElement::defaultToolTip and move default tooltip logic to FileInputType::defaultToolTip method.
2011-10-20 Darin Adler <darin@apple.com>
Remove OptionElement (first half)
https://bugs.webkit.org/show_bug.cgi?id=70276
Reviewed by Kent Tamura.
Refactoring that does not require new tests.
* css/SelectorChecker.cpp:
(WebCore::SelectorChecker::checkOneSelector): Use hasTagName
and toHTMLOptionElement instead of toOptionElement.
* dom/OptionElement.cpp: Deleted contents. Remove file later.
* dom/OptionElement.h: Ditto.
* html/HTMLOptionElement.cpp:
(WebCore::HTMLOptionElement::HTMLOptionElement): Initialize m_isSelected.
(WebCore::HTMLOptionElement::createForJSConstructor): Initialize the
selected attribute rather than calling setDefaultSelected.
(WebCore::HTMLOptionElement::text): Moved the code here from
OptionElement::collectOptionLabelOrText.
(WebCore::HTMLOptionElement::index): Moved the code here from
OptionElement::optionIndex.
(WebCore::HTMLOptionElement::parseMappedAttribute): Removed unneeded
code to call setValue and setLabel. Changed the code that called
setSelected to instead set m_isSelected and added a FIXME about why
that's probably wrong, but same behavior as before.
(WebCore::HTMLOptionElement::value): Moved the code here from
OptionElement::collectOptionValue. Added a FIXME about incorrect
whitespace stripping.
(WebCore::HTMLOptionElement::selected): Use m_isSelected.
(WebCore::HTMLOptionElement::setSelected): Use m_isSelected and
call setSelectedState instead of OptionElement::setSelectedState.
(WebCore::HTMLOptionElement::setSelectedState): Moved the code
here from OptionElement::setSelectedState.
(WebCore::HTMLOptionElement::label): Streamlined the code.
(WebCore::HTMLOptionElement::textIndentedToRespectGroupLabel):
Moved the code here from OptionElement::collectOptionTextRespectingGroupLabel.
(WebCore::HTMLOptionElement::insertedIntoTree): Use m_isSelected
and rewrote comment for clarity.
(WebCore::HTMLOptionElement::collectOptionInnerText): Moved this
here from OptionElement, and changed to use StringBuilder.
(WebCore::toHTMLOptionElement): Added.
* html/HTMLOptionElement.h: Removed OptionElement.h include.
Removed OptionElement base class. Removed unneeded friend declarations.
Made value and selected functions non-virtual. Removed unneeded
defaultSelected and setDefaultSelected functions. Made the
textIndentedToRespectGroupLabel and setSelectedState functions
be non-virtual and public. Added a collectOptionInnerText function.
Replaced m_data with m_value, m_label, and m_selected.
* html/HTMLSelectElement.cpp:
(WebCore::toOptionElement): Added. Helper to keep existing code
close to the same.
(WebCore::HTMLSelectElement::nextValidIndex): Use hasTagName
instead of isOptionElement.
(WebCore::HTMLSelectElement::saveLastSelection): Use HTMLOptionElement
type instead of OptionElement.
(WebCore::HTMLSelectElement::setActiveSelectionAnchorIndex): Ditto.
(WebCore::HTMLSelectElement::updateListBoxSelection): Ditto.
(WebCore::HTMLSelectElement::listBoxOnChange): Ditto.
(WebCore::HTMLSelectElement::recalcListItems): Ditto.
(WebCore::HTMLSelectElement::selectedIndex): Ditto.
(WebCore::HTMLSelectElement::setSelectedIndex): Ditto.
(WebCore::HTMLSelectElement::optionToListIndex): Ditto.
(WebCore::HTMLSelectElement::listToOptionIndex): Ditto.
(WebCore::HTMLSelectElement::deselectItemsWithoutValidation): Ditto.
(WebCore::HTMLSelectElement::saveFormControlState): Ditto.
(WebCore::HTMLSelectElement::restoreFormControlState): Ditto.
(WebCore::HTMLSelectElement::appendFormData): Ditto.
(WebCore::HTMLSelectElement::reset): Ditto.
(WebCore::HTMLSelectElement::updateSelectedState): Ditto.
(WebCore::HTMLSelectElement::lastSelectedListIndex): Ditto.
(WebCore::HTMLSelectElement::typeAheadFind): Ditto.
(WebCore::HTMLSelectElement::accessKeySetSelectedIndex): Ditto.
(WebCore::HTMLSelectElement::length): Ditto.
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::updateFromElement): Use HTMLOptionElement,
hasTagName, and toHTMLOptionElement.
(WebCore::RenderListBox::addFocusRingRects): Ditto.
(WebCore::RenderListBox::paintItemForeground): Ditto.
(WebCore::RenderListBox::paintItemBackground): Ditto.
* rendering/RenderMenuList.cpp:
(WebCore::RenderMenuList::updateOptionsWidth): Ditto.
(WebCore::RenderMenuList::setTextFromOption): Ditto.
(WebCore::RenderMenuList::itemText): Ditto.
(WebCore::RenderMenuList::itemIsSelected): Ditto.
2011-10-20 Adam Barth <abarth@webkit.org>
Attempt to fix crash for infinite recursion.
* bindings/v8/custom/V8EventCustom.cpp:
(WebCore::toV8):
2011-10-20 Dirk Pranke <dpranke@chromium.org>
Still lots of crashes in the chromium debug bots.
Unreviewed, rolling out r97982.
http://trac.webkit.org/changeset/97982
https://bugs.webkit.org/show_bug.cgi?id=70328
crashing in asserts in chromium debug builds
* dom/DeviceMotionController.cpp:
(WebCore::DeviceMotionController::timerFired):
(WebCore::DeviceMotionController::addListener):
(WebCore::DeviceMotionController::removeListener):
(WebCore::DeviceMotionController::removeAllListeners):
* dom/DeviceMotionController.h:
* dom/DeviceOrientationController.cpp:
* dom/DeviceOrientationController.h:
* dom/Document.cpp:
* dom/Document.h:
* dom/ScriptExecutionContext.h:
* page/GeolocationController.cpp:
* page/GeolocationController.h:
2011-10-20 Adam Barth <abarth@webkit.org>
Attempt to fix the GTK build.
* GNUmakefile.am:
2011-10-20 Adam Barth <abarth@webkit.org>
CloseEvent.idl isn't conditional on WebSockets.
* dom/EventFactory.in:
2011-10-20 Adam Barth <abarth@webkit.org>
Event.h shouldn't need to know about every ifdef and feature that uses events
https://bugs.webkit.org/show_bug.cgi?id=70483
Reviewed by Eric Seidel.
This patch expands make_event_factory.pl to create a
DOM_EVENT_INTERFACES_FOR_EACH macro that we can use to generate code
for each Event interface. We then apply that macro to removing a large
number of virtual functions on Event. Instead of having a Boolean
virtual function for each subclass of Event, we have a single virtual
interfaceName function, which returns an AtomicString. We then use the
AtomicString to jump through a HashMap to find the appropriate
JavaScript wrapper type.
This patch does not remove all of the Boolean virtual functions because
I got exhausted making all of these edits, but I did remove all the
ones that involve ifdefs. A future patch will remove more.
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSEventCustom.cpp:
(WebCore::toJS):
* bindings/v8/custom/V8EventCustom.cpp:
(WebCore::toV8):
* dom/BeforeLoadEvent.h:
(WebCore::BeforeLoadEvent::interfaceName):
(WebCore::BeforeLoadEvent::isBeforeLoadEvent):
* dom/BeforeTextInsertedEvent.cpp:
(WebCore::BeforeTextInsertedEvent::interfaceName):
* dom/BeforeTextInsertedEvent.h:
* dom/ClipboardEvent.cpp:
(WebCore::ClipboardEvent::interfaceName):
* dom/ClipboardEvent.h:
* dom/CompositionEvent.cpp:
(WebCore::CompositionEvent::interfaceName):
* dom/CompositionEvent.h:
* dom/CustomEvent.cpp:
(WebCore::CustomEvent::interfaceName):
* dom/CustomEvent.h:
* dom/DeviceMotionEvent.cpp:
(WebCore::DeviceMotionEvent::interfaceName):
* dom/DeviceMotionEvent.h:
* dom/DeviceOrientationEvent.cpp:
(WebCore::DeviceOrientationEvent::interfaceName):
* dom/DeviceOrientationEvent.h:
* dom/ErrorEvent.cpp:
(WebCore::ErrorEvent::interfaceName):
* dom/ErrorEvent.h:
* dom/Event.cpp:
(WebCore::Event::interfaceName):
* dom/Event.h:
* dom/EventNames.cpp:
(WebCore::EventNames::EventNames):
* dom/EventNames.h:
* dom/HashChangeEvent.h:
(WebCore::HashChangeEvent::interfaceName):
* dom/KeyboardEvent.cpp:
(WebCore::KeyboardEvent::interfaceName):
* dom/KeyboardEvent.h:
* dom/MessageEvent.cpp:
(WebCore::MessageEvent::interfaceName):
* dom/MessageEvent.h:
* dom/MouseEvent.cpp:
(WebCore::MouseEvent::interfaceName):
* dom/MouseEvent.h:
* dom/MutationEvent.cpp:
(WebCore::MutationEvent::interfaceName):
* dom/MutationEvent.h:
* dom/OverflowEvent.cpp:
(WebCore::OverflowEvent::interfaceName):
* dom/OverflowEvent.h:
* dom/PageTransitionEvent.cpp:
(WebCore::PageTransitionEvent::interfaceName):
* dom/PageTransitionEvent.h:
* dom/PopStateEvent.cpp:
(WebCore::PopStateEvent::interfaceName):
* dom/PopStateEvent.h:
* dom/ProgressEvent.cpp:
(WebCore::ProgressEvent::interfaceName):
* dom/ProgressEvent.h:
* dom/TextEvent.cpp:
(WebCore::TextEvent::interfaceName):
* dom/TextEvent.h:
* dom/TouchEvent.cpp:
(WebCore::TouchEvent::interfaceName):
* dom/TouchEvent.h:
* dom/UIEvent.h:
* dom/WebKitAnimationEvent.cpp:
(WebCore::WebKitAnimationEvent::interfaceName):
* dom/WebKitAnimationEvent.h:
* dom/WebKitTransitionEvent.cpp:
(WebCore::WebKitTransitionEvent::interfaceName):
* dom/WebKitTransitionEvent.h:
* dom/WheelEvent.cpp:
(WebCore::WheelEvent::interfaceName):
* dom/WheelEvent.h:
* dom/make_event_factory.pl:
(printFactoryFile):
(printMacroFile):
(printHeadersFile):
* html/canvas/WebGLContextEvent.cpp:
(WebCore::WebGLContextEvent::interfaceName):
* html/canvas/WebGLContextEvent.h:
* inspector/InspectorDOMStorageResource.cpp:
(WebCore::InspectorDOMStorageResource::handleEvent):
* p2p/MediaStreamEvent.cpp:
(WebCore::MediaStreamEvent::interfaceName):
* p2p/MediaStreamEvent.h:
* page/SpeechInputEvent.cpp:
(WebCore::SpeechInputEvent::interfaceName):
* page/SpeechInputEvent.h:
* storage/IDBVersionChangeEvent.cpp:
(WebCore::IDBVersionChangeEvent::interfaceName):
* storage/IDBVersionChangeEvent.h:
* storage/StorageEvent.cpp:
(WebCore::StorageEvent::interfaceName):
* storage/StorageEvent.h:
* svg/SVGZoomEvent.cpp:
(WebCore::SVGZoomEvent::interfaceName):
* svg/SVGZoomEvent.h:
* webaudio/AudioProcessingEvent.cpp:
(WebCore::AudioProcessingEvent::interfaceName):
* webaudio/AudioProcessingEvent.h:
* webaudio/OfflineAudioCompletionEvent.cpp:
(WebCore::OfflineAudioCompletionEvent::interfaceName):
* webaudio/OfflineAudioCompletionEvent.h:
* websockets/CloseEvent.h:
(WebCore::CloseEvent::interfaceName):
* xml/XMLHttpRequestProgressEvent.h:
(WebCore::XMLHttpRequestProgressEvent::interfaceName):
2011-10-20 Nat Duca <nduca@chromium.org>
[chromium] Route onSwapBuffersComplete from LayerRenderer to CCScheduler.
Reviewed by James Robinson.
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererSwapBuffersCompleteCallbackAdapter::create):
(WebCore::LayerRendererSwapBuffersCompleteCallbackAdapter::~LayerRendererSwapBuffersCompleteCallbackAdapter):
(WebCore::LayerRendererSwapBuffersCompleteCallbackAdapter::onSwapBuffersComplete):
(WebCore::LayerRendererSwapBuffersCompleteCallbackAdapter::LayerRendererSwapBuffersCompleteCallbackAdapter):
(WebCore::LayerRendererChromium::initialize):
(WebCore::LayerRendererChromium::~LayerRendererChromium):
(WebCore::LayerRendererChromium::swapBuffers):
(WebCore::LayerRendererChromium::onSwapBuffersComplete):
* platform/graphics/chromium/LayerRendererChromium.h:
* platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
(WebCore::CCHeadsUpDisplay::onSwapBuffers):
* platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
(WebCore::LayerRendererCapabilities::LayerRendererCapabilities):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::swapBuffers):
(WebCore::CCLayerTreeHostImpl::onSwapBuffersComplete):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
* platform/graphics/chromium/cc/CCScheduler.cpp:
(WebCore::CCScheduler::requestRedraw):
(WebCore::CCScheduler::didDrawAndSwap):
(WebCore::CCScheduler::didSwapBuffersComplete):
(WebCore::CCScheduler::didSwapBuffersAbort):
* platform/graphics/chromium/cc/CCScheduler.h:
* platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
(WebCore::CCSingleThreadProxy::compositeImmediately):
* platform/graphics/chromium/cc/CCSingleThreadProxy.h:
(WebCore::CCSingleThreadProxy::onSwapBuffersCompleteOnImplThread):
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxySchedulerClient::scheduleDrawAndSwap):
(WebCore::CCThreadProxy::drawLayersAndReadbackOnImplThread):
(WebCore::CCThreadProxy::onSwapBuffersCompleteOnImplThread):
(WebCore::CCThreadProxy::finishAllRenderingOnImplThread):
(WebCore::CCThreadProxy::drawLayersAndSwapOnImplThread):
(WebCore::CCThreadProxy::drawLayersOnImplThread):
* platform/graphics/chromium/cc/CCThreadProxy.h:
2011-10-20 Julien Chaffraix <jchaffraix@webkit.org>
RenderDeprecatedFlexibleBox does not call its children's layout method
https://bugs.webkit.org/show_bug.cgi?id=64842
Reviewed by David Hyatt.
Tests: fast/flexbox/021-vertical.html
fast/flexbox/crash-flexbox-no-layout-child.html
The FlexBoxIterator would skip any child with visibility: collapsed. However those child
would need layout but their layout() function would never be called.
This change refactors the way flexible box handles visibility: collapsed child and mark sure
their layout() function is called but makes sure that they don't participate in the flex box
dimensions.
* rendering/RenderDeprecatedFlexibleBox.cpp:
(WebCore::FlexBoxIterator::next): Do not skip visibility: collapsed child.
(WebCore::childDoesNotAffectWidthOrFlexing): Helper function.
(WebCore::RenderDeprecatedFlexibleBox::calcHorizontalPrefWidths):
(WebCore::RenderDeprecatedFlexibleBox::calcVerticalPrefWidths):
(WebCore::gatherFlexChildrenInfo):
(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
(WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
(WebCore::RenderDeprecatedFlexibleBox::allowedChildFlex):
Updated to skip the now seen visibility: collapsed child during the
iteration.
2011-10-20 Raymond Toy <rtoy@google.com>
Implement SSE denormal disabler for windows.
https://bugs.webkit.org/show_bug.cgi?id=70517
Reviewed by Kenneth Russell.
* platform/audio/DenormalDisabler.h:
(WebCore::DenormalDisabler::DenormalDisabler):
Add implementation for Windows.
(WebCore::DenormalDisabler::~DenormalDisabler):
Ditto.
(WebCore::DenormalDisabler::flushDenormalFloatToZero):
Unify Windows with mac/linux.
(WebCore::DenormalDisabler::getCSR):
Define only if we're not on Windows.
(WebCore::DenormalDisabler::setCSR):
Ditto.
2011-10-20 Alexey Proskuryakov <ap@apple.com>
REGRESSION (r96823): Contextual menu closes immediately when control-clicking in Flash plug-in
https://bugs.webkit.org/show_bug.cgi?id=70534
<rdar://problem/10308827>
Reviewed by Darin Adler.
* plugins/PluginView.cpp: (WebCore::PluginView::handleEvent): Return true for contextmenu
event, so that plug-ins won't get a default WebKit context menu. We can't know if the
plug-in is handling mousedown (or even mouseup) by displaying a menu.
2011-10-17 Nat Duca <nduca@chromium.org>
[chromium] Allow CCLayerTreeHostImpl to call back to proxy via CCLayerTreeHostImplClient
https://bugs.webkit.org/show_bug.cgi?id=70291
Reviewed by James Robinson.
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::createLayerTreeHostImpl):
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::create):
(WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
(WebCore::CCLayerTreeHostImpl::scrollRootLayer):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
* platform/graphics/chromium/cc/CCScrollController.h:
* platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
(WebCore::CCSingleThreadProxy::start):
* platform/graphics/chromium/cc/CCSingleThreadProxy.h:
(WebCore::CCSingleThreadProxy::setNeedsRedrawOnImplThread):
(WebCore::CCSingleThreadProxy::setNeedsCommitOnImplThread):
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::scrollRootLayerOnImplThread):
(WebCore::CCThreadProxy::initializeImplOnCCThread):
(WebCore::CCThreadProxy::initializeLayerRendererOnCCThread):
(WebCore::CCThreadProxy::layerTreeHostClosedOnCCThread):
* platform/graphics/chromium/cc/CCThreadProxy.h:
(WebCore::CCThreadProxy::setNeedsRedrawOnImplThread):
(WebCore::CCThreadProxy::setNeedsCommitOnImplThread):
2011-10-20 Tony Chang <tony@chromium.org>
fix repaint bugs in new flexbox
https://bugs.webkit.org/show_bug.cgi?id=70450
Reviewed by David Hyatt.
Test: css3/flexbox/repaint.html
css3/flexbox/repaint-rtl-column.html
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::layoutBlock): Use LayoutRepainter and LayoutStateMaintainer
to repaint the flexbox.
(WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection):
(WebCore::RenderFlexibleBox::adjustLocationLogicalTopForChild): Use repaintDuringLayoutIfMoved
when changing the alignment of a child to handle the child moving.
2011-10-20 Dan Bernstein <mitz@apple.com>
Flipped-blocks writing mode blocks do not hit test their overflow
https://bugs.webkit.org/show_bug.cgi?id=70546
Reviewed by Sam Weinig.
Test: fast/writing-mode/flipped-blocks-hit-test-overflow.html
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::nodeAtPoint): Flip the overflow rect if necessary.
2011-10-20 David Hyatt <hyatt@apple.com>
https://bugs.webkit.org/show_bug.cgi?id=70539
Make the 'clip' property work in variable width regions.
Reviewed by Dan Bernstein.
Added new test in fast/regions.
* rendering/RenderBox.cpp:
(WebCore::RenderBox::clipRect):
* rendering/RenderBox.h:
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::calculateClipRects):
(WebCore::RenderLayer::calculateRects):
(WebCore::RenderLayer::repaintBlockSelectionGaps):
* rendering/RenderLayerBacking.cpp:
(WebCore::clipBox):
2011-10-20 Simon Fraser <simon.fraser@apple.com>
Fix build breakage on some platforms after r98008.
* page/FrameTree.cpp:
2011-10-20 Vincent Scheib <scheib@chromium.org>
MouseLock compile and run time flags.
https://bugs.webkit.org/show_bug.cgi?id=70530
Reviewed by Darin Fisher.
No new tests.
* bindings/generic/RuntimeEnabledFeatures.cpp:
* bindings/generic/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::webkitMouseLockAPIEnabled):
(WebCore::RuntimeEnabledFeatures::setWebkitMouseLockAPIEnabled):
(WebCore::RuntimeEnabledFeatures::webkitLockMouseEnabled):
(WebCore::RuntimeEnabledFeatures::webkitUnlockMouseEnabled):
(WebCore::RuntimeEnabledFeatures::webkitMouseLockedEnabled):
* page/Settings.cpp:
(WebCore::Settings::Settings):
* page/Settings.h:
(WebCore::Settings::setMouseLockEnabled):
(WebCore::Settings::mouseLockEnabled):
2011-10-20 Tony Chang <tony@chromium.org>
Fix a compiler warning in MediaStreamTrack.cpp:
../../third_party/WebKit/Source/WebCore/dom/MediaStreamTrack.cpp: In member function 'WTF::String WebCore::MediaStreamTrack::kind() const':
../../third_party/WebKit/Source/WebCore/dom/MediaStreamTrack.cpp:61:1: error: control reaches end of non-void function [-Werror=return-type]
Unreviewed build fix.
* dom/MediaStreamTrack.cpp:
(WebCore::MediaStreamTrack::kind):
2011-10-20 Gustavo Noronha Silva <gns@gnome.org>
One more GTK+ build fix. Remove CueLoader files from the build.
* GNUmakefile.list.am:
2011-10-20 Ken Buchanan <kenrb@chromium.org>
Crash in updateFirstLetter on :after generated content
https://bugs.webkit.org/show_bug.cgi?id=70031
Reviewed by David Hyatt.
Preventing findBeforeAfterParent() from returning a first-letter block and overwriting its style.
Instead, it returns the block's parent.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::updateFirstLetter):
* rendering/RenderObjectChildList.cpp:
(WebCore::findBeforeAfterParent)
(WebCore::RenderObjectChildList::updateBeforeAfterContent): First-letter siblings now already have style applied, so this clause is redundant
2011-10-20 Simon Fraser <simon.fraser@apple.com>
Add a way to print the Frame tree from the debugger.
Reviewed by Sam Weinig.
Add a showFrameTree(frame) method, callable from gdb,
which dumps the Frame tree, including the frame's view,
document, owner element and URI.
* page/FrameTree.cpp:
(printIndent):
(printFrames):
(showFrameTree):
* page/FrameTree.h:
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateClipRects):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::requiresCompositingForFrame):
2011-10-20 Andreas Kling <kling@webkit.org>
Remove StyleBase::cssText().
https://bugs.webkit.org/show_bug.cgi?id=70521
Reviewed by Antti Koivisto.
* css/StyleBase.cpp:
* css/StyleBase.h:
2011-10-20 Eugene Nalimov <enal@chromium.org>
Playing HTMLAudioElement can be garbage collected
https://bugs.webkit.org/show_bug.cgi?id=66878
Reviewed by Adam Barth.
Make HTMLAudioElement an 'active' one, meaning that it cannot be
garbage collected if it has panding activity. Had to make
HTMLMediaElement::hasPendingActivity() and
HTMLAudioElement::hasPendingActivity() public, otherwise automatically
generated code would not compile.
Test: no test, as automatic test is blocked by
https://bugs.webkit.org/show_bug.cgi?id=70421
You don't want to sit down and listen if audio stream played completely,
and cannot rely on 'ended' event because events are lost when events
listener is collected.
* html/HTMLAudioElement.idl:
* html/HTMLAudioElement.h:
(WebCore::HTMLAudioElement::hasPendingActivity):
* html/HTMLMediaElement.h:
2011-10-20 Mark Hahnenberg <mhahnenberg@apple.com>
Rename static deleteProperty to deletePropertyByIndex
https://bugs.webkit.org/show_bug.cgi?id=70257
Reviewed by Geoffrey Garen.
No new tests.
Renaming versions of deleteProperty that use an unsigned as the property
name to "deletePropertyByIndex" in preparation for adding them to the
MethodTable, which requires unique names for each method.
* bridge/runtime_array.cpp:
(JSC::RuntimeArray::deletePropertyVirtual):
(JSC::RuntimeArray::deletePropertyByIndex):
* bridge/runtime_array.h:
2011-10-20 Eric Carlson <eric.carlson@apple.com>
Rename some Cue classes to TextTrack
https://bugs.webkit.org/show_bug.cgi?id=70346
Rename CueLoader -> TextTrackLoader, CachedCues -> CachedTextTrack, and CueIndex -> TextTrackIndex.
Reviewed by Darin Adler.
No new tests, renames only.
* CMakeLists.txt:
* GNUmakefile.list.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.xcodeproj/project.pbxproj:
* html/CueIndex.cpp: Removed.
* html/CueIndex.h: Removed.
* html/LoadableTextTrack.cpp:
(WebCore::LoadableTextTrack::load):
(WebCore::LoadableTextTrack::newCuesAvailable):
(WebCore::LoadableTextTrack::cueLoadingStarted):
(WebCore::LoadableTextTrack::cueLoadingCompleted):
* html/LoadableTextTrack.h:
(WebCore::LoadableTextTrack::shouldLoadCues):
* html/MutableTextTrack.h:
* html/TextTrackIndex.cpp: Copied from Source/WebCore/html/CueIndex.cpp.
(WebCore::TextTrackCueSet::difference):
(WebCore::TextTrackCueSet::unionSet):
(WebCore::TextTrackCueSet::add):
(WebCore::TextTrackCueSet::contains):
(WebCore::TextTrackCueSet::remove):
(WebCore::TextTrackCueSet::isEmpty):
(WebCore::TextTrackCueSet::size):
(WebCore::TextTrackIndex::fetchNewCuesFromLoader):
(WebCore::TextTrackIndex::removeCuesFromIndex):
(WebCore::TextTrackIndex::visibleCuesAtTime):
(WebCore::TextTrackIndex::add):
(WebCore::TextTrackIndex::remove):
* html/TextTrackIndex.h: Copied from Source/WebCore/html/CueIndex.h.
(WebCore::TextTrackCueSet::TextTrackCueSet):
(WebCore::TextTrackCueSet::~TextTrackCueSet):
* loader/CueLoader.cpp: Removed.
* loader/CueLoader.h: Removed.
* loader/TextTrackLoader.cpp: Copied from Source/WebCore/loader/CueLoader.cpp.
(WebCore::TextTrackLoader::TextTrackLoader):
(WebCore::TextTrackLoader::~TextTrackLoader):
(WebCore::TextTrackLoader::cueLoadTimerFired):
(WebCore::TextTrackLoader::processNewCueData):
(WebCore::TextTrackLoader::didReceiveData):
(WebCore::TextTrackLoader::notifyFinished):
(WebCore::TextTrackLoader::load):
(WebCore::TextTrackLoader::newCuesParsed):
(WebCore::TextTrackLoader::getNewCues):
* loader/TextTrackLoader.h: Copied from Source/WebCore/loader/CueLoader.h.
(WebCore::TextTrackLoaderClient::~TextTrackLoaderClient):
(WebCore::TextTrackLoader::create):
* loader/cache/CachedCues.cpp: Removed.
* loader/cache/CachedCues.h: Removed.
* loader/cache/CachedResourceLoader.cpp:
(WebCore::createResource):
(WebCore::CachedResourceLoader::requestCues):
* loader/cache/CachedResourceLoader.h:
* loader/cache/CachedTextTrack.cpp: Copied from Source/WebCore/loader/cache/CachedCues.cpp.
(WebCore::CachedTextTrack::CachedTextTrack):
(WebCore::CachedTextTrack::~CachedTextTrack):
(WebCore::CachedTextTrack::data):
* loader/cache/CachedTextTrack.h: Copied from Source/WebCore/loader/cache/CachedCues.h.
2011-10-20 Joseph Pecoraro <joepeck@webkit.org>
Remove Now Unused FileChooserSettings.deprecatedAcceptTypes
https://bugs.webkit.org/show_bug.cgi?id=70473
Reviewed by Dan Bernstein.
* html/FileInputType.cpp:
(WebCore::FileInputType::handleDOMActivateEvent):
(WebCore::FileInputType::receiveDropForDirectoryUpload):
* platform/FileChooser.h:
2011-10-20 Andreas Kling <kling@webkit.org>
Simplify CSSParser::document().
https://bugs.webkit.org/show_bug.cgi?id=70518
Reviewed by Antti Koivisto.
We don't need to climb up the entire parent chain here to find the
Document, just grab it from m_styleSheet (which will do the climbing
for us if necessary.)
* css/CSSParser.cpp:
(WebCore::CSSParser::document):
2011-10-20 Pierre Rossi <pierre.rossi@gmail.com>
[Qt] FontCache::createFontPlatformData() is broken, a default font is returned
even if the family does not match.
https://bugs.webkit.org/show_bug.cgi?id=55036
The problem here was that a FontPlatformData
object is always created, regardless of whether
the request for a given font family can be
satisfied or not.
Reviewed by Andreas Kling.
Covered by existing tests.
* platform/graphics/qt/FontCacheQt.cpp:
(WebCore::FontCache::createFontPlatformData):
2011-10-20 Kenneth Rohde Christiansen <kenneth@webkit.org>
When user is panning with the tiled backing store, the page
isn't notified about the scroll position change
https://bugs.webkit.org/show_bug.cgi?id=70495
Reviewed by Simon Hausmann.
When using the tiled backing store the UI handles scrolling,
and sends setFixedVisibleContentRect after panning/scale ends.
If we actually changed position we need to send the scroll DOM event.
Covered by existing tests, though we are not testing the tiled backing store yet.
* page/FrameView.cpp:
(WebCore::FrameView::setFixedVisibleContentRect):
* page/FrameView.h:
* platform/ScrollView.h:
(WebCore::ScrollView::setFixedVisibleContentRect):
2011-10-20 John Knottenbelt <jknotten@chromium.org>
Touch events should take page scale into account
https://bugs.webkit.org/show_bug.cgi?id=69798
Reviewed by Adam Barth.
Test: fast/events/touch/page-scaled-touch-gesture-click.html
* page/EventHandler.cpp:
(WebCore::EventHandler::handleTouchEvent):
2011-10-20 Andreas Kling <kling@webkit.org>
CSSMutableStyleDeclaration: Simplify setNeedsStyleRecalc().
https://bugs.webkit.org/show_bug.cgi?id=70509
Reviewed by Antti Koivisto.
We don't need to climb up the entire parent chain here to find the
Document, just grab it from the parentStyleSheet() (which will do
the climbing for us if necessary.)
* css/CSSMutableStyleDeclaration.cpp:
(WebCore::CSSMutableStyleDeclaration::setNeedsStyleRecalc):
2011-10-20 Andreas Kling <kling@webkit.org>
CSSStyleDeclaration: Remove inheritance from StyleBase.
https://bugs.webkit.org/show_bug.cgi?id=70411
Reviewed by Antti Koivisto.
* bindings/js/JSDOMBinding.h:
(WebCore::root):
Specialized root() for CSSStyleDeclaration and CSSMutableStyleDeclaration.
* css/CSSMutableStyleDeclaration.cpp:
(WebCore::CSSMutableStyleDeclaration::setNeedsStyleRecalc):
Start the parent chain traversal from the parentStyleSheet().
(WebCore::CSSMutableStyleDeclaration::addSubresourceStyleURLs):
* css/CSSParser.cpp:
(WebCore::parseColorValue):
(WebCore::parseSimpleLengthValue):
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseColor):
(WebCore::CSSParser::parseDeclaration):
Remove now-unnecessary assertions and casts.
* css/CSSStyleDeclaration.cpp:
(WebCore::CSSStyleDeclaration::CSSStyleDeclaration):
* css/CSSStyleDeclaration.h:
(WebCore::CSSStyleDeclaration::~CSSStyleDeclaration):
(WebCore::CSSStyleDeclaration::parentRule):
(WebCore::CSSStyleDeclaration::setParentRule):
(WebCore::CSSStyleDeclaration::setParentStyleSheet):
(WebCore::CSSStyleDeclaration::parentStyleSheet):
Make CSSStyleDeclaration inherit directly from RefCounted, and have either
a CSSRule or CSSStyleSheet parent. Eventually it should only need to have
rules as parents, but CSSParser depends on having style sheet parents for
URL completion and primitive value cache.
* css/StyleBase.h:
* css/CSSStyleDeclaration.h:
(WebCore::CSSStyleDeclaration::isMutableStyleDeclaration):
Moved from StyleBase down to CSSStyleDeclaration.
* css/CSSStyleRule.cpp:
(WebCore::CSSStyleRule::~CSSStyleRule):
(WebCore::CSSStyleRule::setSelectorText):
* css/WebKitCSSKeyframeRule.cpp:
(WebCore::WebKitCSSKeyframeRule::~WebKitCSSKeyframeRule):
(WebCore::WebKitCSSKeyframeRule::setDeclaration):
* css/WebKitCSSKeyframesRule.cpp:
(WebCore::WebKitCSSKeyframesRule::~WebKitCSSKeyframesRule):
(WebCore::WebKitCSSKeyframesRule::append):
(WebCore::WebKitCSSKeyframesRule::deleteRule):
* dom/StyledElement.cpp:
(WebCore::StyledElement::createInlineStyleDecl):
(WebCore::StyledElement::destroyInlineStyleDecl):
(WebCore::StyledElement::attributeChanged):
(WebCore::StyledElement::createMappedDecl):
(WebCore::StyledElement::didMoveToNewOwnerDocument):
* html/HTMLTableElement.cpp:
(WebCore::HTMLTableElement::additionalAttributeStyleDecls):
(WebCore::HTMLTableElement::addSharedCellBordersDecl):
(WebCore::HTMLTableElement::addSharedCellPaddingDecl):
(WebCore::HTMLTableElement::addSharedGroupDecls):
* page/PageSerializer.cpp:
(WebCore::PageSerializer::retrieveResourcesForCSSDeclaration):
* svg/SVGFontFaceElement.cpp:
(WebCore::SVGFontFaceElement::SVGFontFaceElement):
Use the new parenting methods of CSSStyleDeclaration.
* css/StyleBase.cpp:
(WebCore::StyleBase::node):
Remove the isMutableStyleDeclaration() code path.
2011-10-20 Pavel Feldman <pfeldman@google.com>
Web Inspector: detach should call hide so that overrides are processed.
https://bugs.webkit.org/show_bug.cgi?id=70503
Reviewed by Yury Semikhatsky.
* inspector/front-end/ConsolePanel.js:
(WebInspector.ConsolePanel.prototype.hide):
* inspector/front-end/View.js:
(WebInspector.View):
(WebInspector.View.prototype.hide):
(WebInspector.View.prototype.detach):
2011-10-20 Csaba Osztrogonác <ossy@webkit.org>
[Qt] Roll-back r97964, r97972 and fix in https://bugs.webkit.org/show_bug.cgi?id=70328.
* dom/DeviceMotionController.cpp:
(WebCore::DeviceMotionController::timerFired):
(WebCore::DeviceMotionController::addListener):
(WebCore::DeviceMotionController::removeListener):
(WebCore::DeviceMotionController::removeAllListeners):
(WebCore::DeviceMotionController::suspend):
(WebCore::DeviceMotionController::resume):
* dom/DeviceMotionController.h:
* dom/DeviceOrientationController.cpp:
(WebCore::DeviceOrientationController::suspend):
(WebCore::DeviceOrientationController::resume):
* dom/DeviceOrientationController.h:
* dom/Document.cpp:
(WebCore::Document::suspendActiveDOMObjects):
(WebCore::Document::resumeActiveDOMObjects):
(WebCore::Document::stopActiveDOMObjects):
* dom/Document.h:
* dom/ScriptExecutionContext.h:
* page/GeolocationController.cpp:
(WebCore::GeolocationController::suspend):
(WebCore::GeolocationController::resume):
* page/GeolocationController.h:
2011-10-20 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r97964 and r97972.
http://trac.webkit.org/changeset/97964
http://trac.webkit.org/changeset/97972
https://bugs.webkit.org/show_bug.cgi?id=70502
They broke all geolocation tests in debug mode (Requested by
Ossy on #webkit).
* dom/DeviceMotionController.cpp:
(WebCore::DeviceMotionController::timerFired):
(WebCore::DeviceMotionController::addListener):
(WebCore::DeviceMotionController::removeListener):
(WebCore::DeviceMotionController::removeAllListeners):
* dom/DeviceMotionController.h:
* dom/DeviceOrientationController.cpp:
* dom/DeviceOrientationController.h:
* dom/Document.cpp:
* dom/Document.h:
* dom/ScriptExecutionContext.h:
* page/GeolocationController.cpp:
* page/GeolocationController.h:
2011-10-20 Ilya Tikhonovsky <loislo@chromium.org>
Unreviewed fix for Date.prototype.toISO8601Compact.
It was generated wrong string for the dates with no leading zeros like 2011.11.11.
* inspector/front-end/utilities.js:
2011-10-20 Pavel Feldman <pfeldman@google.com>
Web Inspector: minor CPU profiling UX improvements
https://bugs.webkit.org/show_bug.cgi?id=70499
Store profile type. Store time percentage toggle state.
Reviewed by Yury Semikhatsky.
* inspector/front-end/ProfileDataGridTree.js:
* inspector/front-end/ProfileView.js:
(WebInspector.CPUProfileView.profileCallback):
(WebInspector.CPUProfileView.prototype._changeView.set else):
2011-10-20 Vsevolod Vlasov <vsevik@chromium.org>
Web Inspector: Advanced search results should keep working after pretty print toggled.
https://bugs.webkit.org/show_bug.cgi?id=70347
Reviewed by Pavel Feldman.
* inspector/front-end/AdvancedSearchController.js:
(WebInspector.SearchScope.prototype.createSearchResultsPane):
(WebInspector.FileBasedSearchResultsPane.prototype.createAnchor):
(WebInspector.FileBasedSearchResultsPane.prototype.addSearchResult):
(WebInspector.FileBasedSearchResultsPane.prototype._regexMatchRanges):
(WebInspector.FileBasedSearchResultsPane.prototype._createContentSpan):
* inspector/front-end/BreakpointManager.js:
(WebInspector.BreakpointManager.prototype._materializeBreakpoint):
* inspector/front-end/CompilerSourceMapping.js:
(WebInspector.CompilerSourceMapping.prototype.sourceLocationToCompiledLocation):
* inspector/front-end/DebuggerPresentationModel.js:
(WebInspector.DebuggerPresentationModel.prototype.createLinkifier):
(WebInspector.DebuggerPresentationModel.prototype.continueToLine):
(WebInspector.DebuggerPresentationModel.LinkifierFormatter):
(WebInspector.DebuggerPresentationModel.LinkifierFormatter.prototype.formatRawSourceCodeAnchor):
(WebInspector.DebuggerPresentationModel.DefaultLinkifierFormatter):
(WebInspector.DebuggerPresentationModel.DefaultLinkifierFormatter.prototype.formatRawSourceCodeAnchor):
(WebInspector.DebuggerPresentationModel.Linkifier):
(WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyLocation):
(WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyResource):
(WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyRawSourceCode):
(WebInspector.DebuggerPresentationModel.Linkifier.prototype._updateAnchor):
* inspector/front-end/RawSourceCode.js:
(WebInspector.RawSourceCode.SourceMapping.prototype.uiLocationToRawLocation):
(WebInspector.RawSourceCode.PlainSourceMapping.prototype.uiLocationToRawLocation):
(WebInspector.RawSourceCode.FormattedSourceMapping.prototype.uiLocationToRawLocation):
(WebInspector.RawSourceCode.CompilerSourceMapping.prototype.uiLocationToRawLocation):
* inspector/front-end/ScriptsSearchScope.js:
(WebInspector.ScriptsSearchResultsPane):
(WebInspector.ScriptsSearchResultsPane.prototype.createAnchor):
(WebInspector.ScriptsSearchResultsPane.LinkifierFormatter):
(WebInspector.ScriptsSearchResultsPane.LinkifierFormatter.prototype.formatRawSourceCodeAnchor):
* inspector/front-end/inspector.html:
2011-10-20 Kenneth Rohde Christiansen <kenneth@webkit.org>
m_client in DeviceMotionController can never be 0, so no need to check for it
https://bugs.webkit.org/show_bug.cgi?id=70490
Reviewed by Simon Hausmann.
No behavior change, thus no new tests.
* dom/DeviceMotionController.cpp:
(WebCore::DeviceMotionController::timerFired):
(WebCore::DeviceMotionController::addListener):
(WebCore::DeviceMotionController::removeListener):
(WebCore::DeviceMotionController::removeAllListeners):
(WebCore::DeviceMotionController::suspend):
(WebCore::DeviceMotionController::resume):
2011-10-20 Cary Clark <caryclark@google.com>
[Chromium Skia on Mac] Improve focus ring
https://bugs.webkit.org/show_bug.cgi?id=70124
Reviewed by Adam Barth.
The focus ring code formerly outset the bounds of
the component rectangles by fractional amounts. Because
the rectangles are SkIRect (integer based), the fractional
outset had no effect.
The equivalent code in GraphicsContextMac.mm computes
the curve radius and rectangle outset with integers, so
the use of floats in Skia's case, besides not working,
is unnecessary.
The Skia code also failed to take the offset into account.
In LayoutTests, the focus rings either have an offset of
0 or 2. The CoreGraphics code increases the ring's rectangles
by the offset, then passes the result to wkDrawFocusRing.
I did not find any documentation about how wkDrawFocusRing
further inflates the focus ring, but empirically I determined
that adding 2 to the offset generated rings with identical
outer diameters.
With these adjustments, the layout tests generate focus rings
in the Skia on Mac case that match the coverage of the
Chromium CG-based platform, in particular, matching:
editing/inserting/editable-inline-element.html
editing/selection/3690703-2.html
* platform/graphics/skia/GraphicsContextSkia.cpp:
(WebCore::getFocusRingOutset):
(WebCore::GraphicsContext::drawFocusRing):
2011-10-20 Zoltan Herczeg <zherczeg@webkit.org>
Improve NEON based GaussianBlur
https://bugs.webkit.org/show_bug.cgi?id=70493
Reviewed by Csaba Osztrogonác.
vmov instruction is less complex than vtbl.
* platform/graphics/filters/arm/FEGaussianBlurNEON.cpp:
2011-10-20 Pavel Feldman <pfeldman@google.com>
Not reviewed: follow up to 97961 - dispatching of hide on detach was missing.
* inspector/front-end/AuditsPanel.js:
(WebInspector.AuditsPanel.prototype.show):
* inspector/front-end/View.js:
(WebInspector.View.prototype.detach):
* inspector/front-end/utilities.js:
2011-10-20 Kenneth Rohde Christiansen <kenneth@webkit.org>
Properly suspend/resume Geolocation/DeviceMotion/DeviceOrientation objects
https://bugs.webkit.org/show_bug.cgi?id=70328
Reviewed by Simon Hausmann.
Based on code from iOS and the N9.
No new tests, as the suspend/resume functionality is not fully working yet.
* dom/DeviceMotionController.cpp:
(WebCore::DeviceMotionController::suspend):
(WebCore::DeviceMotionController::resume):
* dom/DeviceMotionController.h:
* dom/DeviceOrientationController.cpp:
(WebCore::DeviceOrientationController::addListener):
(WebCore::DeviceOrientationController::removeListener):
(WebCore::DeviceOrientationController::removeAllListeners):
(WebCore::DeviceOrientationController::suspend):
(WebCore::DeviceOrientationController::resume):
* dom/DeviceOrientationController.h:
* dom/Document.cpp:
(WebCore::Document::suspendActiveDOMObjects):
(WebCore::Document::resumeActiveDOMObjects):
(WebCore::Document::stopActiveDOMObjects):
* dom/Document.h:
* dom/ScriptExecutionContext.h:
* page/GeolocationController.cpp:
(WebCore::GeolocationController::suspend):
(WebCore::GeolocationController::resume):
* page/GeolocationController.h:
2011-10-20 Antti Koivisto <antti@apple.com>
Move rule matching and applying to separate functions from CSSStyleSelector::styleForElement
https://bugs.webkit.org/show_bug.cgi?id=70408
Reviewed by Andreas Kling.
- Move matching code to matchAllRules and applying to applyMatchedDeclarations.
- Encapsulate the matching results into a struct, use everywhere.
- Move first-line style adjustment to adjustRenderStyle().
- Remove unnecessary tests for resolveForRootDefault when applying the style
- Use applyMatchedDeclarations also from pseudoStyleForElement
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::matchAllRules):
(WebCore::CSSStyleSelector::matchUARules):
(WebCore::CSSStyleSelector::styleForElement):
(WebCore::CSSStyleSelector::pseudoStyleForElement):
(WebCore::CSSStyleSelector::styleForPage):
(WebCore::CSSStyleSelector::adjustRenderStyle):
(WebCore::CSSStyleSelector::pseudoStyleRulesForElement):
(WebCore::CSSStyleSelector::applyMatchedDeclarations):
* css/CSSStyleSelector.h:
(WebCore::CSSStyleSelector::MatchResult::MatchResult):
2011-10-19 Pavel Feldman <pfeldman@google.com>
Web Inspector: get rid of manual view hierarchy management.
https://bugs.webkit.org/show_bug.cgi?id=70417
Reviewed by Yury Semikhatsky.
* inspector/front-end/AuditsPanel.js:
(WebInspector.AuditsPanel.prototype.show):
(WebInspector.AuditsPanel.prototype._clearButtonClicked):
* inspector/front-end/ConsolePanel.js:
(WebInspector.ConsolePanel.prototype.show):
(WebInspector.ConsolePanel.prototype.hide):
* inspector/front-end/DetailedHeapshotGridNodes.js:
(WebInspector.HeapSnapshotGenericObjectNode.prototype.queryObjectContent.else.formatResult):
(WebInspector.HeapSnapshotGenericObjectNode.prototype.queryObjectContent):
* inspector/front-end/DetailedHeapshotView.js:
(WebInspector.DetailedHeapshotView.prototype.show.profileCallback2):
(WebInspector.DetailedHeapshotView.prototype.show):
(WebInspector.DetailedHeapshotView.prototype._changeView):
* inspector/front-end/IFrameView.js:
* inspector/front-end/NetworkPanel.js:
(WebInspector.NetworkLogView):
(WebInspector.NetworkLogView.prototype._initializeView):
(WebInspector.NetworkPanel.prototype.show):
(WebInspector.NetworkPanel.prototype._showResource):
(WebInspector.NetworkPanel.prototype._closeVisibleResource):
* inspector/front-end/Panel.js:
(WebInspector.Panel.prototype.show):
(WebInspector.Panel.prototype.detach):
* inspector/front-end/ProfilesPanel.js:
(WebInspector.ProfilesPanel.prototype._reset):
(WebInspector.ProfilesPanel.prototype.closeVisibleView):
* inspector/front-end/RemoteObject.js:
* inspector/front-end/ResourcePreviewView.js:
(WebInspector.ResourcePreviewView.prototype.contentLoaded):
* inspector/front-end/ResourceResponseView.js:
(WebInspector.ResourceResponseView.prototype.contentLoaded):
* inspector/front-end/ResourceTimingView.js:
(WebInspector.ResourceTimingView.prototype.show):
* inspector/front-end/ResourcesPanel.js:
(WebInspector.ResourcesPanel.prototype.reset):
(WebInspector.ResourcesPanel.prototype._innerShowView):
(WebInspector.FrameResourceTreeElement.prototype._recreateSourceView):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype._uiSourceCodeRemoved):
(WebInspector.ScriptsPanel.prototype._createSourceFrame):
(WebInspector.ScriptsPanel.prototype._removeSourceFrame):
* inspector/front-end/SourceFrame.js:
(WebInspector.SourceFrame):
(WebInspector.SourceFrame.prototype.show):
* inspector/front-end/TabbedPane.js:
(WebInspector.TabbedPane):
(WebInspector.TabbedPane.prototype.appendTab):
(WebInspector.TabbedPane.prototype._hideTab):
* inspector/front-end/View.js:
(WebInspector.View):
(WebInspector.View.prototype.show):
(WebInspector.View.prototype.hide):
(WebInspector.View.prototype.attach):
(WebInspector.View.prototype.detach):
(WebInspector.View.prototype._addChildView):
(WebInspector.View.prototype._removeChildView):
(WebInspector.View.prototype.dispatchToVisibleChildren):
(WebInspector.View.prototype._handleInsertedIntoDocument):
(WebInspector.View.prototype._handleRemovedFromDocument):
(WebInspector.View.prototype.printViewHierarchy):
(WebInspector.View.prototype._collectViewHierarchy):
* inspector/front-end/inspector.html:
* inspector/front-end/inspector.js:
2011-10-20 Vsevolod Vlasov <vsevik@chromium.org>
Web Inspector: Enable support for advanced search in script's static content provider.
https://bugs.webkit.org/show_bug.cgi?id=70354
Reviewed by Pavel Feldman.
Test: http/tests/inspector/search/search-in-static.html
* inspector/front-end/AdvancedSearchController.js:
(WebInspector.FileBasedSearchResultsPane.prototype.addSearchResult):
* inspector/front-end/ConsolePanel.js:
(WebInspector.ConsolePanel.prototype.performSearch):
* inspector/front-end/ContentProviders.js:
(WebInspector.StaticContentProvider.prototype.searchInContent):
* inspector/front-end/ElementsTreeOutline.js:
():
* inspector/front-end/NetworkPanel.js:
(WebInspector.NetworkLogView.prototype.performSearch):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype._showSourceLine):
* inspector/front-end/SourceFrame.js:
(WebInspector.SourceFrame.createSearchRegex):
* inspector/front-end/utilities.js:
():
2011-10-20 Raphael Kubo da Costa <kubo@profusion.mobi>
[EFL] Do not manually set the frameRect in different places in ScrollbarEfl.
https://bugs.webkit.org/show_bug.cgi?id=70427
Reviewed by Kenneth Rohde Christiansen.
This commit is related to the effort towards having a different
scrollbar (with a size > 0) for DumpRenderTree.
Scrollbar::Scrollbar() already calls setFrameRect() with the size
obtained from ScrollbarTheme::scrollbarThickness(), which is currently
always 0 for us, so the call to setFrameRect() in ScrollbarEfl's
constructor is not needed and would break things if scrollbarThickness
is changed to return another value.
The frameRect is also not changed in ScrollbarEfl::setParent() anymore,
as it also does not take scrollbarThickness() into account and thus
breaks using other themes such as ScrollbarThemeMock in DumpRenderTree.
Right now, it is always going to be 0 anyway.
It is still work in progress, though -- it'd be good to somehow move the
theming code to ScrollbarThemeEfl, as right now scrollbar EDCs with a
non-zero min size will not cause the scrollbars to have non-zero size.
No new tests, this is machinery needed to run the current tests.
* platform/efl/ScrollbarEfl.cpp:
(ScrollbarEfl::ScrollbarEfl):
(ScrollbarEfl::setParent):
2011-10-20 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r97954.
http://trac.webkit.org/changeset/97954
https://bugs.webkit.org/show_bug.cgi?id=70486
clean build failed on chromium.mac: File
"../inspector/CodeGeneratorInspector.py", line 34, in <module>
import json (Requested by loislo on #webkit).
* CMakeLists.txt:
* CodeGenerators.pri:
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.gyp/WebCore.gyp:
* inspector/CodeGeneratorInspector.pm: Added.
(new):
(GenerateModule):
(GenerateInterface):
(generateAgentDeclaration):
(generateFrontendConstructorImpl):
(generateFunctions):
(generateFrontendFunction):
(camelCase):
(generateBackendFunction):
(generateBackendSendResponse):
(generateBackendReportProtocolError):
(generateArgumentGetters):
(generateBackendDispatcher):
(generateBackendMessageParser):
(collectBackendJSStubFunctions):
(collectBackendJSStubEvents):
(generateBackendStubJS):
(generateHeader):
(generateSource):
(typeTraits):
(paramTypeTraits):
(generateBackendAgentFieldsAndConstructor):
(finish):
* inspector/CodeGeneratorInspector.py: Removed.
* inspector/Inspector.json:
* inspector/generate-inspector-idl: Added.
2011-10-20 Adenilson Cavalcanti <adenilson.silva@openbossa.org>
Enable geolocation client based flag for Qt5
https://bugs.webkit.org/show_bug.cgi?id=70330
Reviewed by Kenneth Rohde Christiansen.
This will enable client based geolocation for Qt5.
No new tests, this enables flags for Qt5.
* features.pri:
2011-10-20 Kentaro Hara <haraken@chromium.org>
Implement a MessageEvent constructor for V8
https://bugs.webkit.org/show_bug.cgi?id=70296
Reviewed by Adam Barth.
Test: fast/events/constructors/message-event-constructor.html
* bindings/v8/OptionsObject.cpp:
(WebCore::OptionsObject::getKeyValue): Returns RefPtr<DOMWindow> corresponding to a given key.
(WebCore::OptionsObject::getKeyValue): Returns MessagePortArray corresponding to a given key.
* bindings/v8/OptionsObject.h:
* bindings/v8/custom/V8EventConstructors.cpp: Added a MessageEvent constructor.
* dom/MessageEvent.idl: Makes MessageEvent constructible for V8.
2011-10-20 Peter Rybin <peter.rybin@gmail.com>
Web Inspector: reimplement protocol backend/frontend source generator
https://bugs.webkit.org/show_bug.cgi?id=69295
Reviewed by Pavel Feldman.
Old 2-stage python+perf generator that uses intermediate IDL output is
being replaced with a solid python script. This is for simplicity and
as a base for the future JSON validator.
* CMakeLists.txt:
* CodeGenerators.pri:
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.gyp/WebCore.gyp:
* inspector/CodeGeneratorInspector.pm: Removed.
* inspector/CodeGeneratorInspector.py: Added.
* inspector/Inspector.json:
* inspector/generate-inspector-idl: Removed.
2011-10-18 Pavel Podivilov <podivilov@chromium.org>
Web Inspector: encode source map url as source map page url query parameter.
https://bugs.webkit.org/show_bug.cgi?id=70327
Reviewed by Pavel Feldman.
* inspector/front-end/CompilerSourceMappingProvider.js:
(WebInspector.CompilerSourceMappingProvider):
(WebInspector.CompilerSourceMappingProvider.prototype.loadSourceMapping.frameLoaded):
(WebInspector.CompilerSourceMappingProvider.prototype.loadSourceMapping):
(WebInspector.CompilerSourceMappingProvider.prototype.loadSourceCode):
(WebInspector.CompilerSourceMappingProvider.prototype._sendRequest):
* inspector/front-end/RawSourceCode.js:
(WebInspector.RawSourceCode.CompilerSourceMapping.prototype.uiSourceCodeList):
2011-10-19 Alexander Pavlov <apavlov@chromium.org>
Web Inspector: The "x" in "980px x 36px" looks weird in the inspector node callout
https://bugs.webkit.org/show_bug.cgi?id=69857
Reviewed by Pavel Feldman.
* inspector/DOMNodeHighlighter.cpp:
2011-10-20 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r97917.
http://trac.webkit.org/changeset/97917
https://bugs.webkit.org/show_bug.cgi?id=70475
number of crashes on Snow Leopard/Lion tests bots
http://build.webkit.org/results/Lion%20Intel%20Release%20(Tests)/r97917%20(2020)/http/tests/inspector
/extensions-network-redirect-crash-log.txt (Requested by
loislo on #webkit).
* css/SelectorChecker.cpp:
(WebCore::SelectorChecker::checkOneSelector):
* dom/OptionElement.cpp:
(WebCore::OptionElement::setSelectedState):
(WebCore::OptionElement::optionIndex):
(WebCore::OptionElement::collectOptionLabelOrText):
(WebCore::OptionElement::collectOptionInnerText):
(WebCore::OptionElement::normalizeText):
(WebCore::OptionElement::collectOptionTextRespectingGroupLabel):
(WebCore::OptionElementData::OptionElementData):
(WebCore::OptionElementData::~OptionElementData):
(WebCore::toOptionElement):
(WebCore::isOptionElement):
* dom/OptionElement.h:
(WebCore::OptionElement::~OptionElement):
(WebCore::OptionElementData::value):
(WebCore::OptionElementData::setValue):
(WebCore::OptionElementData::label):
(WebCore::OptionElementData::setLabel):
(WebCore::OptionElementData::selected):
(WebCore::OptionElementData::setSelected):
* html/HTMLOptionElement.cpp:
(WebCore::HTMLOptionElement::HTMLOptionElement):
(WebCore::HTMLOptionElement::createForJSConstructor):
(WebCore::HTMLOptionElement::text):
(WebCore::HTMLOptionElement::index):
(WebCore::HTMLOptionElement::parseMappedAttribute):
(WebCore::HTMLOptionElement::value):
(WebCore::HTMLOptionElement::selected):
(WebCore::HTMLOptionElement::setSelected):
(WebCore::HTMLOptionElement::setSelectedState):
(WebCore::HTMLOptionElement::defaultSelected):
(WebCore::HTMLOptionElement::setDefaultSelected):
(WebCore::HTMLOptionElement::label):
(WebCore::HTMLOptionElement::textIndentedToRespectGroupLabel):
(WebCore::HTMLOptionElement::insertedIntoTree):
* html/HTMLOptionElement.h:
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::nextValidIndex):
(WebCore::HTMLSelectElement::saveLastSelection):
(WebCore::HTMLSelectElement::setActiveSelectionAnchorIndex):
(WebCore::HTMLSelectElement::updateListBoxSelection):
(WebCore::HTMLSelectElement::listBoxOnChange):
(WebCore::HTMLSelectElement::recalcListItems):
(WebCore::HTMLSelectElement::selectedIndex):
(WebCore::HTMLSelectElement::setSelectedIndex):
(WebCore::HTMLSelectElement::optionToListIndex):
(WebCore::HTMLSelectElement::listToOptionIndex):
(WebCore::HTMLSelectElement::deselectItemsWithoutValidation):
(WebCore::HTMLSelectElement::saveFormControlState):
(WebCore::HTMLSelectElement::restoreFormControlState):
(WebCore::HTMLSelectElement::appendFormData):
(WebCore::HTMLSelectElement::reset):
(WebCore::HTMLSelectElement::updateSelectedState):
(WebCore::HTMLSelectElement::lastSelectedListIndex):
(WebCore::HTMLSelectElement::typeAheadFind):
(WebCore::HTMLSelectElement::accessKeySetSelectedIndex):
(WebCore::HTMLSelectElement::length):
* platform/graphics/cg/ImageBufferCG.cpp:
(WebCore::ImageBuffer::copyImage):
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::updateFromElement):
(WebCore::RenderListBox::addFocusRingRects):
(WebCore::RenderListBox::paintItemForeground):
(WebCore::RenderListBox::paintItemBackground):
* rendering/RenderMenuList.cpp:
(WebCore::RenderMenuList::updateOptionsWidth):
(WebCore::RenderMenuList::setTextFromOption):
(WebCore::RenderMenuList::itemText):
(WebCore::RenderMenuList::itemIsSelected):
2011-10-20 Carol Szabo <carol@webkit.org>
Tiled Backing Store does not regenerate tiles when it should
https://bugs.webkit.org/show_bug.cgi?id=57798
Reviewed by Darin Adler.
Changed TiledBackingStore::adjustVisibleRect to take into account
contentsSize, the same way as it is done when tiles are generated.
This is an issue that requires a certain sequence of API calls which
may not be easily simulated from DumpRenderTree, but which is
easily reproduced with QtTest. This is why I have provided only
a Qt specific test despite this being a generic problem.
* platform/graphics/TiledBackingStore.cpp:
(WebCore::TiledBackingStore::adjustVisibleRect):
Changed to take into account ContentsSize.
(WebCore::TiledBackingStore::visibleContentsRect):
Added to return the intersection of the viewport's visible rect with
the ContentsRect.
(WebCore::TiledBackingStore::createTiles):
Changed to take into account the ContentsSize when calculating the
previously visible rect.
* platform/graphics/TiledBackingStore.h:
2011-10-19 Jer Noble <jer.noble@apple.com>
compositing/video tests time out on Lion
https://bugs.webkit.org/show_bug.cgi?id=70448
Reviewed by Eric Carlson.
Covered by existing tests.
AVFoundation will occasionally fill it's playback buffers before collecting enough
statistical information to answer YES to isLikelyToKeepUp. In this situation, set the
ready state to HAVE_ENOUGH_DATA, on the presumption that if the playback buffers are
full, playback will probably not stall.
* platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
(WebCore::MediaPlayerPrivateAVFoundation::updateStates):
2011-10-19 Kentaro Hara <haraken@chromium.org>
MessageEvent.data can be stored as ScriptValue.
https://bugs.webkit.org/show_bug.cgi?id=68978
Reviewed by Hajime Morita.
Currently, the following test cases fail or crash:
- shouldBe("new MessageEvent('eventType', { data: test_object }).data", "test_object") -> FAIL
- new MessageEvent('eventType', { data: document }).data -> CRASH
This is because MessageEvent.data is implemented just as SerializedScriptValue
and it cannot keep ScriptValue passed by JavaScript. This patch makes the following changes:
- If MessageEvent is constructed with ScriptValue, it is stored as ScriptValue internally.
When MessageEvent.data is called, the ScriptValue is returned.
- If MessageEvent is constructed with SerializedScriptValue, it is stored as
SerializedScriptValue internally (since we cannot deserialize it into ScriptValue
at this point because of lack of ExecState). When MessageEvent.data is called,
the SerializedScriptValue is deserialized into the corresponding ScriptValue,
and the ScriptValue is returned.
This patch does not make a fix for ObjC bindings code, since we need to first fix
the bug 28774, as commented in dom/MessageEvent.h and dom/MessageEvent.cpp.
Test: fast/events/constructors/message-event-constructor.html
fast/dom/message-port-deleted-by-accessor.html
fast/events/init-events.html
fast/eventsource/eventsource-attribute-listeners.html
* bindings/js/JSMessageEventCustom.cpp:
(WebCore::JSMessageEvent::data): Custom getter for MessageEvent.data. Supported ScriptValue.
(WebCore::JSMessageEvent::handleInitMessageEvent): Changed SerializedScriptValue to ScriptValue. Removed a 'doTransfer' parameter.
(WebCore::JSMessageEvent::initMessageEvent): Removed a 'doTransfer' parameter.
(WebCore::JSMessageEvent::webkitInitMessageEvent): Ditto.
* bindings/v8/custom/V8MessageEventCustom.cpp:
(WebCore::V8MessageEvent::dataAccessorGetter): Custom getter for MessageEvent.data. Supported ScriptValue.
(WebCore::V8MessageEvent::portsAccessorGetter): Removed extra spaces.
(WebCore::V8MessageEvent::initMessageEventCallback): Changed SerializedScriptValue to ScriptValue.
* dom/MessageEvent.cpp:
(WebCore::MessageEvent::MessageEvent): Supported ScriptValue.
(WebCore::MessageEvent::initMessageEvent): Supported ScriptValue.
(WebCore::MessageEvent::isMessageEvent): Removed extra spaces.
* dom/MessageEvent.h: Added DataType::DataTypeScriptValue.
(WebCore::MessageEvent::create): Supported ScriptValue.
(WebCore::MessageEvent::dataAsScriptValue): Getter for data. Insert ASSERT() to guarantee that this accessor is not called for unintended type of data.
(WebCore::MessageEvent::dataAsSerializedScriptValue): Ditto.
(WebCore::MessageEvent::dataAsString): Ditto.
(WebCore::MessageEvent::dataAsBlob): Ditto.
(WebCore::MessageEvent::dataAsArrayBuffer): Ditto.
* dom/MessageEvent.idl: Changed SerializedScriptValue to DOMObject (i.e. ScriptValue). This patch does not touch an ObjC part. Removed [CachedAttribute] from MessageEvent.data, since it is now a DOMObject and needs not to be cached.
2011-10-19 Adam Barth <abarth@webkit.org>
Attempt to fix GTK build.
* GNUmakefile.am:
== Rolled over to ChangeLog-2011-10-19 ==